1 <h2>mach_msg_descriptor
</h2>
4 <strong>Structure
</strong> - Specifies operations that must be performed on a given IPC message element.
7 <strong>typedef struct
</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>
15 <strong>typedef struct
</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>
24 <strong>typedef struct
</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>
34 <strong>typedef struct
</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>
44 <strong>typedef union
</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>
56 For single port descriptors, the name of the port whose right is being
59 <dt> <var>disposition
</var>
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.
64 <dt> <var>address
</var>
66 For out-of-line data or port array descriptors, the address of the
67 out-of-line data or port (name) array.
71 For out-of-line data descriptors, the size of the out-of-line region, in
74 <dt> <var>deallocate
</var>
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.
81 For out-of-line descriptors, a description of the method by which the
82 data should be copied.
86 For out-of-line port array descriptors, the number of port names in the
91 For any type of descriptor, the type of descriptor.
95 A descriptor that describes a single port right.
97 <dt> <var>out_of_line
</var>
99 A descriptor that describes an out-of-line data array.
101 <dt> <var>ool_ports
</var>
103 A descriptor that describes an out-of-line port array.
107 A
<strong>mach_msg_descriptor
</strong> structure describes the processing
109 for an element of kernel-processed data in a Mach message.
110 <h3>RELATED INFORMATION
</h3>
113 <a href=
"mach_msg.html"><strong>mach_msg
</strong></a>.
116 <a href=
"mach_msg_header.html"><strong>mach_msg_header
</strong></a>.