]> git.saurik.com Git - apple/xnu.git/blame_incremental - osfmk/man/MO_change_attributes.html
xnu-1504.3.12.tar.gz
[apple/xnu.git] / osfmk / man / MO_change_attributes.html
... / ...
CommitLineData
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