]> git.saurik.com Git - apple/xnu.git/blob - osfmk/man/mach_msg_descriptor.html
xnu-2422.1.72.tar.gz
[apple/xnu.git] / osfmk / man / mach_msg_descriptor.html
1 <h2>mach_msg_descriptor</h2>
2 <hr>
3 <p>
4 <strong>Structure</strong> - Specifies operations that must be performed on a given IPC message element.
5 <h3>SYNOPSIS</h3>
6 <pre>
7 <strong>typedef struct</strong>
8 <strong>{</strong>
9 <strong>void*</strong> <var>pad1</var><strong>;</strong>
10 <strong>mach_msg_size_t</strong> <var>pad2</var><strong>;</strong>
11 <strong>unsigned int</strong> <var>pad3</var><strong> : 24;</strong>
12 <strong>mach_msg_descriptor_type_t</strong> <var>type</var><strong> : 8;</strong>
13 <strong>} mach_msg_type_descriptor_t;</strong>
14
15 <strong>typedef struct</strong>
16 <strong>{</strong>
17 <strong>mach_port_t</strong> <var>name</var><strong>;</strong>
18 <strong>mach_msg_size_t</strong> <var>pad1</var><strong>;</strong>
19 <strong>unsigned int</strong> <var>pad2</var><strong> : 16;</strong>
20 <strong>mach_msg_type_name_t</strong> <var>disposition</var><strong> : 8;</strong>
21 <strong>mach_msg_descriptor_type_t</strong> <var>type</var><strong> : 8;</strong>
22 <strong>} mach_msg_port_descriptor_t;</strong>
23
24 <strong>typedef struct</strong>
25 <strong>{</strong>
26 <strong>void*</strong> <var>address</var><strong>;</strong>
27 <strong>mach_msg_size_t</strong> <var>size</var><strong>;</strong>
28 <strong>boolean_t</strong> <var>deallocate</var><strong> : 8;</strong>
29 <strong>mach_msg_copy_options_t</strong> <var>copy</var><strong> : 8;</strong>
30 <strong>unsigned int</strong> <var>pad1</var><strong> : 8;</strong>
31 <strong>mach_msg_descriptor_type_t</strong> <var>type</var><strong> : 8;</strong>
32 <strong>} mach_msg_ool_descriptor_t;</strong>
33
34 <strong>typedef struct</strong>
35 <strong>{</strong>
36 <strong>void*</strong> <var>address</var><strong>;</strong>
37 <strong>mach_msg_size_t</strong> <var>count</var><strong>;</strong>
38 <strong>boolean_t</strong> <var>deallocate</var><strong> : 8;</strong>
39 <strong>mach_msg_copy_options_t</strong> <var>copy</var><strong> : 8;</strong>
40 <strong>mach_msg_type_name_t</strong> <var>disposition</var><strong> : 8;</strong>
41 <strong>mach_msg_descriptor_type_t</strong> <var>type</var><strong> : 8;</strong>
42 <strong>} mach_msg_ool_ports_descriptor_t;</strong>
43
44 <strong>typedef union</strong>
45 <strong>{</strong>
46 <strong>mach_msg_port_descriptor_t</strong> <var>port</var><strong>;</strong>
47 <strong>mach_msg_ool_descriptor_t</strong> <var>out_of_line</var><strong>;</strong>
48 <strong>mach_msg_ool_ports_descriptor_t</strong> <var>ool_ports</var><strong>;</strong>
49 <strong>mach_msg_type_descriptor_t</strong> <var>type</var><strong>;</strong>
50 <strong>} mach_msg_descriptor_t;</strong>
51 </pre>
52 <h3>FIELDS</h3>
53 <dl>
54 <dt> <var>name</var>
55 <dd>
56 For single port descriptors, the name of the port whose right is being
57 sent.
58 <p>
59 <dt> <var>disposition</var>
60 <dd>
61 For single port or out-of-line port array descriptors, the IPC processing
62 to be done for the rights for the named ports.
63 <p>
64 <dt> <var>address</var>
65 <dd>
66 For out-of-line data or port array descriptors, the address of the
67 out-of-line data or port (name) array.
68 <p>
69 <dt> <var>size</var>
70 <dd>
71 For out-of-line data descriptors, the size of the out-of-line region, in
72 bytes.
73 <p>
74 <dt> <var>deallocate</var>
75 <dd>
76 For out-of-line data descriptors, true if the set of pages containing the
77 array should be de-allocated when the message is sent.
78 <p>
79 <dt> <var>copy</var>
80 <dd>
81 For out-of-line descriptors, a description of the method by which the
82 data should be copied.
83 <p>
84 <dt> <var>count</var>
85 <dd>
86 For out-of-line port array descriptors, the number of port names in the
87 array.
88 <p>
89 <dt> <var>type</var>
90 <dd>
91 For any type of descriptor, the type of descriptor.
92 <p>
93 <dt> <var>port</var>
94 <dd>
95 A descriptor that describes a single port right.
96 <p>
97 <dt> <var>out_of_line</var>
98 <dd>
99 A descriptor that describes an out-of-line data array.
100 <p>
101 <dt> <var>ool_ports</var>
102 <dd>
103 A descriptor that describes an out-of-line port array.
104 </dl>
105 <h3>DESCRIPTION</h3>
106 <p>
107 A <strong>mach_msg_descriptor</strong> structure describes the processing
108 to be performed
109 for an element of kernel-processed data in a Mach message.
110 <h3>RELATED INFORMATION</h3>
111 <p>
112 Functions:
113 <a href="mach_msg.html"><strong>mach_msg</strong></a>.
114 <p>
115 Data Structures:
116 <a href="mach_msg_header.html"><strong>mach_msg_header</strong></a>.