]> git.saurik.com Git - apple/xnu.git/blob - osfmk/man/mach_port_allocate_qos.html
xnu-792.6.76.tar.gz
[apple/xnu.git] / osfmk / man / mach_port_allocate_qos.html
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
24 the 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>
34 The <strong>mach_port_allocate_qos</strong> function allocates a port with
35 caller-specified "quality of service" characteristics with or without a
36 caller-specified name; in other words, the caller may specify a desired name
37 or it may let the kernel generate the name. The new port is capable of
38 supporting full Mach port semantics (i.e no-more-senders notification can be
39 requested on the port).
40 <h3>NOTES</h3>
41 <p>
42 This interface is machine word length specific because of the port
43 name parameter.
44 <h3>RETURN VALUES</h3>
45 <dl>
46 <dt> <strong>KERN_NO_SPACE</strong>
47 <dd>
48 There was no room in task's IPC name space for another right.
49 <dt> <strong>KERN_INVALID_VALUE</strong>
50 <dd>
51 The type of right specified by <var>right</var> is either invalid or conflicts
52 with the requested "quality of service" as specified via <var>qos</var>.
53 </dl>
54 <h3>RELATED INFORMATION</h3>
55 <p>
56 Functions:
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>
64 Structures:
65 <a href="mach_port_qos.html"><strong>mach_port_qos</strong></a>.