]> git.saurik.com Git - apple/xnu.git/blobdiff - osfmk/mach/mach_types.defs
xnu-2782.1.97.tar.gz
[apple/xnu.git] / osfmk / mach / mach_types.defs
index dddcbdeaeb8309a62d5de4d8fb786689e9439c71..d3077945ac1a22f77456e2e3dfd8cf0b78b1e46b 100644 (file)
@@ -514,6 +514,53 @@ type task_suspension_token_t = mach_port_move_send_once_t
 #endif /* KERNEL_SERVER */
                ;
 
+
+/* public voucher types */
+
+/* Mach voucher object */
+type mach_voucher_t = mach_port_t;
+type mach_voucher_name_t = mach_port_name_t;
+
+type mach_voucher_attr_manager_t = mach_port_t;
+type mach_voucher_attr_control_t = mach_port_t;
+
+/* IPC voucher internal object */
+type ipc_voucher_t = mach_port_t
+#if    KERNEL_SERVER
+               intran: ipc_voucher_t convert_port_to_voucher(mach_port_t)
+               outtran: mach_port_t convert_voucher_to_port(ipc_voucher_t)
+               destructor: ipc_voucher_release(ipc_voucher_t)
+#endif /* KERNEL_SERVER */
+               ;
+
+/* IPC voucher attribute control internal object */
+type ipc_voucher_attr_control_t = mach_port_t
+#if    KERNEL_SERVER
+               intran: ipc_voucher_attr_control_t convert_port_to_voucher_attr_control(mach_port_t)
+               outtran: mach_port_t convert_voucher_attr_control_to_port(ipc_voucher_attr_control_t)
+               destructor: ipc_voucher_attr_control_release(ipc_voucher_attr_control_t)
+#endif /* KERNEL_SERVER */
+                ;
+
+type mach_voucher_attr_key_t = uint32_t;
+
+type mach_voucher_attr_command_t = uint32_t;
+type mach_voucher_attr_recipe_command_t = uint32_t;
+
+type mach_voucher_attr_content_size_t = uint32_t;
+type mach_voucher_attr_content_t = array[*:4096] of uint8_t;
+type mach_voucher_attr_content_array_t = array[*:5120] of uint8_t;
+
+type mach_voucher_attr_raw_recipe_size_t = uint32_t;
+type mach_voucher_attr_raw_recipe_t = array[*:4096] of uint8_t;
+type mach_voucher_attr_raw_recipe_array_t = array[*:5120] of uint8_t;
+
+type mach_voucher_selector_t = uint32_t;
+
+type mach_voucher_attr_value_handle_t = uint64_t;
+type mach_voucher_attr_value_handle_array_t = array[*:4] of mach_voucher_attr_value_handle_t;
+type mach_voucher_attr_value_reference_t = uint32_t;
+
 /* kernel module loader */
 type kmod_t = int;
 type kmod_control_flavor_t = int;
@@ -526,6 +573,7 @@ type UNDServerRef = mach_port_t;
 
 #if KERNEL_SERVER
 #ifdef MACH_KERNEL_PRIVATE
+simport <ipc/ipc_voucher.h>;   /* for voucher conversions */
 simport <kern/ipc_kobject.h>;  /* for null conversion */
 simport <kern/ipc_tt.h>;       /* for task/thread conversion */
 simport <kern/ipc_host.h>;     /* for host/processor/pset conversions */