]>
Commit | Line | Data |
---|---|---|
1 | <h2>task_get_special_port</h2>\r<hr>\r<p>\r<strong>Function</strong> - Return a send write to the indicated special port.\r<h3>SYNOPSIS</h3>\r<pre>\r<strong>kern_return_t task_get_special_port</strong>\r <strong>(task_t</strong> <var>task</var>,\r <strong>int</strong> <var>which_port</var>,\r <strong>task</strong> <var>special_port</var><strong>);</strong>\r\r\r<strong>Macro Forms:</strong>\r\r\r<strong>kern_return_t task_get_bootstrap_port</strong>\r <strong>(task_t</strong> <var>task</var>,\r <strong>task</strong> <var>special_port</var><strong>);</strong>\r\r\r<strong>kern_return_t task_get_kernel_port</strong>\r <strong>(task_t</strong> <var>task</var>,\r <strong>task</strong> <var>special_port</var><strong>);</strong>\r\r\r<strong>kern_return_t task_get_host_name_port</strong>\r <strong>(task_t</strong> <var>task</var>,\r <strong>task</strong> <var>special_port</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 port for the task for which to return the port's \rsend right.\r<p>\r<dt> <var>which_port</var> \r<dd>\r[in scalar]\rThe special port for which the send right is requested. Valid \rvalues are:\r<dl>\r<p>\r<dt> <strong>TASK_KERNEL_PORT</strong>\r<dd>\r[task-self send right] The port used to control this task. Used \rto send messages that affect the task. This is the port returned \rby <strong>mach_task_self</strong>.\r<p>\r<dt> <strong>TASK_BOOTSTRAP_PORT</strong>\r<dd>\r[bootstrap send right] The task's bootstrap port. Used to send \rmessages requesting return of other system service ports.\r<p>\r<dt> <strong>TASK_HOST_NAME_PORT</strong>\r<dd>\r[host-self send right] The port used to request information of \rthe containing host. This is the port returned by\r<strong>mach_host_self</strong>.\r<p>\r<dt> <strong>TASK_WIRED_LEDGER_PORT</strong>\r<dd>\r[ledger send right] The port naming the source from which \rthis task draws its wired kernel memory.\r<p>\r<dt> <strong>TASK_PAGED_LEDGER_PORT</strong>\r<dd>\r[ledger send right] The port naming the source from which \rthis task draws its default memory managed memory.\r</dl>\r<p>\r<dt> <var>special_port</var> \r<dd>\r[out task-special send right]\rThe returned value for the port.\r</dl>\r<h3>DESCRIPTION</h3>\r<p>\rThe <strong>task_get_special_port</strong> function returns a send right\rfor a special port belonging to <var>task</var>.\r<p>\rIf one task has a send right for the kernel port of another task, it can use \rthe port to perform kernel operations for the other task. Send rights for a \rkernel port normally are held only by the task to which the port belongs,\ror by the task's parent task. Using the <strong>mach_msg</strong> function, however, \rany task can pass a send right for its kernel port to another task.\r<h3>NOTES</h3>\r<p>\rThe current implementation does not support the <strong>TASK_HOST_NAME_PORT</strong>\rfeatures associated with this interface.\r<h3>RETURN VALUES</h3>\r<p>\rOnly generic errors apply.\r<h3>RELATED INFORMATION</h3>\r<p>\rFunctions:\r<a href="mach_task_self.html"><strong>mach_task_self</strong></a>,\r<a href="task_create.html"><strong>task_create</strong></a>,\r<a href="task_set_special_port.html"><strong>task_set_special_port</strong></a>,\r<a href="thread_get_special_port.html"><strong>thread_get_special_port</strong></a>,\r<a href="thread_set_special_port.html"><strong>thread_set_special_port</strong></a>,\r<a href="mach_host_self.html"><strong>mach_host_self</strong></a>.\r |