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