]> git.saurik.com Git - apple/xnu.git/blobdiff - osfmk/man/thread_get_special_port.html
xnu-792.6.76.tar.gz
[apple/xnu.git] / osfmk / man / thread_get_special_port.html
index 2acf05b9cf7bb6ea947017f820cc7f731037eab7..f8e0abba6a10ab6e571fbf26a5bbba0349abb111 100755 (executable)
@@ -1 +1,76 @@
-<h2>thread_get_special_port</h2>\r<hr>\r<p>\r<strong>Function</strong> - Return a send right to the caller-specified special port.\r<h3>SYNOPSIS</h3>\r<pre>\r<strong>kern_return_t   thread_get_special_port</strong>\r                <strong>(thread_act_t</strong>                            <var>thread</var>,\r                 <strong>int</strong>                                 <var>which_port</var>,\r                 <strong>thread</strong>                            <var>special_port</var><strong>);</strong>\r</pre>\r\r<h4>Macro form:</h4>\r\r<pre>\r<strong>kern_return_t   thread_get_kernel_port</strong>\r                <strong>(thread_act_t</strong>                            <var>thread</var>,\r                 <strong>thread</strong>                            <var>special_port</var><strong>);</strong>\r</pre>\r<h3>PARAMETERS</h3>\r<dl>\r<p>\r<dt> <var>thread</var> \r<dd>\r[in thread send right]\rThe thread for which to return the port's send \rright.\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>THREAD_KERNEL_PORT</strong>\r<dd>\r[thread-self send right] The port used to name the thread. \rUsed to invoke operations that affect the thread.  This is the \rport returned by <strong>mach_thread_self</strong>.\r</dl>\r<p>\r<dt> <var>special_port</var> \r<dd>\r[out thread-special send right]\rThe returned value for the port.\r</dl>\r<h3>DESCRIPTION</h3>\r<p>\rThe <strong>thread_get_special_port</strong> function returns a send\rright for a special port\rbelonging to <var>thread</var>.\r<p>\rThe thread kernel port is a port for which the kernel holds the\rreceive right.  The \rkernel uses this port to identify the thread.\r<p>\rIf one thread has a send right for the kernel port of another\rthread, it can use the \rport to perform kernel operations for the other thread.  Send\rrights for a kernel \rport normally are held only by the thread to which the port belongs, or by the \rtask that contains the thread.  Using the <strong>mach_msg</strong>\rfunction, however, any \rthread can pass a send right for its kernel port to another thread.\r<h3>RETURN VALUES</h3>\r<p>\rOnly generic errors apply.\r<h3>RELATED INFORMATION</h3>\r<p>\rFunctions:\r<a href="mach_thread_self.html"><strong>mach_thread_self</strong></a>,\r<a href="task_get_special_port.html"><strong>task_get_special_port</strong></a>,\r<a href="task_set_special_port.html"><strong>task_set_special_port</strong></a>,\r<a href="thread_create.html"><strong>thread_create</strong></a>,\r<a href="thread_set_special_port.html"><strong>thread_set_special_port</strong></a>.\r
\ No newline at end of file
+<h2>thread_get_special_port</h2>
+<hr>
+<p>
+<strong>Function</strong> - Return a send right to the caller-specified special port.
+<h3>SYNOPSIS</h3>
+<pre>
+<strong>kern_return_t   thread_get_special_port</strong>
+                <strong>(thread_act_t</strong>                            <var>thread</var>,
+                 <strong>int</strong>                                 <var>which_port</var>,
+                 <strong>thread</strong>                            <var>special_port</var><strong>);</strong>
+</pre>
+
+<h4>Macro form:</h4>
+
+<pre>
+<strong>kern_return_t   thread_get_kernel_port</strong>
+                <strong>(thread_act_t</strong>                            <var>thread</var>,
+                 <strong>thread</strong>                            <var>special_port</var><strong>);</strong>
+</pre>
+<h3>PARAMETERS</h3>
+<dl>
+<p>
+<dt> <var>thread</var> 
+<dd>
+[in thread send right]
+The thread for which to return the port's send 
+right.
+<p>
+<dt> <var>which_port</var> 
+<dd>
+[in scalar]
+The special port for which the send right is requested.  Valid 
+values are:
+<dl>
+<p>
+<dt> <strong>THREAD_KERNEL_PORT</strong>
+<dd>
+[thread-self send right] The port used to name the thread. 
+Used to invoke operations that affect the thread.  This is the 
+port returned by <strong>mach_thread_self</strong>.
+</dl>
+<p>
+<dt> <var>special_port</var> 
+<dd>
+[out thread-special send right]
+The returned value for the port.
+</dl>
+<h3>DESCRIPTION</h3>
+<p>
+The <strong>thread_get_special_port</strong> function returns a send
+right for a special port
+belonging to <var>thread</var>.
+<p>
+The thread kernel port is a port for which the kernel holds the
+receive right.  The 
+kernel uses this port to identify the thread.
+<p>
+If one thread has a send right for the kernel port of another
+thread, it can use the 
+port to perform kernel operations for the other thread.  Send
+rights for a kernel 
+port normally are held only by the thread to which the port belongs, or by the 
+task that contains the thread.  Using the <strong>mach_msg</strong>
+function, however, any 
+thread can pass a send right for its kernel port to another thread.
+<h3>RETURN VALUES</h3>
+<p>
+Only generic errors apply.
+<h3>RELATED INFORMATION</h3>
+<p>
+Functions:
+<a href="mach_thread_self.html"><strong>mach_thread_self</strong></a>,
+<a href="task_get_special_port.html"><strong>task_get_special_port</strong></a>,
+<a href="task_set_special_port.html"><strong>task_set_special_port</strong></a>,
+<a href="thread_create.html"><strong>thread_create</strong></a>,
+<a href="thread_set_special_port.html"><strong>thread_set_special_port</strong></a>.