Lines Matching refs:kmsg

85  *	This structure is only the header for a kmsg buffer;
89 * In a kmsg, the port fields hold pointers to ports instead
131 #define ikm_prealloc_inuse_port(kmsg) \
132 ((kmsg)->ikm_prealloc)
134 #define ikm_prealloc_inuse(kmsg) \
135 ((kmsg)->ikm_prealloc != IP_NULL)
137 #define ikm_prealloc_set_inuse(kmsg, port) \
140 (kmsg)->ikm_prealloc = (port); \
144 #define ikm_prealloc_clear_inuse(kmsg, port) \
146 (kmsg)->ikm_prealloc = IP_NULL; \
149 #define ikm_init(kmsg, size) \
151 (kmsg)->ikm_size = (size); \
152 (kmsg)->ikm_prealloc = IP_NULL; \
153 (kmsg)->ikm_sender = NULL; \
154 assert((kmsg)->ikm_prev = (kmsg)->ikm_next = IKM_BOGUS); \
157 #define ikm_check_init(kmsg, size) \
159 assert((kmsg)->ikm_size == (size)); \
160 assert((kmsg)->ikm_prev == IKM_BOGUS); \
161 assert((kmsg)->ikm_next == IKM_BOGUS); \
164 #define ikm_set_header(kmsg, mtsize) \
166 (kmsg)->ikm_header = (mach_msg_header_t *) \
167 ((vm_offset_t)((kmsg) + 1) + (kmsg)->ikm_size - (mtsize)); \
190 /* Enqueue a kmsg */
193 ipc_kmsg_t kmsg);
195 /* Dequeue and return a kmsg */
199 /* Pull a kmsg out of a queue */
202 ipc_kmsg_t kmsg);
206 /* Return the kmsg following the given kmsg */
209 ipc_kmsg_t kmsg);
211 #define ipc_kmsg_rmqueue_first_macro(queue, kmsg) \
215 assert((queue)->ikmq_base == (kmsg)); \
217 _next = (kmsg)->ikm_next; \
218 if (_next == (kmsg)) { \
219 assert((kmsg)->ikm_prev == (kmsg)); \
222 register ipc_kmsg_t _prev = (kmsg)->ikm_prev; \
229 assert(kmsg->ikm_next = IKM_BOGUS); \
230 assert(kmsg->ikm_prev = IKM_BOGUS); \
233 #define ipc_kmsg_enqueue_macro(queue, kmsg) \
238 (queue)->ikmq_base = (kmsg); \
239 (kmsg)->ikm_next = (kmsg); \
240 (kmsg)->ikm_prev = (kmsg); \
244 (kmsg)->ikm_next = _first; \
245 (kmsg)->ikm_prev = _last; \
246 _first->ikm_prev = (kmsg); \
247 _last->ikm_next = (kmsg); \
255 #define ipc_kmsg_send_always(kmsg) \
256 ipc_kmsg_send((kmsg), MACH_SEND_ALWAYS, MACH_MSG_TIMEOUT_NONE)
265 ipc_kmsg_t kmsg);
269 ipc_kmsg_t kmsg);
273 ipc_kmsg_t kmsg);
284 ipc_kmsg_t kmsg,
289 ipc_kmsg_t kmsg,
306 ipc_kmsg_t kmsg,
313 ipc_kmsg_t kmsg,
319 ipc_kmsg_t kmsg,
330 ipc_kmsg_t kmsg,
337 ipc_kmsg_t kmsg);
341 ipc_kmsg_t kmsg);
358 ipc_kmsg_t kmsg,
365 ipc_kmsg_t kmsg,
373 ipc_kmsg_t kmsg,
380 ipc_kmsg_t kmsg,
385 ipc_kmsg_t kmsg,
390 ipc_kmsg_t kmsg,
395 ipc_kmsg_t kmsg,
403 ipc_kmsg_t kmsg);
412 ipc_kmsg_add_trailer(ipc_kmsg_t kmsg, ipc_space_t space,