]>
Commit | Line | Data |
---|---|---|
13fec989 A |
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>. |