1<h2>task_set_special_port</h2>
2<hr>
3<p>
4<strong>Function</strong> - Set the indicated special port.
5<h3>SYNOPSIS</h3>
6<pre>
7<strong>kern_return_t   task_set_special_port</strong>
8                <strong>(task_t</strong>                                    <var>task</var>,
9                 <strong>int</strong>                                 <var>which_port</var>,
10                 <strong>mach_port_t</strong>                       <var>special_port</var><strong>);</strong>
11
12
13<strong>Macro forms:</strong>
14
15
16<strong>kern_return_t   task_set_bootstrap_port</strong>
17                <strong>(task_t</strong>                                    <var>task</var>,
18                 <strong>int</strong>                                 <var>which_port</var>,
19                 <strong>mach_port_t</strong>                       <var>special_port</var><strong>);</strong>
20
21
22<strong>kern_return_t   task_set_kernel_port</strong>
23                <strong>(task_t</strong>                                    <var>task</var>,
24                 <strong>int</strong>                                 <var>which_port</var>,
25                 <strong>mach_port_t</strong>                       <var>special_port</var><strong>);</strong>
26
27
28<strong>kern_return_t   task_set_host_name_port</strong>
29                <strong>(task_t</strong>                                    <var>task</var>,
30                 <strong>mach_port_t</strong>                       <var>special_port</var><strong>);</strong>
31</pre>
32<h3>PARAMETERS</h3>
33<dl>
34<p>
35<dt> <var>task</var> 
36<dd>
37[in task send right]
38The port for the task for which to set the port.
39<p>
40<dt> <var>which_port</var> 
41<dd>
42[in scalar]
43The special port to be set.  Valid values are:
44<dl>
45<p>
46<dt> <strong>TASK_BOOTSTRAP_PORT</strong>
47<dd>
48[bootstrap send right] The task's bootstrap port.  Used to send 
49messages requesting return of other system service ports.
50<p>
51<dt> <strong>TASK_KERNEL_PORT</strong>
52<dd>
53[task-self send right] The task's kernel port.  Used by the
54kernel to receive messages to manipulate the task.  This is the 
55port returned by <strong>mach_task_self</strong>.  Setting this special port 
56does not change the identity of the kernel port that names the 
57task; this simply changes the value returned as the kernel
58special port.
59<p>
60<dt> <strong>TASK_HOST_NAME_PORT</strong>
61<dd>
62[host-self send right] The task's host self port.  Used by the 
63task to request information about its containing host.  This is 
64the port returned by <strong>mach_host_self</strong>.  Setting this special port 
65does not change the identity of the kernel port that names the 
66host; this simply changes the value returned as the host
67special port.
68<p>
69<dt> <strong>TASK_WIRED_LEDGER_PORT</strong>
70<dd>
71[ledger send right] The resource ledger from which the task 
72draws its wired kernel memory.  Setting this special port does 
73not change the ledger from which the task draws its resources; 
74this simply changes the value returned as the ledger special 
75port.
76<p>
77<dt> <strong>TASK_PAGED_LEDGER_PORT</strong>
78<dd>
79[ledger send right] The resource ledger from which the task 
80draws its default memory managed memory.  Setting this
81special port does not change the ledger from which the task 
82draws its resources; this simply changes the value returned as 
83the ledger special port.
84</dl>
85<p>
86<dt> <var>special_port</var> 
87<dd>
88[in task-special send right]
89The value for the port.
90</dl>
91<h3>DESCRIPTION</h3>
92<p>
93The <strong>task_set_special_port</strong> function sets a special port
94belonging to <var>task</var>.
95<h3>NOTES</h3>
96<p>
97The current implementation does not support the <strong>TASK_HOST_NAME_PORT</strong>
98features associated with this interface.
99<h3>RETURN VALUES</h3>
100<p>
101Only generic errors apply.
102<h3>RELATED INFORMATION</h3>
103<p>
104Functions:
105<a href="task_create.html"><strong>task_create</strong></a>,
106<a href="task_get_special_port.html"><strong>task_get_special_port</strong></a>,
107<a href="mach_task_self.html"><strong>mach_task_self</strong></a>,
108<a href="thread_get_special_port.html"><strong>thread_get_special_port</strong></a>,
109<a href="thread_set_special_port.html"><strong>thread_set_special_port</strong></a>,
110<a href="mach_host_self.html"><strong>mach_host_self</strong></a>.
111