]> git.saurik.com Git - apple/xnu.git/blame - osfmk/man/mach_port_deallocate.html
xnu-792.6.70.tar.gz
[apple/xnu.git] / osfmk / man / mach_port_deallocate.html
CommitLineData
9bccf70c 1<h2>mach_port_deallocate</h2>\r<hr>\r<p>\r<strong>Function</strong> - Decrement the target port right's user reference count.\r<h3>SYNOPSIS</h3>\r<pre>\r<strong>kern_return_t mach_port_deallocate</strong>\r <strong>(ipc_space_t</strong> <var>task</var>,\r <strong>mach_port_name_t</strong> <var>name</var><strong>);</strong>\r</pre>\r<h3>PARAMETERS</h3>\r<dl>\r<p>\r<dt> <var>task</var> \r<dd>\r[in task send right]\rThe task holding the right.\r<p>\r<dt> <var>name</var> \r<dd>\r[in scalar]\rThe task's name for the right.\r</dl>\r<h3>DESCRIPTION</h3>\r<p>\rThe <strong>mach_port_deallocate</strong> function releases a user reference\rfor a right. It is \ran alternate form of <strong>mach_port_mod_refs</strong> that allows\ra task to release a user \rreference for a send or send-once right without failing if the\rport has died and \rthe right is now actually a dead name.\r<p>\rIf <var>name</var> denotes a dead name, send right, or send-once right,\rthen the right loses \rone user reference. If it only had one user reference, then\rthe right is destroyed. \rIf <var>name</var> does not denote an element in the port name space, the\rfunction returns \rsuccess.\r<h3>NOTES</h3>\r<p>\rThis interface is machine word length specific because of the port name\rparameter.\r<h3>RETURN VALUES</h3>\r<dl>\r<p>\r<dt> <strong>KERN_INVALID_RIGHT</strong>\r<dd>\rThe <var>name</var> parameter denoted an invalid right.\r</dl>\r<h3>RELATED INFORMATION</h3>\r<p>\rFunctions:\r<a href="mach_port_allocate.html"><strong>mach_port_allocate</strong></a>,\r<a href="mach_port_allocate_name.html"><strong>mach_port_allocate_name</strong></a>,\r<a href="mach_port_mod_refs.html"><strong>mach_port_mod_refs</strong></a>.\r