]> git.saurik.com Git - apple/xnu.git/blame - osfmk/man/DP_object_create.html
xnu-792.6.70.tar.gz
[apple/xnu.git] / osfmk / man / DP_object_create.html
CommitLineData
9bccf70c 1<h2>default_pager_object_create</h2>\r<hr>\r<p>\r<strong>Server Interface</strong> - Initialize a non-persistent memory object suitable for sharing between tasks.\r<h3>SYNOPSIS</h3>\r<pre>\r<strong>kern_return_t default_pager_object_create</strong>\r <strong>(mach_port_t</strong> <var>pager</var>,\r <strong>memory_object_t</strong> <var>*memory_object</var>,\r <strong>vm_size_t</strong> <var>object_size</var><strong>);</strong>\r\r\r<strong>kern_return_t seqnos_default_pager_object_create</strong>\r <strong>(mach_port_t</strong> <var>pager</var>,\r <strong>mach_port_seqno_t</strong> <var>seqno</var>,\r <strong>memory_object_t</strong> <var>*memory_object</var>,\r <strong>vm_size_t</strong> <var>object_size</var><strong>);</strong>\r</pre>\r<h3>PARAMETERS</h3>\r<dl>\r<p>\r<dt> <var>pager</var> \r<dd>\r[in default-pager (receive) right]\rThe default memory manager service \rport.\r<p>\r<dt> <var>seqno</var> \r<dd>\r[in scalar]\rThe sequence number of this message relative to the <var>pager</var> \rport.\r<p>\r<dt> <var>memory_object</var> \r<dd>\r[out memory-object send right]\rA memory object port (with full access) for the memory object.\r<p>\r<dt> <var>object_size</var> \r<dd>\r[in scalar]\rThe maximum size for the memory object.\r</dl>\r<h3>DESCRIPTION</h3>\r<p>\rA <strong>default_pager_object_create</strong> function is called as\rthe result of a message\rrequesting that the default memory manager create and return a (shared) memory \robject which is suitable for use with <strong>vm_map</strong>. This memory object has \rthe same properties as does a memory object provided by \r<strong>vm_allocate</strong>: its initial \rcontents are zero and the backing contents are temporary in that they do not\rpersist after the memory object is destroyed. The memory object\ris suitable for use \ras non-permanent shared memory. The kernel does not make this call itself \r(which is why it can be a synchronous call); this request is only issued by\r(privileged) tasks holding the default memory manager port. \rThis call should be \rcontrasted with the kernel's <strong>memory_object_create</strong> message, in which \rthe memory cache object is already created and the identity of the abstract \rmemory object is made known to the default manager.\r<h3>RETURN VALUES</h3>\r<p>\rOnly generic errors apply.\r<h3>RELATED INFORMATION</h3>\r<p>\rFunctions:\r<a href="vm_map.html"><strong>vm_map</strong></a>,\r<a href="HD_memory_manager.html"><strong>host_default_memory_manager</strong></a>,\r<a href="memory_object_create.html"><strong>memory_object_create</strong></a>,\r<a href="MO_default_server.html"><strong>memory_object_default_server</strong></a>,\r<a href="SMO_default_server.html"><strong>seqnos_memory_object_default_server</strong></a>.\r