1<h2>memory_object_synchronize_completed</h2>
2<hr>
3<p>
4<strong>Function</strong> - Inform the kernel that synchronized data has been processed.
5<h3>SYNOPSIS</h3>
6<pre>
7<strong>kern_return_t   memory_object_synchronize_completed </strong>
8                <strong>(memory_object_control_t</strong>         <var>memory_control</var>,
9                 <strong>vm_offset_t</strong>                             <var>offset</var>,
10                 <strong>vm_offset_t</strong>                             <var>length</var><strong>);</strong>
11</pre>
12<h3>PARAMETERS</h3>
13<dl>
14<p>
15<dt> <var>memory_control</var> 
16<dd>
17[in memory-cache-control send right]
18The memory cache control port 
19to be used by the memory manager for cache management requests. 
20This port is provided by the kernel in a <strong>memory_object_init</strong> call.
21<p>
22<dt> <var>offset</var> 
23<dd>
24[in scalar]
25The offset within the memory object, in bytes.
26<p>
27<dt> <var>length</var> 
28<dd>
29[in scalar]
30The amount of data processed.  The number must be an
31integral number of memory object pages.
32</dl>
33<h3>DESCRIPTION</h3>
34<p>
35The <strong>memory_object_synchronize_completed</strong> function informs the kernel 
36that previously synchronized data (<strong>memory_object_synchronize</strong>) 
37has been queued or placed on backing storage.  This reply causes the issuing
38client to return from its <strong>vm_msync</strong> call.  The offset and length
39must match that of the corresponding <strong>memory_object_synchronize</strong> 
40call.  There may be multiple synchronize requests 
41for a given memory object outstanding but they will not overlap.
42<h3>RETURN VALUES</h3>
43<p>
44Only generic errors apply.
45<h3>RELATED INFORMATION</h3>
46<p>
47Functions:
48<a href="memory_object_data_return.html"><strong>memory_object_data_return</strong></a>,
49<a href="memory_object_synchronize.html"><strong>memory_object_synchronize</strong></a>,
50<a href="vm_msync.html"><strong>vm_msync</strong></a>.
51