xref: /xnu-10063.141.1/osfmk/man/MO_change_attributes.html (revision d8b80295118ef25ac3a784134bcf95cd8e88109f)
1*d8b80295SApple OSS Distributions<h2>memory_object_change_attributes</h2>
2*d8b80295SApple OSS Distributions<hr>
3*d8b80295SApple OSS Distributions<p>
4*d8b80295SApple OSS Distributions<strong>Function</strong> - Modify caller-specified subset of attributes representing target memory object.
5*d8b80295SApple OSS Distributions<h3>SYNOPSIS</h3>
6*d8b80295SApple OSS Distributions<pre>
7*d8b80295SApple OSS Distributions<strong>kern_return_t   memory_object_change_attributes</strong>
8*d8b80295SApple OSS Distributions                <strong>(memory_object_control_t</strong>         <var>memory_control</var>,
9*d8b80295SApple OSS Distributions                 <strong>memory_object_flavor_t</strong>                  <var>flavor</var>,
10*d8b80295SApple OSS Distributions                 <strong>memory_object_info_t</strong>                <var>attributes</var>,
11*d8b80295SApple OSS Distributions                 <strong>attributes</strong>                    <var>attributes_count</var>,
12*d8b80295SApple OSS Distributions                 <strong>mach_port_t</strong>                           <var>reply_to</var><strong>);</strong>
13*d8b80295SApple OSS Distributions</pre>
14*d8b80295SApple OSS Distributions<h3>PARAMETERS</h3>
15*d8b80295SApple OSS Distributions<dl>
16*d8b80295SApple OSS Distributions<p>
17*d8b80295SApple OSS Distributions<dt> <var>memory_control</var>
18*d8b80295SApple OSS Distributions<dd>
19*d8b80295SApple OSS Distributions[in memory-cache-control send right]
20*d8b80295SApple OSS DistributionsThe memory cache control port
21*d8b80295SApple OSS Distributionsto be used by the memory manager for cache management requests.
22*d8b80295SApple OSS DistributionsThis port is provided by the kernel in a <strong>memory_object_init</strong>
23*d8b80295SApple OSS Distributions     or <strong>memory_object_create</strong> call.
24*d8b80295SApple OSS Distributions<p>
25*d8b80295SApple OSS Distributions<dt> <var>flavor</var>
26*d8b80295SApple OSS Distributions<dd>
27*d8b80295SApple OSS Distributions[in scalar]
28*d8b80295SApple OSS DistributionsThe type of information to be changed.  Valid values are:
29*d8b80295SApple OSS Distributions<dl>
30*d8b80295SApple OSS Distributions<p>
31*d8b80295SApple OSS Distributions<dt> <strong>MEMORY_OBJECT_PERFORMANCE_INFO</strong>
32*d8b80295SApple OSS Distributions<dd>
33*d8b80295SApple OSS DistributionsPerformance related attributes such as the cache indicator and
34*d8b80295SApple OSS Distributionsthe cluster size.  <var>attributes</var> should specify a structure of type
35*d8b80295SApple OSS Distributions<strong>memory_object_perf_info</strong>.
36*d8b80295SApple OSS Distributions<p>
37*d8b80295SApple OSS Distributions<dt> <strong>MEMORY_OBJECT_BEHAVIOR_INFO</strong>
38*d8b80295SApple OSS Distributions<dd>
39*d8b80295SApple OSS DistributionsBehavior related attributes such as the copy strategy and sync
40*d8b80295SApple OSS Distributionsinvalidate flag.  <var>attributes</var> should specify a structure of type
41*d8b80295SApple OSS Distributions<strong>memory_object_behavior_info</strong>.
42*d8b80295SApple OSS Distributions<p>
43*d8b80295SApple OSS Distributions<dt> <strong>MEMORY_OBJECT_ATTRIBUTES_INFO</strong>
44*d8b80295SApple OSS Distributions<dd>
45*d8b80295SApple OSS DistributionsBehavior and performance related attributes such as the copy strategy,
46*d8b80295SApple OSS Distributionscache indicator, and cluster size.  <var>attributes</var> should specify a structure of type
47*d8b80295SApple OSS Distributions<strong>memory_object_attr_info</strong>.
48*d8b80295SApple OSS Distributions</dl>
49*d8b80295SApple OSS Distributions<p>
50*d8b80295SApple OSS Distributions<dt> <var>attributes</var>
51*d8b80295SApple OSS Distributions<dd>
52*d8b80295SApple OSS Distributions[pointer to in structure]
53*d8b80295SApple OSS DistributionsNew attributes.
54*d8b80295SApple OSS Distributions<p>
55*d8b80295SApple OSS Distributions<dt> <var>attributes_count</var>
56*d8b80295SApple OSS Distributions<dd>
57*d8b80295SApple OSS Distributions[in scalar]
58*d8b80295SApple OSS DistributionsThe size of the buffer (in natural-sized units).
59*d8b80295SApple OSS Distributions<p>
60*d8b80295SApple OSS Distributions<dt> <var>reply_port</var>
61*d8b80295SApple OSS Distributions<dd>
62*d8b80295SApple OSS Distributions[in reply receive (to be converted to send) right]
63*d8b80295SApple OSS DistributionsA port to which a
64*d8b80295SApple OSS Distributionsreply (<strong>memory_object_change_completed</strong>) is to be sent indicating the
65*d8b80295SApple OSS Distributionscompletion of the attribute change.  Such a reply would be useful if the
66*d8b80295SApple OSS Distributionscache attribute is turned off, since such a change, if the memory object
67*d8b80295SApple OSS Distributionsis no longer mapped, may result in the object being terminated.
68*d8b80295SApple OSS Distributions</dl>
69*d8b80295SApple OSS Distributions<h3>DESCRIPTION</h3>
70*d8b80295SApple OSS Distributions<p>
71*d8b80295SApple OSS DistributionsThe <strong>memory_object_change_attributes</strong> function sets various
72*d8b80295SApple OSS Distributionsattributes of the
73*d8b80295SApple OSS Distributionsspecified memory object.
74*d8b80295SApple OSS Distributions<h3>RETURN VALUES</h3>
75*d8b80295SApple OSS Distributions<p>
76*d8b80295SApple OSS DistributionsOnly generic errors apply.
77*d8b80295SApple OSS Distributions<h3>RELATED INFORMATION</h3>
78*d8b80295SApple OSS Distributions<p>
79*d8b80295SApple OSS DistributionsFunctions:
80*d8b80295SApple OSS Distributions<a href="MO_change_completed.html"><strong>memory_object_change_completed</strong></a>,
81*d8b80295SApple OSS Distributions<a href="MO_get_attributes.html"><strong>memory_object_get_attributes</strong></a>,
82*d8b80295SApple OSS Distributions<a href="memory_object_create.html"><strong>memory_object_create</strong></a>.
83*d8b80295SApple OSS Distributions<p>
84*d8b80295SApple OSS DistributionsData Structures:
85*d8b80295SApple OSS Distributions<a href="memory_object_perf_info.html"><strong>memory_object_perf_info</strong></a>,
86*d8b80295SApple OSS Distributions<a href="memory_object_attr_info.html"><strong>memory_object_attr_info</strong></a>.
87*d8b80295SApple OSS Distributions
88*d8b80295SApple OSS Distributions
89