]> git.saurik.com Git - apple/xnu.git/blob - osfmk/man/bootstrap_ports.html
xnu-3789.1.32.tar.gz
[apple/xnu.git] / osfmk / man / bootstrap_ports.html
1 <h2>bootstrap_ports</h2>
2 <hr>
3 <p>
4 <strong>Function</strong> - Return send rights to the system's control ports.
5 <h3>SYNOPSIS</h3>
6 <pre>
7 <strong>kern_return_t bootstrap_ports</strong>
8 <strong>(mach_port_t</strong> <var>bootstrap</var>,
9 <strong>bootstrap</strong> <var>host_control</var>,
10 <strong>host_control</strong> <var>device_master</var>,
11 <strong>device_master</strong> <var>root_wired_ledger</var>,
12 <strong>root_wired_ledger</strong> <var>root_paged_ledger</var>,
13 <strong>bootstrap</strong> <var>security</var><strong>);</strong>
14 </pre>
15 <h3>PARAMETERS</h3>
16 <dl>
17 <p>
18 <dt> <var>bootstrap</var>
19 <dd>
20 [in bootstrap send right]
21 The bootstrap port obtained from \*Ltask_get_special_ports()\*O.
22 <p>
23 <dt> <var>host_priv</var>
24 <dd>
25 [out host-control send right]
26 The control port for the host.
27 <p>
28 <dt> <var>device_master</var>
29 <dd>
30 [out device-master send right]
31 The device master port.
32 <p>
33 <dt> <var>root_wired_ledger</var>
34 <dd>
35 [out ledger send right]
36 The root wired kernel memory ledger port.
37 <p>
38 <dt> <var>root_paged_ledger</var>
39 <dd>
40 [out ledger send right]
41 The root default memory managed space ledger
42 port.
43 <p>
44 <dt> <var>security</var>
45 <dd>
46 [out security send right]
47 The host security port, used for setting task
48 identity.
49 </dl>
50 <h3>DESCRIPTION</h3>
51 <p>
52 The <strong>bootstrap_ports</strong> function returns a send right to
53 the host control, root
54 ledger, host security and device master ports. The kernel will respond
55 to this message on the <strong>TASK_BOOTSTRAP_PORT</strong> given to the system bootstrap
56 task (task 1) with the system privileged ports. It is the
57 responsibility of the bootstrap task to manage the distribution
58 of these rights to other servers.
59 <p>
60 An OS personality can serve as a server on the TASK_BOOTSTRAP_PORT
61 for tasks or servers that it manages, and can regulate or interpose on
62 the ports in any way it deems necessary.
63 <h3>RETURN VALUES</h3>
64 <p>
65 Only generic errors apply.
66 <h3>RELATED INFORMATION</h3>
67 <p>
68 Functions:
69 <a href="device_open.html"><strong>device_open</strong></a>,
70 <a href="host_get_clock_control.html"><strong>host_get_clock_control</strong></a>,
71 <a href="host_get_clock_service.html"><strong>host_get_clock_service</strong></a>,
72 <a href="host_processor_set_priv.html"><strong>host_processor_set_priv</strong></a>,
73 <a href="host_processors.html"><strong>host_processors</strong></a>,
74 <a href="ledger_create.html"><strong>ledger_create</strong></a>,
75 <a href="task_set_security_token.html"><strong>task_set_security_token</strong></a>.