1<h2>mach_port_allocate_qos</h2>
2<hr>
3<p>
4<strong>Function</strong> - Allocate a port with specified "quality of service."
5<h3>SYNOPSIS</h3>
6<pre>
7<strong>kern_return_t	mach_port_allocate_qos</strong>
8		<strong>(ipc_space_t</strong>	<var>task</var>,
9		<strong>mach_port_right_t</strong>	<var>right</var>,
10		<strong>mach_port_qos_t</strong>	<var>qos</var>,
11		<strong>mach_port_name_t*</strong>	<var>name</var><strong>);</strong>
12</pre>
13<h3>PARAMETERS</h3>
14<dl>
15<dt> <var>task</var>
16<dd>
17[in task send right] The task acquiring the port right to the allocated port.
18<dt> <var>right</var>
19<dd>
20[in scalar] The type of port right to map to the allocated port.
21<dt> <var>qos</var>
22<dd>
23[pointer to an in/out structure] Structure used to specify
24the desired "quality of service." This structure indicates whether
25     or not the caller is providing a name for the port and whether or not
26     the port will exhibit realtime behavior.
27<dt> <var>name</var>
28<dd>
29[in/out scalar] The name of the installed port right, either specified by the
30     caller or chosen by the system.
31</dl>
32<h3>DESCRIPTION</h3>
33<p>
34The <strong>mach_port_allocate_qos</strong> function allocates a port with
35caller-specified "quality of service" characteristics with or without a
36caller-specified name; in other words, the caller may specify a desired name
37or it may let the kernel generate the name.  The new port is capable of
38supporting full Mach port semantics (i.e no-more-senders notification can be
39requested on the port).
40<h3>NOTES</h3>
41<p>
42This interface is machine word length specific because of the port
43name parameter.
44<h3>RETURN VALUES</h3>
45<dl>
46<dt> <strong>KERN_NO_SPACE</strong>
47<dd>
48There was no room in task's IPC name space for another right.
49<dt> <strong>KERN_INVALID_VALUE</strong>
50<dd>
51The type of right specified by <var>right</var> is either invalid or conflicts
52with the requested "quality of service" as specified via <var>qos</var>.
53</dl>
54<h3>RELATED INFORMATION</h3>
55<p>
56Functions:
57<a href="mach_port_allocate.html"><strong>mach_port_allocate</strong></a>,
58<a href="mach_port_allocate_full.html"><strong>mach_port_allocate_full</strong></a>,
59<a href="mach_port_allocate_name.html"><strong>mach_port_allocate_name</strong></a>,
60<a href="mach_port_deallocate.html"><strong>mach_port_deallocate</strong></a>,
61<a href="mach_port_insert_right.html"><strong>mach_port_insert_right</strong></a>,
62<a href="mach_port_extract_right.html"><strong>mach_port_extract_right</strong></a>.
63<p>
64Structures:
65<a href="mach_port_qos.html"><strong>mach_port_qos</strong></a>.