]> git.saurik.com Git - apple/xnu.git/blob - osfmk/man/memory_object_data_unlock.html
xnu-2422.1.72.tar.gz
[apple/xnu.git] / osfmk / man / memory_object_data_unlock.html
1 <h2>memory_object_data_unlock</h2>
2 <hr>
3 <p>
4 <strong>Server Interface</strong> - Request that the memory manager change current access permission on the specified memory object's data.
5 <h3>SYNOPSIS</h3>
6 <pre>
7 <strong>kern_return_t memory_object_data_unlock</strong>
8 <strong>(memory_object_t</strong> <var>memory_object</var>,
9 <strong>memory_object_control_t</strong> <var>memory_control</var>,
10 <strong>vm_offset_t</strong> <var>offset</var>,
11 <strong>vm_size_t</strong> <var>length</var>,
12 <strong>vm_prot_t</strong> <var>desired_access</var><strong>);</strong>
13
14
15 <strong>kern_return_t seqnos_memory_object_data_unlock</strong>
16 <strong>(memory_object_t</strong> <var>memory_object</var>,
17 <strong>mach_port_seqno_t</strong> <var>seqno</var>,
18 <strong>memory_object_control_t</strong> <var>memory_control</var>,
19 <strong>vm_offset_t</strong> <var>offset</var>,
20 <strong>vm_size_t</strong> <var>length</var>,
21 <strong>vm_prot_t</strong> <var>desired_access</var><strong>);</strong>
22 </pre>
23 <h3>PARAMETERS</h3>
24 <dl>
25 <p>
26 <dt> <var>memory_object</var>
27 <dd>
28 [in abstract-memory-object (receive) right]
29 The abstract memory
30 object port that represents the memory object data.
31 <p>
32 <dt> <var>seqno</var>
33 <dd>
34 [in scalar]
35 The sequence number of this message relative to the abstract
36 memory object port.
37 <p>
38 <dt> <var>memory_control</var>
39 <dd>
40 [in memory-cache-control send right]
41 The memory cache control port
42 to be used for a response by the memory manager. If the memory
43 object has been supplied to more than one kernel, this parameter
44 identifies the kernel that is making the call.
45 <p>
46 <dt> <var>offset</var>
47 <dd>
48 [in scalar]
49 The offset within the memory object.
50 <p>
51 <dt> <var>length</var>
52 <dd>
53 [in scalar]
54 The number of bytes to which the access applies, starting at
55 <var>offset</var>. The number converts to an integral number of memory object
56 pages.
57 <p>
58 <dt> <var>desired_access</var>
59 <dd>
60 [in scalar]
61 The memory access modes requested for the cached data.
62 Possible values are obtained by or'ing together the following values:
63 <dl>
64 <p>
65 <dt> <strong>VM_PROT_READ</strong>
66 <dd>
67 Allows read access.
68 <p>
69 <dt> <strong>VM_PROT_WRITE</strong>
70 <dd>
71 Allows write access.
72 <p>
73 <dt> <strong>VM_PROT_EXECUTE</strong>
74 <dd>
75 Allows execute access.
76 </dl>
77 </dl>
78 <h3>DESCRIPTION</h3>
79 <p>
80 A <strong>memory_object_data_unlock</strong> function is called as the
81 result of a kernel
82 message requesting the memory manager to permit at least the
83 desired access to the
84 specified data cached by the kernel. The memory manager is expected
85 to use the
86 <strong>memory_object_lock_request</strong> call in response.
87 <h3>RETURN VALUES</h3>
88 <p>
89 Only generic errors apply.
90 <h3>RELATED INFORMATION</h3>
91 <p>
92 Functions:
93 <a href="MO_lock_completed.html"><strong>memory_object_lock_completed</strong></a>,
94 <a href="memory_object_lock_request.html"><strong>memory_object_lock_request</strong></a>,
95 <a href="memory_object_server.html"><strong>memory_object_server</strong></a>,
96 <a href="SMO_server.html"><strong>seqnos_memory_object_server</strong></a>.