#define ikm_prealloc_clear_inuse(kmsg, port) \
MACRO_BEGIN \
(kmsg)->ikm_prealloc = IP_NULL; \
- ip_release(port); \
MACRO_END
#define ikm_init(kmsg, size) \
} \
MACRO_END
-/*
- * extern void
- * ipc_kmsg_send_always(ipc_kmsg_t);
- */
-#define ipc_kmsg_send_always(kmsg) \
- ipc_kmsg_send((kmsg), MACH_SEND_ALWAYS, MACH_MSG_TIMEOUT_NONE)
-
-
/* Allocate a kernel message */
extern ipc_kmsg_t ipc_kmsg_alloc(
mach_msg_size_t size);
extern mach_msg_return_t ipc_kmsg_copyin_header(
mach_msg_header_t *msg,
ipc_space_t space,
- boolean_t notify);
+ mach_msg_option_t *optionp);
/* Copyin port rights and out-of-line memory from a user message */
extern mach_msg_return_t ipc_kmsg_copyin(
ipc_kmsg_t kmsg,
ipc_space_t space,
vm_map_t map,
- boolean_t notify);
+ mach_msg_option_t *optionp);
/* Copyin port rights and out-of-line memory from a kernel message */
extern mach_msg_return_t ipc_kmsg_copyin_from_kernel(
mach_msg_body_t *slist,
mach_msg_size_t slist_size);
+
+extern mach_msg_trailer_size_t
+ipc_kmsg_add_trailer(ipc_kmsg_t kmsg, ipc_space_t space,
+ mach_msg_option_t option, thread_t thread,
+ mach_port_seqno_t seqno, boolean_t minimal_trailer,
+ mach_vm_offset_t context);
+
#endif /* _IPC_IPC_KMSG_H_ */