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>.
103