]> git.saurik.com Git - apple/xnu.git/blob - osfmk/man/norma_get_special_port.html
xnu-792.6.76.tar.gz
[apple/xnu.git] / osfmk / man / norma_get_special_port.html
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]
44 The control port for the host for which to
45 return the special port's send right.
46 <p>
47 <dt> <var>node</var>
48 <dd>
49 [in scalar]
50 The index of the node for which the port is desired.
51 <p>
52 <dt> <var>which_port</var>
53 <dd>
54 [in scalar]
55 The index of the special port for which the send right is
56 requested. 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
62 node.
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
75 the node.
76 </dl>
77 <p>
78 <dt> <var>special_port</var>
79 <dd>
80 [out norma-special send right]
81 The returned value for the port.
82 </dl>
83 <h3>DESCRIPTION</h3>
84 <p>
85 The <strong>norma_get_special_port</strong> function returns a send
86 right for a special port belonging to <var>node</var> on <var>host_priv</var>.
87 <p>
88 Each node maintains a (small) set of node specific ports. The device master
89 port, host name, and host control ports are
90 maintained by the kernel. The kernel also permits a small set
91 of server specified
92 node specific ports; the name server port is an example and is given (by
93 convention) an assigned special port index.
94 <h3>RETURN VALUES</h3>
95 <p>
96 Only generic errors apply.
97 <h3>RELATED INFORMATION</h3>
98 <p>
99 Functions:
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>.