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