+ void* (*malloc)(size_t);
+ void (*free)(void*);
+ void* (*realloc)(void*, size_t);
+ void (*_pthread_exit_if_canceled)(int);
+
+ /* The following functions are included in version 2 of this structure */
+ void *reserved1;
+ void *reserved2;
+ void *reserved3;
+ void *reserved4;
+ void *reserved5;
+
+ /* The following functions are included in version 3 of this structure */
+ void (*pthread_clear_qos_tsd)(mach_port_t);
+
+ /* Subsequent versions must only add pointers! */
+} *_libkernel_functions_t;
+
+typedef const struct _libkernel_voucher_functions {
+ /* The following functions are included in version 1 of this structure */
+ unsigned long version;
+ boolean_t (*voucher_mach_msg_set)(mach_msg_header_t*);
+ void (*voucher_mach_msg_clear)(mach_msg_header_t*);
+ voucher_mach_msg_state_t (*voucher_mach_msg_adopt)(mach_msg_header_t*);
+ void (*voucher_mach_msg_revert)(voucher_mach_msg_state_t);
+
+ /* Subsequent versions must only add pointers! */
+} *_libkernel_voucher_functions_t;