]> git.saurik.com Git - apple/xnu.git/blob - osfmk/man/MO_change_attributes.html
xnu-2422.1.72.tar.gz
[apple/xnu.git] / osfmk / man / MO_change_attributes.html
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]
20 The memory cache control port
21 to be used by the memory manager for cache management requests.
22 This 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]
28 The type of information to be changed. Valid values are:
29 <dl>
30 <p>
31 <dt> <strong>MEMORY_OBJECT_PERFORMANCE_INFO</strong>
32 <dd>
33 Performance related attributes such as the cache indicator and
34 the 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>
39 Behavior related attributes such as the copy strategy and sync
40 invalidate 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>
45 Behavior and performance related attributes such as the copy strategy,
46 cache 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]
53 New attributes.
54 <p>
55 <dt> <var>attributes_count</var>
56 <dd>
57 [in scalar]
58 The 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]
63 A port to which a
64 reply (<strong>memory_object_change_completed</strong>) is to be sent indicating the
65 completion of the attribute change. Such a reply would be useful if the
66 cache attribute is turned off, since such a change, if the memory object
67 is no longer mapped, may result in the object being terminated.
68 </dl>
69 <h3>DESCRIPTION</h3>
70 <p>
71 The <strong>memory_object_change_attributes</strong> function sets various
72 attributes of the
73 specified memory object.
74 <h3>RETURN VALUES</h3>
75 <p>
76 Only generic errors apply.
77 <h3>RELATED INFORMATION</h3>
78 <p>
79 Functions:
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>
84 Data 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