osfmk/man/mach_msg_descriptor.html
Structure - Specifies operations that must be performed on a given IPC message element.
**typedef struct**** { ****void\*** pad1 **;**** mach\_msg\_size\_t **pad2** ; ****unsigned int** pad3 **: 24;**** mach\_msg\_descriptor\_type\_t **type** : 8; ****} mach\_msg\_type\_descriptor\_t;**** typedef struct ****{**** mach\_port\_t **name** ; ****mach\_msg\_size\_t** pad1 **;**** unsigned int **pad2** : 16; ****mach\_msg\_type\_name\_t** disposition **: 8;**** mach\_msg\_descriptor\_type\_t **type** : 8; ****} mach\_msg\_port\_descriptor\_t;**** typedef struct ****{**** void\ ***address** ; ****mach\_msg\_size\_t** size **;**** boolean\_t **deallocate** : 8; ****mach\_msg\_copy\_options\_t** copy **: 8;**** unsigned int **pad1** : 8; ****mach\_msg\_descriptor\_type\_t** type **: 8;**** } mach\_msg\_ool\_descriptor\_t; ****typedef struct**** { ****void\*** address **;**** mach\_msg\_size\_t **count** ; ****boolean\_t** deallocate **: 8;**** mach\_msg\_copy\_options\_t **copy** : 8; ****mach\_msg\_type\_name\_t** disposition **: 8;**** mach\_msg\_descriptor\_type\_t **type** : 8; ****} mach\_msg\_ool\_ports\_descriptor\_t;**** typedef union ****{**** mach\_msg\_port\_descriptor\_t **port** ; ****mach\_msg\_ool\_descriptor\_t** out\_of\_line **;**** mach\_msg\_ool\_ports\_descriptor\_t **ool\_ports** ; ****mach\_msg\_type\_descriptor\_t** type **;**** } mach\_msg\_descriptor\_t;**
nameFor single port descriptors, the name of the port whose right is being sent.
dispositionFor single port or out-of-line port array descriptors, the IPC processing to be done for the rights for the named ports.
addressFor out-of-line data or port array descriptors, the address of the out-of-line data or port (name) array.
sizeFor out-of-line data descriptors, the size of the out-of-line region, in bytes.
deallocateFor out-of-line data descriptors, true if the set of pages containing the array should be de-allocated when the message is sent.
copyFor out-of-line descriptors, a description of the method by which the data should be copied.
countFor out-of-line port array descriptors, the number of port names in the array.
typeFor any type of descriptor, the type of descriptor.
portA descriptor that describes a single port right.
out_of_lineA descriptor that describes an out-of-line data array.
ool_portsA descriptor that describes an out-of-line port array.
A mach_msg_descriptor structure describes the processing to be performed for an element of kernel-processed data in a Mach message.
Functions: mach_msg.
Data Structures: mach_msg_header.