]> git.saurik.com Git - apple/xnu.git/blame - osfmk/man/norma_get_special_port.html
xnu-792.21.3.tar.gz
[apple/xnu.git] / osfmk / man / norma_get_special_port.html
CommitLineData
13fec989
A
1<h2>norma_get_special_port</h2>
2<hr>
3<p>
4<strong>Function</strong> - Acquire a send right for a specified node-specific special port.
5<h3>SYNOPSIS</h3>
6<pre>
7<strong>kern_return_t norma_get_special_port</strong>
8 <strong>(host_priv_t</strong> <var>host_priv</var>,
9 <strong>int</strong> <var>node</var>,
10 <strong>int</strong> <var>which_port</var>,
11 <strong>mach_port_t</strong> <var>special_port</var><strong>);</strong>
12
13</pre>
14<h4>Macro forms:</h4>
15<pre>
16
17<strong>#include&ltmach/norma_special_ports.h&gt</strong>
18
19<strong>kern_return_t norma_get_device_port</strong>
20 <strong>(host_priv_t</strong> <var>host_priv</var>,
21 <strong>int</strong> <var>node</var>,
22 <strong>mach_port_t</strong> <var>special_port</var><strong>);</strong>
23
24<strong>kern_return_t norma_get_host_port</strong>
25 <strong>(host_priv_t</strong> <var>host_priv</var>,
26 <strong>int</strong> <var>node</var>,
27 <strong>mach_port_t</strong> <var>special_port</var><strong>);</strong>
28
29<strong>kern_return_t norma_get_host_priv_port</strong>
30 <strong>(host_priv_t</strong> <var>host_priv</var>,
31 <strong>int</strong> <var>node</var>,
32 <strong>mach_port_t</strong> <var>special_port</var><strong>);</strong>
33
34<strong>kern_return_t norma_get_nameserver_port</strong>
35 <strong>(host_priv_t</strong> <var>host_priv</var>,
36 <strong>int</strong> <var>node</var>,
37 <strong>mach_port_t</strong> <var>special_port</var><strong>);</strong>
38</pre>
39<h3>PARAMETERS</h3>
40<dl>
41<dt> <var>host_priv</var>
42<dd>
43[in host-control send right]
44The control port for the host for which to
45return the special port's send right.
46<p>
47<dt> <var>node</var>
48<dd>
49[in scalar]
50The index of the node for which the port is desired.
51<p>
52<dt> <var>which_port</var>
53<dd>
54[in scalar]
55The index of the special port for which the send right is
56requested. Valid values are:
57 <dl>
58 <p>
59<dt> <strong>NORMA_DEVICE_PORT</strong>
60<dd>
61[device-master send right] The device master port for the
62node.
63<p>
64<dt> <strong>NORMA_HOST_PORT</strong>
65<dd>
66[host-name send right] The host name port for the node.
67<p>
68<dt> <strong>NORMA_HOST_PRIV_PORT</strong>
69<dd>
70[host-control send right] The host control port for the node.
71<p>
72<dt> <strong>NORMA_NAMESERVER_PORT</strong>
73<dd>
74[name-server send right] The registered name server port for
75the node.
76</dl>
77<p>
78<dt> <var>special_port</var>
79<dd>
80[out norma-special send right]
81The returned value for the port.
82</dl>
83<h3>DESCRIPTION</h3>
84<p>
85The <strong>norma_get_special_port</strong> function returns a send
86right for a special port belonging to <var>node</var> on <var>host_priv</var>.
87<p>
88Each node maintains a (small) set of node specific ports. The device master
89port, host name, and host control ports are
90maintained by the kernel. The kernel also permits a small set
91of server specified
92node specific ports; the name server port is an example and is given (by
93convention) an assigned special port index.
94<h3>RETURN VALUES</h3>
95<p>
96Only generic errors apply.
97<h3>RELATED INFORMATION</h3>
98<p>
99Functions:
100<a href="mach_host_self.html"><strong>mach_host_self</strong></a>,
101<a href="norma_set_special_port.html"><strong>norma_get_special_port</strong></a>,
102<a href="bootstrap_ports.html"><strong>bootstrap_ports</strong></a>.