/* * IDENTIFICATION: * stub generated Wed Jul 27 15:09:14 2016 * with a MiG generated by bootstrap_cmds-93 * OPTIONS: */ #define __MIG_check__Reply__task_subsystem__ 1 #include "task.h" #ifndef mig_internal #define mig_internal static __inline__ #endif /* mig_internal */ #ifndef mig_external #define mig_external #endif /* mig_external */ #if !defined(__MigTypeCheck) && defined(TypeCheck) #define __MigTypeCheck TypeCheck /* Legacy setting */ #endif /* !defined(__MigTypeCheck) */ #if !defined(__MigKernelSpecificCode) && defined(_MIG_KERNEL_SPECIFIC_CODE_) #define __MigKernelSpecificCode _MIG_KERNEL_SPECIFIC_CODE_ /* Legacy setting */ #endif /* !defined(__MigKernelSpecificCode) */ #ifndef LimitCheck #define LimitCheck 0 #endif /* LimitCheck */ #ifndef min #define min(a,b) ( ((a) < (b))? (a): (b) ) #endif /* min */ #if !defined(_WALIGN_) #define _WALIGN_(x) (((x) + 3) & ~3) #endif /* !defined(_WALIGN_) */ #if !defined(_WALIGNSZ_) #define _WALIGNSZ_(x) _WALIGN_(sizeof(x)) #endif /* !defined(_WALIGNSZ_) */ #ifndef UseStaticTemplates #define UseStaticTemplates 0 #endif /* UseStaticTemplates */ #ifndef __MachMsgErrorWithTimeout #define __MachMsgErrorWithTimeout(_R_) { \ switch (_R_) { \ case MACH_SEND_INVALID_DATA: \ case MACH_SEND_INVALID_DEST: \ case MACH_SEND_INVALID_HEADER: \ mig_put_reply_port(InP->Head.msgh_reply_port); \ break; \ case MACH_SEND_TIMED_OUT: \ case MACH_RCV_TIMED_OUT: \ default: \ mig_dealloc_reply_port(InP->Head.msgh_reply_port); \ } \ } #endif /* __MachMsgErrorWithTimeout */ #ifndef __MachMsgErrorWithoutTimeout #define __MachMsgErrorWithoutTimeout(_R_) { \ switch (_R_) { \ case MACH_SEND_INVALID_DATA: \ case MACH_SEND_INVALID_DEST: \ case MACH_SEND_INVALID_HEADER: \ mig_put_reply_port(InP->Head.msgh_reply_port); \ break; \ default: \ mig_dealloc_reply_port(InP->Head.msgh_reply_port); \ } \ } #endif /* __MachMsgErrorWithoutTimeout */ #ifndef __DeclareSendRpc #define __DeclareSendRpc(_NUM_, _NAME_) #endif /* __DeclareSendRpc */ #ifndef __BeforeSendRpc #define __BeforeSendRpc(_NUM_, _NAME_) #endif /* __BeforeSendRpc */ #ifndef __AfterSendRpc #define __AfterSendRpc(_NUM_, _NAME_) #endif /* __AfterSendRpc */ #ifndef __DeclareSendSimple #define __DeclareSendSimple(_NUM_, _NAME_) #endif /* __DeclareSendSimple */ #ifndef __BeforeSendSimple #define __BeforeSendSimple(_NUM_, _NAME_) #endif /* __BeforeSendSimple */ #ifndef __AfterSendSimple #define __AfterSendSimple(_NUM_, _NAME_) #endif /* __AfterSendSimple */ #define msgh_request_port msgh_remote_port #define msgh_reply_port msgh_local_port #if ( __MigTypeCheck ) #if __MIG_check__Reply__task_subsystem__ #if !defined(__MIG_check__Reply__task_create_t__defined) #define __MIG_check__Reply__task_create_t__defined mig_internal kern_return_t __MIG_check__Reply__task_create_t(__Reply__task_create_t *Out0P) { typedef __Reply__task_create_t __Reply __attribute__((unused)); boolean_t msgh_simple; #if __MigTypeCheck unsigned int msgh_size; #endif /* __MigTypeCheck */ if (Out0P->Head.msgh_id != 3500) { if (Out0P->Head.msgh_id == MACH_NOTIFY_SEND_ONCE) { return MIG_SERVER_DIED; } else { return MIG_REPLY_MISMATCH; } } msgh_simple = !(Out0P->Head.msgh_bits & MACH_MSGH_BITS_COMPLEX); #if __MigTypeCheck msgh_size = Out0P->Head.msgh_size; if ((msgh_simple || Out0P->msgh_body.msgh_descriptor_count != 1 || msgh_size != (mach_msg_size_t)sizeof(__Reply)) && (!msgh_simple || msgh_size != (mach_msg_size_t)sizeof(mig_reply_error_t) || ((mig_reply_error_t *)Out0P)->RetCode == KERN_SUCCESS)) { return MIG_TYPE_ERROR ; } #endif /* __MigTypeCheck */ if (msgh_simple) { return ((mig_reply_error_t *)Out0P)->RetCode; } #if __MigTypeCheck if (Out0P->child_task.type != MACH_MSG_PORT_DESCRIPTOR || Out0P->child_task.disposition != 17) { return MIG_TYPE_ERROR; } #endif /* __MigTypeCheck */ return MACH_MSG_SUCCESS; } #endif /* !defined(__MIG_check__Reply__task_create_t__defined) */ #endif /* __MIG_check__Reply__task_subsystem__ */ #endif /* ( __MigTypeCheck ) */ /* Routine task_create */ mig_external kern_return_t task_create ( task_t target_task, ledger_array_t ledgers, mach_msg_type_number_t ledgersCnt, boolean_t inherit_memory, task_t *child_task ) { #ifdef __MigPackStructs #pragma pack(4) #endif typedef struct { mach_msg_header_t Head; /* start of the kernel processed data */ mach_msg_body_t msgh_body; mach_msg_ool_ports_descriptor_t ledgers; /* end of the kernel processed data */ NDR_record_t NDR; mach_msg_type_number_t ledgersCnt; boolean_t inherit_memory; } Request __attribute__((unused)); #ifdef __MigPackStructs #pragma pack() #endif #ifdef __MigPackStructs #pragma pack(4) #endif typedef struct { mach_msg_header_t Head; /* start of the kernel processed data */ mach_msg_body_t msgh_body; mach_msg_port_descriptor_t child_task; /* end of the kernel processed data */ mach_msg_trailer_t trailer; } Reply __attribute__((unused)); #ifdef __MigPackStructs #pragma pack() #endif #ifdef __MigPackStructs #pragma pack(4) #endif typedef struct { mach_msg_header_t Head; /* start of the kernel processed data */ mach_msg_body_t msgh_body; mach_msg_port_descriptor_t child_task; /* end of the kernel processed data */ } __Reply __attribute__((unused)); #ifdef __MigPackStructs #pragma pack() #endif /* * typedef struct { * mach_msg_header_t Head; * NDR_record_t NDR; * kern_return_t RetCode; * } mig_reply_error_t; */ union { Request In; Reply Out; } Mess; Request *InP = &Mess.In; Reply *Out0P = &Mess.Out; mach_msg_return_t msg_result; #ifdef __MIG_check__Reply__task_create_t__defined kern_return_t check_result; #endif /* __MIG_check__Reply__task_create_t__defined */ __DeclareSendRpc(3400, "task_create") #if UseStaticTemplates const static mach_msg_ool_ports_descriptor_t ledgersTemplate = { /* addr = */ (void *)0, /* coun = */ 0, /* deal = */ FALSE, /* copy is meaningful only in overwrite mode */ /* copy = */ MACH_MSG_PHYSICAL_COPY, /* disp = */ 19, /* type = */ MACH_MSG_OOL_PORTS_DESCRIPTOR, }; #endif /* UseStaticTemplates */ InP->msgh_body.msgh_descriptor_count = 1; #if UseStaticTemplates InP->ledgers = ledgersTemplate; InP->ledgers.address = (void *)(ledgers); InP->ledgers.count = ledgersCnt; #else /* UseStaticTemplates */ InP->ledgers.address = (void *)(ledgers); InP->ledgers.count = ledgersCnt; InP->ledgers.disposition = 19; InP->ledgers.deallocate = FALSE; InP->ledgers.type = MACH_MSG_OOL_PORTS_DESCRIPTOR; #endif /* UseStaticTemplates */ InP->NDR = NDR_record; InP->ledgersCnt = ledgersCnt; InP->inherit_memory = inherit_memory; InP->Head.msgh_bits = MACH_MSGH_BITS_COMPLEX| MACH_MSGH_BITS(19, MACH_MSG_TYPE_MAKE_SEND_ONCE); /* msgh_size passed as argument */ InP->Head.msgh_request_port = target_task; InP->Head.msgh_reply_port = mig_get_reply_port(); InP->Head.msgh_id = 3400; /* BEGIN VOUCHER CODE */ #ifdef USING_VOUCHERS if (voucher_mach_msg_set != NULL) { voucher_mach_msg_set(&InP->Head); } #endif // USING_VOUCHERS /* END VOUCHER CODE */ __BeforeSendRpc(3400, "task_create") msg_result = mach_msg(&InP->Head, MACH_SEND_MSG|MACH_RCV_MSG|MACH_MSG_OPTION_NONE, (mach_msg_size_t)sizeof(Request), (mach_msg_size_t)sizeof(Reply), InP->Head.msgh_reply_port, MACH_MSG_TIMEOUT_NONE, MACH_PORT_NULL); __AfterSendRpc(3400, "task_create") if (msg_result != MACH_MSG_SUCCESS) { __MachMsgErrorWithoutTimeout(msg_result); { return msg_result; } } #if defined(__MIG_check__Reply__task_create_t__defined) check_result = __MIG_check__Reply__task_create_t((__Reply__task_create_t *)Out0P); if (check_result != MACH_MSG_SUCCESS) { return check_result; } #endif /* defined(__MIG_check__Reply__task_create_t__defined) */ *child_task = Out0P->child_task.name; return KERN_SUCCESS; } #if ( __MigTypeCheck ) #if __MIG_check__Reply__task_subsystem__ #if !defined(__MIG_check__Reply__task_terminate_t__defined) #define __MIG_check__Reply__task_terminate_t__defined mig_internal kern_return_t __MIG_check__Reply__task_terminate_t(__Reply__task_terminate_t *Out0P) { typedef __Reply__task_terminate_t __Reply __attribute__((unused)); if (Out0P->Head.msgh_id != 3501) { if (Out0P->Head.msgh_id == MACH_NOTIFY_SEND_ONCE) { return MIG_SERVER_DIED; } else { return MIG_REPLY_MISMATCH; } } #if __MigTypeCheck if ((Out0P->Head.msgh_bits & MACH_MSGH_BITS_COMPLEX) || (Out0P->Head.msgh_size != (mach_msg_size_t)sizeof(__Reply))) { return MIG_TYPE_ERROR ; } #endif /* __MigTypeCheck */ { return Out0P->RetCode; } } #endif /* !defined(__MIG_check__Reply__task_terminate_t__defined) */ #endif /* __MIG_check__Reply__task_subsystem__ */ #endif /* ( __MigTypeCheck ) */ /* Routine task_terminate */ mig_external kern_return_t task_terminate ( task_t target_task ) { #ifdef __MigPackStructs #pragma pack(4) #endif typedef struct { mach_msg_header_t Head; } Request __attribute__((unused)); #ifdef __MigPackStructs #pragma pack() #endif #ifdef __MigPackStructs #pragma pack(4) #endif typedef struct { mach_msg_header_t Head; NDR_record_t NDR; kern_return_t RetCode; mach_msg_trailer_t trailer; } Reply __attribute__((unused)); #ifdef __MigPackStructs #pragma pack() #endif #ifdef __MigPackStructs #pragma pack(4) #endif typedef struct { mach_msg_header_t Head; NDR_record_t NDR; kern_return_t RetCode; } __Reply __attribute__((unused)); #ifdef __MigPackStructs #pragma pack() #endif /* * typedef struct { * mach_msg_header_t Head; * NDR_record_t NDR; * kern_return_t RetCode; * } mig_reply_error_t; */ union { Request In; Reply Out; } Mess; Request *InP = &Mess.In; Reply *Out0P = &Mess.Out; mach_msg_return_t msg_result; #ifdef __MIG_check__Reply__task_terminate_t__defined kern_return_t check_result; #endif /* __MIG_check__Reply__task_terminate_t__defined */ __DeclareSendRpc(3401, "task_terminate") InP->Head.msgh_bits = MACH_MSGH_BITS(19, MACH_MSG_TYPE_MAKE_SEND_ONCE); /* msgh_size passed as argument */ InP->Head.msgh_request_port = target_task; InP->Head.msgh_reply_port = mig_get_reply_port(); InP->Head.msgh_id = 3401; /* BEGIN VOUCHER CODE */ #ifdef USING_VOUCHERS if (voucher_mach_msg_set != NULL) { voucher_mach_msg_set(&InP->Head); } #endif // USING_VOUCHERS /* END VOUCHER CODE */ __BeforeSendRpc(3401, "task_terminate") msg_result = mach_msg(&InP->Head, MACH_SEND_MSG|MACH_RCV_MSG|MACH_MSG_OPTION_NONE, (mach_msg_size_t)sizeof(Request), (mach_msg_size_t)sizeof(Reply), InP->Head.msgh_reply_port, MACH_MSG_TIMEOUT_NONE, MACH_PORT_NULL); __AfterSendRpc(3401, "task_terminate") if (msg_result != MACH_MSG_SUCCESS) { __MachMsgErrorWithoutTimeout(msg_result); { return msg_result; } } #if defined(__MIG_check__Reply__task_terminate_t__defined) check_result = __MIG_check__Reply__task_terminate_t((__Reply__task_terminate_t *)Out0P); if (check_result != MACH_MSG_SUCCESS) { return check_result; } #endif /* defined(__MIG_check__Reply__task_terminate_t__defined) */ return KERN_SUCCESS; } #if ( __MigTypeCheck ) #if __MIG_check__Reply__task_subsystem__ #if !defined(__MIG_check__Reply__task_threads_t__defined) #define __MIG_check__Reply__task_threads_t__defined mig_internal kern_return_t __MIG_check__Reply__task_threads_t(__Reply__task_threads_t *Out0P) { typedef __Reply__task_threads_t __Reply __attribute__((unused)); boolean_t msgh_simple; #if __MigTypeCheck unsigned int msgh_size; #endif /* __MigTypeCheck */ if (Out0P->Head.msgh_id != 3502) { if (Out0P->Head.msgh_id == MACH_NOTIFY_SEND_ONCE) { return MIG_SERVER_DIED; } else { return MIG_REPLY_MISMATCH; } } msgh_simple = !(Out0P->Head.msgh_bits & MACH_MSGH_BITS_COMPLEX); #if __MigTypeCheck msgh_size = Out0P->Head.msgh_size; if ((msgh_simple || Out0P->msgh_body.msgh_descriptor_count != 1 || msgh_size != (mach_msg_size_t)sizeof(__Reply)) && (!msgh_simple || msgh_size != (mach_msg_size_t)sizeof(mig_reply_error_t) || ((mig_reply_error_t *)Out0P)->RetCode == KERN_SUCCESS)) { return MIG_TYPE_ERROR ; } #endif /* __MigTypeCheck */ if (msgh_simple) { return ((mig_reply_error_t *)Out0P)->RetCode; } #if __MigTypeCheck if (Out0P->act_list.type != MACH_MSG_OOL_PORTS_DESCRIPTOR || Out0P->act_list.disposition != 17) { return MIG_TYPE_ERROR; } #endif /* __MigTypeCheck */ return MACH_MSG_SUCCESS; } #endif /* !defined(__MIG_check__Reply__task_threads_t__defined) */ #endif /* __MIG_check__Reply__task_subsystem__ */ #endif /* ( __MigTypeCheck ) */ /* Routine task_threads */ mig_external kern_return_t task_threads ( task_t target_task, thread_act_array_t *act_list, mach_msg_type_number_t *act_listCnt ) { #ifdef __MigPackStructs #pragma pack(4) #endif typedef struct { mach_msg_header_t Head; } Request __attribute__((unused)); #ifdef __MigPackStructs #pragma pack() #endif #ifdef __MigPackStructs #pragma pack(4) #endif typedef struct { mach_msg_header_t Head; /* start of the kernel processed data */ mach_msg_body_t msgh_body; mach_msg_ool_ports_descriptor_t act_list; /* end of the kernel processed data */ NDR_record_t NDR; mach_msg_type_number_t act_listCnt; mach_msg_trailer_t trailer; } Reply __attribute__((unused)); #ifdef __MigPackStructs #pragma pack() #endif #ifdef __MigPackStructs #pragma pack(4) #endif typedef struct { mach_msg_header_t Head; /* start of the kernel processed data */ mach_msg_body_t msgh_body; mach_msg_ool_ports_descriptor_t act_list; /* end of the kernel processed data */ NDR_record_t NDR; mach_msg_type_number_t act_listCnt; } __Reply __attribute__((unused)); #ifdef __MigPackStructs #pragma pack() #endif /* * typedef struct { * mach_msg_header_t Head; * NDR_record_t NDR; * kern_return_t RetCode; * } mig_reply_error_t; */ union { Request In; Reply Out; } Mess; Request *InP = &Mess.In; Reply *Out0P = &Mess.Out; mach_msg_return_t msg_result; #ifdef __MIG_check__Reply__task_threads_t__defined kern_return_t check_result; #endif /* __MIG_check__Reply__task_threads_t__defined */ __DeclareSendRpc(3402, "task_threads") InP->Head.msgh_bits = MACH_MSGH_BITS(19, MACH_MSG_TYPE_MAKE_SEND_ONCE); /* msgh_size passed as argument */ InP->Head.msgh_request_port = target_task; InP->Head.msgh_reply_port = mig_get_reply_port(); InP->Head.msgh_id = 3402; /* BEGIN VOUCHER CODE */ #ifdef USING_VOUCHERS if (voucher_mach_msg_set != NULL) { voucher_mach_msg_set(&InP->Head); } #endif // USING_VOUCHERS /* END VOUCHER CODE */ __BeforeSendRpc(3402, "task_threads") msg_result = mach_msg(&InP->Head, MACH_SEND_MSG|MACH_RCV_MSG|MACH_MSG_OPTION_NONE, (mach_msg_size_t)sizeof(Request), (mach_msg_size_t)sizeof(Reply), InP->Head.msgh_reply_port, MACH_MSG_TIMEOUT_NONE, MACH_PORT_NULL); __AfterSendRpc(3402, "task_threads") if (msg_result != MACH_MSG_SUCCESS) { __MachMsgErrorWithoutTimeout(msg_result); { return msg_result; } } #if defined(__MIG_check__Reply__task_threads_t__defined) check_result = __MIG_check__Reply__task_threads_t((__Reply__task_threads_t *)Out0P); if (check_result != MACH_MSG_SUCCESS) { return check_result; } #endif /* defined(__MIG_check__Reply__task_threads_t__defined) */ *act_list = (thread_act_array_t)(Out0P->act_list.address); *act_listCnt = Out0P->act_listCnt; return KERN_SUCCESS; } #if ( __MigTypeCheck ) #if __MIG_check__Reply__task_subsystem__ #if !defined(__MIG_check__Reply__mach_ports_register_t__defined) #define __MIG_check__Reply__mach_ports_register_t__defined mig_internal kern_return_t __MIG_check__Reply__mach_ports_register_t(__Reply__mach_ports_register_t *Out0P) { typedef __Reply__mach_ports_register_t __Reply __attribute__((unused)); if (Out0P->Head.msgh_id != 3503) { if (Out0P->Head.msgh_id == MACH_NOTIFY_SEND_ONCE) { return MIG_SERVER_DIED; } else { return MIG_REPLY_MISMATCH; } } #if __MigTypeCheck if ((Out0P->Head.msgh_bits & MACH_MSGH_BITS_COMPLEX) || (Out0P->Head.msgh_size != (mach_msg_size_t)sizeof(__Reply))) { return MIG_TYPE_ERROR ; } #endif /* __MigTypeCheck */ { return Out0P->RetCode; } } #endif /* !defined(__MIG_check__Reply__mach_ports_register_t__defined) */ #endif /* __MIG_check__Reply__task_subsystem__ */ #endif /* ( __MigTypeCheck ) */ /* Routine mach_ports_register */ mig_external kern_return_t mach_ports_register ( task_t target_task, mach_port_array_t init_port_set, mach_msg_type_number_t init_port_setCnt ) { #ifdef __MigPackStructs #pragma pack(4) #endif typedef struct { mach_msg_header_t Head; /* start of the kernel processed data */ mach_msg_body_t msgh_body; mach_msg_ool_ports_descriptor_t init_port_set; /* end of the kernel processed data */ NDR_record_t NDR; mach_msg_type_number_t init_port_setCnt; } Request __attribute__((unused)); #ifdef __MigPackStructs #pragma pack() #endif #ifdef __MigPackStructs #pragma pack(4) #endif typedef struct { mach_msg_header_t Head; NDR_record_t NDR; kern_return_t RetCode; mach_msg_trailer_t trailer; } Reply __attribute__((unused)); #ifdef __MigPackStructs #pragma pack() #endif #ifdef __MigPackStructs #pragma pack(4) #endif typedef struct { mach_msg_header_t Head; NDR_record_t NDR; kern_return_t RetCode; } __Reply __attribute__((unused)); #ifdef __MigPackStructs #pragma pack() #endif /* * typedef struct { * mach_msg_header_t Head; * NDR_record_t NDR; * kern_return_t RetCode; * } mig_reply_error_t; */ union { Request In; Reply Out; } Mess; Request *InP = &Mess.In; Reply *Out0P = &Mess.Out; mach_msg_return_t msg_result; #ifdef __MIG_check__Reply__mach_ports_register_t__defined kern_return_t check_result; #endif /* __MIG_check__Reply__mach_ports_register_t__defined */ __DeclareSendRpc(3403, "mach_ports_register") #if UseStaticTemplates const static mach_msg_ool_ports_descriptor_t init_port_setTemplate = { /* addr = */ (void *)0, /* coun = */ 0, /* deal = */ FALSE, /* copy is meaningful only in overwrite mode */ /* copy = */ MACH_MSG_PHYSICAL_COPY, /* disp = */ 19, /* type = */ MACH_MSG_OOL_PORTS_DESCRIPTOR, }; #endif /* UseStaticTemplates */ InP->msgh_body.msgh_descriptor_count = 1; #if UseStaticTemplates InP->init_port_set = init_port_setTemplate; InP->init_port_set.address = (void *)(init_port_set); InP->init_port_set.count = 2; // was init_port_setCnt; #else /* UseStaticTemplates */ InP->init_port_set.address = (void *)(init_port_set); InP->init_port_set.count = 2; // was init_port_setCnt; InP->init_port_set.disposition = 19; InP->init_port_set.deallocate = FALSE; InP->init_port_set.type = MACH_MSG_OOL_PORTS_DESCRIPTOR; #endif /* UseStaticTemplates */ InP->NDR = NDR_record; InP->init_port_setCnt = init_port_setCnt; InP->Head.msgh_bits = MACH_MSGH_BITS_COMPLEX| MACH_MSGH_BITS(19, MACH_MSG_TYPE_MAKE_SEND_ONCE); /* msgh_size passed as argument */ InP->Head.msgh_request_port = target_task; InP->Head.msgh_reply_port = mig_get_reply_port(); InP->Head.msgh_id = 3403; /* BEGIN VOUCHER CODE */ #ifdef USING_VOUCHERS if (voucher_mach_msg_set != NULL) { voucher_mach_msg_set(&InP->Head); } #endif // USING_VOUCHERS /* END VOUCHER CODE */ __BeforeSendRpc(3403, "mach_ports_register") msg_result = mach_msg(&InP->Head, MACH_SEND_MSG|MACH_RCV_MSG|MACH_MSG_OPTION_NONE, (mach_msg_size_t)sizeof(Request), (mach_msg_size_t)sizeof(Reply), InP->Head.msgh_reply_port, MACH_MSG_TIMEOUT_NONE, MACH_PORT_NULL); __AfterSendRpc(3403, "mach_ports_register") if (msg_result != MACH_MSG_SUCCESS) { __MachMsgErrorWithoutTimeout(msg_result); { return msg_result; } } #if defined(__MIG_check__Reply__mach_ports_register_t__defined) check_result = __MIG_check__Reply__mach_ports_register_t((__Reply__mach_ports_register_t *)Out0P); if (check_result != MACH_MSG_SUCCESS) { return check_result; } #endif /* defined(__MIG_check__Reply__mach_ports_register_t__defined) */ return KERN_SUCCESS; } #if ( __MigTypeCheck ) #if __MIG_check__Reply__task_subsystem__ #if !defined(__MIG_check__Reply__mach_ports_lookup_t__defined) #define __MIG_check__Reply__mach_ports_lookup_t__defined mig_internal kern_return_t __MIG_check__Reply__mach_ports_lookup_t(__Reply__mach_ports_lookup_t *Out0P) { typedef __Reply__mach_ports_lookup_t __Reply __attribute__((unused)); boolean_t msgh_simple; #if __MigTypeCheck unsigned int msgh_size; #endif /* __MigTypeCheck */ if (Out0P->Head.msgh_id != 3504) { if (Out0P->Head.msgh_id == MACH_NOTIFY_SEND_ONCE) { return MIG_SERVER_DIED; } else { return MIG_REPLY_MISMATCH; } } msgh_simple = !(Out0P->Head.msgh_bits & MACH_MSGH_BITS_COMPLEX); #if __MigTypeCheck msgh_size = Out0P->Head.msgh_size; if ((msgh_simple || Out0P->msgh_body.msgh_descriptor_count != 1 || msgh_size != (mach_msg_size_t)sizeof(__Reply)) && (!msgh_simple || msgh_size != (mach_msg_size_t)sizeof(mig_reply_error_t) || ((mig_reply_error_t *)Out0P)->RetCode == KERN_SUCCESS)) { return MIG_TYPE_ERROR ; } #endif /* __MigTypeCheck */ if (msgh_simple) { return ((mig_reply_error_t *)Out0P)->RetCode; } #if __MigTypeCheck if (Out0P->init_port_set.type != MACH_MSG_OOL_PORTS_DESCRIPTOR || Out0P->init_port_set.disposition != 17) { return MIG_TYPE_ERROR; } #endif /* __MigTypeCheck */ return MACH_MSG_SUCCESS; } #endif /* !defined(__MIG_check__Reply__mach_ports_lookup_t__defined) */ #endif /* __MIG_check__Reply__task_subsystem__ */ #endif /* ( __MigTypeCheck ) */ /* Routine mach_ports_lookup */ mig_external kern_return_t mach_ports_lookup ( task_t target_task, mach_port_array_t *init_port_set, mach_msg_type_number_t *init_port_setCnt ) { #ifdef __MigPackStructs #pragma pack(4) #endif typedef struct { mach_msg_header_t Head; } Request __attribute__((unused)); #ifdef __MigPackStructs #pragma pack() #endif #ifdef __MigPackStructs #pragma pack(4) #endif typedef struct { mach_msg_header_t Head; /* start of the kernel processed data */ mach_msg_body_t msgh_body; mach_msg_ool_ports_descriptor_t init_port_set; /* end of the kernel processed data */ NDR_record_t NDR; mach_msg_type_number_t init_port_setCnt; mach_msg_trailer_t trailer; } Reply __attribute__((unused)); #ifdef __MigPackStructs #pragma pack() #endif #ifdef __MigPackStructs #pragma pack(4) #endif typedef struct { mach_msg_header_t Head; /* start of the kernel processed data */ mach_msg_body_t msgh_body; mach_msg_ool_ports_descriptor_t init_port_set; /* end of the kernel processed data */ NDR_record_t NDR; mach_msg_type_number_t init_port_setCnt; } __Reply __attribute__((unused)); #ifdef __MigPackStructs #pragma pack() #endif /* * typedef struct { * mach_msg_header_t Head; * NDR_record_t NDR; * kern_return_t RetCode; * } mig_reply_error_t; */ union { Request In; Reply Out; } Mess; Request *InP = &Mess.In; Reply *Out0P = &Mess.Out; mach_msg_return_t msg_result; #ifdef __MIG_check__Reply__mach_ports_lookup_t__defined kern_return_t check_result; #endif /* __MIG_check__Reply__mach_ports_lookup_t__defined */ __DeclareSendRpc(3404, "mach_ports_lookup") InP->Head.msgh_bits = MACH_MSGH_BITS(19, MACH_MSG_TYPE_MAKE_SEND_ONCE); /* msgh_size passed as argument */ InP->Head.msgh_request_port = target_task; InP->Head.msgh_reply_port = mig_get_reply_port(); InP->Head.msgh_id = 3404; /* BEGIN VOUCHER CODE */ #ifdef USING_VOUCHERS if (voucher_mach_msg_set != NULL) { voucher_mach_msg_set(&InP->Head); } #endif // USING_VOUCHERS /* END VOUCHER CODE */ __BeforeSendRpc(3404, "mach_ports_lookup") msg_result = mach_msg(&InP->Head, MACH_SEND_MSG|MACH_RCV_MSG|MACH_MSG_OPTION_NONE, (mach_msg_size_t)sizeof(Request), (mach_msg_size_t)sizeof(Reply), InP->Head.msgh_reply_port, MACH_MSG_TIMEOUT_NONE, MACH_PORT_NULL); __AfterSendRpc(3404, "mach_ports_lookup") if (msg_result != MACH_MSG_SUCCESS) { __MachMsgErrorWithoutTimeout(msg_result); { return msg_result; } } #if defined(__MIG_check__Reply__mach_ports_lookup_t__defined) check_result = __MIG_check__Reply__mach_ports_lookup_t((__Reply__mach_ports_lookup_t *)Out0P); if (check_result != MACH_MSG_SUCCESS) { return check_result; } #endif /* defined(__MIG_check__Reply__mach_ports_lookup_t__defined) */ *init_port_set = (mach_port_array_t)(Out0P->init_port_set.address); *init_port_setCnt = Out0P->init_port_setCnt; return KERN_SUCCESS; } #if ( __MigTypeCheck ) #if __MIG_check__Reply__task_subsystem__ #if !defined(__MIG_check__Reply__task_info_t__defined) #define __MIG_check__Reply__task_info_t__defined mig_internal kern_return_t __MIG_check__Reply__task_info_t(__Reply__task_info_t *Out0P) { typedef __Reply__task_info_t __Reply __attribute__((unused)); #if __MigTypeCheck unsigned int msgh_size; #endif /* __MigTypeCheck */ if (Out0P->Head.msgh_id != 3505) { if (Out0P->Head.msgh_id == MACH_NOTIFY_SEND_ONCE) { return MIG_SERVER_DIED; } else { return MIG_REPLY_MISMATCH; } } #if __MigTypeCheck msgh_size = Out0P->Head.msgh_size; if ((Out0P->Head.msgh_bits & MACH_MSGH_BITS_COMPLEX) || ((msgh_size > (mach_msg_size_t)sizeof(__Reply) || msgh_size < (mach_msg_size_t)(sizeof(__Reply) - 208)) && (msgh_size != (mach_msg_size_t)sizeof(mig_reply_error_t) || Out0P->RetCode == KERN_SUCCESS))) { return MIG_TYPE_ERROR ; } #endif /* __MigTypeCheck */ if (Out0P->RetCode != KERN_SUCCESS) { return ((mig_reply_error_t *)Out0P)->RetCode; } #if __MigTypeCheck if ( Out0P->task_info_outCnt > 52 ) return MIG_TYPE_ERROR; if (((msgh_size - (mach_msg_size_t)(sizeof(__Reply) - 208)) / 4< Out0P->task_info_outCnt) || (msgh_size != (mach_msg_size_t)(sizeof(__Reply) - 208) + Out0P->task_info_outCnt * 4)) { return MIG_TYPE_ERROR ; } #endif /* __MigTypeCheck */ return MACH_MSG_SUCCESS; } #endif /* !defined(__MIG_check__Reply__task_info_t__defined) */ #endif /* __MIG_check__Reply__task_subsystem__ */ #endif /* ( __MigTypeCheck ) */ /* Routine task_info */ mig_external kern_return_t task_info ( task_name_t target_task, task_flavor_t flavor, task_info_t task_info_out, mach_msg_type_number_t *task_info_outCnt ) { #ifdef __MigPackStructs #pragma pack(4) #endif typedef struct { mach_msg_header_t Head; NDR_record_t NDR; task_flavor_t flavor; mach_msg_type_number_t task_info_outCnt; } Request __attribute__((unused)); #ifdef __MigPackStructs #pragma pack() #endif #ifdef __MigPackStructs #pragma pack(4) #endif typedef struct { mach_msg_header_t Head; NDR_record_t NDR; kern_return_t RetCode; mach_msg_type_number_t task_info_outCnt; integer_t task_info_out[52]; mach_msg_trailer_t trailer; } Reply __attribute__((unused)); #ifdef __MigPackStructs #pragma pack() #endif #ifdef __MigPackStructs #pragma pack(4) #endif typedef struct { mach_msg_header_t Head; NDR_record_t NDR; kern_return_t RetCode; mach_msg_type_number_t task_info_outCnt; integer_t task_info_out[52]; } __Reply __attribute__((unused)); #ifdef __MigPackStructs #pragma pack() #endif /* * typedef struct { * mach_msg_header_t Head; * NDR_record_t NDR; * kern_return_t RetCode; * } mig_reply_error_t; */ union { Request In; Reply Out; } Mess; Request *InP = &Mess.In; Reply *Out0P = &Mess.Out; mach_msg_return_t msg_result; #ifdef __MIG_check__Reply__task_info_t__defined kern_return_t check_result; #endif /* __MIG_check__Reply__task_info_t__defined */ __DeclareSendRpc(3405, "task_info") InP->NDR = NDR_record; InP->flavor = flavor; if (*task_info_outCnt < 52) InP->task_info_outCnt = *task_info_outCnt; else InP->task_info_outCnt = 52; InP->Head.msgh_bits = MACH_MSGH_BITS(19, MACH_MSG_TYPE_MAKE_SEND_ONCE); /* msgh_size passed as argument */ InP->Head.msgh_request_port = target_task; InP->Head.msgh_reply_port = mig_get_reply_port(); InP->Head.msgh_id = 3405; /* BEGIN VOUCHER CODE */ #ifdef USING_VOUCHERS if (voucher_mach_msg_set != NULL) { voucher_mach_msg_set(&InP->Head); } #endif // USING_VOUCHERS /* END VOUCHER CODE */ __BeforeSendRpc(3405, "task_info") msg_result = mach_msg(&InP->Head, MACH_SEND_MSG|MACH_RCV_MSG|MACH_MSG_OPTION_NONE, (mach_msg_size_t)sizeof(Request), (mach_msg_size_t)sizeof(Reply), InP->Head.msgh_reply_port, MACH_MSG_TIMEOUT_NONE, MACH_PORT_NULL); __AfterSendRpc(3405, "task_info") if (msg_result != MACH_MSG_SUCCESS) { __MachMsgErrorWithoutTimeout(msg_result); { return msg_result; } } #if defined(__MIG_check__Reply__task_info_t__defined) check_result = __MIG_check__Reply__task_info_t((__Reply__task_info_t *)Out0P); if (check_result != MACH_MSG_SUCCESS) { return check_result; } #endif /* defined(__MIG_check__Reply__task_info_t__defined) */ if (Out0P->task_info_outCnt > *task_info_outCnt) { (void)memcpy((char *) task_info_out, (const char *) Out0P->task_info_out, 4 * *task_info_outCnt); *task_info_outCnt = Out0P->task_info_outCnt; { return MIG_ARRAY_TOO_LARGE; } } (void)memcpy((char *) task_info_out, (const char *) Out0P->task_info_out, 4 * Out0P->task_info_outCnt); *task_info_outCnt = Out0P->task_info_outCnt; return KERN_SUCCESS; } #if ( __MigTypeCheck ) #if __MIG_check__Reply__task_subsystem__ #if !defined(__MIG_check__Reply__task_set_info_t__defined) #define __MIG_check__Reply__task_set_info_t__defined mig_internal kern_return_t __MIG_check__Reply__task_set_info_t(__Reply__task_set_info_t *Out0P) { typedef __Reply__task_set_info_t __Reply __attribute__((unused)); if (Out0P->Head.msgh_id != 3506) { if (Out0P->Head.msgh_id == MACH_NOTIFY_SEND_ONCE) { return MIG_SERVER_DIED; } else { return MIG_REPLY_MISMATCH; } } #if __MigTypeCheck if ((Out0P->Head.msgh_bits & MACH_MSGH_BITS_COMPLEX) || (Out0P->Head.msgh_size != (mach_msg_size_t)sizeof(__Reply))) { return MIG_TYPE_ERROR ; } #endif /* __MigTypeCheck */ { return Out0P->RetCode; } } #endif /* !defined(__MIG_check__Reply__task_set_info_t__defined) */ #endif /* __MIG_check__Reply__task_subsystem__ */ #endif /* ( __MigTypeCheck ) */ /* Routine task_set_info */ mig_external kern_return_t task_set_info ( task_t target_task, task_flavor_t flavor, task_info_t task_info_in, mach_msg_type_number_t task_info_inCnt ) { #ifdef __MigPackStructs #pragma pack(4) #endif typedef struct { mach_msg_header_t Head; NDR_record_t NDR; task_flavor_t flavor; mach_msg_type_number_t task_info_inCnt; integer_t task_info_in[52]; } Request __attribute__((unused)); #ifdef __MigPackStructs #pragma pack() #endif #ifdef __MigPackStructs #pragma pack(4) #endif typedef struct { mach_msg_header_t Head; NDR_record_t NDR; kern_return_t RetCode; mach_msg_trailer_t trailer; } Reply __attribute__((unused)); #ifdef __MigPackStructs #pragma pack() #endif #ifdef __MigPackStructs #pragma pack(4) #endif typedef struct { mach_msg_header_t Head; NDR_record_t NDR; kern_return_t RetCode; } __Reply __attribute__((unused)); #ifdef __MigPackStructs #pragma pack() #endif /* * typedef struct { * mach_msg_header_t Head; * NDR_record_t NDR; * kern_return_t RetCode; * } mig_reply_error_t; */ union { Request In; Reply Out; } Mess; Request *InP = &Mess.In; Reply *Out0P = &Mess.Out; mach_msg_return_t msg_result; unsigned int msgh_size; #ifdef __MIG_check__Reply__task_set_info_t__defined kern_return_t check_result; #endif /* __MIG_check__Reply__task_set_info_t__defined */ __DeclareSendRpc(3406, "task_set_info") InP->NDR = NDR_record; InP->flavor = flavor; if (task_info_inCnt > 52) { { return MIG_ARRAY_TOO_LARGE; } } (void)memcpy((char *) InP->task_info_in, (const char *) task_info_in, 4 * task_info_inCnt); InP->task_info_inCnt = task_info_inCnt; msgh_size = (mach_msg_size_t)(sizeof(Request) - 208) + ((4 * task_info_inCnt)); InP->Head.msgh_bits = MACH_MSGH_BITS(19, MACH_MSG_TYPE_MAKE_SEND_ONCE); /* msgh_size passed as argument */ InP->Head.msgh_request_port = target_task; InP->Head.msgh_reply_port = mig_get_reply_port(); InP->Head.msgh_id = 3406; /* BEGIN VOUCHER CODE */ #ifdef USING_VOUCHERS if (voucher_mach_msg_set != NULL) { voucher_mach_msg_set(&InP->Head); } #endif // USING_VOUCHERS /* END VOUCHER CODE */ __BeforeSendRpc(3406, "task_set_info") msg_result = mach_msg(&InP->Head, MACH_SEND_MSG|MACH_RCV_MSG|MACH_MSG_OPTION_NONE, msgh_size, (mach_msg_size_t)sizeof(Reply), InP->Head.msgh_reply_port, MACH_MSG_TIMEOUT_NONE, MACH_PORT_NULL); __AfterSendRpc(3406, "task_set_info") if (msg_result != MACH_MSG_SUCCESS) { __MachMsgErrorWithoutTimeout(msg_result); { return msg_result; } } #if defined(__MIG_check__Reply__task_set_info_t__defined) check_result = __MIG_check__Reply__task_set_info_t((__Reply__task_set_info_t *)Out0P); if (check_result != MACH_MSG_SUCCESS) { return check_result; } #endif /* defined(__MIG_check__Reply__task_set_info_t__defined) */ return KERN_SUCCESS; } #if ( __MigTypeCheck ) #if __MIG_check__Reply__task_subsystem__ #if !defined(__MIG_check__Reply__task_suspend_t__defined) #define __MIG_check__Reply__task_suspend_t__defined mig_internal kern_return_t __MIG_check__Reply__task_suspend_t(__Reply__task_suspend_t *Out0P) { typedef __Reply__task_suspend_t __Reply __attribute__((unused)); if (Out0P->Head.msgh_id != 3507) { if (Out0P->Head.msgh_id == MACH_NOTIFY_SEND_ONCE) { return MIG_SERVER_DIED; } else { return MIG_REPLY_MISMATCH; } } #if __MigTypeCheck if ((Out0P->Head.msgh_bits & MACH_MSGH_BITS_COMPLEX) || (Out0P->Head.msgh_size != (mach_msg_size_t)sizeof(__Reply))) { return MIG_TYPE_ERROR ; } #endif /* __MigTypeCheck */ { return Out0P->RetCode; } } #endif /* !defined(__MIG_check__Reply__task_suspend_t__defined) */ #endif /* __MIG_check__Reply__task_subsystem__ */ #endif /* ( __MigTypeCheck ) */ /* Routine task_suspend */ mig_external kern_return_t task_suspend ( task_t target_task ) { #ifdef __MigPackStructs #pragma pack(4) #endif typedef struct { mach_msg_header_t Head; } Request __attribute__((unused)); #ifdef __MigPackStructs #pragma pack() #endif #ifdef __MigPackStructs #pragma pack(4) #endif typedef struct { mach_msg_header_t Head; NDR_record_t NDR; kern_return_t RetCode; mach_msg_trailer_t trailer; } Reply __attribute__((unused)); #ifdef __MigPackStructs #pragma pack() #endif #ifdef __MigPackStructs #pragma pack(4) #endif typedef struct { mach_msg_header_t Head; NDR_record_t NDR; kern_return_t RetCode; } __Reply __attribute__((unused)); #ifdef __MigPackStructs #pragma pack() #endif /* * typedef struct { * mach_msg_header_t Head; * NDR_record_t NDR; * kern_return_t RetCode; * } mig_reply_error_t; */ union { Request In; Reply Out; } Mess; Request *InP = &Mess.In; Reply *Out0P = &Mess.Out; mach_msg_return_t msg_result; #ifdef __MIG_check__Reply__task_suspend_t__defined kern_return_t check_result; #endif /* __MIG_check__Reply__task_suspend_t__defined */ __DeclareSendRpc(3407, "task_suspend") InP->Head.msgh_bits = MACH_MSGH_BITS(19, MACH_MSG_TYPE_MAKE_SEND_ONCE); /* msgh_size passed as argument */ InP->Head.msgh_request_port = target_task; InP->Head.msgh_reply_port = mig_get_reply_port(); InP->Head.msgh_id = 3407; /* BEGIN VOUCHER CODE */ #ifdef USING_VOUCHERS if (voucher_mach_msg_set != NULL) { voucher_mach_msg_set(&InP->Head); } #endif // USING_VOUCHERS /* END VOUCHER CODE */ __BeforeSendRpc(3407, "task_suspend") msg_result = mach_msg(&InP->Head, MACH_SEND_MSG|MACH_RCV_MSG|MACH_MSG_OPTION_NONE, (mach_msg_size_t)sizeof(Request), (mach_msg_size_t)sizeof(Reply), InP->Head.msgh_reply_port, MACH_MSG_TIMEOUT_NONE, MACH_PORT_NULL); __AfterSendRpc(3407, "task_suspend") if (msg_result != MACH_MSG_SUCCESS) { __MachMsgErrorWithoutTimeout(msg_result); { return msg_result; } } #if defined(__MIG_check__Reply__task_suspend_t__defined) check_result = __MIG_check__Reply__task_suspend_t((__Reply__task_suspend_t *)Out0P); if (check_result != MACH_MSG_SUCCESS) { return check_result; } #endif /* defined(__MIG_check__Reply__task_suspend_t__defined) */ return KERN_SUCCESS; } #if ( __MigTypeCheck ) #if __MIG_check__Reply__task_subsystem__ #if !defined(__MIG_check__Reply__task_resume_t__defined) #define __MIG_check__Reply__task_resume_t__defined mig_internal kern_return_t __MIG_check__Reply__task_resume_t(__Reply__task_resume_t *Out0P) { typedef __Reply__task_resume_t __Reply __attribute__((unused)); if (Out0P->Head.msgh_id != 3508) { if (Out0P->Head.msgh_id == MACH_NOTIFY_SEND_ONCE) { return MIG_SERVER_DIED; } else { return MIG_REPLY_MISMATCH; } } #if __MigTypeCheck if ((Out0P->Head.msgh_bits & MACH_MSGH_BITS_COMPLEX) || (Out0P->Head.msgh_size != (mach_msg_size_t)sizeof(__Reply))) { return MIG_TYPE_ERROR ; } #endif /* __MigTypeCheck */ { return Out0P->RetCode; } } #endif /* !defined(__MIG_check__Reply__task_resume_t__defined) */ #endif /* __MIG_check__Reply__task_subsystem__ */ #endif /* ( __MigTypeCheck ) */ /* Routine task_resume */ mig_external kern_return_t task_resume ( task_t target_task ) { #ifdef __MigPackStructs #pragma pack(4) #endif typedef struct { mach_msg_header_t Head; } Request __attribute__((unused)); #ifdef __MigPackStructs #pragma pack() #endif #ifdef __MigPackStructs #pragma pack(4) #endif typedef struct { mach_msg_header_t Head; NDR_record_t NDR; kern_return_t RetCode; mach_msg_trailer_t trailer; } Reply __attribute__((unused)); #ifdef __MigPackStructs #pragma pack() #endif #ifdef __MigPackStructs #pragma pack(4) #endif typedef struct { mach_msg_header_t Head; NDR_record_t NDR; kern_return_t RetCode; } __Reply __attribute__((unused)); #ifdef __MigPackStructs #pragma pack() #endif /* * typedef struct { * mach_msg_header_t Head; * NDR_record_t NDR; * kern_return_t RetCode; * } mig_reply_error_t; */ union { Request In; Reply Out; } Mess; Request *InP = &Mess.In; Reply *Out0P = &Mess.Out; mach_msg_return_t msg_result; #ifdef __MIG_check__Reply__task_resume_t__defined kern_return_t check_result; #endif /* __MIG_check__Reply__task_resume_t__defined */ __DeclareSendRpc(3408, "task_resume") InP->Head.msgh_bits = MACH_MSGH_BITS(19, MACH_MSG_TYPE_MAKE_SEND_ONCE); /* msgh_size passed as argument */ InP->Head.msgh_request_port = target_task; InP->Head.msgh_reply_port = mig_get_reply_port(); InP->Head.msgh_id = 3408; /* BEGIN VOUCHER CODE */ #ifdef USING_VOUCHERS if (voucher_mach_msg_set != NULL) { voucher_mach_msg_set(&InP->Head); } #endif // USING_VOUCHERS /* END VOUCHER CODE */ __BeforeSendRpc(3408, "task_resume") msg_result = mach_msg(&InP->Head, MACH_SEND_MSG|MACH_RCV_MSG|MACH_MSG_OPTION_NONE, (mach_msg_size_t)sizeof(Request), (mach_msg_size_t)sizeof(Reply), InP->Head.msgh_reply_port, MACH_MSG_TIMEOUT_NONE, MACH_PORT_NULL); __AfterSendRpc(3408, "task_resume") if (msg_result != MACH_MSG_SUCCESS) { __MachMsgErrorWithoutTimeout(msg_result); { return msg_result; } } #if defined(__MIG_check__Reply__task_resume_t__defined) check_result = __MIG_check__Reply__task_resume_t((__Reply__task_resume_t *)Out0P); if (check_result != MACH_MSG_SUCCESS) { return check_result; } #endif /* defined(__MIG_check__Reply__task_resume_t__defined) */ return KERN_SUCCESS; } #if ( __MigTypeCheck ) #if __MIG_check__Reply__task_subsystem__ #if !defined(__MIG_check__Reply__task_get_special_port_t__defined) #define __MIG_check__Reply__task_get_special_port_t__defined mig_internal kern_return_t __MIG_check__Reply__task_get_special_port_t(__Reply__task_get_special_port_t *Out0P) { typedef __Reply__task_get_special_port_t __Reply __attribute__((unused)); boolean_t msgh_simple; #if __MigTypeCheck unsigned int msgh_size; #endif /* __MigTypeCheck */ if (Out0P->Head.msgh_id != 3509) { if (Out0P->Head.msgh_id == MACH_NOTIFY_SEND_ONCE) { return MIG_SERVER_DIED; } else { return MIG_REPLY_MISMATCH; } } msgh_simple = !(Out0P->Head.msgh_bits & MACH_MSGH_BITS_COMPLEX); #if __MigTypeCheck msgh_size = Out0P->Head.msgh_size; if ((msgh_simple || Out0P->msgh_body.msgh_descriptor_count != 1 || msgh_size != (mach_msg_size_t)sizeof(__Reply)) && (!msgh_simple || msgh_size != (mach_msg_size_t)sizeof(mig_reply_error_t) || ((mig_reply_error_t *)Out0P)->RetCode == KERN_SUCCESS)) { return MIG_TYPE_ERROR ; } #endif /* __MigTypeCheck */ if (msgh_simple) { return ((mig_reply_error_t *)Out0P)->RetCode; } #if __MigTypeCheck if (Out0P->special_port.type != MACH_MSG_PORT_DESCRIPTOR || Out0P->special_port.disposition != 17) { return MIG_TYPE_ERROR; } #endif /* __MigTypeCheck */ return MACH_MSG_SUCCESS; } #endif /* !defined(__MIG_check__Reply__task_get_special_port_t__defined) */ #endif /* __MIG_check__Reply__task_subsystem__ */ #endif /* ( __MigTypeCheck ) */ /* Routine task_get_special_port */ mig_external kern_return_t task_get_special_port ( task_t task, int which_port, mach_port_t *special_port ) { #ifdef __MigPackStructs #pragma pack(4) #endif typedef struct { mach_msg_header_t Head; NDR_record_t NDR; int which_port; } Request __attribute__((unused)); #ifdef __MigPackStructs #pragma pack() #endif #ifdef __MigPackStructs #pragma pack(4) #endif typedef struct { mach_msg_header_t Head; /* start of the kernel processed data */ mach_msg_body_t msgh_body; mach_msg_port_descriptor_t special_port; /* end of the kernel processed data */ mach_msg_trailer_t trailer; } Reply __attribute__((unused)); #ifdef __MigPackStructs #pragma pack() #endif #ifdef __MigPackStructs #pragma pack(4) #endif typedef struct { mach_msg_header_t Head; /* start of the kernel processed data */ mach_msg_body_t msgh_body; mach_msg_port_descriptor_t special_port; /* end of the kernel processed data */ } __Reply __attribute__((unused)); #ifdef __MigPackStructs #pragma pack() #endif /* * typedef struct { * mach_msg_header_t Head; * NDR_record_t NDR; * kern_return_t RetCode; * } mig_reply_error_t; */ union { Request In; Reply Out; } Mess; Request *InP = &Mess.In; Reply *Out0P = &Mess.Out; mach_msg_return_t msg_result; #ifdef __MIG_check__Reply__task_get_special_port_t__defined kern_return_t check_result; #endif /* __MIG_check__Reply__task_get_special_port_t__defined */ __DeclareSendRpc(3409, "task_get_special_port") InP->NDR = NDR_record; InP->which_port = which_port; InP->Head.msgh_bits = MACH_MSGH_BITS(19, MACH_MSG_TYPE_MAKE_SEND_ONCE); /* msgh_size passed as argument */ InP->Head.msgh_request_port = task; InP->Head.msgh_reply_port = mig_get_reply_port(); InP->Head.msgh_id = 3409; /* BEGIN VOUCHER CODE */ #ifdef USING_VOUCHERS if (voucher_mach_msg_set != NULL) { voucher_mach_msg_set(&InP->Head); } #endif // USING_VOUCHERS /* END VOUCHER CODE */ __BeforeSendRpc(3409, "task_get_special_port") msg_result = mach_msg(&InP->Head, MACH_SEND_MSG|MACH_RCV_MSG|MACH_MSG_OPTION_NONE, (mach_msg_size_t)sizeof(Request), (mach_msg_size_t)sizeof(Reply), InP->Head.msgh_reply_port, MACH_MSG_TIMEOUT_NONE, MACH_PORT_NULL); __AfterSendRpc(3409, "task_get_special_port") if (msg_result != MACH_MSG_SUCCESS) { __MachMsgErrorWithoutTimeout(msg_result); { return msg_result; } } #if defined(__MIG_check__Reply__task_get_special_port_t__defined) check_result = __MIG_check__Reply__task_get_special_port_t((__Reply__task_get_special_port_t *)Out0P); if (check_result != MACH_MSG_SUCCESS) { return check_result; } #endif /* defined(__MIG_check__Reply__task_get_special_port_t__defined) */ *special_port = Out0P->special_port.name; return KERN_SUCCESS; } #if ( __MigTypeCheck ) #if __MIG_check__Reply__task_subsystem__ #if !defined(__MIG_check__Reply__task_set_special_port_t__defined) #define __MIG_check__Reply__task_set_special_port_t__defined mig_internal kern_return_t __MIG_check__Reply__task_set_special_port_t(__Reply__task_set_special_port_t *Out0P) { typedef __Reply__task_set_special_port_t __Reply __attribute__((unused)); if (Out0P->Head.msgh_id != 3510) { if (Out0P->Head.msgh_id == MACH_NOTIFY_SEND_ONCE) { return MIG_SERVER_DIED; } else { return MIG_REPLY_MISMATCH; } } #if __MigTypeCheck if ((Out0P->Head.msgh_bits & MACH_MSGH_BITS_COMPLEX) || (Out0P->Head.msgh_size != (mach_msg_size_t)sizeof(__Reply))) { return MIG_TYPE_ERROR ; } #endif /* __MigTypeCheck */ { return Out0P->RetCode; } } #endif /* !defined(__MIG_check__Reply__task_set_special_port_t__defined) */ #endif /* __MIG_check__Reply__task_subsystem__ */ #endif /* ( __MigTypeCheck ) */ /* Routine task_set_special_port */ mig_external kern_return_t task_set_special_port ( task_t task, int which_port, mach_port_t special_port ) { #ifdef __MigPackStructs #pragma pack(4) #endif typedef struct { mach_msg_header_t Head; /* start of the kernel processed data */ mach_msg_body_t msgh_body; mach_msg_port_descriptor_t special_port; /* end of the kernel processed data */ NDR_record_t NDR; int which_port; } Request __attribute__((unused)); #ifdef __MigPackStructs #pragma pack() #endif #ifdef __MigPackStructs #pragma pack(4) #endif typedef struct { mach_msg_header_t Head; NDR_record_t NDR; kern_return_t RetCode; mach_msg_trailer_t trailer; } Reply __attribute__((unused)); #ifdef __MigPackStructs #pragma pack() #endif #ifdef __MigPackStructs #pragma pack(4) #endif typedef struct { mach_msg_header_t Head; NDR_record_t NDR; kern_return_t RetCode; } __Reply __attribute__((unused)); #ifdef __MigPackStructs #pragma pack() #endif /* * typedef struct { * mach_msg_header_t Head; * NDR_record_t NDR; * kern_return_t RetCode; * } mig_reply_error_t; */ union { Request In; Reply Out; } Mess; Request *InP = &Mess.In; Reply *Out0P = &Mess.Out; mach_msg_return_t msg_result; #ifdef __MIG_check__Reply__task_set_special_port_t__defined kern_return_t check_result; #endif /* __MIG_check__Reply__task_set_special_port_t__defined */ __DeclareSendRpc(3410, "task_set_special_port") #if UseStaticTemplates const static mach_msg_port_descriptor_t special_portTemplate = { /* name = */ MACH_PORT_NULL, /* pad1 = */ 0, /* pad2 = */ 0, /* disp = */ 19, /* type = */ MACH_MSG_PORT_DESCRIPTOR, }; #endif /* UseStaticTemplates */ InP->msgh_body.msgh_descriptor_count = 1; #if UseStaticTemplates InP->special_port = special_portTemplate; InP->special_port.name = special_port; #else /* UseStaticTemplates */ InP->special_port.name = special_port; InP->special_port.disposition = 19; InP->special_port.type = MACH_MSG_PORT_DESCRIPTOR; #endif /* UseStaticTemplates */ InP->NDR = NDR_record; InP->which_port = which_port; InP->Head.msgh_bits = MACH_MSGH_BITS_COMPLEX| MACH_MSGH_BITS(19, MACH_MSG_TYPE_MAKE_SEND_ONCE); /* msgh_size passed as argument */ InP->Head.msgh_request_port = task; InP->Head.msgh_reply_port = mig_get_reply_port(); InP->Head.msgh_id = 3410; /* BEGIN VOUCHER CODE */ #ifdef USING_VOUCHERS if (voucher_mach_msg_set != NULL) { voucher_mach_msg_set(&InP->Head); } #endif // USING_VOUCHERS /* END VOUCHER CODE */ __BeforeSendRpc(3410, "task_set_special_port") msg_result = mach_msg(&InP->Head, MACH_SEND_MSG|MACH_RCV_MSG|MACH_MSG_OPTION_NONE, (mach_msg_size_t)sizeof(Request), (mach_msg_size_t)sizeof(Reply), InP->Head.msgh_reply_port, MACH_MSG_TIMEOUT_NONE, MACH_PORT_NULL); __AfterSendRpc(3410, "task_set_special_port") if (msg_result != MACH_MSG_SUCCESS) { __MachMsgErrorWithoutTimeout(msg_result); { return msg_result; } } #if defined(__MIG_check__Reply__task_set_special_port_t__defined) check_result = __MIG_check__Reply__task_set_special_port_t((__Reply__task_set_special_port_t *)Out0P); if (check_result != MACH_MSG_SUCCESS) { return check_result; } #endif /* defined(__MIG_check__Reply__task_set_special_port_t__defined) */ return KERN_SUCCESS; } #if ( __MigTypeCheck ) #if __MIG_check__Reply__task_subsystem__ #if !defined(__MIG_check__Reply__thread_create_t__defined) #define __MIG_check__Reply__thread_create_t__defined mig_internal kern_return_t __MIG_check__Reply__thread_create_t(__Reply__thread_create_t *Out0P) { typedef __Reply__thread_create_t __Reply __attribute__((unused)); boolean_t msgh_simple; #if __MigTypeCheck unsigned int msgh_size; #endif /* __MigTypeCheck */ if (Out0P->Head.msgh_id != 3511) { if (Out0P->Head.msgh_id == MACH_NOTIFY_SEND_ONCE) { return MIG_SERVER_DIED; } else { return MIG_REPLY_MISMATCH; } } msgh_simple = !(Out0P->Head.msgh_bits & MACH_MSGH_BITS_COMPLEX); #if __MigTypeCheck msgh_size = Out0P->Head.msgh_size; if ((msgh_simple || Out0P->msgh_body.msgh_descriptor_count != 1 || msgh_size != (mach_msg_size_t)sizeof(__Reply)) && (!msgh_simple || msgh_size != (mach_msg_size_t)sizeof(mig_reply_error_t) || ((mig_reply_error_t *)Out0P)->RetCode == KERN_SUCCESS)) { return MIG_TYPE_ERROR ; } #endif /* __MigTypeCheck */ if (msgh_simple) { return ((mig_reply_error_t *)Out0P)->RetCode; } #if __MigTypeCheck if (Out0P->child_act.type != MACH_MSG_PORT_DESCRIPTOR || Out0P->child_act.disposition != 17) { return MIG_TYPE_ERROR; } #endif /* __MigTypeCheck */ return MACH_MSG_SUCCESS; } #endif /* !defined(__MIG_check__Reply__thread_create_t__defined) */ #endif /* __MIG_check__Reply__task_subsystem__ */ #endif /* ( __MigTypeCheck ) */ /* Routine thread_create */ mig_external kern_return_t thread_create ( task_t parent_task, thread_act_t *child_act ) { #ifdef __MigPackStructs #pragma pack(4) #endif typedef struct { mach_msg_header_t Head; } Request __attribute__((unused)); #ifdef __MigPackStructs #pragma pack() #endif #ifdef __MigPackStructs #pragma pack(4) #endif typedef struct { mach_msg_header_t Head; /* start of the kernel processed data */ mach_msg_body_t msgh_body; mach_msg_port_descriptor_t child_act; /* end of the kernel processed data */ mach_msg_trailer_t trailer; } Reply __attribute__((unused)); #ifdef __MigPackStructs #pragma pack() #endif #ifdef __MigPackStructs #pragma pack(4) #endif typedef struct { mach_msg_header_t Head; /* start of the kernel processed data */ mach_msg_body_t msgh_body; mach_msg_port_descriptor_t child_act; /* end of the kernel processed data */ } __Reply __attribute__((unused)); #ifdef __MigPackStructs #pragma pack() #endif /* * typedef struct { * mach_msg_header_t Head; * NDR_record_t NDR; * kern_return_t RetCode; * } mig_reply_error_t; */ union { Request In; Reply Out; } Mess; Request *InP = &Mess.In; Reply *Out0P = &Mess.Out; mach_msg_return_t msg_result; #ifdef __MIG_check__Reply__thread_create_t__defined kern_return_t check_result; #endif /* __MIG_check__Reply__thread_create_t__defined */ __DeclareSendRpc(3411, "thread_create") InP->Head.msgh_bits = MACH_MSGH_BITS(19, MACH_MSG_TYPE_MAKE_SEND_ONCE); /* msgh_size passed as argument */ InP->Head.msgh_request_port = parent_task; InP->Head.msgh_reply_port = mig_get_reply_port(); InP->Head.msgh_id = 3411; /* BEGIN VOUCHER CODE */ #ifdef USING_VOUCHERS if (voucher_mach_msg_set != NULL) { voucher_mach_msg_set(&InP->Head); } #endif // USING_VOUCHERS /* END VOUCHER CODE */ __BeforeSendRpc(3411, "thread_create") msg_result = mach_msg(&InP->Head, MACH_SEND_MSG|MACH_RCV_MSG|MACH_MSG_OPTION_NONE, (mach_msg_size_t)sizeof(Request), (mach_msg_size_t)sizeof(Reply), InP->Head.msgh_reply_port, MACH_MSG_TIMEOUT_NONE, MACH_PORT_NULL); __AfterSendRpc(3411, "thread_create") if (msg_result != MACH_MSG_SUCCESS) { __MachMsgErrorWithoutTimeout(msg_result); { return msg_result; } } #if defined(__MIG_check__Reply__thread_create_t__defined) check_result = __MIG_check__Reply__thread_create_t((__Reply__thread_create_t *)Out0P); if (check_result != MACH_MSG_SUCCESS) { return check_result; } #endif /* defined(__MIG_check__Reply__thread_create_t__defined) */ *child_act = Out0P->child_act.name; return KERN_SUCCESS; } #if ( __MigTypeCheck ) #if __MIG_check__Reply__task_subsystem__ #if !defined(__MIG_check__Reply__thread_create_running_t__defined) #define __MIG_check__Reply__thread_create_running_t__defined mig_internal kern_return_t __MIG_check__Reply__thread_create_running_t(__Reply__thread_create_running_t *Out0P) { typedef __Reply__thread_create_running_t __Reply __attribute__((unused)); boolean_t msgh_simple; #if __MigTypeCheck unsigned int msgh_size; #endif /* __MigTypeCheck */ if (Out0P->Head.msgh_id != 3512) { if (Out0P->Head.msgh_id == MACH_NOTIFY_SEND_ONCE) { return MIG_SERVER_DIED; } else { return MIG_REPLY_MISMATCH; } } msgh_simple = !(Out0P->Head.msgh_bits & MACH_MSGH_BITS_COMPLEX); #if __MigTypeCheck msgh_size = Out0P->Head.msgh_size; if ((msgh_simple || Out0P->msgh_body.msgh_descriptor_count != 1 || msgh_size != (mach_msg_size_t)sizeof(__Reply)) && (!msgh_simple || msgh_size != (mach_msg_size_t)sizeof(mig_reply_error_t) || ((mig_reply_error_t *)Out0P)->RetCode == KERN_SUCCESS)) { return MIG_TYPE_ERROR ; } #endif /* __MigTypeCheck */ if (msgh_simple) { return ((mig_reply_error_t *)Out0P)->RetCode; } #if __MigTypeCheck if (Out0P->child_act.type != MACH_MSG_PORT_DESCRIPTOR || Out0P->child_act.disposition != 17) { return MIG_TYPE_ERROR; } #endif /* __MigTypeCheck */ return MACH_MSG_SUCCESS; } #endif /* !defined(__MIG_check__Reply__thread_create_running_t__defined) */ #endif /* __MIG_check__Reply__task_subsystem__ */ #endif /* ( __MigTypeCheck ) */ /* Routine thread_create_running */ mig_external kern_return_t thread_create_running ( task_t parent_task, thread_state_flavor_t flavor, thread_state_t new_state, mach_msg_type_number_t new_stateCnt, thread_act_t *child_act ) { #ifdef __MigPackStructs #pragma pack(4) #endif typedef struct { mach_msg_header_t Head; NDR_record_t NDR; thread_state_flavor_t flavor; mach_msg_type_number_t new_stateCnt; natural_t new_state[224]; } Request __attribute__((unused)); #ifdef __MigPackStructs #pragma pack() #endif #ifdef __MigPackStructs #pragma pack(4) #endif typedef struct { mach_msg_header_t Head; /* start of the kernel processed data */ mach_msg_body_t msgh_body; mach_msg_port_descriptor_t child_act; /* end of the kernel processed data */ mach_msg_trailer_t trailer; } Reply __attribute__((unused)); #ifdef __MigPackStructs #pragma pack() #endif #ifdef __MigPackStructs #pragma pack(4) #endif typedef struct { mach_msg_header_t Head; /* start of the kernel processed data */ mach_msg_body_t msgh_body; mach_msg_port_descriptor_t child_act; /* end of the kernel processed data */ } __Reply __attribute__((unused)); #ifdef __MigPackStructs #pragma pack() #endif /* * typedef struct { * mach_msg_header_t Head; * NDR_record_t NDR; * kern_return_t RetCode; * } mig_reply_error_t; */ union { Request In; Reply Out; } Mess; Request *InP = &Mess.In; Reply *Out0P = &Mess.Out; mach_msg_return_t msg_result; unsigned int msgh_size; #ifdef __MIG_check__Reply__thread_create_running_t__defined kern_return_t check_result; #endif /* __MIG_check__Reply__thread_create_running_t__defined */ __DeclareSendRpc(3412, "thread_create_running") InP->NDR = NDR_record; InP->flavor = flavor; if (new_stateCnt > 224) { { return MIG_ARRAY_TOO_LARGE; } } (void)memcpy((char *) InP->new_state, (const char *) new_state, 4 * new_stateCnt); InP->new_stateCnt = new_stateCnt; msgh_size = (mach_msg_size_t)(sizeof(Request) - 896) + ((4 * new_stateCnt)); InP->Head.msgh_bits = MACH_MSGH_BITS(19, MACH_MSG_TYPE_MAKE_SEND_ONCE); /* msgh_size passed as argument */ InP->Head.msgh_request_port = parent_task; InP->Head.msgh_reply_port = mig_get_reply_port(); InP->Head.msgh_id = 3412; /* BEGIN VOUCHER CODE */ #ifdef USING_VOUCHERS if (voucher_mach_msg_set != NULL) { voucher_mach_msg_set(&InP->Head); } #endif // USING_VOUCHERS /* END VOUCHER CODE */ __BeforeSendRpc(3412, "thread_create_running") msg_result = mach_msg(&InP->Head, MACH_SEND_MSG|MACH_RCV_MSG|MACH_MSG_OPTION_NONE, msgh_size, (mach_msg_size_t)sizeof(Reply), InP->Head.msgh_reply_port, MACH_MSG_TIMEOUT_NONE, MACH_PORT_NULL); __AfterSendRpc(3412, "thread_create_running") if (msg_result != MACH_MSG_SUCCESS) { __MachMsgErrorWithoutTimeout(msg_result); { return msg_result; } } #if defined(__MIG_check__Reply__thread_create_running_t__defined) check_result = __MIG_check__Reply__thread_create_running_t((__Reply__thread_create_running_t *)Out0P); if (check_result != MACH_MSG_SUCCESS) { return check_result; } #endif /* defined(__MIG_check__Reply__thread_create_running_t__defined) */ *child_act = Out0P->child_act.name; return KERN_SUCCESS; } #if ( __MigTypeCheck ) #if __MIG_check__Reply__task_subsystem__ #if !defined(__MIG_check__Reply__task_set_exception_ports_t__defined) #define __MIG_check__Reply__task_set_exception_ports_t__defined mig_internal kern_return_t __MIG_check__Reply__task_set_exception_ports_t(__Reply__task_set_exception_ports_t *Out0P) { typedef __Reply__task_set_exception_ports_t __Reply __attribute__((unused)); if (Out0P->Head.msgh_id != 3513) { if (Out0P->Head.msgh_id == MACH_NOTIFY_SEND_ONCE) { return MIG_SERVER_DIED; } else { return MIG_REPLY_MISMATCH; } } #if __MigTypeCheck if ((Out0P->Head.msgh_bits & MACH_MSGH_BITS_COMPLEX) || (Out0P->Head.msgh_size != (mach_msg_size_t)sizeof(__Reply))) { return MIG_TYPE_ERROR ; } #endif /* __MigTypeCheck */ { return Out0P->RetCode; } } #endif /* !defined(__MIG_check__Reply__task_set_exception_ports_t__defined) */ #endif /* __MIG_check__Reply__task_subsystem__ */ #endif /* ( __MigTypeCheck ) */ /* Routine task_set_exception_ports */ mig_external kern_return_t task_set_exception_ports ( task_t task, exception_mask_t exception_mask, mach_port_t new_port, exception_behavior_t behavior, thread_state_flavor_t new_flavor ) { #ifdef __MigPackStructs #pragma pack(4) #endif typedef struct { mach_msg_header_t Head; /* start of the kernel processed data */ mach_msg_body_t msgh_body; mach_msg_port_descriptor_t new_port; /* end of the kernel processed data */ NDR_record_t NDR; exception_mask_t exception_mask; exception_behavior_t behavior; thread_state_flavor_t new_flavor; } Request __attribute__((unused)); #ifdef __MigPackStructs #pragma pack() #endif #ifdef __MigPackStructs #pragma pack(4) #endif typedef struct { mach_msg_header_t Head; NDR_record_t NDR; kern_return_t RetCode; mach_msg_trailer_t trailer; } Reply __attribute__((unused)); #ifdef __MigPackStructs #pragma pack() #endif #ifdef __MigPackStructs #pragma pack(4) #endif typedef struct { mach_msg_header_t Head; NDR_record_t NDR; kern_return_t RetCode; } __Reply __attribute__((unused)); #ifdef __MigPackStructs #pragma pack() #endif /* * typedef struct { * mach_msg_header_t Head; * NDR_record_t NDR; * kern_return_t RetCode; * } mig_reply_error_t; */ union { Request In; Reply Out; } Mess; Request *InP = &Mess.In; Reply *Out0P = &Mess.Out; mach_msg_return_t msg_result; #ifdef __MIG_check__Reply__task_set_exception_ports_t__defined kern_return_t check_result; #endif /* __MIG_check__Reply__task_set_exception_ports_t__defined */ __DeclareSendRpc(3413, "task_set_exception_ports") #if UseStaticTemplates const static mach_msg_port_descriptor_t new_portTemplate = { /* name = */ MACH_PORT_NULL, /* pad1 = */ 0, /* pad2 = */ 0, /* disp = */ 19, /* type = */ MACH_MSG_PORT_DESCRIPTOR, }; #endif /* UseStaticTemplates */ InP->msgh_body.msgh_descriptor_count = 1; #if UseStaticTemplates InP->new_port = new_portTemplate; InP->new_port.name = new_port; #else /* UseStaticTemplates */ InP->new_port.name = new_port; InP->new_port.disposition = 19; InP->new_port.type = MACH_MSG_PORT_DESCRIPTOR; #endif /* UseStaticTemplates */ InP->NDR = NDR_record; InP->exception_mask = exception_mask; InP->behavior = behavior; InP->new_flavor = new_flavor; InP->Head.msgh_bits = MACH_MSGH_BITS_COMPLEX| MACH_MSGH_BITS(19, MACH_MSG_TYPE_MAKE_SEND_ONCE); /* msgh_size passed as argument */ InP->Head.msgh_request_port = task; InP->Head.msgh_reply_port = mig_get_reply_port(); InP->Head.msgh_id = 3413; /* BEGIN VOUCHER CODE */ #ifdef USING_VOUCHERS if (voucher_mach_msg_set != NULL) { voucher_mach_msg_set(&InP->Head); } #endif // USING_VOUCHERS /* END VOUCHER CODE */ __BeforeSendRpc(3413, "task_set_exception_ports") msg_result = mach_msg(&InP->Head, MACH_SEND_MSG|MACH_RCV_MSG|MACH_MSG_OPTION_NONE, (mach_msg_size_t)sizeof(Request), (mach_msg_size_t)sizeof(Reply), InP->Head.msgh_reply_port, MACH_MSG_TIMEOUT_NONE, MACH_PORT_NULL); __AfterSendRpc(3413, "task_set_exception_ports") if (msg_result != MACH_MSG_SUCCESS) { __MachMsgErrorWithoutTimeout(msg_result); { return msg_result; } } #if defined(__MIG_check__Reply__task_set_exception_ports_t__defined) check_result = __MIG_check__Reply__task_set_exception_ports_t((__Reply__task_set_exception_ports_t *)Out0P); if (check_result != MACH_MSG_SUCCESS) { return check_result; } #endif /* defined(__MIG_check__Reply__task_set_exception_ports_t__defined) */ return KERN_SUCCESS; } #if ( __MigTypeCheck ) #if __MIG_check__Reply__task_subsystem__ #if !defined(__MIG_check__Reply__task_get_exception_ports_t__defined) #define __MIG_check__Reply__task_get_exception_ports_t__defined mig_internal kern_return_t __MIG_check__Reply__task_get_exception_ports_t(__Reply__task_get_exception_ports_t *Out0P, __Reply__task_get_exception_ports_t **Out1PP, __Reply__task_get_exception_ports_t **Out2PP) { typedef __Reply__task_get_exception_ports_t __Reply __attribute__((unused)); __Reply *Out1P; __Reply *Out2P; boolean_t msgh_simple; #if __MigTypeCheck unsigned int msgh_size; #endif /* __MigTypeCheck */ unsigned int msgh_size_delta; if (Out0P->Head.msgh_id != 3514) { if (Out0P->Head.msgh_id == MACH_NOTIFY_SEND_ONCE) { return MIG_SERVER_DIED; } else { return MIG_REPLY_MISMATCH; } } msgh_simple = !(Out0P->Head.msgh_bits & MACH_MSGH_BITS_COMPLEX); #if __MigTypeCheck msgh_size = Out0P->Head.msgh_size; if ((msgh_simple || Out0P->msgh_body.msgh_descriptor_count != 32 || msgh_size < (mach_msg_size_t)(sizeof(__Reply) - 384) || msgh_size > (mach_msg_size_t)sizeof(__Reply)) && (!msgh_simple || msgh_size != (mach_msg_size_t)sizeof(mig_reply_error_t) || ((mig_reply_error_t *)Out0P)->RetCode == KERN_SUCCESS)) { return MIG_TYPE_ERROR ; } #endif /* __MigTypeCheck */ if (msgh_simple) { return ((mig_reply_error_t *)Out0P)->RetCode; } #if __MigTypeCheck { register mach_msg_port_descriptor_t *ptr; register int i; ptr = &Out0P->old_handlers[0]; for (i = 0; i < 32; ptr++, i++) { if (ptr->type != MACH_MSG_PORT_DESCRIPTOR) { return MIG_TYPE_ERROR; } } } #endif /* __MigTypeCheck */ msgh_size_delta = Out0P->masksCnt * 4; #if __MigTypeCheck if ( Out0P->masksCnt > 32 ) return MIG_TYPE_ERROR; if (((msgh_size - (mach_msg_size_t)(sizeof(__Reply) - 384)) / 4< Out0P->masksCnt) || (msgh_size < (mach_msg_size_t)(sizeof(__Reply) - 384) + Out0P->masksCnt * 4)) { return MIG_TYPE_ERROR ; } msgh_size -= msgh_size_delta; #endif /* __MigTypeCheck */ *Out1PP = Out1P = (__Reply *) ((pointer_t) Out0P + msgh_size_delta - 128); msgh_size_delta = Out0P->masksCnt * 4; #if __MigTypeCheck if ( Out0P->masksCnt > 32 ) return MIG_TYPE_ERROR; if (((msgh_size - (mach_msg_size_t)(sizeof(__Reply) - 384)) / 4< Out0P->masksCnt) || (msgh_size < (mach_msg_size_t)(sizeof(__Reply) - 384) + Out0P->masksCnt * 4)) { return MIG_TYPE_ERROR ; } msgh_size -= msgh_size_delta; #endif /* __MigTypeCheck */ *Out2PP = Out2P = (__Reply *) ((pointer_t) Out1P + msgh_size_delta - 128); #if __MigTypeCheck if ( Out0P->masksCnt > 32 ) return MIG_TYPE_ERROR; if (((msgh_size - (mach_msg_size_t)(sizeof(__Reply) - 384)) / 4< Out0P->masksCnt) || (msgh_size != (mach_msg_size_t)(sizeof(__Reply) - 384) + Out0P->masksCnt * 4)) { return MIG_TYPE_ERROR ; } #endif /* __MigTypeCheck */ return MACH_MSG_SUCCESS; } #endif /* !defined(__MIG_check__Reply__task_get_exception_ports_t__defined) */ #endif /* __MIG_check__Reply__task_subsystem__ */ #endif /* ( __MigTypeCheck ) */ /* Routine task_get_exception_ports */ mig_external kern_return_t task_get_exception_ports ( task_t task, exception_mask_t exception_mask, exception_mask_array_t masks, mach_msg_type_number_t *masksCnt, exception_handler_array_t old_handlers, exception_behavior_array_t old_behaviors, exception_flavor_array_t old_flavors ) { #ifdef __MigPackStructs #pragma pack(4) #endif typedef struct { mach_msg_header_t Head; NDR_record_t NDR; exception_mask_t exception_mask; } Request __attribute__((unused)); #ifdef __MigPackStructs #pragma pack() #endif #ifdef __MigPackStructs #pragma pack(4) #endif typedef struct { mach_msg_header_t Head; /* start of the kernel processed data */ mach_msg_body_t msgh_body; mach_msg_port_descriptor_t old_handlers[32]; /* end of the kernel processed data */ NDR_record_t NDR; mach_msg_type_number_t masksCnt; exception_mask_t masks[32]; exception_behavior_t old_behaviors[32]; thread_state_flavor_t old_flavors[32]; mach_msg_trailer_t trailer; } Reply __attribute__((unused)); #ifdef __MigPackStructs #pragma pack() #endif #ifdef __MigPackStructs #pragma pack(4) #endif typedef struct { mach_msg_header_t Head; /* start of the kernel processed data */ mach_msg_body_t msgh_body; mach_msg_port_descriptor_t old_handlers[32]; /* end of the kernel processed data */ NDR_record_t NDR; mach_msg_type_number_t masksCnt; exception_mask_t masks[32]; exception_behavior_t old_behaviors[32]; thread_state_flavor_t old_flavors[32]; } __Reply __attribute__((unused)); #ifdef __MigPackStructs #pragma pack() #endif /* * typedef struct { * mach_msg_header_t Head; * NDR_record_t NDR; * kern_return_t RetCode; * } mig_reply_error_t; */ union { Request In; Reply Out; } Mess; Request *InP = &Mess.In; Reply *Out0P = &Mess.Out; Reply *Out1P = NULL; Reply *Out2P = NULL; mach_msg_return_t msg_result; #ifdef __MIG_check__Reply__task_get_exception_ports_t__defined kern_return_t check_result; #endif /* __MIG_check__Reply__task_get_exception_ports_t__defined */ __DeclareSendRpc(3414, "task_get_exception_ports") InP->NDR = NDR_record; InP->exception_mask = exception_mask; InP->Head.msgh_bits = MACH_MSGH_BITS(19, MACH_MSG_TYPE_MAKE_SEND_ONCE); /* msgh_size passed as argument */ InP->Head.msgh_request_port = task; InP->Head.msgh_reply_port = mig_get_reply_port(); InP->Head.msgh_id = 3414; /* BEGIN VOUCHER CODE */ #ifdef USING_VOUCHERS if (voucher_mach_msg_set != NULL) { voucher_mach_msg_set(&InP->Head); } #endif // USING_VOUCHERS /* END VOUCHER CODE */ __BeforeSendRpc(3414, "task_get_exception_ports") msg_result = mach_msg(&InP->Head, MACH_SEND_MSG|MACH_RCV_MSG|MACH_MSG_OPTION_NONE, (mach_msg_size_t)sizeof(Request), (mach_msg_size_t)sizeof(Reply), InP->Head.msgh_reply_port, MACH_MSG_TIMEOUT_NONE, MACH_PORT_NULL); __AfterSendRpc(3414, "task_get_exception_ports") if (msg_result != MACH_MSG_SUCCESS) { __MachMsgErrorWithoutTimeout(msg_result); { return msg_result; } } #if defined(__MIG_check__Reply__task_get_exception_ports_t__defined) check_result = __MIG_check__Reply__task_get_exception_ports_t((__Reply__task_get_exception_ports_t *)Out0P, (__Reply__task_get_exception_ports_t **)&Out1P, (__Reply__task_get_exception_ports_t **)&Out2P); if (check_result != MACH_MSG_SUCCESS) { return check_result; } #endif /* defined(__MIG_check__Reply__task_get_exception_ports_t__defined) */ if (Out0P->masksCnt > 32) { (void)memcpy((char *) masks, (const char *) Out0P->masks, 4 * 32); *masksCnt = Out0P->masksCnt; { return MIG_ARRAY_TOO_LARGE; } } (void)memcpy((char *) masks, (const char *) Out0P->masks, 4 * Out0P->masksCnt); *masksCnt = Out0P->masksCnt; { register mach_msg_port_descriptor_t *ptr; register int i, j; ptr = &Out0P->old_handlers[0]; j = min(Out0P->masksCnt, *masksCnt); for (i = 0; i < j; ptr++, i++) old_handlers[i] = ptr->name; if (Out0P->masksCnt > 32) { return MIG_ARRAY_TOO_LARGE; } } if (Out0P->masksCnt > 32) { (void)memcpy((char *) old_behaviors, (const char *) Out1P->old_behaviors, 4 * 32); *masksCnt = Out0P->masksCnt; { return MIG_ARRAY_TOO_LARGE; } } (void)memcpy((char *) old_behaviors, (const char *) Out1P->old_behaviors, 4 * Out0P->masksCnt); if (Out0P->masksCnt > 32) { (void)memcpy((char *) old_flavors, (const char *) Out2P->old_flavors, 4 * 32); *masksCnt = Out0P->masksCnt; { return MIG_ARRAY_TOO_LARGE; } } (void)memcpy((char *) old_flavors, (const char *) Out2P->old_flavors, 4 * Out0P->masksCnt); return KERN_SUCCESS; } #if ( __MigTypeCheck ) #if __MIG_check__Reply__task_subsystem__ #if !defined(__MIG_check__Reply__task_swap_exception_ports_t__defined) #define __MIG_check__Reply__task_swap_exception_ports_t__defined mig_internal kern_return_t __MIG_check__Reply__task_swap_exception_ports_t(__Reply__task_swap_exception_ports_t *Out0P, __Reply__task_swap_exception_ports_t **Out1PP, __Reply__task_swap_exception_ports_t **Out2PP) { typedef __Reply__task_swap_exception_ports_t __Reply __attribute__((unused)); __Reply *Out1P; __Reply *Out2P; boolean_t msgh_simple; #if __MigTypeCheck unsigned int msgh_size; #endif /* __MigTypeCheck */ unsigned int msgh_size_delta; if (Out0P->Head.msgh_id != 3515) { if (Out0P->Head.msgh_id == MACH_NOTIFY_SEND_ONCE) { return MIG_SERVER_DIED; } else { return MIG_REPLY_MISMATCH; } } msgh_simple = !(Out0P->Head.msgh_bits & MACH_MSGH_BITS_COMPLEX); #if __MigTypeCheck msgh_size = Out0P->Head.msgh_size; if ((msgh_simple || Out0P->msgh_body.msgh_descriptor_count != 32 || msgh_size < (mach_msg_size_t)(sizeof(__Reply) - 384) || msgh_size > (mach_msg_size_t)sizeof(__Reply)) && (!msgh_simple || msgh_size != (mach_msg_size_t)sizeof(mig_reply_error_t) || ((mig_reply_error_t *)Out0P)->RetCode == KERN_SUCCESS)) { return MIG_TYPE_ERROR ; } #endif /* __MigTypeCheck */ if (msgh_simple) { return ((mig_reply_error_t *)Out0P)->RetCode; } #if __MigTypeCheck { register mach_msg_port_descriptor_t *ptr; register int i; ptr = &Out0P->old_handlerss[0]; for (i = 0; i < 32; ptr++, i++) { if (ptr->type != MACH_MSG_PORT_DESCRIPTOR) { return MIG_TYPE_ERROR; } } } #endif /* __MigTypeCheck */ msgh_size_delta = Out0P->masksCnt * 4; #if __MigTypeCheck if ( Out0P->masksCnt > 32 ) return MIG_TYPE_ERROR; if (((msgh_size - (mach_msg_size_t)(sizeof(__Reply) - 384)) / 4< Out0P->masksCnt) || (msgh_size < (mach_msg_size_t)(sizeof(__Reply) - 384) + Out0P->masksCnt * 4)) { return MIG_TYPE_ERROR ; } msgh_size -= msgh_size_delta; #endif /* __MigTypeCheck */ *Out1PP = Out1P = (__Reply *) ((pointer_t) Out0P + msgh_size_delta - 128); msgh_size_delta = Out0P->masksCnt * 4; #if __MigTypeCheck if ( Out0P->masksCnt > 32 ) return MIG_TYPE_ERROR; if (((msgh_size - (mach_msg_size_t)(sizeof(__Reply) - 384)) / 4< Out0P->masksCnt) || (msgh_size < (mach_msg_size_t)(sizeof(__Reply) - 384) + Out0P->masksCnt * 4)) { return MIG_TYPE_ERROR ; } msgh_size -= msgh_size_delta; #endif /* __MigTypeCheck */ *Out2PP = Out2P = (__Reply *) ((pointer_t) Out1P + msgh_size_delta - 128); #if __MigTypeCheck if ( Out0P->masksCnt > 32 ) return MIG_TYPE_ERROR; if (((msgh_size - (mach_msg_size_t)(sizeof(__Reply) - 384)) / 4< Out0P->masksCnt) || (msgh_size != (mach_msg_size_t)(sizeof(__Reply) - 384) + Out0P->masksCnt * 4)) { return MIG_TYPE_ERROR ; } #endif /* __MigTypeCheck */ return MACH_MSG_SUCCESS; } #endif /* !defined(__MIG_check__Reply__task_swap_exception_ports_t__defined) */ #endif /* __MIG_check__Reply__task_subsystem__ */ #endif /* ( __MigTypeCheck ) */ /* Routine task_swap_exception_ports */ mig_external kern_return_t task_swap_exception_ports ( task_t task, exception_mask_t exception_mask, mach_port_t new_port, exception_behavior_t behavior, thread_state_flavor_t new_flavor, exception_mask_array_t masks, mach_msg_type_number_t *masksCnt, exception_handler_array_t old_handlerss, exception_behavior_array_t old_behaviors, exception_flavor_array_t old_flavors ) { #ifdef __MigPackStructs #pragma pack(4) #endif typedef struct { mach_msg_header_t Head; /* start of the kernel processed data */ mach_msg_body_t msgh_body; mach_msg_port_descriptor_t new_port; /* end of the kernel processed data */ NDR_record_t NDR; exception_mask_t exception_mask; exception_behavior_t behavior; thread_state_flavor_t new_flavor; } Request __attribute__((unused)); #ifdef __MigPackStructs #pragma pack() #endif #ifdef __MigPackStructs #pragma pack(4) #endif typedef struct { mach_msg_header_t Head; /* start of the kernel processed data */ mach_msg_body_t msgh_body; mach_msg_port_descriptor_t old_handlerss[32]; /* end of the kernel processed data */ NDR_record_t NDR; mach_msg_type_number_t masksCnt; exception_mask_t masks[32]; exception_behavior_t old_behaviors[32]; thread_state_flavor_t old_flavors[32]; mach_msg_trailer_t trailer; } Reply __attribute__((unused)); #ifdef __MigPackStructs #pragma pack() #endif #ifdef __MigPackStructs #pragma pack(4) #endif typedef struct { mach_msg_header_t Head; /* start of the kernel processed data */ mach_msg_body_t msgh_body; mach_msg_port_descriptor_t old_handlerss[32]; /* end of the kernel processed data */ NDR_record_t NDR; mach_msg_type_number_t masksCnt; exception_mask_t masks[32]; exception_behavior_t old_behaviors[32]; thread_state_flavor_t old_flavors[32]; } __Reply __attribute__((unused)); #ifdef __MigPackStructs #pragma pack() #endif /* * typedef struct { * mach_msg_header_t Head; * NDR_record_t NDR; * kern_return_t RetCode; * } mig_reply_error_t; */ union { Request In; Reply Out; } Mess; Request *InP = &Mess.In; Reply *Out0P = &Mess.Out; Reply *Out1P = NULL; Reply *Out2P = NULL; mach_msg_return_t msg_result; #ifdef __MIG_check__Reply__task_swap_exception_ports_t__defined kern_return_t check_result; #endif /* __MIG_check__Reply__task_swap_exception_ports_t__defined */ __DeclareSendRpc(3415, "task_swap_exception_ports") #if UseStaticTemplates const static mach_msg_port_descriptor_t new_portTemplate = { /* name = */ MACH_PORT_NULL, /* pad1 = */ 0, /* pad2 = */ 0, /* disp = */ 19, /* type = */ MACH_MSG_PORT_DESCRIPTOR, }; #endif /* UseStaticTemplates */ InP->msgh_body.msgh_descriptor_count = 1; #if UseStaticTemplates InP->new_port = new_portTemplate; InP->new_port.name = new_port; #else /* UseStaticTemplates */ InP->new_port.name = new_port; InP->new_port.disposition = 19; InP->new_port.type = MACH_MSG_PORT_DESCRIPTOR; #endif /* UseStaticTemplates */ InP->NDR = NDR_record; InP->exception_mask = exception_mask; InP->behavior = behavior; InP->new_flavor = new_flavor; InP->Head.msgh_bits = MACH_MSGH_BITS_COMPLEX| MACH_MSGH_BITS(19, MACH_MSG_TYPE_MAKE_SEND_ONCE); /* msgh_size passed as argument */ InP->Head.msgh_request_port = task; InP->Head.msgh_reply_port = mig_get_reply_port(); InP->Head.msgh_id = 3415; /* BEGIN VOUCHER CODE */ #ifdef USING_VOUCHERS if (voucher_mach_msg_set != NULL) { voucher_mach_msg_set(&InP->Head); } #endif // USING_VOUCHERS /* END VOUCHER CODE */ __BeforeSendRpc(3415, "task_swap_exception_ports") msg_result = mach_msg(&InP->Head, MACH_SEND_MSG|MACH_RCV_MSG|MACH_MSG_OPTION_NONE, (mach_msg_size_t)sizeof(Request), (mach_msg_size_t)sizeof(Reply), InP->Head.msgh_reply_port, MACH_MSG_TIMEOUT_NONE, MACH_PORT_NULL); __AfterSendRpc(3415, "task_swap_exception_ports") if (msg_result != MACH_MSG_SUCCESS) { __MachMsgErrorWithoutTimeout(msg_result); { return msg_result; } } #if defined(__MIG_check__Reply__task_swap_exception_ports_t__defined) check_result = __MIG_check__Reply__task_swap_exception_ports_t((__Reply__task_swap_exception_ports_t *)Out0P, (__Reply__task_swap_exception_ports_t **)&Out1P, (__Reply__task_swap_exception_ports_t **)&Out2P); if (check_result != MACH_MSG_SUCCESS) { return check_result; } #endif /* defined(__MIG_check__Reply__task_swap_exception_ports_t__defined) */ if (Out0P->masksCnt > 32) { (void)memcpy((char *) masks, (const char *) Out0P->masks, 4 * 32); *masksCnt = Out0P->masksCnt; { return MIG_ARRAY_TOO_LARGE; } } (void)memcpy((char *) masks, (const char *) Out0P->masks, 4 * Out0P->masksCnt); *masksCnt = Out0P->masksCnt; { register mach_msg_port_descriptor_t *ptr; register int i, j; ptr = &Out0P->old_handlerss[0]; j = min(Out0P->masksCnt, *masksCnt); for (i = 0; i < j; ptr++, i++) old_handlerss[i] = ptr->name; if (Out0P->masksCnt > 32) { return MIG_ARRAY_TOO_LARGE; } } if (Out0P->masksCnt > 32) { (void)memcpy((char *) old_behaviors, (const char *) Out1P->old_behaviors, 4 * 32); *masksCnt = Out0P->masksCnt; { return MIG_ARRAY_TOO_LARGE; } } (void)memcpy((char *) old_behaviors, (const char *) Out1P->old_behaviors, 4 * Out0P->masksCnt); if (Out0P->masksCnt > 32) { (void)memcpy((char *) old_flavors, (const char *) Out2P->old_flavors, 4 * 32); *masksCnt = Out0P->masksCnt; { return MIG_ARRAY_TOO_LARGE; } } (void)memcpy((char *) old_flavors, (const char *) Out2P->old_flavors, 4 * Out0P->masksCnt); return KERN_SUCCESS; } #if ( __MigTypeCheck ) #if __MIG_check__Reply__task_subsystem__ #if !defined(__MIG_check__Reply__lock_set_create_t__defined) #define __MIG_check__Reply__lock_set_create_t__defined mig_internal kern_return_t __MIG_check__Reply__lock_set_create_t(__Reply__lock_set_create_t *Out0P) { typedef __Reply__lock_set_create_t __Reply __attribute__((unused)); boolean_t msgh_simple; #if __MigTypeCheck unsigned int msgh_size; #endif /* __MigTypeCheck */ if (Out0P->Head.msgh_id != 3516) { if (Out0P->Head.msgh_id == MACH_NOTIFY_SEND_ONCE) { return MIG_SERVER_DIED; } else { return MIG_REPLY_MISMATCH; } } msgh_simple = !(Out0P->Head.msgh_bits & MACH_MSGH_BITS_COMPLEX); #if __MigTypeCheck msgh_size = Out0P->Head.msgh_size; if ((msgh_simple || Out0P->msgh_body.msgh_descriptor_count != 1 || msgh_size != (mach_msg_size_t)sizeof(__Reply)) && (!msgh_simple || msgh_size != (mach_msg_size_t)sizeof(mig_reply_error_t) || ((mig_reply_error_t *)Out0P)->RetCode == KERN_SUCCESS)) { return MIG_TYPE_ERROR ; } #endif /* __MigTypeCheck */ if (msgh_simple) { return ((mig_reply_error_t *)Out0P)->RetCode; } #if __MigTypeCheck if (Out0P->new_lock_set.type != MACH_MSG_PORT_DESCRIPTOR || Out0P->new_lock_set.disposition != 17) { return MIG_TYPE_ERROR; } #endif /* __MigTypeCheck */ return MACH_MSG_SUCCESS; } #endif /* !defined(__MIG_check__Reply__lock_set_create_t__defined) */ #endif /* __MIG_check__Reply__task_subsystem__ */ #endif /* ( __MigTypeCheck ) */ /* Routine lock_set_create */ mig_external kern_return_t lock_set_create ( task_t task, lock_set_t *new_lock_set, int n_ulocks, int policy ) { #ifdef __MigPackStructs #pragma pack(4) #endif typedef struct { mach_msg_header_t Head; NDR_record_t NDR; int n_ulocks; int policy; } Request __attribute__((unused)); #ifdef __MigPackStructs #pragma pack() #endif #ifdef __MigPackStructs #pragma pack(4) #endif typedef struct { mach_msg_header_t Head; /* start of the kernel processed data */ mach_msg_body_t msgh_body; mach_msg_port_descriptor_t new_lock_set; /* end of the kernel processed data */ mach_msg_trailer_t trailer; } Reply __attribute__((unused)); #ifdef __MigPackStructs #pragma pack() #endif #ifdef __MigPackStructs #pragma pack(4) #endif typedef struct { mach_msg_header_t Head; /* start of the kernel processed data */ mach_msg_body_t msgh_body; mach_msg_port_descriptor_t new_lock_set; /* end of the kernel processed data */ } __Reply __attribute__((unused)); #ifdef __MigPackStructs #pragma pack() #endif /* * typedef struct { * mach_msg_header_t Head; * NDR_record_t NDR; * kern_return_t RetCode; * } mig_reply_error_t; */ union { Request In; Reply Out; } Mess; Request *InP = &Mess.In; Reply *Out0P = &Mess.Out; mach_msg_return_t msg_result; #ifdef __MIG_check__Reply__lock_set_create_t__defined kern_return_t check_result; #endif /* __MIG_check__Reply__lock_set_create_t__defined */ __DeclareSendRpc(3416, "lock_set_create") InP->NDR = NDR_record; InP->n_ulocks = n_ulocks; InP->policy = policy; InP->Head.msgh_bits = MACH_MSGH_BITS(19, MACH_MSG_TYPE_MAKE_SEND_ONCE); /* msgh_size passed as argument */ InP->Head.msgh_request_port = task; InP->Head.msgh_reply_port = mig_get_reply_port(); InP->Head.msgh_id = 3416; /* BEGIN VOUCHER CODE */ #ifdef USING_VOUCHERS if (voucher_mach_msg_set != NULL) { voucher_mach_msg_set(&InP->Head); } #endif // USING_VOUCHERS /* END VOUCHER CODE */ __BeforeSendRpc(3416, "lock_set_create") msg_result = mach_msg(&InP->Head, MACH_SEND_MSG|MACH_RCV_MSG|MACH_MSG_OPTION_NONE, (mach_msg_size_t)sizeof(Request), (mach_msg_size_t)sizeof(Reply), InP->Head.msgh_reply_port, MACH_MSG_TIMEOUT_NONE, MACH_PORT_NULL); __AfterSendRpc(3416, "lock_set_create") if (msg_result != MACH_MSG_SUCCESS) { __MachMsgErrorWithoutTimeout(msg_result); { return msg_result; } } #if defined(__MIG_check__Reply__lock_set_create_t__defined) check_result = __MIG_check__Reply__lock_set_create_t((__Reply__lock_set_create_t *)Out0P); if (check_result != MACH_MSG_SUCCESS) { return check_result; } #endif /* defined(__MIG_check__Reply__lock_set_create_t__defined) */ *new_lock_set = Out0P->new_lock_set.name; return KERN_SUCCESS; } #if ( __MigTypeCheck ) #if __MIG_check__Reply__task_subsystem__ #if !defined(__MIG_check__Reply__lock_set_destroy_t__defined) #define __MIG_check__Reply__lock_set_destroy_t__defined mig_internal kern_return_t __MIG_check__Reply__lock_set_destroy_t(__Reply__lock_set_destroy_t *Out0P) { typedef __Reply__lock_set_destroy_t __Reply __attribute__((unused)); if (Out0P->Head.msgh_id != 3517) { if (Out0P->Head.msgh_id == MACH_NOTIFY_SEND_ONCE) { return MIG_SERVER_DIED; } else { return MIG_REPLY_MISMATCH; } } #if __MigTypeCheck if ((Out0P->Head.msgh_bits & MACH_MSGH_BITS_COMPLEX) || (Out0P->Head.msgh_size != (mach_msg_size_t)sizeof(__Reply))) { return MIG_TYPE_ERROR ; } #endif /* __MigTypeCheck */ { return Out0P->RetCode; } } #endif /* !defined(__MIG_check__Reply__lock_set_destroy_t__defined) */ #endif /* __MIG_check__Reply__task_subsystem__ */ #endif /* ( __MigTypeCheck ) */ /* Routine lock_set_destroy */ mig_external kern_return_t lock_set_destroy ( task_t task, lock_set_t lock_set ) { #ifdef __MigPackStructs #pragma pack(4) #endif typedef struct { mach_msg_header_t Head; /* start of the kernel processed data */ mach_msg_body_t msgh_body; mach_msg_port_descriptor_t lock_set; /* end of the kernel processed data */ } Request __attribute__((unused)); #ifdef __MigPackStructs #pragma pack() #endif #ifdef __MigPackStructs #pragma pack(4) #endif typedef struct { mach_msg_header_t Head; NDR_record_t NDR; kern_return_t RetCode; mach_msg_trailer_t trailer; } Reply __attribute__((unused)); #ifdef __MigPackStructs #pragma pack() #endif #ifdef __MigPackStructs #pragma pack(4) #endif typedef struct { mach_msg_header_t Head; NDR_record_t NDR; kern_return_t RetCode; } __Reply __attribute__((unused)); #ifdef __MigPackStructs #pragma pack() #endif /* * typedef struct { * mach_msg_header_t Head; * NDR_record_t NDR; * kern_return_t RetCode; * } mig_reply_error_t; */ union { Request In; Reply Out; } Mess; Request *InP = &Mess.In; Reply *Out0P = &Mess.Out; mach_msg_return_t msg_result; #ifdef __MIG_check__Reply__lock_set_destroy_t__defined kern_return_t check_result; #endif /* __MIG_check__Reply__lock_set_destroy_t__defined */ __DeclareSendRpc(3417, "lock_set_destroy") #if UseStaticTemplates const static mach_msg_port_descriptor_t lock_setTemplate = { /* name = */ MACH_PORT_NULL, /* pad1 = */ 0, /* pad2 = */ 0, /* disp = */ 19, /* type = */ MACH_MSG_PORT_DESCRIPTOR, }; #endif /* UseStaticTemplates */ InP->msgh_body.msgh_descriptor_count = 1; #if UseStaticTemplates InP->lock_set = lock_setTemplate; InP->lock_set.name = lock_set; #else /* UseStaticTemplates */ InP->lock_set.name = lock_set; InP->lock_set.disposition = 19; InP->lock_set.type = MACH_MSG_PORT_DESCRIPTOR; #endif /* UseStaticTemplates */ InP->Head.msgh_bits = MACH_MSGH_BITS_COMPLEX| MACH_MSGH_BITS(19, MACH_MSG_TYPE_MAKE_SEND_ONCE); /* msgh_size passed as argument */ InP->Head.msgh_request_port = task; InP->Head.msgh_reply_port = mig_get_reply_port(); InP->Head.msgh_id = 3417; /* BEGIN VOUCHER CODE */ #ifdef USING_VOUCHERS if (voucher_mach_msg_set != NULL) { voucher_mach_msg_set(&InP->Head); } #endif // USING_VOUCHERS /* END VOUCHER CODE */ __BeforeSendRpc(3417, "lock_set_destroy") msg_result = mach_msg(&InP->Head, MACH_SEND_MSG|MACH_RCV_MSG|MACH_MSG_OPTION_NONE, (mach_msg_size_t)sizeof(Request), (mach_msg_size_t)sizeof(Reply), InP->Head.msgh_reply_port, MACH_MSG_TIMEOUT_NONE, MACH_PORT_NULL); __AfterSendRpc(3417, "lock_set_destroy") if (msg_result != MACH_MSG_SUCCESS) { __MachMsgErrorWithoutTimeout(msg_result); { return msg_result; } } #if defined(__MIG_check__Reply__lock_set_destroy_t__defined) check_result = __MIG_check__Reply__lock_set_destroy_t((__Reply__lock_set_destroy_t *)Out0P); if (check_result != MACH_MSG_SUCCESS) { return check_result; } #endif /* defined(__MIG_check__Reply__lock_set_destroy_t__defined) */ return KERN_SUCCESS; } #if ( __MigTypeCheck ) #if __MIG_check__Reply__task_subsystem__ #if !defined(__MIG_check__Reply__semaphore_create_t__defined) #define __MIG_check__Reply__semaphore_create_t__defined mig_internal kern_return_t __MIG_check__Reply__semaphore_create_t(__Reply__semaphore_create_t *Out0P) { typedef __Reply__semaphore_create_t __Reply __attribute__((unused)); boolean_t msgh_simple; #if __MigTypeCheck unsigned int msgh_size; #endif /* __MigTypeCheck */ if (Out0P->Head.msgh_id != 3518) { if (Out0P->Head.msgh_id == MACH_NOTIFY_SEND_ONCE) { return MIG_SERVER_DIED; } else { return MIG_REPLY_MISMATCH; } } msgh_simple = !(Out0P->Head.msgh_bits & MACH_MSGH_BITS_COMPLEX); #if __MigTypeCheck msgh_size = Out0P->Head.msgh_size; if ((msgh_simple || Out0P->msgh_body.msgh_descriptor_count != 1 || msgh_size != (mach_msg_size_t)sizeof(__Reply)) && (!msgh_simple || msgh_size != (mach_msg_size_t)sizeof(mig_reply_error_t) || ((mig_reply_error_t *)Out0P)->RetCode == KERN_SUCCESS)) { return MIG_TYPE_ERROR ; } #endif /* __MigTypeCheck */ if (msgh_simple) { return ((mig_reply_error_t *)Out0P)->RetCode; } #if __MigTypeCheck if (Out0P->semaphore.type != MACH_MSG_PORT_DESCRIPTOR || Out0P->semaphore.disposition != 17) { return MIG_TYPE_ERROR; } #endif /* __MigTypeCheck */ return MACH_MSG_SUCCESS; } #endif /* !defined(__MIG_check__Reply__semaphore_create_t__defined) */ #endif /* __MIG_check__Reply__task_subsystem__ */ #endif /* ( __MigTypeCheck ) */ /* Routine semaphore_create */ mig_external kern_return_t semaphore_create ( task_t task, semaphore_t *semaphore, int policy, int value ) { #ifdef __MigPackStructs #pragma pack(4) #endif typedef struct { mach_msg_header_t Head; NDR_record_t NDR; int policy; int value; } Request __attribute__((unused)); #ifdef __MigPackStructs #pragma pack() #endif #ifdef __MigPackStructs #pragma pack(4) #endif typedef struct { mach_msg_header_t Head; /* start of the kernel processed data */ mach_msg_body_t msgh_body; mach_msg_port_descriptor_t semaphore; /* end of the kernel processed data */ mach_msg_trailer_t trailer; } Reply __attribute__((unused)); #ifdef __MigPackStructs #pragma pack() #endif #ifdef __MigPackStructs #pragma pack(4) #endif typedef struct { mach_msg_header_t Head; /* start of the kernel processed data */ mach_msg_body_t msgh_body; mach_msg_port_descriptor_t semaphore; /* end of the kernel processed data */ } __Reply __attribute__((unused)); #ifdef __MigPackStructs #pragma pack() #endif /* * typedef struct { * mach_msg_header_t Head; * NDR_record_t NDR; * kern_return_t RetCode; * } mig_reply_error_t; */ union { Request In; Reply Out; } Mess; Request *InP = &Mess.In; Reply *Out0P = &Mess.Out; mach_msg_return_t msg_result; #ifdef __MIG_check__Reply__semaphore_create_t__defined kern_return_t check_result; #endif /* __MIG_check__Reply__semaphore_create_t__defined */ __DeclareSendRpc(3418, "semaphore_create") InP->NDR = NDR_record; InP->policy = policy; InP->value = value; InP->Head.msgh_bits = MACH_MSGH_BITS(19, MACH_MSG_TYPE_MAKE_SEND_ONCE); /* msgh_size passed as argument */ InP->Head.msgh_request_port = task; InP->Head.msgh_reply_port = mig_get_reply_port(); InP->Head.msgh_id = 3418; /* BEGIN VOUCHER CODE */ #ifdef USING_VOUCHERS if (voucher_mach_msg_set != NULL) { voucher_mach_msg_set(&InP->Head); } #endif // USING_VOUCHERS /* END VOUCHER CODE */ __BeforeSendRpc(3418, "semaphore_create") msg_result = mach_msg(&InP->Head, MACH_SEND_MSG|MACH_RCV_MSG|MACH_MSG_OPTION_NONE, (mach_msg_size_t)sizeof(Request), (mach_msg_size_t)sizeof(Reply), InP->Head.msgh_reply_port, MACH_MSG_TIMEOUT_NONE, MACH_PORT_NULL); __AfterSendRpc(3418, "semaphore_create") if (msg_result != MACH_MSG_SUCCESS) { __MachMsgErrorWithoutTimeout(msg_result); { return msg_result; } } #if defined(__MIG_check__Reply__semaphore_create_t__defined) check_result = __MIG_check__Reply__semaphore_create_t((__Reply__semaphore_create_t *)Out0P); if (check_result != MACH_MSG_SUCCESS) { return check_result; } #endif /* defined(__MIG_check__Reply__semaphore_create_t__defined) */ *semaphore = Out0P->semaphore.name; return KERN_SUCCESS; } #if ( __MigTypeCheck ) #if __MIG_check__Reply__task_subsystem__ #if !defined(__MIG_check__Reply__semaphore_destroy_t__defined) #define __MIG_check__Reply__semaphore_destroy_t__defined mig_internal kern_return_t __MIG_check__Reply__semaphore_destroy_t(__Reply__semaphore_destroy_t *Out0P) { typedef __Reply__semaphore_destroy_t __Reply __attribute__((unused)); if (Out0P->Head.msgh_id != 3519) { if (Out0P->Head.msgh_id == MACH_NOTIFY_SEND_ONCE) { return MIG_SERVER_DIED; } else { return MIG_REPLY_MISMATCH; } } #if __MigTypeCheck if ((Out0P->Head.msgh_bits & MACH_MSGH_BITS_COMPLEX) || (Out0P->Head.msgh_size != (mach_msg_size_t)sizeof(__Reply))) { return MIG_TYPE_ERROR ; } #endif /* __MigTypeCheck */ { return Out0P->RetCode; } } #endif /* !defined(__MIG_check__Reply__semaphore_destroy_t__defined) */ #endif /* __MIG_check__Reply__task_subsystem__ */ #endif /* ( __MigTypeCheck ) */ /* Routine semaphore_destroy */ mig_external kern_return_t semaphore_destroy ( task_t task, semaphore_t semaphore ) { #ifdef __MigPackStructs #pragma pack(4) #endif typedef struct { mach_msg_header_t Head; /* start of the kernel processed data */ mach_msg_body_t msgh_body; mach_msg_port_descriptor_t semaphore; /* end of the kernel processed data */ } Request __attribute__((unused)); #ifdef __MigPackStructs #pragma pack() #endif #ifdef __MigPackStructs #pragma pack(4) #endif typedef struct { mach_msg_header_t Head; NDR_record_t NDR; kern_return_t RetCode; mach_msg_trailer_t trailer; } Reply __attribute__((unused)); #ifdef __MigPackStructs #pragma pack() #endif #ifdef __MigPackStructs #pragma pack(4) #endif typedef struct { mach_msg_header_t Head; NDR_record_t NDR; kern_return_t RetCode; } __Reply __attribute__((unused)); #ifdef __MigPackStructs #pragma pack() #endif /* * typedef struct { * mach_msg_header_t Head; * NDR_record_t NDR; * kern_return_t RetCode; * } mig_reply_error_t; */ union { Request In; Reply Out; } Mess; Request *InP = &Mess.In; Reply *Out0P = &Mess.Out; mach_msg_return_t msg_result; #ifdef __MIG_check__Reply__semaphore_destroy_t__defined kern_return_t check_result; #endif /* __MIG_check__Reply__semaphore_destroy_t__defined */ __DeclareSendRpc(3419, "semaphore_destroy") #if UseStaticTemplates const static mach_msg_port_descriptor_t semaphoreTemplate = { /* name = */ MACH_PORT_NULL, /* pad1 = */ 0, /* pad2 = */ 0, /* disp = */ 17, /* type = */ MACH_MSG_PORT_DESCRIPTOR, }; #endif /* UseStaticTemplates */ InP->msgh_body.msgh_descriptor_count = 1; #if UseStaticTemplates InP->semaphore = semaphoreTemplate; InP->semaphore.name = semaphore; #else /* UseStaticTemplates */ InP->semaphore.name = semaphore; InP->semaphore.disposition = 17; InP->semaphore.type = MACH_MSG_PORT_DESCRIPTOR; #endif /* UseStaticTemplates */ InP->Head.msgh_bits = MACH_MSGH_BITS_COMPLEX| MACH_MSGH_BITS(19, MACH_MSG_TYPE_MAKE_SEND_ONCE); /* msgh_size passed as argument */ InP->Head.msgh_request_port = task; InP->Head.msgh_reply_port = mig_get_reply_port(); InP->Head.msgh_id = 3419; /* BEGIN VOUCHER CODE */ #ifdef USING_VOUCHERS if (voucher_mach_msg_set != NULL) { voucher_mach_msg_set(&InP->Head); } #endif // USING_VOUCHERS /* END VOUCHER CODE */ __BeforeSendRpc(3419, "semaphore_destroy") msg_result = mach_msg(&InP->Head, MACH_SEND_MSG|MACH_RCV_MSG|MACH_MSG_OPTION_NONE, (mach_msg_size_t)sizeof(Request), (mach_msg_size_t)sizeof(Reply), InP->Head.msgh_reply_port, MACH_MSG_TIMEOUT_NONE, MACH_PORT_NULL); __AfterSendRpc(3419, "semaphore_destroy") if (msg_result != MACH_MSG_SUCCESS) { __MachMsgErrorWithoutTimeout(msg_result); { return msg_result; } } #if defined(__MIG_check__Reply__semaphore_destroy_t__defined) check_result = __MIG_check__Reply__semaphore_destroy_t((__Reply__semaphore_destroy_t *)Out0P); if (check_result != MACH_MSG_SUCCESS) { return check_result; } #endif /* defined(__MIG_check__Reply__semaphore_destroy_t__defined) */ return KERN_SUCCESS; } #if ( __MigTypeCheck ) #if __MIG_check__Reply__task_subsystem__ #if !defined(__MIG_check__Reply__task_policy_set_t__defined) #define __MIG_check__Reply__task_policy_set_t__defined mig_internal kern_return_t __MIG_check__Reply__task_policy_set_t(__Reply__task_policy_set_t *Out0P) { typedef __Reply__task_policy_set_t __Reply __attribute__((unused)); if (Out0P->Head.msgh_id != 3520) { if (Out0P->Head.msgh_id == MACH_NOTIFY_SEND_ONCE) { return MIG_SERVER_DIED; } else { return MIG_REPLY_MISMATCH; } } #if __MigTypeCheck if ((Out0P->Head.msgh_bits & MACH_MSGH_BITS_COMPLEX) || (Out0P->Head.msgh_size != (mach_msg_size_t)sizeof(__Reply))) { return MIG_TYPE_ERROR ; } #endif /* __MigTypeCheck */ { return Out0P->RetCode; } } #endif /* !defined(__MIG_check__Reply__task_policy_set_t__defined) */ #endif /* __MIG_check__Reply__task_subsystem__ */ #endif /* ( __MigTypeCheck ) */ /* Routine task_policy_set */ mig_external kern_return_t task_policy_set ( task_t task, task_policy_flavor_t flavor, task_policy_t policy_info, mach_msg_type_number_t policy_infoCnt ) { #ifdef __MigPackStructs #pragma pack(4) #endif typedef struct { mach_msg_header_t Head; NDR_record_t NDR; task_policy_flavor_t flavor; mach_msg_type_number_t policy_infoCnt; integer_t policy_info[16]; } Request __attribute__((unused)); #ifdef __MigPackStructs #pragma pack() #endif #ifdef __MigPackStructs #pragma pack(4) #endif typedef struct { mach_msg_header_t Head; NDR_record_t NDR; kern_return_t RetCode; mach_msg_trailer_t trailer; } Reply __attribute__((unused)); #ifdef __MigPackStructs #pragma pack() #endif #ifdef __MigPackStructs #pragma pack(4) #endif typedef struct { mach_msg_header_t Head; NDR_record_t NDR; kern_return_t RetCode; } __Reply __attribute__((unused)); #ifdef __MigPackStructs #pragma pack() #endif /* * typedef struct { * mach_msg_header_t Head; * NDR_record_t NDR; * kern_return_t RetCode; * } mig_reply_error_t; */ union { Request In; Reply Out; } Mess; Request *InP = &Mess.In; Reply *Out0P = &Mess.Out; mach_msg_return_t msg_result; unsigned int msgh_size; #ifdef __MIG_check__Reply__task_policy_set_t__defined kern_return_t check_result; #endif /* __MIG_check__Reply__task_policy_set_t__defined */ __DeclareSendRpc(3420, "task_policy_set") InP->NDR = NDR_record; InP->flavor = flavor; if (policy_infoCnt > 16) { { return MIG_ARRAY_TOO_LARGE; } } (void)memcpy((char *) InP->policy_info, (const char *) policy_info, 4 * policy_infoCnt); InP->policy_infoCnt = policy_infoCnt; msgh_size = (mach_msg_size_t)(sizeof(Request) - 64) + ((4 * policy_infoCnt)); InP->Head.msgh_bits = MACH_MSGH_BITS(19, MACH_MSG_TYPE_MAKE_SEND_ONCE); /* msgh_size passed as argument */ InP->Head.msgh_request_port = task; InP->Head.msgh_reply_port = mig_get_reply_port(); InP->Head.msgh_id = 3420; /* BEGIN VOUCHER CODE */ #ifdef USING_VOUCHERS if (voucher_mach_msg_set != NULL) { voucher_mach_msg_set(&InP->Head); } #endif // USING_VOUCHERS /* END VOUCHER CODE */ __BeforeSendRpc(3420, "task_policy_set") msg_result = mach_msg(&InP->Head, MACH_SEND_MSG|MACH_RCV_MSG|MACH_MSG_OPTION_NONE, msgh_size, (mach_msg_size_t)sizeof(Reply), InP->Head.msgh_reply_port, MACH_MSG_TIMEOUT_NONE, MACH_PORT_NULL); __AfterSendRpc(3420, "task_policy_set") if (msg_result != MACH_MSG_SUCCESS) { __MachMsgErrorWithoutTimeout(msg_result); { return msg_result; } } #if defined(__MIG_check__Reply__task_policy_set_t__defined) check_result = __MIG_check__Reply__task_policy_set_t((__Reply__task_policy_set_t *)Out0P); if (check_result != MACH_MSG_SUCCESS) { return check_result; } #endif /* defined(__MIG_check__Reply__task_policy_set_t__defined) */ return KERN_SUCCESS; } #if ( __MigTypeCheck ) #if __MIG_check__Reply__task_subsystem__ #if !defined(__MIG_check__Reply__task_policy_get_t__defined) #define __MIG_check__Reply__task_policy_get_t__defined mig_internal kern_return_t __MIG_check__Reply__task_policy_get_t(__Reply__task_policy_get_t *Out0P, __Reply__task_policy_get_t **Out1PP) { typedef __Reply__task_policy_get_t __Reply __attribute__((unused)); __Reply *Out1P; #if __MigTypeCheck unsigned int msgh_size; #endif /* __MigTypeCheck */ unsigned int msgh_size_delta; if (Out0P->Head.msgh_id != 3521) { if (Out0P->Head.msgh_id == MACH_NOTIFY_SEND_ONCE) { return MIG_SERVER_DIED; } else { return MIG_REPLY_MISMATCH; } } #if __MigTypeCheck msgh_size = Out0P->Head.msgh_size; if ((Out0P->Head.msgh_bits & MACH_MSGH_BITS_COMPLEX) || ((msgh_size > (mach_msg_size_t)sizeof(__Reply) || msgh_size < (mach_msg_size_t)(sizeof(__Reply) - 64)) && (msgh_size != (mach_msg_size_t)sizeof(mig_reply_error_t) || Out0P->RetCode == KERN_SUCCESS))) { return MIG_TYPE_ERROR ; } #endif /* __MigTypeCheck */ if (Out0P->RetCode != KERN_SUCCESS) { return ((mig_reply_error_t *)Out0P)->RetCode; } msgh_size_delta = Out0P->policy_infoCnt * 4; #if __MigTypeCheck if ( Out0P->policy_infoCnt > 16 ) return MIG_TYPE_ERROR; if (((msgh_size - (mach_msg_size_t)(sizeof(__Reply) - 64)) / 4< Out0P->policy_infoCnt) || (msgh_size != (mach_msg_size_t)(sizeof(__Reply) - 64) + Out0P->policy_infoCnt * 4)) { return MIG_TYPE_ERROR ; } #endif /* __MigTypeCheck */ *Out1PP = Out1P = (__Reply *) ((pointer_t) Out0P + msgh_size_delta - 64); return MACH_MSG_SUCCESS; } #endif /* !defined(__MIG_check__Reply__task_policy_get_t__defined) */ #endif /* __MIG_check__Reply__task_subsystem__ */ #endif /* ( __MigTypeCheck ) */ /* Routine task_policy_get */ mig_external kern_return_t task_policy_get ( task_t task, task_policy_flavor_t flavor, task_policy_t policy_info, mach_msg_type_number_t *policy_infoCnt, boolean_t *get_default ) { #ifdef __MigPackStructs #pragma pack(4) #endif typedef struct { mach_msg_header_t Head; NDR_record_t NDR; task_policy_flavor_t flavor; mach_msg_type_number_t policy_infoCnt; boolean_t get_default; } Request __attribute__((unused)); #ifdef __MigPackStructs #pragma pack() #endif #ifdef __MigPackStructs #pragma pack(4) #endif typedef struct { mach_msg_header_t Head; NDR_record_t NDR; kern_return_t RetCode; mach_msg_type_number_t policy_infoCnt; integer_t policy_info[16]; boolean_t get_default; mach_msg_trailer_t trailer; } Reply __attribute__((unused)); #ifdef __MigPackStructs #pragma pack() #endif #ifdef __MigPackStructs #pragma pack(4) #endif typedef struct { mach_msg_header_t Head; NDR_record_t NDR; kern_return_t RetCode; mach_msg_type_number_t policy_infoCnt; integer_t policy_info[16]; boolean_t get_default; } __Reply __attribute__((unused)); #ifdef __MigPackStructs #pragma pack() #endif /* * typedef struct { * mach_msg_header_t Head; * NDR_record_t NDR; * kern_return_t RetCode; * } mig_reply_error_t; */ union { Request In; Reply Out; } Mess; Request *InP = &Mess.In; Reply *Out0P = &Mess.Out; Reply *Out1P = NULL; mach_msg_return_t msg_result; #ifdef __MIG_check__Reply__task_policy_get_t__defined kern_return_t check_result; #endif /* __MIG_check__Reply__task_policy_get_t__defined */ __DeclareSendRpc(3421, "task_policy_get") InP->NDR = NDR_record; InP->flavor = flavor; if (*policy_infoCnt < 16) InP->policy_infoCnt = *policy_infoCnt; else InP->policy_infoCnt = 16; InP->get_default = *get_default; InP->Head.msgh_bits = MACH_MSGH_BITS(19, MACH_MSG_TYPE_MAKE_SEND_ONCE); /* msgh_size passed as argument */ InP->Head.msgh_request_port = task; InP->Head.msgh_reply_port = mig_get_reply_port(); InP->Head.msgh_id = 3421; /* BEGIN VOUCHER CODE */ #ifdef USING_VOUCHERS if (voucher_mach_msg_set != NULL) { voucher_mach_msg_set(&InP->Head); } #endif // USING_VOUCHERS /* END VOUCHER CODE */ __BeforeSendRpc(3421, "task_policy_get") msg_result = mach_msg(&InP->Head, MACH_SEND_MSG|MACH_RCV_MSG|MACH_MSG_OPTION_NONE, (mach_msg_size_t)sizeof(Request), (mach_msg_size_t)sizeof(Reply), InP->Head.msgh_reply_port, MACH_MSG_TIMEOUT_NONE, MACH_PORT_NULL); __AfterSendRpc(3421, "task_policy_get") if (msg_result != MACH_MSG_SUCCESS) { __MachMsgErrorWithoutTimeout(msg_result); { return msg_result; } } #if defined(__MIG_check__Reply__task_policy_get_t__defined) check_result = __MIG_check__Reply__task_policy_get_t((__Reply__task_policy_get_t *)Out0P, (__Reply__task_policy_get_t **)&Out1P); if (check_result != MACH_MSG_SUCCESS) { return check_result; } #endif /* defined(__MIG_check__Reply__task_policy_get_t__defined) */ if (Out0P->policy_infoCnt > *policy_infoCnt) { (void)memcpy((char *) policy_info, (const char *) Out0P->policy_info, 4 * *policy_infoCnt); *policy_infoCnt = Out0P->policy_infoCnt; { return MIG_ARRAY_TOO_LARGE; } } (void)memcpy((char *) policy_info, (const char *) Out0P->policy_info, 4 * Out0P->policy_infoCnt); *policy_infoCnt = Out0P->policy_infoCnt; *get_default = Out1P->get_default; return KERN_SUCCESS; } #if ( __MigTypeCheck ) #if __MIG_check__Reply__task_subsystem__ #if !defined(__MIG_check__Reply__task_sample_t__defined) #define __MIG_check__Reply__task_sample_t__defined mig_internal kern_return_t __MIG_check__Reply__task_sample_t(__Reply__task_sample_t *Out0P) { typedef __Reply__task_sample_t __Reply __attribute__((unused)); if (Out0P->Head.msgh_id != 3522) { if (Out0P->Head.msgh_id == MACH_NOTIFY_SEND_ONCE) { return MIG_SERVER_DIED; } else { return MIG_REPLY_MISMATCH; } } #if __MigTypeCheck if ((Out0P->Head.msgh_bits & MACH_MSGH_BITS_COMPLEX) || (Out0P->Head.msgh_size != (mach_msg_size_t)sizeof(__Reply))) { return MIG_TYPE_ERROR ; } #endif /* __MigTypeCheck */ { return Out0P->RetCode; } } #endif /* !defined(__MIG_check__Reply__task_sample_t__defined) */ #endif /* __MIG_check__Reply__task_subsystem__ */ #endif /* ( __MigTypeCheck ) */ /* Routine task_sample */ mig_external kern_return_t task_sample ( task_t task, mach_port_t reply ) { #ifdef __MigPackStructs #pragma pack(4) #endif typedef struct { mach_msg_header_t Head; /* start of the kernel processed data */ mach_msg_body_t msgh_body; mach_msg_port_descriptor_t reply; /* end of the kernel processed data */ } Request __attribute__((unused)); #ifdef __MigPackStructs #pragma pack() #endif #ifdef __MigPackStructs #pragma pack(4) #endif typedef struct { mach_msg_header_t Head; NDR_record_t NDR; kern_return_t RetCode; mach_msg_trailer_t trailer; } Reply __attribute__((unused)); #ifdef __MigPackStructs #pragma pack() #endif #ifdef __MigPackStructs #pragma pack(4) #endif typedef struct { mach_msg_header_t Head; NDR_record_t NDR; kern_return_t RetCode; } __Reply __attribute__((unused)); #ifdef __MigPackStructs #pragma pack() #endif /* * typedef struct { * mach_msg_header_t Head; * NDR_record_t NDR; * kern_return_t RetCode; * } mig_reply_error_t; */ union { Request In; Reply Out; } Mess; Request *InP = &Mess.In; Reply *Out0P = &Mess.Out; mach_msg_return_t msg_result; #ifdef __MIG_check__Reply__task_sample_t__defined kern_return_t check_result; #endif /* __MIG_check__Reply__task_sample_t__defined */ __DeclareSendRpc(3422, "task_sample") #if UseStaticTemplates const static mach_msg_port_descriptor_t replyTemplate = { /* name = */ MACH_PORT_NULL, /* pad1 = */ 0, /* pad2 = */ 0, /* disp = */ 20, /* type = */ MACH_MSG_PORT_DESCRIPTOR, }; #endif /* UseStaticTemplates */ InP->msgh_body.msgh_descriptor_count = 1; #if UseStaticTemplates InP->reply = replyTemplate; InP->reply.name = reply; #else /* UseStaticTemplates */ InP->reply.name = reply; InP->reply.disposition = 20; InP->reply.type = MACH_MSG_PORT_DESCRIPTOR; #endif /* UseStaticTemplates */ InP->Head.msgh_bits = MACH_MSGH_BITS_COMPLEX| MACH_MSGH_BITS(19, MACH_MSG_TYPE_MAKE_SEND_ONCE); /* msgh_size passed as argument */ InP->Head.msgh_request_port = task; InP->Head.msgh_reply_port = mig_get_reply_port(); InP->Head.msgh_id = 3422; /* BEGIN VOUCHER CODE */ #ifdef USING_VOUCHERS if (voucher_mach_msg_set != NULL) { voucher_mach_msg_set(&InP->Head); } #endif // USING_VOUCHERS /* END VOUCHER CODE */ __BeforeSendRpc(3422, "task_sample") msg_result = mach_msg(&InP->Head, MACH_SEND_MSG|MACH_RCV_MSG|MACH_MSG_OPTION_NONE, (mach_msg_size_t)sizeof(Request), (mach_msg_size_t)sizeof(Reply), InP->Head.msgh_reply_port, MACH_MSG_TIMEOUT_NONE, MACH_PORT_NULL); __AfterSendRpc(3422, "task_sample") if (msg_result != MACH_MSG_SUCCESS) { __MachMsgErrorWithoutTimeout(msg_result); { return msg_result; } } #if defined(__MIG_check__Reply__task_sample_t__defined) check_result = __MIG_check__Reply__task_sample_t((__Reply__task_sample_t *)Out0P); if (check_result != MACH_MSG_SUCCESS) { return check_result; } #endif /* defined(__MIG_check__Reply__task_sample_t__defined) */ return KERN_SUCCESS; } #if ( __MigTypeCheck ) #if __MIG_check__Reply__task_subsystem__ #if !defined(__MIG_check__Reply__task_policy_t__defined) #define __MIG_check__Reply__task_policy_t__defined mig_internal kern_return_t __MIG_check__Reply__task_policy_t(__Reply__task_policy_t *Out0P) { typedef __Reply__task_policy_t __Reply __attribute__((unused)); if (Out0P->Head.msgh_id != 3523) { if (Out0P->Head.msgh_id == MACH_NOTIFY_SEND_ONCE) { return MIG_SERVER_DIED; } else { return MIG_REPLY_MISMATCH; } } #if __MigTypeCheck if ((Out0P->Head.msgh_bits & MACH_MSGH_BITS_COMPLEX) || (Out0P->Head.msgh_size != (mach_msg_size_t)sizeof(__Reply))) { return MIG_TYPE_ERROR ; } #endif /* __MigTypeCheck */ { return Out0P->RetCode; } } #endif /* !defined(__MIG_check__Reply__task_policy_t__defined) */ #endif /* __MIG_check__Reply__task_subsystem__ */ #endif /* ( __MigTypeCheck ) */ /* Routine task_policy */ mig_external kern_return_t task_policy ( task_t task, policy_t policy, policy_base_t base, mach_msg_type_number_t baseCnt, boolean_t set_limit, boolean_t change ) { #ifdef __MigPackStructs #pragma pack(4) #endif typedef struct { mach_msg_header_t Head; NDR_record_t NDR; policy_t policy; mach_msg_type_number_t baseCnt; integer_t base[5]; boolean_t set_limit; boolean_t change; } Request __attribute__((unused)); #ifdef __MigPackStructs #pragma pack() #endif #ifdef __MigPackStructs #pragma pack(4) #endif typedef struct { mach_msg_header_t Head; NDR_record_t NDR; kern_return_t RetCode; mach_msg_trailer_t trailer; } Reply __attribute__((unused)); #ifdef __MigPackStructs #pragma pack() #endif #ifdef __MigPackStructs #pragma pack(4) #endif typedef struct { mach_msg_header_t Head; NDR_record_t NDR; kern_return_t RetCode; } __Reply __attribute__((unused)); #ifdef __MigPackStructs #pragma pack() #endif /* * typedef struct { * mach_msg_header_t Head; * NDR_record_t NDR; * kern_return_t RetCode; * } mig_reply_error_t; */ union { Request In; Reply Out; } Mess; Request *InP = &Mess.In; Reply *Out0P = &Mess.Out; mach_msg_return_t msg_result; unsigned int msgh_size; unsigned int msgh_size_delta; #ifdef __MIG_check__Reply__task_policy_t__defined kern_return_t check_result; #endif /* __MIG_check__Reply__task_policy_t__defined */ __DeclareSendRpc(3423, "task_policy") InP->NDR = NDR_record; InP->policy = policy; if (baseCnt > 5) { { return MIG_ARRAY_TOO_LARGE; } } (void)memcpy((char *) InP->base, (const char *) base, 4 * baseCnt); InP->baseCnt = baseCnt; msgh_size_delta = (4 * baseCnt); msgh_size = (mach_msg_size_t)(sizeof(Request) - 20) + msgh_size_delta; InP = (Request *) ((pointer_t) InP + msgh_size_delta - 20); InP->set_limit = set_limit; InP->change = change; InP = &Mess.In; InP->Head.msgh_bits = MACH_MSGH_BITS(19, MACH_MSG_TYPE_MAKE_SEND_ONCE); /* msgh_size passed as argument */ InP->Head.msgh_request_port = task; InP->Head.msgh_reply_port = mig_get_reply_port(); InP->Head.msgh_id = 3423; /* BEGIN VOUCHER CODE */ #ifdef USING_VOUCHERS if (voucher_mach_msg_set != NULL) { voucher_mach_msg_set(&InP->Head); } #endif // USING_VOUCHERS /* END VOUCHER CODE */ __BeforeSendRpc(3423, "task_policy") msg_result = mach_msg(&InP->Head, MACH_SEND_MSG|MACH_RCV_MSG|MACH_MSG_OPTION_NONE, msgh_size, (mach_msg_size_t)sizeof(Reply), InP->Head.msgh_reply_port, MACH_MSG_TIMEOUT_NONE, MACH_PORT_NULL); __AfterSendRpc(3423, "task_policy") if (msg_result != MACH_MSG_SUCCESS) { __MachMsgErrorWithoutTimeout(msg_result); { return msg_result; } } #if defined(__MIG_check__Reply__task_policy_t__defined) check_result = __MIG_check__Reply__task_policy_t((__Reply__task_policy_t *)Out0P); if (check_result != MACH_MSG_SUCCESS) { return check_result; } #endif /* defined(__MIG_check__Reply__task_policy_t__defined) */ return KERN_SUCCESS; } #if ( __MigTypeCheck ) #if __MIG_check__Reply__task_subsystem__ #if !defined(__MIG_check__Reply__task_set_emulation_t__defined) #define __MIG_check__Reply__task_set_emulation_t__defined mig_internal kern_return_t __MIG_check__Reply__task_set_emulation_t(__Reply__task_set_emulation_t *Out0P) { typedef __Reply__task_set_emulation_t __Reply __attribute__((unused)); if (Out0P->Head.msgh_id != 3524) { if (Out0P->Head.msgh_id == MACH_NOTIFY_SEND_ONCE) { return MIG_SERVER_DIED; } else { return MIG_REPLY_MISMATCH; } } #if __MigTypeCheck if ((Out0P->Head.msgh_bits & MACH_MSGH_BITS_COMPLEX) || (Out0P->Head.msgh_size != (mach_msg_size_t)sizeof(__Reply))) { return MIG_TYPE_ERROR ; } #endif /* __MigTypeCheck */ { return Out0P->RetCode; } } #endif /* !defined(__MIG_check__Reply__task_set_emulation_t__defined) */ #endif /* __MIG_check__Reply__task_subsystem__ */ #endif /* ( __MigTypeCheck ) */ /* Routine task_set_emulation */ mig_external kern_return_t task_set_emulation ( task_t target_port, vm_address_t routine_entry_pt, int routine_number ) { #ifdef __MigPackStructs #pragma pack(4) #endif typedef struct { mach_msg_header_t Head; NDR_record_t NDR; vm_address_t routine_entry_pt; int routine_number; } Request __attribute__((unused)); #ifdef __MigPackStructs #pragma pack() #endif #ifdef __MigPackStructs #pragma pack(4) #endif typedef struct { mach_msg_header_t Head; NDR_record_t NDR; kern_return_t RetCode; mach_msg_trailer_t trailer; } Reply __attribute__((unused)); #ifdef __MigPackStructs #pragma pack() #endif #ifdef __MigPackStructs #pragma pack(4) #endif typedef struct { mach_msg_header_t Head; NDR_record_t NDR; kern_return_t RetCode; } __Reply __attribute__((unused)); #ifdef __MigPackStructs #pragma pack() #endif /* * typedef struct { * mach_msg_header_t Head; * NDR_record_t NDR; * kern_return_t RetCode; * } mig_reply_error_t; */ union { Request In; Reply Out; } Mess; Request *InP = &Mess.In; Reply *Out0P = &Mess.Out; mach_msg_return_t msg_result; #ifdef __MIG_check__Reply__task_set_emulation_t__defined kern_return_t check_result; #endif /* __MIG_check__Reply__task_set_emulation_t__defined */ __DeclareSendRpc(3424, "task_set_emulation") InP->NDR = NDR_record; InP->routine_entry_pt = routine_entry_pt; InP->routine_number = routine_number; InP->Head.msgh_bits = MACH_MSGH_BITS(19, MACH_MSG_TYPE_MAKE_SEND_ONCE); /* msgh_size passed as argument */ InP->Head.msgh_request_port = target_port; InP->Head.msgh_reply_port = mig_get_reply_port(); InP->Head.msgh_id = 3424; /* BEGIN VOUCHER CODE */ #ifdef USING_VOUCHERS if (voucher_mach_msg_set != NULL) { voucher_mach_msg_set(&InP->Head); } #endif // USING_VOUCHERS /* END VOUCHER CODE */ __BeforeSendRpc(3424, "task_set_emulation") msg_result = mach_msg(&InP->Head, MACH_SEND_MSG|MACH_RCV_MSG|MACH_MSG_OPTION_NONE, (mach_msg_size_t)sizeof(Request), (mach_msg_size_t)sizeof(Reply), InP->Head.msgh_reply_port, MACH_MSG_TIMEOUT_NONE, MACH_PORT_NULL); __AfterSendRpc(3424, "task_set_emulation") if (msg_result != MACH_MSG_SUCCESS) { __MachMsgErrorWithoutTimeout(msg_result); { return msg_result; } } #if defined(__MIG_check__Reply__task_set_emulation_t__defined) check_result = __MIG_check__Reply__task_set_emulation_t((__Reply__task_set_emulation_t *)Out0P); if (check_result != MACH_MSG_SUCCESS) { return check_result; } #endif /* defined(__MIG_check__Reply__task_set_emulation_t__defined) */ return KERN_SUCCESS; } #if ( __MigTypeCheck ) #if __MIG_check__Reply__task_subsystem__ #if !defined(__MIG_check__Reply__task_get_emulation_vector_t__defined) #define __MIG_check__Reply__task_get_emulation_vector_t__defined mig_internal kern_return_t __MIG_check__Reply__task_get_emulation_vector_t(__Reply__task_get_emulation_vector_t *Out0P) { typedef __Reply__task_get_emulation_vector_t __Reply __attribute__((unused)); boolean_t msgh_simple; #if __MigTypeCheck unsigned int msgh_size; #endif /* __MigTypeCheck */ if (Out0P->Head.msgh_id != 3525) { if (Out0P->Head.msgh_id == MACH_NOTIFY_SEND_ONCE) { return MIG_SERVER_DIED; } else { return MIG_REPLY_MISMATCH; } } msgh_simple = !(Out0P->Head.msgh_bits & MACH_MSGH_BITS_COMPLEX); #if __MigTypeCheck msgh_size = Out0P->Head.msgh_size; if ((msgh_simple || Out0P->msgh_body.msgh_descriptor_count != 1 || msgh_size != (mach_msg_size_t)sizeof(__Reply)) && (!msgh_simple || msgh_size != (mach_msg_size_t)sizeof(mig_reply_error_t) || ((mig_reply_error_t *)Out0P)->RetCode == KERN_SUCCESS)) { return MIG_TYPE_ERROR ; } #endif /* __MigTypeCheck */ if (msgh_simple) { return ((mig_reply_error_t *)Out0P)->RetCode; } #if __MigTypeCheck if (Out0P->emulation_vector.type != MACH_MSG_OOL_DESCRIPTOR) { return MIG_TYPE_ERROR; } #endif /* __MigTypeCheck */ return MACH_MSG_SUCCESS; } #endif /* !defined(__MIG_check__Reply__task_get_emulation_vector_t__defined) */ #endif /* __MIG_check__Reply__task_subsystem__ */ #endif /* ( __MigTypeCheck ) */ /* Routine task_get_emulation_vector */ mig_external kern_return_t task_get_emulation_vector ( task_t task, int *vector_start, emulation_vector_t *emulation_vector, mach_msg_type_number_t *emulation_vectorCnt ) { #ifdef __MigPackStructs #pragma pack(4) #endif typedef struct { mach_msg_header_t Head; } Request __attribute__((unused)); #ifdef __MigPackStructs #pragma pack() #endif #ifdef __MigPackStructs #pragma pack(4) #endif typedef struct { mach_msg_header_t Head; /* start of the kernel processed data */ mach_msg_body_t msgh_body; mach_msg_ool_descriptor_t emulation_vector; /* end of the kernel processed data */ NDR_record_t NDR; int vector_start; mach_msg_type_number_t emulation_vectorCnt; mach_msg_trailer_t trailer; } Reply __attribute__((unused)); #ifdef __MigPackStructs #pragma pack() #endif #ifdef __MigPackStructs #pragma pack(4) #endif typedef struct { mach_msg_header_t Head; /* start of the kernel processed data */ mach_msg_body_t msgh_body; mach_msg_ool_descriptor_t emulation_vector; /* end of the kernel processed data */ NDR_record_t NDR; int vector_start; mach_msg_type_number_t emulation_vectorCnt; } __Reply __attribute__((unused)); #ifdef __MigPackStructs #pragma pack() #endif /* * typedef struct { * mach_msg_header_t Head; * NDR_record_t NDR; * kern_return_t RetCode; * } mig_reply_error_t; */ union { Request In; Reply Out; } Mess; Request *InP = &Mess.In; Reply *Out0P = &Mess.Out; mach_msg_return_t msg_result; #ifdef __MIG_check__Reply__task_get_emulation_vector_t__defined kern_return_t check_result; #endif /* __MIG_check__Reply__task_get_emulation_vector_t__defined */ __DeclareSendRpc(3425, "task_get_emulation_vector") InP->Head.msgh_bits = MACH_MSGH_BITS(19, MACH_MSG_TYPE_MAKE_SEND_ONCE); /* msgh_size passed as argument */ InP->Head.msgh_request_port = task; InP->Head.msgh_reply_port = mig_get_reply_port(); InP->Head.msgh_id = 3425; /* BEGIN VOUCHER CODE */ #ifdef USING_VOUCHERS if (voucher_mach_msg_set != NULL) { voucher_mach_msg_set(&InP->Head); } #endif // USING_VOUCHERS /* END VOUCHER CODE */ __BeforeSendRpc(3425, "task_get_emulation_vector") msg_result = mach_msg(&InP->Head, MACH_SEND_MSG|MACH_RCV_MSG|MACH_MSG_OPTION_NONE, (mach_msg_size_t)sizeof(Request), (mach_msg_size_t)sizeof(Reply), InP->Head.msgh_reply_port, MACH_MSG_TIMEOUT_NONE, MACH_PORT_NULL); __AfterSendRpc(3425, "task_get_emulation_vector") if (msg_result != MACH_MSG_SUCCESS) { __MachMsgErrorWithoutTimeout(msg_result); { return msg_result; } } #if defined(__MIG_check__Reply__task_get_emulation_vector_t__defined) check_result = __MIG_check__Reply__task_get_emulation_vector_t((__Reply__task_get_emulation_vector_t *)Out0P); if (check_result != MACH_MSG_SUCCESS) { return check_result; } #endif /* defined(__MIG_check__Reply__task_get_emulation_vector_t__defined) */ *vector_start = Out0P->vector_start; *emulation_vector = (emulation_vector_t)(Out0P->emulation_vector.address); *emulation_vectorCnt = Out0P->emulation_vectorCnt; return KERN_SUCCESS; } #if ( __MigTypeCheck ) #if __MIG_check__Reply__task_subsystem__ #if !defined(__MIG_check__Reply__task_set_emulation_vector_t__defined) #define __MIG_check__Reply__task_set_emulation_vector_t__defined mig_internal kern_return_t __MIG_check__Reply__task_set_emulation_vector_t(__Reply__task_set_emulation_vector_t *Out0P) { typedef __Reply__task_set_emulation_vector_t __Reply __attribute__((unused)); if (Out0P->Head.msgh_id != 3526) { if (Out0P->Head.msgh_id == MACH_NOTIFY_SEND_ONCE) { return MIG_SERVER_DIED; } else { return MIG_REPLY_MISMATCH; } } #if __MigTypeCheck if ((Out0P->Head.msgh_bits & MACH_MSGH_BITS_COMPLEX) || (Out0P->Head.msgh_size != (mach_msg_size_t)sizeof(__Reply))) { return MIG_TYPE_ERROR ; } #endif /* __MigTypeCheck */ { return Out0P->RetCode; } } #endif /* !defined(__MIG_check__Reply__task_set_emulation_vector_t__defined) */ #endif /* __MIG_check__Reply__task_subsystem__ */ #endif /* ( __MigTypeCheck ) */ /* Routine task_set_emulation_vector */ mig_external kern_return_t task_set_emulation_vector ( task_t task, int vector_start, emulation_vector_t emulation_vector, mach_msg_type_number_t emulation_vectorCnt ) { #ifdef __MigPackStructs #pragma pack(4) #endif typedef struct { mach_msg_header_t Head; /* start of the kernel processed data */ mach_msg_body_t msgh_body; mach_msg_ool_descriptor_t emulation_vector; /* end of the kernel processed data */ NDR_record_t NDR; int vector_start; mach_msg_type_number_t emulation_vectorCnt; } Request __attribute__((unused)); #ifdef __MigPackStructs #pragma pack() #endif #ifdef __MigPackStructs #pragma pack(4) #endif typedef struct { mach_msg_header_t Head; NDR_record_t NDR; kern_return_t RetCode; mach_msg_trailer_t trailer; } Reply __attribute__((unused)); #ifdef __MigPackStructs #pragma pack() #endif #ifdef __MigPackStructs #pragma pack(4) #endif typedef struct { mach_msg_header_t Head; NDR_record_t NDR; kern_return_t RetCode; } __Reply __attribute__((unused)); #ifdef __MigPackStructs #pragma pack() #endif /* * typedef struct { * mach_msg_header_t Head; * NDR_record_t NDR; * kern_return_t RetCode; * } mig_reply_error_t; */ union { Request In; Reply Out; } Mess; Request *InP = &Mess.In; Reply *Out0P = &Mess.Out; mach_msg_return_t msg_result; #ifdef __MIG_check__Reply__task_set_emulation_vector_t__defined kern_return_t check_result; #endif /* __MIG_check__Reply__task_set_emulation_vector_t__defined */ __DeclareSendRpc(3426, "task_set_emulation_vector") #if UseStaticTemplates const static mach_msg_ool_descriptor_t emulation_vectorTemplate = { /* addr = */ (void *)0, /* size = */ 0, /* deal = */ FALSE, /* copy = */ MACH_MSG_VIRTUAL_COPY, /* pad2 = */ 0, /* type = */ MACH_MSG_OOL_DESCRIPTOR, }; #endif /* UseStaticTemplates */ InP->msgh_body.msgh_descriptor_count = 1; #if UseStaticTemplates InP->emulation_vector = emulation_vectorTemplate; InP->emulation_vector.address = (void *)(emulation_vector); InP->emulation_vector.size = emulation_vectorCnt * 4; #else /* UseStaticTemplates */ InP->emulation_vector.address = (void *)(emulation_vector); InP->emulation_vector.size = emulation_vectorCnt * 4; InP->emulation_vector.deallocate = FALSE; InP->emulation_vector.copy = MACH_MSG_VIRTUAL_COPY; InP->emulation_vector.type = MACH_MSG_OOL_DESCRIPTOR; #endif /* UseStaticTemplates */ InP->NDR = NDR_record; InP->vector_start = vector_start; InP->emulation_vectorCnt = emulation_vectorCnt; InP->Head.msgh_bits = MACH_MSGH_BITS_COMPLEX| MACH_MSGH_BITS(19, MACH_MSG_TYPE_MAKE_SEND_ONCE); /* msgh_size passed as argument */ InP->Head.msgh_request_port = task; InP->Head.msgh_reply_port = mig_get_reply_port(); InP->Head.msgh_id = 3426; /* BEGIN VOUCHER CODE */ #ifdef USING_VOUCHERS if (voucher_mach_msg_set != NULL) { voucher_mach_msg_set(&InP->Head); } #endif // USING_VOUCHERS /* END VOUCHER CODE */ __BeforeSendRpc(3426, "task_set_emulation_vector") msg_result = mach_msg(&InP->Head, MACH_SEND_MSG|MACH_RCV_MSG|MACH_MSG_OPTION_NONE, (mach_msg_size_t)sizeof(Request), (mach_msg_size_t)sizeof(Reply), InP->Head.msgh_reply_port, MACH_MSG_TIMEOUT_NONE, MACH_PORT_NULL); __AfterSendRpc(3426, "task_set_emulation_vector") if (msg_result != MACH_MSG_SUCCESS) { __MachMsgErrorWithoutTimeout(msg_result); { return msg_result; } } #if defined(__MIG_check__Reply__task_set_emulation_vector_t__defined) check_result = __MIG_check__Reply__task_set_emulation_vector_t((__Reply__task_set_emulation_vector_t *)Out0P); if (check_result != MACH_MSG_SUCCESS) { return check_result; } #endif /* defined(__MIG_check__Reply__task_set_emulation_vector_t__defined) */ return KERN_SUCCESS; } #if ( __MigTypeCheck ) #if __MIG_check__Reply__task_subsystem__ #if !defined(__MIG_check__Reply__task_set_ras_pc_t__defined) #define __MIG_check__Reply__task_set_ras_pc_t__defined mig_internal kern_return_t __MIG_check__Reply__task_set_ras_pc_t(__Reply__task_set_ras_pc_t *Out0P) { typedef __Reply__task_set_ras_pc_t __Reply __attribute__((unused)); if (Out0P->Head.msgh_id != 3527) { if (Out0P->Head.msgh_id == MACH_NOTIFY_SEND_ONCE) { return MIG_SERVER_DIED; } else { return MIG_REPLY_MISMATCH; } } #if __MigTypeCheck if ((Out0P->Head.msgh_bits & MACH_MSGH_BITS_COMPLEX) || (Out0P->Head.msgh_size != (mach_msg_size_t)sizeof(__Reply))) { return MIG_TYPE_ERROR ; } #endif /* __MigTypeCheck */ { return Out0P->RetCode; } } #endif /* !defined(__MIG_check__Reply__task_set_ras_pc_t__defined) */ #endif /* __MIG_check__Reply__task_subsystem__ */ #endif /* ( __MigTypeCheck ) */ /* Routine task_set_ras_pc */ mig_external kern_return_t task_set_ras_pc ( task_t target_task, vm_address_t basepc, vm_address_t boundspc ) { #ifdef __MigPackStructs #pragma pack(4) #endif typedef struct { mach_msg_header_t Head; NDR_record_t NDR; vm_address_t basepc; vm_address_t boundspc; } Request __attribute__((unused)); #ifdef __MigPackStructs #pragma pack() #endif #ifdef __MigPackStructs #pragma pack(4) #endif typedef struct { mach_msg_header_t Head; NDR_record_t NDR; kern_return_t RetCode; mach_msg_trailer_t trailer; } Reply __attribute__((unused)); #ifdef __MigPackStructs #pragma pack() #endif #ifdef __MigPackStructs #pragma pack(4) #endif typedef struct { mach_msg_header_t Head; NDR_record_t NDR; kern_return_t RetCode; } __Reply __attribute__((unused)); #ifdef __MigPackStructs #pragma pack() #endif /* * typedef struct { * mach_msg_header_t Head; * NDR_record_t NDR; * kern_return_t RetCode; * } mig_reply_error_t; */ union { Request In; Reply Out; } Mess; Request *InP = &Mess.In; Reply *Out0P = &Mess.Out; mach_msg_return_t msg_result; #ifdef __MIG_check__Reply__task_set_ras_pc_t__defined kern_return_t check_result; #endif /* __MIG_check__Reply__task_set_ras_pc_t__defined */ __DeclareSendRpc(3427, "task_set_ras_pc") InP->NDR = NDR_record; InP->basepc = basepc; InP->boundspc = boundspc; InP->Head.msgh_bits = MACH_MSGH_BITS(19, MACH_MSG_TYPE_MAKE_SEND_ONCE); /* msgh_size passed as argument */ InP->Head.msgh_request_port = target_task; InP->Head.msgh_reply_port = mig_get_reply_port(); InP->Head.msgh_id = 3427; /* BEGIN VOUCHER CODE */ #ifdef USING_VOUCHERS if (voucher_mach_msg_set != NULL) { voucher_mach_msg_set(&InP->Head); } #endif // USING_VOUCHERS /* END VOUCHER CODE */ __BeforeSendRpc(3427, "task_set_ras_pc") msg_result = mach_msg(&InP->Head, MACH_SEND_MSG|MACH_RCV_MSG|MACH_MSG_OPTION_NONE, (mach_msg_size_t)sizeof(Request), (mach_msg_size_t)sizeof(Reply), InP->Head.msgh_reply_port, MACH_MSG_TIMEOUT_NONE, MACH_PORT_NULL); __AfterSendRpc(3427, "task_set_ras_pc") if (msg_result != MACH_MSG_SUCCESS) { __MachMsgErrorWithoutTimeout(msg_result); { return msg_result; } } #if defined(__MIG_check__Reply__task_set_ras_pc_t__defined) check_result = __MIG_check__Reply__task_set_ras_pc_t((__Reply__task_set_ras_pc_t *)Out0P); if (check_result != MACH_MSG_SUCCESS) { return check_result; } #endif /* defined(__MIG_check__Reply__task_set_ras_pc_t__defined) */ return KERN_SUCCESS; } #if ( __MigTypeCheck ) #if __MIG_check__Reply__task_subsystem__ #if !defined(__MIG_check__Reply__task_zone_info_t__defined) #define __MIG_check__Reply__task_zone_info_t__defined mig_internal kern_return_t __MIG_check__Reply__task_zone_info_t(__Reply__task_zone_info_t *Out0P) { typedef __Reply__task_zone_info_t __Reply __attribute__((unused)); boolean_t msgh_simple; #if __MigTypeCheck unsigned int msgh_size; #endif /* __MigTypeCheck */ if (Out0P->Head.msgh_id != 3528) { if (Out0P->Head.msgh_id == MACH_NOTIFY_SEND_ONCE) { return MIG_SERVER_DIED; } else { return MIG_REPLY_MISMATCH; } } msgh_simple = !(Out0P->Head.msgh_bits & MACH_MSGH_BITS_COMPLEX); #if __MigTypeCheck msgh_size = Out0P->Head.msgh_size; if ((msgh_simple || Out0P->msgh_body.msgh_descriptor_count != 2 || msgh_size != (mach_msg_size_t)sizeof(__Reply)) && (!msgh_simple || msgh_size != (mach_msg_size_t)sizeof(mig_reply_error_t) || ((mig_reply_error_t *)Out0P)->RetCode == KERN_SUCCESS)) { return MIG_TYPE_ERROR ; } #endif /* __MigTypeCheck */ if (msgh_simple) { return ((mig_reply_error_t *)Out0P)->RetCode; } #if __MigTypeCheck if (Out0P->names.type != MACH_MSG_OOL_DESCRIPTOR) { return MIG_TYPE_ERROR; } #endif /* __MigTypeCheck */ #if __MigTypeCheck if (Out0P->info.type != MACH_MSG_OOL_DESCRIPTOR) { return MIG_TYPE_ERROR; } #endif /* __MigTypeCheck */ return MACH_MSG_SUCCESS; } #endif /* !defined(__MIG_check__Reply__task_zone_info_t__defined) */ #endif /* __MIG_check__Reply__task_subsystem__ */ #endif /* ( __MigTypeCheck ) */ /* Routine task_zone_info */ mig_external kern_return_t task_zone_info ( task_t target_task, mach_zone_name_array_t *names, mach_msg_type_number_t *namesCnt, task_zone_info_array_t *info, mach_msg_type_number_t *infoCnt ) { #ifdef __MigPackStructs #pragma pack(4) #endif typedef struct { mach_msg_header_t Head; } Request __attribute__((unused)); #ifdef __MigPackStructs #pragma pack() #endif #ifdef __MigPackStructs #pragma pack(4) #endif typedef struct { mach_msg_header_t Head; /* start of the kernel processed data */ mach_msg_body_t msgh_body; mach_msg_ool_descriptor_t names; mach_msg_ool_descriptor_t info; /* end of the kernel processed data */ NDR_record_t NDR; mach_msg_type_number_t namesCnt; mach_msg_type_number_t infoCnt; mach_msg_trailer_t trailer; } Reply __attribute__((unused)); #ifdef __MigPackStructs #pragma pack() #endif #ifdef __MigPackStructs #pragma pack(4) #endif typedef struct { mach_msg_header_t Head; /* start of the kernel processed data */ mach_msg_body_t msgh_body; mach_msg_ool_descriptor_t names; mach_msg_ool_descriptor_t info; /* end of the kernel processed data */ NDR_record_t NDR; mach_msg_type_number_t namesCnt; mach_msg_type_number_t infoCnt; } __Reply __attribute__((unused)); #ifdef __MigPackStructs #pragma pack() #endif /* * typedef struct { * mach_msg_header_t Head; * NDR_record_t NDR; * kern_return_t RetCode; * } mig_reply_error_t; */ union { Request In; Reply Out; } Mess; Request *InP = &Mess.In; Reply *Out0P = &Mess.Out; mach_msg_return_t msg_result; #ifdef __MIG_check__Reply__task_zone_info_t__defined kern_return_t check_result; #endif /* __MIG_check__Reply__task_zone_info_t__defined */ __DeclareSendRpc(3428, "task_zone_info") InP->Head.msgh_bits = MACH_MSGH_BITS(19, MACH_MSG_TYPE_MAKE_SEND_ONCE); /* msgh_size passed as argument */ InP->Head.msgh_request_port = target_task; InP->Head.msgh_reply_port = mig_get_reply_port(); InP->Head.msgh_id = 3428; /* BEGIN VOUCHER CODE */ #ifdef USING_VOUCHERS if (voucher_mach_msg_set != NULL) { voucher_mach_msg_set(&InP->Head); } #endif // USING_VOUCHERS /* END VOUCHER CODE */ __BeforeSendRpc(3428, "task_zone_info") msg_result = mach_msg(&InP->Head, MACH_SEND_MSG|MACH_RCV_MSG|MACH_MSG_OPTION_NONE, (mach_msg_size_t)sizeof(Request), (mach_msg_size_t)sizeof(Reply), InP->Head.msgh_reply_port, MACH_MSG_TIMEOUT_NONE, MACH_PORT_NULL); __AfterSendRpc(3428, "task_zone_info") if (msg_result != MACH_MSG_SUCCESS) { __MachMsgErrorWithoutTimeout(msg_result); { return msg_result; } } #if defined(__MIG_check__Reply__task_zone_info_t__defined) check_result = __MIG_check__Reply__task_zone_info_t((__Reply__task_zone_info_t *)Out0P); if (check_result != MACH_MSG_SUCCESS) { return check_result; } #endif /* defined(__MIG_check__Reply__task_zone_info_t__defined) */ *names = (mach_zone_name_array_t)(Out0P->names.address); *namesCnt = Out0P->namesCnt; *info = (task_zone_info_array_t)(Out0P->info.address); *infoCnt = Out0P->infoCnt; return KERN_SUCCESS; } #if ( __MigTypeCheck ) #if __MIG_check__Reply__task_subsystem__ #if !defined(__MIG_check__Reply__task_assign_t__defined) #define __MIG_check__Reply__task_assign_t__defined mig_internal kern_return_t __MIG_check__Reply__task_assign_t(__Reply__task_assign_t *Out0P) { typedef __Reply__task_assign_t __Reply __attribute__((unused)); if (Out0P->Head.msgh_id != 3529) { if (Out0P->Head.msgh_id == MACH_NOTIFY_SEND_ONCE) { return MIG_SERVER_DIED; } else { return MIG_REPLY_MISMATCH; } } #if __MigTypeCheck if ((Out0P->Head.msgh_bits & MACH_MSGH_BITS_COMPLEX) || (Out0P->Head.msgh_size != (mach_msg_size_t)sizeof(__Reply))) { return MIG_TYPE_ERROR ; } #endif /* __MigTypeCheck */ { return Out0P->RetCode; } } #endif /* !defined(__MIG_check__Reply__task_assign_t__defined) */ #endif /* __MIG_check__Reply__task_subsystem__ */ #endif /* ( __MigTypeCheck ) */ /* Routine task_assign */ mig_external kern_return_t task_assign ( task_t task, processor_set_t new_set, boolean_t assign_threads ) { #ifdef __MigPackStructs #pragma pack(4) #endif typedef struct { mach_msg_header_t Head; /* start of the kernel processed data */ mach_msg_body_t msgh_body; mach_msg_port_descriptor_t new_set; /* end of the kernel processed data */ NDR_record_t NDR; boolean_t assign_threads; } Request __attribute__((unused)); #ifdef __MigPackStructs #pragma pack() #endif #ifdef __MigPackStructs #pragma pack(4) #endif typedef struct { mach_msg_header_t Head; NDR_record_t NDR; kern_return_t RetCode; mach_msg_trailer_t trailer; } Reply __attribute__((unused)); #ifdef __MigPackStructs #pragma pack() #endif #ifdef __MigPackStructs #pragma pack(4) #endif typedef struct { mach_msg_header_t Head; NDR_record_t NDR; kern_return_t RetCode; } __Reply __attribute__((unused)); #ifdef __MigPackStructs #pragma pack() #endif /* * typedef struct { * mach_msg_header_t Head; * NDR_record_t NDR; * kern_return_t RetCode; * } mig_reply_error_t; */ union { Request In; Reply Out; } Mess; Request *InP = &Mess.In; Reply *Out0P = &Mess.Out; mach_msg_return_t msg_result; #ifdef __MIG_check__Reply__task_assign_t__defined kern_return_t check_result; #endif /* __MIG_check__Reply__task_assign_t__defined */ __DeclareSendRpc(3429, "task_assign") #if UseStaticTemplates const static mach_msg_port_descriptor_t new_setTemplate = { /* name = */ MACH_PORT_NULL, /* pad1 = */ 0, /* pad2 = */ 0, /* disp = */ 19, /* type = */ MACH_MSG_PORT_DESCRIPTOR, }; #endif /* UseStaticTemplates */ InP->msgh_body.msgh_descriptor_count = 1; #if UseStaticTemplates InP->new_set = new_setTemplate; InP->new_set.name = new_set; #else /* UseStaticTemplates */ InP->new_set.name = new_set; InP->new_set.disposition = 19; InP->new_set.type = MACH_MSG_PORT_DESCRIPTOR; #endif /* UseStaticTemplates */ InP->NDR = NDR_record; InP->assign_threads = assign_threads; InP->Head.msgh_bits = MACH_MSGH_BITS_COMPLEX| MACH_MSGH_BITS(19, MACH_MSG_TYPE_MAKE_SEND_ONCE); /* msgh_size passed as argument */ InP->Head.msgh_request_port = task; InP->Head.msgh_reply_port = mig_get_reply_port(); InP->Head.msgh_id = 3429; /* BEGIN VOUCHER CODE */ #ifdef USING_VOUCHERS if (voucher_mach_msg_set != NULL) { voucher_mach_msg_set(&InP->Head); } #endif // USING_VOUCHERS /* END VOUCHER CODE */ __BeforeSendRpc(3429, "task_assign") msg_result = mach_msg(&InP->Head, MACH_SEND_MSG|MACH_RCV_MSG|MACH_MSG_OPTION_NONE, (mach_msg_size_t)sizeof(Request), (mach_msg_size_t)sizeof(Reply), InP->Head.msgh_reply_port, MACH_MSG_TIMEOUT_NONE, MACH_PORT_NULL); __AfterSendRpc(3429, "task_assign") if (msg_result != MACH_MSG_SUCCESS) { __MachMsgErrorWithoutTimeout(msg_result); { return msg_result; } } #if defined(__MIG_check__Reply__task_assign_t__defined) check_result = __MIG_check__Reply__task_assign_t((__Reply__task_assign_t *)Out0P); if (check_result != MACH_MSG_SUCCESS) { return check_result; } #endif /* defined(__MIG_check__Reply__task_assign_t__defined) */ return KERN_SUCCESS; } #if ( __MigTypeCheck ) #if __MIG_check__Reply__task_subsystem__ #if !defined(__MIG_check__Reply__task_assign_default_t__defined) #define __MIG_check__Reply__task_assign_default_t__defined mig_internal kern_return_t __MIG_check__Reply__task_assign_default_t(__Reply__task_assign_default_t *Out0P) { typedef __Reply__task_assign_default_t __Reply __attribute__((unused)); if (Out0P->Head.msgh_id != 3530) { if (Out0P->Head.msgh_id == MACH_NOTIFY_SEND_ONCE) { return MIG_SERVER_DIED; } else { return MIG_REPLY_MISMATCH; } } #if __MigTypeCheck if ((Out0P->Head.msgh_bits & MACH_MSGH_BITS_COMPLEX) || (Out0P->Head.msgh_size != (mach_msg_size_t)sizeof(__Reply))) { return MIG_TYPE_ERROR ; } #endif /* __MigTypeCheck */ { return Out0P->RetCode; } } #endif /* !defined(__MIG_check__Reply__task_assign_default_t__defined) */ #endif /* __MIG_check__Reply__task_subsystem__ */ #endif /* ( __MigTypeCheck ) */ /* Routine task_assign_default */ mig_external kern_return_t task_assign_default ( task_t task, boolean_t assign_threads ) { #ifdef __MigPackStructs #pragma pack(4) #endif typedef struct { mach_msg_header_t Head; NDR_record_t NDR; boolean_t assign_threads; } Request __attribute__((unused)); #ifdef __MigPackStructs #pragma pack() #endif #ifdef __MigPackStructs #pragma pack(4) #endif typedef struct { mach_msg_header_t Head; NDR_record_t NDR; kern_return_t RetCode; mach_msg_trailer_t trailer; } Reply __attribute__((unused)); #ifdef __MigPackStructs #pragma pack() #endif #ifdef __MigPackStructs #pragma pack(4) #endif typedef struct { mach_msg_header_t Head; NDR_record_t NDR; kern_return_t RetCode; } __Reply __attribute__((unused)); #ifdef __MigPackStructs #pragma pack() #endif /* * typedef struct { * mach_msg_header_t Head; * NDR_record_t NDR; * kern_return_t RetCode; * } mig_reply_error_t; */ union { Request In; Reply Out; } Mess; Request *InP = &Mess.In; Reply *Out0P = &Mess.Out; mach_msg_return_t msg_result; #ifdef __MIG_check__Reply__task_assign_default_t__defined kern_return_t check_result; #endif /* __MIG_check__Reply__task_assign_default_t__defined */ __DeclareSendRpc(3430, "task_assign_default") InP->NDR = NDR_record; InP->assign_threads = assign_threads; InP->Head.msgh_bits = MACH_MSGH_BITS(19, MACH_MSG_TYPE_MAKE_SEND_ONCE); /* msgh_size passed as argument */ InP->Head.msgh_request_port = task; InP->Head.msgh_reply_port = mig_get_reply_port(); InP->Head.msgh_id = 3430; /* BEGIN VOUCHER CODE */ #ifdef USING_VOUCHERS if (voucher_mach_msg_set != NULL) { voucher_mach_msg_set(&InP->Head); } #endif // USING_VOUCHERS /* END VOUCHER CODE */ __BeforeSendRpc(3430, "task_assign_default") msg_result = mach_msg(&InP->Head, MACH_SEND_MSG|MACH_RCV_MSG|MACH_MSG_OPTION_NONE, (mach_msg_size_t)sizeof(Request), (mach_msg_size_t)sizeof(Reply), InP->Head.msgh_reply_port, MACH_MSG_TIMEOUT_NONE, MACH_PORT_NULL); __AfterSendRpc(3430, "task_assign_default") if (msg_result != MACH_MSG_SUCCESS) { __MachMsgErrorWithoutTimeout(msg_result); { return msg_result; } } #if defined(__MIG_check__Reply__task_assign_default_t__defined) check_result = __MIG_check__Reply__task_assign_default_t((__Reply__task_assign_default_t *)Out0P); if (check_result != MACH_MSG_SUCCESS) { return check_result; } #endif /* defined(__MIG_check__Reply__task_assign_default_t__defined) */ return KERN_SUCCESS; } #if ( __MigTypeCheck ) #if __MIG_check__Reply__task_subsystem__ #if !defined(__MIG_check__Reply__task_get_assignment_t__defined) #define __MIG_check__Reply__task_get_assignment_t__defined mig_internal kern_return_t __MIG_check__Reply__task_get_assignment_t(__Reply__task_get_assignment_t *Out0P) { typedef __Reply__task_get_assignment_t __Reply __attribute__((unused)); boolean_t msgh_simple; #if __MigTypeCheck unsigned int msgh_size; #endif /* __MigTypeCheck */ if (Out0P->Head.msgh_id != 3531) { if (Out0P->Head.msgh_id == MACH_NOTIFY_SEND_ONCE) { return MIG_SERVER_DIED; } else { return MIG_REPLY_MISMATCH; } } msgh_simple = !(Out0P->Head.msgh_bits & MACH_MSGH_BITS_COMPLEX); #if __MigTypeCheck msgh_size = Out0P->Head.msgh_size; if ((msgh_simple || Out0P->msgh_body.msgh_descriptor_count != 1 || msgh_size != (mach_msg_size_t)sizeof(__Reply)) && (!msgh_simple || msgh_size != (mach_msg_size_t)sizeof(mig_reply_error_t) || ((mig_reply_error_t *)Out0P)->RetCode == KERN_SUCCESS)) { return MIG_TYPE_ERROR ; } #endif /* __MigTypeCheck */ if (msgh_simple) { return ((mig_reply_error_t *)Out0P)->RetCode; } #if __MigTypeCheck if (Out0P->assigned_set.type != MACH_MSG_PORT_DESCRIPTOR || Out0P->assigned_set.disposition != 17) { return MIG_TYPE_ERROR; } #endif /* __MigTypeCheck */ return MACH_MSG_SUCCESS; } #endif /* !defined(__MIG_check__Reply__task_get_assignment_t__defined) */ #endif /* __MIG_check__Reply__task_subsystem__ */ #endif /* ( __MigTypeCheck ) */ /* Routine task_get_assignment */ mig_external kern_return_t task_get_assignment ( task_t task, processor_set_name_t *assigned_set ) { #ifdef __MigPackStructs #pragma pack(4) #endif typedef struct { mach_msg_header_t Head; } Request __attribute__((unused)); #ifdef __MigPackStructs #pragma pack() #endif #ifdef __MigPackStructs #pragma pack(4) #endif typedef struct { mach_msg_header_t Head; /* start of the kernel processed data */ mach_msg_body_t msgh_body; mach_msg_port_descriptor_t assigned_set; /* end of the kernel processed data */ mach_msg_trailer_t trailer; } Reply __attribute__((unused)); #ifdef __MigPackStructs #pragma pack() #endif #ifdef __MigPackStructs #pragma pack(4) #endif typedef struct { mach_msg_header_t Head; /* start of the kernel processed data */ mach_msg_body_t msgh_body; mach_msg_port_descriptor_t assigned_set; /* end of the kernel processed data */ } __Reply __attribute__((unused)); #ifdef __MigPackStructs #pragma pack() #endif /* * typedef struct { * mach_msg_header_t Head; * NDR_record_t NDR; * kern_return_t RetCode; * } mig_reply_error_t; */ union { Request In; Reply Out; } Mess; Request *InP = &Mess.In; Reply *Out0P = &Mess.Out; mach_msg_return_t msg_result; #ifdef __MIG_check__Reply__task_get_assignment_t__defined kern_return_t check_result; #endif /* __MIG_check__Reply__task_get_assignment_t__defined */ __DeclareSendRpc(3431, "task_get_assignment") InP->Head.msgh_bits = MACH_MSGH_BITS(19, MACH_MSG_TYPE_MAKE_SEND_ONCE); /* msgh_size passed as argument */ InP->Head.msgh_request_port = task; InP->Head.msgh_reply_port = mig_get_reply_port(); InP->Head.msgh_id = 3431; /* BEGIN VOUCHER CODE */ #ifdef USING_VOUCHERS if (voucher_mach_msg_set != NULL) { voucher_mach_msg_set(&InP->Head); } #endif // USING_VOUCHERS /* END VOUCHER CODE */ __BeforeSendRpc(3431, "task_get_assignment") msg_result = mach_msg(&InP->Head, MACH_SEND_MSG|MACH_RCV_MSG|MACH_MSG_OPTION_NONE, (mach_msg_size_t)sizeof(Request), (mach_msg_size_t)sizeof(Reply), InP->Head.msgh_reply_port, MACH_MSG_TIMEOUT_NONE, MACH_PORT_NULL); __AfterSendRpc(3431, "task_get_assignment") if (msg_result != MACH_MSG_SUCCESS) { __MachMsgErrorWithoutTimeout(msg_result); { return msg_result; } } #if defined(__MIG_check__Reply__task_get_assignment_t__defined) check_result = __MIG_check__Reply__task_get_assignment_t((__Reply__task_get_assignment_t *)Out0P); if (check_result != MACH_MSG_SUCCESS) { return check_result; } #endif /* defined(__MIG_check__Reply__task_get_assignment_t__defined) */ *assigned_set = Out0P->assigned_set.name; return KERN_SUCCESS; } #if ( __MigTypeCheck ) #if __MIG_check__Reply__task_subsystem__ #if !defined(__MIG_check__Reply__task_set_policy_t__defined) #define __MIG_check__Reply__task_set_policy_t__defined mig_internal kern_return_t __MIG_check__Reply__task_set_policy_t(__Reply__task_set_policy_t *Out0P) { typedef __Reply__task_set_policy_t __Reply __attribute__((unused)); if (Out0P->Head.msgh_id != 3532) { if (Out0P->Head.msgh_id == MACH_NOTIFY_SEND_ONCE) { return MIG_SERVER_DIED; } else { return MIG_REPLY_MISMATCH; } } #if __MigTypeCheck if ((Out0P->Head.msgh_bits & MACH_MSGH_BITS_COMPLEX) || (Out0P->Head.msgh_size != (mach_msg_size_t)sizeof(__Reply))) { return MIG_TYPE_ERROR ; } #endif /* __MigTypeCheck */ { return Out0P->RetCode; } } #endif /* !defined(__MIG_check__Reply__task_set_policy_t__defined) */ #endif /* __MIG_check__Reply__task_subsystem__ */ #endif /* ( __MigTypeCheck ) */ /* Routine task_set_policy */ mig_external kern_return_t task_set_policy ( task_t task, processor_set_t pset, policy_t policy, policy_base_t base, mach_msg_type_number_t baseCnt, policy_limit_t limit, mach_msg_type_number_t limitCnt, boolean_t change ) { #ifdef __MigPackStructs #pragma pack(4) #endif typedef struct { mach_msg_header_t Head; /* start of the kernel processed data */ mach_msg_body_t msgh_body; mach_msg_port_descriptor_t pset; /* end of the kernel processed data */ NDR_record_t NDR; policy_t policy; mach_msg_type_number_t baseCnt; integer_t base[5]; mach_msg_type_number_t limitCnt; integer_t limit[1]; boolean_t change; } Request __attribute__((unused)); #ifdef __MigPackStructs #pragma pack() #endif #ifdef __MigPackStructs #pragma pack(4) #endif typedef struct { mach_msg_header_t Head; NDR_record_t NDR; kern_return_t RetCode; mach_msg_trailer_t trailer; } Reply __attribute__((unused)); #ifdef __MigPackStructs #pragma pack() #endif #ifdef __MigPackStructs #pragma pack(4) #endif typedef struct { mach_msg_header_t Head; NDR_record_t NDR; kern_return_t RetCode; } __Reply __attribute__((unused)); #ifdef __MigPackStructs #pragma pack() #endif /* * typedef struct { * mach_msg_header_t Head; * NDR_record_t NDR; * kern_return_t RetCode; * } mig_reply_error_t; */ union { Request In; Reply Out; } Mess; Request *InP = &Mess.In; Reply *Out0P = &Mess.Out; mach_msg_return_t msg_result; unsigned int msgh_size; unsigned int msgh_size_delta; #ifdef __MIG_check__Reply__task_set_policy_t__defined kern_return_t check_result; #endif /* __MIG_check__Reply__task_set_policy_t__defined */ __DeclareSendRpc(3432, "task_set_policy") #if UseStaticTemplates const static mach_msg_port_descriptor_t psetTemplate = { /* name = */ MACH_PORT_NULL, /* pad1 = */ 0, /* pad2 = */ 0, /* disp = */ 19, /* type = */ MACH_MSG_PORT_DESCRIPTOR, }; #endif /* UseStaticTemplates */ InP->msgh_body.msgh_descriptor_count = 1; #if UseStaticTemplates InP->pset = psetTemplate; InP->pset.name = pset; #else /* UseStaticTemplates */ InP->pset.name = pset; InP->pset.disposition = 19; InP->pset.type = MACH_MSG_PORT_DESCRIPTOR; #endif /* UseStaticTemplates */ InP->NDR = NDR_record; InP->policy = policy; if (baseCnt > 5) { { return MIG_ARRAY_TOO_LARGE; } } (void)memcpy((char *) InP->base, (const char *) base, 4 * baseCnt); InP->baseCnt = baseCnt; msgh_size_delta = (4 * baseCnt); msgh_size = (mach_msg_size_t)(sizeof(Request) - 24) + msgh_size_delta; InP = (Request *) ((pointer_t) InP + msgh_size_delta - 20); if (limitCnt > 1) { { return MIG_ARRAY_TOO_LARGE; } } (void)memcpy((char *) InP->limit, (const char *) limit, 4 * limitCnt); InP->limitCnt = limitCnt; msgh_size_delta = (4 * limitCnt); msgh_size += msgh_size_delta; InP = (Request *) ((pointer_t) InP + msgh_size_delta - 4); InP->change = change; InP = &Mess.In; InP->Head.msgh_bits = MACH_MSGH_BITS_COMPLEX| MACH_MSGH_BITS(19, MACH_MSG_TYPE_MAKE_SEND_ONCE); /* msgh_size passed as argument */ InP->Head.msgh_request_port = task; InP->Head.msgh_reply_port = mig_get_reply_port(); InP->Head.msgh_id = 3432; /* BEGIN VOUCHER CODE */ #ifdef USING_VOUCHERS if (voucher_mach_msg_set != NULL) { voucher_mach_msg_set(&InP->Head); } #endif // USING_VOUCHERS /* END VOUCHER CODE */ __BeforeSendRpc(3432, "task_set_policy") msg_result = mach_msg(&InP->Head, MACH_SEND_MSG|MACH_RCV_MSG|MACH_MSG_OPTION_NONE, msgh_size, (mach_msg_size_t)sizeof(Reply), InP->Head.msgh_reply_port, MACH_MSG_TIMEOUT_NONE, MACH_PORT_NULL); __AfterSendRpc(3432, "task_set_policy") if (msg_result != MACH_MSG_SUCCESS) { __MachMsgErrorWithoutTimeout(msg_result); { return msg_result; } } #if defined(__MIG_check__Reply__task_set_policy_t__defined) check_result = __MIG_check__Reply__task_set_policy_t((__Reply__task_set_policy_t *)Out0P); if (check_result != MACH_MSG_SUCCESS) { return check_result; } #endif /* defined(__MIG_check__Reply__task_set_policy_t__defined) */ return KERN_SUCCESS; } #if ( __MigTypeCheck ) #if __MIG_check__Reply__task_subsystem__ #if !defined(__MIG_check__Reply__task_get_state_t__defined) #define __MIG_check__Reply__task_get_state_t__defined mig_internal kern_return_t __MIG_check__Reply__task_get_state_t(__Reply__task_get_state_t *Out0P) { typedef __Reply__task_get_state_t __Reply __attribute__((unused)); #if __MigTypeCheck unsigned int msgh_size; #endif /* __MigTypeCheck */ if (Out0P->Head.msgh_id != 3533) { if (Out0P->Head.msgh_id == MACH_NOTIFY_SEND_ONCE) { return MIG_SERVER_DIED; } else { return MIG_REPLY_MISMATCH; } } #if __MigTypeCheck msgh_size = Out0P->Head.msgh_size; if ((Out0P->Head.msgh_bits & MACH_MSGH_BITS_COMPLEX) || ((msgh_size > (mach_msg_size_t)sizeof(__Reply) || msgh_size < (mach_msg_size_t)(sizeof(__Reply) - 896)) && (msgh_size != (mach_msg_size_t)sizeof(mig_reply_error_t) || Out0P->RetCode == KERN_SUCCESS))) { return MIG_TYPE_ERROR ; } #endif /* __MigTypeCheck */ if (Out0P->RetCode != KERN_SUCCESS) { return ((mig_reply_error_t *)Out0P)->RetCode; } #if __MigTypeCheck if ( Out0P->old_stateCnt > 224 ) return MIG_TYPE_ERROR; if (((msgh_size - (mach_msg_size_t)(sizeof(__Reply) - 896)) / 4< Out0P->old_stateCnt) || (msgh_size != (mach_msg_size_t)(sizeof(__Reply) - 896) + Out0P->old_stateCnt * 4)) { return MIG_TYPE_ERROR ; } #endif /* __MigTypeCheck */ return MACH_MSG_SUCCESS; } #endif /* !defined(__MIG_check__Reply__task_get_state_t__defined) */ #endif /* __MIG_check__Reply__task_subsystem__ */ #endif /* ( __MigTypeCheck ) */ /* Routine task_get_state */ mig_external kern_return_t task_get_state ( task_t task, thread_state_flavor_t flavor, thread_state_t old_state, mach_msg_type_number_t *old_stateCnt ) { #ifdef __MigPackStructs #pragma pack(4) #endif typedef struct { mach_msg_header_t Head; NDR_record_t NDR; thread_state_flavor_t flavor; mach_msg_type_number_t old_stateCnt; } Request __attribute__((unused)); #ifdef __MigPackStructs #pragma pack() #endif #ifdef __MigPackStructs #pragma pack(4) #endif typedef struct { mach_msg_header_t Head; NDR_record_t NDR; kern_return_t RetCode; mach_msg_type_number_t old_stateCnt; natural_t old_state[224]; mach_msg_trailer_t trailer; } Reply __attribute__((unused)); #ifdef __MigPackStructs #pragma pack() #endif #ifdef __MigPackStructs #pragma pack(4) #endif typedef struct { mach_msg_header_t Head; NDR_record_t NDR; kern_return_t RetCode; mach_msg_type_number_t old_stateCnt; natural_t old_state[224]; } __Reply __attribute__((unused)); #ifdef __MigPackStructs #pragma pack() #endif /* * typedef struct { * mach_msg_header_t Head; * NDR_record_t NDR; * kern_return_t RetCode; * } mig_reply_error_t; */ union { Request In; Reply Out; } Mess; Request *InP = &Mess.In; Reply *Out0P = &Mess.Out; mach_msg_return_t msg_result; #ifdef __MIG_check__Reply__task_get_state_t__defined kern_return_t check_result; #endif /* __MIG_check__Reply__task_get_state_t__defined */ __DeclareSendRpc(3433, "task_get_state") InP->NDR = NDR_record; InP->flavor = flavor; if (*old_stateCnt < 224) InP->old_stateCnt = *old_stateCnt; else InP->old_stateCnt = 224; InP->Head.msgh_bits = MACH_MSGH_BITS(19, MACH_MSG_TYPE_MAKE_SEND_ONCE); /* msgh_size passed as argument */ InP->Head.msgh_request_port = task; InP->Head.msgh_reply_port = mig_get_reply_port(); InP->Head.msgh_id = 3433; /* BEGIN VOUCHER CODE */ #ifdef USING_VOUCHERS if (voucher_mach_msg_set != NULL) { voucher_mach_msg_set(&InP->Head); } #endif // USING_VOUCHERS /* END VOUCHER CODE */ __BeforeSendRpc(3433, "task_get_state") msg_result = mach_msg(&InP->Head, MACH_SEND_MSG|MACH_RCV_MSG|MACH_MSG_OPTION_NONE, (mach_msg_size_t)sizeof(Request), (mach_msg_size_t)sizeof(Reply), InP->Head.msgh_reply_port, MACH_MSG_TIMEOUT_NONE, MACH_PORT_NULL); __AfterSendRpc(3433, "task_get_state") if (msg_result != MACH_MSG_SUCCESS) { __MachMsgErrorWithoutTimeout(msg_result); { return msg_result; } } #if defined(__MIG_check__Reply__task_get_state_t__defined) check_result = __MIG_check__Reply__task_get_state_t((__Reply__task_get_state_t *)Out0P); if (check_result != MACH_MSG_SUCCESS) { return check_result; } #endif /* defined(__MIG_check__Reply__task_get_state_t__defined) */ if (Out0P->old_stateCnt > *old_stateCnt) { (void)memcpy((char *) old_state, (const char *) Out0P->old_state, 4 * *old_stateCnt); *old_stateCnt = Out0P->old_stateCnt; { return MIG_ARRAY_TOO_LARGE; } } (void)memcpy((char *) old_state, (const char *) Out0P->old_state, 4 * Out0P->old_stateCnt); *old_stateCnt = Out0P->old_stateCnt; return KERN_SUCCESS; } #if ( __MigTypeCheck ) #if __MIG_check__Reply__task_subsystem__ #if !defined(__MIG_check__Reply__task_set_state_t__defined) #define __MIG_check__Reply__task_set_state_t__defined mig_internal kern_return_t __MIG_check__Reply__task_set_state_t(__Reply__task_set_state_t *Out0P) { typedef __Reply__task_set_state_t __Reply __attribute__((unused)); if (Out0P->Head.msgh_id != 3534) { if (Out0P->Head.msgh_id == MACH_NOTIFY_SEND_ONCE) { return MIG_SERVER_DIED; } else { return MIG_REPLY_MISMATCH; } } #if __MigTypeCheck if ((Out0P->Head.msgh_bits & MACH_MSGH_BITS_COMPLEX) || (Out0P->Head.msgh_size != (mach_msg_size_t)sizeof(__Reply))) { return MIG_TYPE_ERROR ; } #endif /* __MigTypeCheck */ { return Out0P->RetCode; } } #endif /* !defined(__MIG_check__Reply__task_set_state_t__defined) */ #endif /* __MIG_check__Reply__task_subsystem__ */ #endif /* ( __MigTypeCheck ) */ /* Routine task_set_state */ mig_external kern_return_t task_set_state ( task_t task, thread_state_flavor_t flavor, thread_state_t new_state, mach_msg_type_number_t new_stateCnt ) { #ifdef __MigPackStructs #pragma pack(4) #endif typedef struct { mach_msg_header_t Head; NDR_record_t NDR; thread_state_flavor_t flavor; mach_msg_type_number_t new_stateCnt; natural_t new_state[224]; } Request __attribute__((unused)); #ifdef __MigPackStructs #pragma pack() #endif #ifdef __MigPackStructs #pragma pack(4) #endif typedef struct { mach_msg_header_t Head; NDR_record_t NDR; kern_return_t RetCode; mach_msg_trailer_t trailer; } Reply __attribute__((unused)); #ifdef __MigPackStructs #pragma pack() #endif #ifdef __MigPackStructs #pragma pack(4) #endif typedef struct { mach_msg_header_t Head; NDR_record_t NDR; kern_return_t RetCode; } __Reply __attribute__((unused)); #ifdef __MigPackStructs #pragma pack() #endif /* * typedef struct { * mach_msg_header_t Head; * NDR_record_t NDR; * kern_return_t RetCode; * } mig_reply_error_t; */ union { Request In; Reply Out; } Mess; Request *InP = &Mess.In; Reply *Out0P = &Mess.Out; mach_msg_return_t msg_result; unsigned int msgh_size; #ifdef __MIG_check__Reply__task_set_state_t__defined kern_return_t check_result; #endif /* __MIG_check__Reply__task_set_state_t__defined */ __DeclareSendRpc(3434, "task_set_state") InP->NDR = NDR_record; InP->flavor = flavor; if (new_stateCnt > 224) { { return MIG_ARRAY_TOO_LARGE; } } (void)memcpy((char *) InP->new_state, (const char *) new_state, 4 * new_stateCnt); InP->new_stateCnt = new_stateCnt; msgh_size = (mach_msg_size_t)(sizeof(Request) - 896) + ((4 * new_stateCnt)); InP->Head.msgh_bits = MACH_MSGH_BITS(19, MACH_MSG_TYPE_MAKE_SEND_ONCE); /* msgh_size passed as argument */ InP->Head.msgh_request_port = task; InP->Head.msgh_reply_port = mig_get_reply_port(); InP->Head.msgh_id = 3434; /* BEGIN VOUCHER CODE */ #ifdef USING_VOUCHERS if (voucher_mach_msg_set != NULL) { voucher_mach_msg_set(&InP->Head); } #endif // USING_VOUCHERS /* END VOUCHER CODE */ __BeforeSendRpc(3434, "task_set_state") msg_result = mach_msg(&InP->Head, MACH_SEND_MSG|MACH_RCV_MSG|MACH_MSG_OPTION_NONE, msgh_size, (mach_msg_size_t)sizeof(Reply), InP->Head.msgh_reply_port, MACH_MSG_TIMEOUT_NONE, MACH_PORT_NULL); __AfterSendRpc(3434, "task_set_state") if (msg_result != MACH_MSG_SUCCESS) { __MachMsgErrorWithoutTimeout(msg_result); { return msg_result; } } #if defined(__MIG_check__Reply__task_set_state_t__defined) check_result = __MIG_check__Reply__task_set_state_t((__Reply__task_set_state_t *)Out0P); if (check_result != MACH_MSG_SUCCESS) { return check_result; } #endif /* defined(__MIG_check__Reply__task_set_state_t__defined) */ return KERN_SUCCESS; } #if ( __MigTypeCheck ) #if __MIG_check__Reply__task_subsystem__ #if !defined(__MIG_check__Reply__task_set_phys_footprint_limit_t__defined) #define __MIG_check__Reply__task_set_phys_footprint_limit_t__defined mig_internal kern_return_t __MIG_check__Reply__task_set_phys_footprint_limit_t(__Reply__task_set_phys_footprint_limit_t *Out0P) { typedef __Reply__task_set_phys_footprint_limit_t __Reply __attribute__((unused)); #if __MigTypeCheck unsigned int msgh_size; #endif /* __MigTypeCheck */ if (Out0P->Head.msgh_id != 3535) { if (Out0P->Head.msgh_id == MACH_NOTIFY_SEND_ONCE) { return MIG_SERVER_DIED; } else { return MIG_REPLY_MISMATCH; } } #if __MigTypeCheck msgh_size = Out0P->Head.msgh_size; if ((Out0P->Head.msgh_bits & MACH_MSGH_BITS_COMPLEX) || ((msgh_size != (mach_msg_size_t)sizeof(__Reply)) && (msgh_size != (mach_msg_size_t)sizeof(mig_reply_error_t) || Out0P->RetCode == KERN_SUCCESS))) { return MIG_TYPE_ERROR ; } #endif /* __MigTypeCheck */ if (Out0P->RetCode != KERN_SUCCESS) { return ((mig_reply_error_t *)Out0P)->RetCode; } return MACH_MSG_SUCCESS; } #endif /* !defined(__MIG_check__Reply__task_set_phys_footprint_limit_t__defined) */ #endif /* __MIG_check__Reply__task_subsystem__ */ #endif /* ( __MigTypeCheck ) */ /* Routine task_set_phys_footprint_limit */ mig_external kern_return_t task_set_phys_footprint_limit ( task_t task, int new_limit, int *old_limit ) { #ifdef __MigPackStructs #pragma pack(4) #endif typedef struct { mach_msg_header_t Head; NDR_record_t NDR; int new_limit; } Request __attribute__((unused)); #ifdef __MigPackStructs #pragma pack() #endif #ifdef __MigPackStructs #pragma pack(4) #endif typedef struct { mach_msg_header_t Head; NDR_record_t NDR; kern_return_t RetCode; int old_limit; mach_msg_trailer_t trailer; } Reply __attribute__((unused)); #ifdef __MigPackStructs #pragma pack() #endif #ifdef __MigPackStructs #pragma pack(4) #endif typedef struct { mach_msg_header_t Head; NDR_record_t NDR; kern_return_t RetCode; int old_limit; } __Reply __attribute__((unused)); #ifdef __MigPackStructs #pragma pack() #endif /* * typedef struct { * mach_msg_header_t Head; * NDR_record_t NDR; * kern_return_t RetCode; * } mig_reply_error_t; */ union { Request In; Reply Out; } Mess; Request *InP = &Mess.In; Reply *Out0P = &Mess.Out; mach_msg_return_t msg_result; #ifdef __MIG_check__Reply__task_set_phys_footprint_limit_t__defined kern_return_t check_result; #endif /* __MIG_check__Reply__task_set_phys_footprint_limit_t__defined */ __DeclareSendRpc(3435, "task_set_phys_footprint_limit") InP->NDR = NDR_record; InP->new_limit = new_limit; InP->Head.msgh_bits = MACH_MSGH_BITS(19, MACH_MSG_TYPE_MAKE_SEND_ONCE); /* msgh_size passed as argument */ InP->Head.msgh_request_port = task; InP->Head.msgh_reply_port = mig_get_reply_port(); InP->Head.msgh_id = 3435; /* BEGIN VOUCHER CODE */ #ifdef USING_VOUCHERS if (voucher_mach_msg_set != NULL) { voucher_mach_msg_set(&InP->Head); } #endif // USING_VOUCHERS /* END VOUCHER CODE */ __BeforeSendRpc(3435, "task_set_phys_footprint_limit") msg_result = mach_msg(&InP->Head, MACH_SEND_MSG|MACH_RCV_MSG|MACH_MSG_OPTION_NONE, (mach_msg_size_t)sizeof(Request), (mach_msg_size_t)sizeof(Reply), InP->Head.msgh_reply_port, MACH_MSG_TIMEOUT_NONE, MACH_PORT_NULL); __AfterSendRpc(3435, "task_set_phys_footprint_limit") if (msg_result != MACH_MSG_SUCCESS) { __MachMsgErrorWithoutTimeout(msg_result); { return msg_result; } } #if defined(__MIG_check__Reply__task_set_phys_footprint_limit_t__defined) check_result = __MIG_check__Reply__task_set_phys_footprint_limit_t((__Reply__task_set_phys_footprint_limit_t *)Out0P); if (check_result != MACH_MSG_SUCCESS) { return check_result; } #endif /* defined(__MIG_check__Reply__task_set_phys_footprint_limit_t__defined) */ *old_limit = Out0P->old_limit; return KERN_SUCCESS; } #if ( __MigTypeCheck ) #if __MIG_check__Reply__task_subsystem__ #if !defined(__MIG_check__Reply__task_suspend2_t__defined) #define __MIG_check__Reply__task_suspend2_t__defined mig_internal kern_return_t __MIG_check__Reply__task_suspend2_t(__Reply__task_suspend2_t *Out0P) { typedef __Reply__task_suspend2_t __Reply __attribute__((unused)); boolean_t msgh_simple; #if __MigTypeCheck unsigned int msgh_size; #endif /* __MigTypeCheck */ if (Out0P->Head.msgh_id != 3536) { if (Out0P->Head.msgh_id == MACH_NOTIFY_SEND_ONCE) { return MIG_SERVER_DIED; } else { return MIG_REPLY_MISMATCH; } } msgh_simple = !(Out0P->Head.msgh_bits & MACH_MSGH_BITS_COMPLEX); #if __MigTypeCheck msgh_size = Out0P->Head.msgh_size; if ((msgh_simple || Out0P->msgh_body.msgh_descriptor_count != 1 || msgh_size != (mach_msg_size_t)sizeof(__Reply)) && (!msgh_simple || msgh_size != (mach_msg_size_t)sizeof(mig_reply_error_t) || ((mig_reply_error_t *)Out0P)->RetCode == KERN_SUCCESS)) { return MIG_TYPE_ERROR ; } #endif /* __MigTypeCheck */ if (msgh_simple) { return ((mig_reply_error_t *)Out0P)->RetCode; } #if __MigTypeCheck if (Out0P->suspend_token.type != MACH_MSG_PORT_DESCRIPTOR || Out0P->suspend_token.disposition != 18) { return MIG_TYPE_ERROR; } #endif /* __MigTypeCheck */ return MACH_MSG_SUCCESS; } #endif /* !defined(__MIG_check__Reply__task_suspend2_t__defined) */ #endif /* __MIG_check__Reply__task_subsystem__ */ #endif /* ( __MigTypeCheck ) */ /* Routine task_suspend2 */ mig_external kern_return_t task_suspend2 ( task_t target_task, task_suspension_token_t *suspend_token ) { #ifdef __MigPackStructs #pragma pack(4) #endif typedef struct { mach_msg_header_t Head; } Request __attribute__((unused)); #ifdef __MigPackStructs #pragma pack() #endif #ifdef __MigPackStructs #pragma pack(4) #endif typedef struct { mach_msg_header_t Head; /* start of the kernel processed data */ mach_msg_body_t msgh_body; mach_msg_port_descriptor_t suspend_token; /* end of the kernel processed data */ mach_msg_trailer_t trailer; } Reply __attribute__((unused)); #ifdef __MigPackStructs #pragma pack() #endif #ifdef __MigPackStructs #pragma pack(4) #endif typedef struct { mach_msg_header_t Head; /* start of the kernel processed data */ mach_msg_body_t msgh_body; mach_msg_port_descriptor_t suspend_token; /* end of the kernel processed data */ } __Reply __attribute__((unused)); #ifdef __MigPackStructs #pragma pack() #endif /* * typedef struct { * mach_msg_header_t Head; * NDR_record_t NDR; * kern_return_t RetCode; * } mig_reply_error_t; */ union { Request In; Reply Out; } Mess; Request *InP = &Mess.In; Reply *Out0P = &Mess.Out; mach_msg_return_t msg_result; #ifdef __MIG_check__Reply__task_suspend2_t__defined kern_return_t check_result; #endif /* __MIG_check__Reply__task_suspend2_t__defined */ __DeclareSendRpc(3436, "task_suspend2") InP->Head.msgh_bits = MACH_MSGH_BITS(19, MACH_MSG_TYPE_MAKE_SEND_ONCE); /* msgh_size passed as argument */ InP->Head.msgh_request_port = target_task; InP->Head.msgh_reply_port = mig_get_reply_port(); InP->Head.msgh_id = 3436; /* BEGIN VOUCHER CODE */ #ifdef USING_VOUCHERS if (voucher_mach_msg_set != NULL) { voucher_mach_msg_set(&InP->Head); } #endif // USING_VOUCHERS /* END VOUCHER CODE */ __BeforeSendRpc(3436, "task_suspend2") msg_result = mach_msg(&InP->Head, MACH_SEND_MSG|MACH_RCV_MSG|MACH_MSG_OPTION_NONE, (mach_msg_size_t)sizeof(Request), (mach_msg_size_t)sizeof(Reply), InP->Head.msgh_reply_port, MACH_MSG_TIMEOUT_NONE, MACH_PORT_NULL); __AfterSendRpc(3436, "task_suspend2") if (msg_result != MACH_MSG_SUCCESS) { __MachMsgErrorWithoutTimeout(msg_result); { return msg_result; } } #if defined(__MIG_check__Reply__task_suspend2_t__defined) check_result = __MIG_check__Reply__task_suspend2_t((__Reply__task_suspend2_t *)Out0P); if (check_result != MACH_MSG_SUCCESS) { return check_result; } #endif /* defined(__MIG_check__Reply__task_suspend2_t__defined) */ *suspend_token = Out0P->suspend_token.name; return KERN_SUCCESS; } #if ( __MigTypeCheck ) #if __MIG_check__Reply__task_subsystem__ #if !defined(__MIG_check__Reply__task_resume2_t__defined) #define __MIG_check__Reply__task_resume2_t__defined mig_internal kern_return_t __MIG_check__Reply__task_resume2_t(__Reply__task_resume2_t *Out0P) { typedef __Reply__task_resume2_t __Reply __attribute__((unused)); if (Out0P->Head.msgh_id != 3537) { if (Out0P->Head.msgh_id == MACH_NOTIFY_SEND_ONCE) { return MIG_SERVER_DIED; } else { return MIG_REPLY_MISMATCH; } } #if __MigTypeCheck if ((Out0P->Head.msgh_bits & MACH_MSGH_BITS_COMPLEX) || (Out0P->Head.msgh_size != (mach_msg_size_t)sizeof(__Reply))) { return MIG_TYPE_ERROR ; } #endif /* __MigTypeCheck */ { return Out0P->RetCode; } } #endif /* !defined(__MIG_check__Reply__task_resume2_t__defined) */ #endif /* __MIG_check__Reply__task_subsystem__ */ #endif /* ( __MigTypeCheck ) */ /* Routine task_resume2 */ mig_external kern_return_t task_resume2 ( task_suspension_token_t suspend_token ) { #ifdef __MigPackStructs #pragma pack(4) #endif typedef struct { mach_msg_header_t Head; } Request __attribute__((unused)); #ifdef __MigPackStructs #pragma pack() #endif #ifdef __MigPackStructs #pragma pack(4) #endif typedef struct { mach_msg_header_t Head; NDR_record_t NDR; kern_return_t RetCode; mach_msg_trailer_t trailer; } Reply __attribute__((unused)); #ifdef __MigPackStructs #pragma pack() #endif #ifdef __MigPackStructs #pragma pack(4) #endif typedef struct { mach_msg_header_t Head; NDR_record_t NDR; kern_return_t RetCode; } __Reply __attribute__((unused)); #ifdef __MigPackStructs #pragma pack() #endif /* * typedef struct { * mach_msg_header_t Head; * NDR_record_t NDR; * kern_return_t RetCode; * } mig_reply_error_t; */ union { Request In; Reply Out; } Mess; Request *InP = &Mess.In; Reply *Out0P = &Mess.Out; mach_msg_return_t msg_result; #ifdef __MIG_check__Reply__task_resume2_t__defined kern_return_t check_result; #endif /* __MIG_check__Reply__task_resume2_t__defined */ __DeclareSendRpc(3437, "task_resume2") InP->Head.msgh_bits = MACH_MSGH_BITS(18, MACH_MSG_TYPE_MAKE_SEND_ONCE); /* msgh_size passed as argument */ InP->Head.msgh_request_port = suspend_token; InP->Head.msgh_reply_port = mig_get_reply_port(); InP->Head.msgh_id = 3437; /* BEGIN VOUCHER CODE */ #ifdef USING_VOUCHERS if (voucher_mach_msg_set != NULL) { voucher_mach_msg_set(&InP->Head); } #endif // USING_VOUCHERS /* END VOUCHER CODE */ __BeforeSendRpc(3437, "task_resume2") msg_result = mach_msg(&InP->Head, MACH_SEND_MSG|MACH_RCV_MSG|MACH_MSG_OPTION_NONE, (mach_msg_size_t)sizeof(Request), (mach_msg_size_t)sizeof(Reply), InP->Head.msgh_reply_port, MACH_MSG_TIMEOUT_NONE, MACH_PORT_NULL); __AfterSendRpc(3437, "task_resume2") if (msg_result != MACH_MSG_SUCCESS) { __MachMsgErrorWithoutTimeout(msg_result); { return msg_result; } } #if defined(__MIG_check__Reply__task_resume2_t__defined) check_result = __MIG_check__Reply__task_resume2_t((__Reply__task_resume2_t *)Out0P); if (check_result != MACH_MSG_SUCCESS) { return check_result; } #endif /* defined(__MIG_check__Reply__task_resume2_t__defined) */ return KERN_SUCCESS; } #if ( __MigTypeCheck ) #if __MIG_check__Reply__task_subsystem__ #if !defined(__MIG_check__Reply__task_purgable_info_t__defined) #define __MIG_check__Reply__task_purgable_info_t__defined mig_internal kern_return_t __MIG_check__Reply__task_purgable_info_t(__Reply__task_purgable_info_t *Out0P) { typedef __Reply__task_purgable_info_t __Reply __attribute__((unused)); #if __MigTypeCheck unsigned int msgh_size; #endif /* __MigTypeCheck */ if (Out0P->Head.msgh_id != 3538) { if (Out0P->Head.msgh_id == MACH_NOTIFY_SEND_ONCE) { return MIG_SERVER_DIED; } else { return MIG_REPLY_MISMATCH; } } #if __MigTypeCheck msgh_size = Out0P->Head.msgh_size; if ((Out0P->Head.msgh_bits & MACH_MSGH_BITS_COMPLEX) || ((msgh_size != (mach_msg_size_t)sizeof(__Reply)) && (msgh_size != (mach_msg_size_t)sizeof(mig_reply_error_t) || Out0P->RetCode == KERN_SUCCESS))) { return MIG_TYPE_ERROR ; } #endif /* __MigTypeCheck */ if (Out0P->RetCode != KERN_SUCCESS) { return ((mig_reply_error_t *)Out0P)->RetCode; } return MACH_MSG_SUCCESS; } #endif /* !defined(__MIG_check__Reply__task_purgable_info_t__defined) */ #endif /* __MIG_check__Reply__task_subsystem__ */ #endif /* ( __MigTypeCheck ) */ /* Routine task_purgable_info */ mig_external kern_return_t task_purgable_info ( task_t task, task_purgable_info_t *stats ) { #ifdef __MigPackStructs #pragma pack(4) #endif typedef struct { mach_msg_header_t Head; } Request __attribute__((unused)); #ifdef __MigPackStructs #pragma pack() #endif #ifdef __MigPackStructs #pragma pack(4) #endif typedef struct { mach_msg_header_t Head; NDR_record_t NDR; kern_return_t RetCode; task_purgable_info_t stats; mach_msg_trailer_t trailer; } Reply __attribute__((unused)); #ifdef __MigPackStructs #pragma pack() #endif #ifdef __MigPackStructs #pragma pack(4) #endif typedef struct { mach_msg_header_t Head; NDR_record_t NDR; kern_return_t RetCode; task_purgable_info_t stats; } __Reply __attribute__((unused)); #ifdef __MigPackStructs #pragma pack() #endif /* * typedef struct { * mach_msg_header_t Head; * NDR_record_t NDR; * kern_return_t RetCode; * } mig_reply_error_t; */ union { Request In; Reply Out; } Mess; Request *InP = &Mess.In; Reply *Out0P = &Mess.Out; mach_msg_return_t msg_result; #ifdef __MIG_check__Reply__task_purgable_info_t__defined kern_return_t check_result; #endif /* __MIG_check__Reply__task_purgable_info_t__defined */ __DeclareSendRpc(3438, "task_purgable_info") InP->Head.msgh_bits = MACH_MSGH_BITS(19, MACH_MSG_TYPE_MAKE_SEND_ONCE); /* msgh_size passed as argument */ InP->Head.msgh_request_port = task; InP->Head.msgh_reply_port = mig_get_reply_port(); InP->Head.msgh_id = 3438; /* BEGIN VOUCHER CODE */ #ifdef USING_VOUCHERS if (voucher_mach_msg_set != NULL) { voucher_mach_msg_set(&InP->Head); } #endif // USING_VOUCHERS /* END VOUCHER CODE */ __BeforeSendRpc(3438, "task_purgable_info") msg_result = mach_msg(&InP->Head, MACH_SEND_MSG|MACH_RCV_MSG|MACH_MSG_OPTION_NONE, (mach_msg_size_t)sizeof(Request), (mach_msg_size_t)sizeof(Reply), InP->Head.msgh_reply_port, MACH_MSG_TIMEOUT_NONE, MACH_PORT_NULL); __AfterSendRpc(3438, "task_purgable_info") if (msg_result != MACH_MSG_SUCCESS) { __MachMsgErrorWithoutTimeout(msg_result); { return msg_result; } } #if defined(__MIG_check__Reply__task_purgable_info_t__defined) check_result = __MIG_check__Reply__task_purgable_info_t((__Reply__task_purgable_info_t *)Out0P); if (check_result != MACH_MSG_SUCCESS) { return check_result; } #endif /* defined(__MIG_check__Reply__task_purgable_info_t__defined) */ *stats = Out0P->stats; return KERN_SUCCESS; } #if ( __MigTypeCheck ) #if __MIG_check__Reply__task_subsystem__ #if !defined(__MIG_check__Reply__task_get_mach_voucher_t__defined) #define __MIG_check__Reply__task_get_mach_voucher_t__defined mig_internal kern_return_t __MIG_check__Reply__task_get_mach_voucher_t(__Reply__task_get_mach_voucher_t *Out0P) { typedef __Reply__task_get_mach_voucher_t __Reply __attribute__((unused)); boolean_t msgh_simple; #if __MigTypeCheck unsigned int msgh_size; #endif /* __MigTypeCheck */ if (Out0P->Head.msgh_id != 3539) { if (Out0P->Head.msgh_id == MACH_NOTIFY_SEND_ONCE) { return MIG_SERVER_DIED; } else { return MIG_REPLY_MISMATCH; } } msgh_simple = !(Out0P->Head.msgh_bits & MACH_MSGH_BITS_COMPLEX); #if __MigTypeCheck msgh_size = Out0P->Head.msgh_size; if ((msgh_simple || Out0P->msgh_body.msgh_descriptor_count != 1 || msgh_size != (mach_msg_size_t)sizeof(__Reply)) && (!msgh_simple || msgh_size != (mach_msg_size_t)sizeof(mig_reply_error_t) || ((mig_reply_error_t *)Out0P)->RetCode == KERN_SUCCESS)) { return MIG_TYPE_ERROR ; } #endif /* __MigTypeCheck */ if (msgh_simple) { return ((mig_reply_error_t *)Out0P)->RetCode; } #if __MigTypeCheck if (Out0P->voucher.type != MACH_MSG_PORT_DESCRIPTOR || Out0P->voucher.disposition != 17) { return MIG_TYPE_ERROR; } #endif /* __MigTypeCheck */ return MACH_MSG_SUCCESS; } #endif /* !defined(__MIG_check__Reply__task_get_mach_voucher_t__defined) */ #endif /* __MIG_check__Reply__task_subsystem__ */ #endif /* ( __MigTypeCheck ) */ /* Routine task_get_mach_voucher */ mig_external kern_return_t task_get_mach_voucher ( task_t task, mach_voucher_selector_t which, ipc_voucher_t *voucher ) { #ifdef __MigPackStructs #pragma pack(4) #endif typedef struct { mach_msg_header_t Head; NDR_record_t NDR; mach_voucher_selector_t which; } Request __attribute__((unused)); #ifdef __MigPackStructs #pragma pack() #endif #ifdef __MigPackStructs #pragma pack(4) #endif typedef struct { mach_msg_header_t Head; /* start of the kernel processed data */ mach_msg_body_t msgh_body; mach_msg_port_descriptor_t voucher; /* end of the kernel processed data */ mach_msg_trailer_t trailer; } Reply __attribute__((unused)); #ifdef __MigPackStructs #pragma pack() #endif #ifdef __MigPackStructs #pragma pack(4) #endif typedef struct { mach_msg_header_t Head; /* start of the kernel processed data */ mach_msg_body_t msgh_body; mach_msg_port_descriptor_t voucher; /* end of the kernel processed data */ } __Reply __attribute__((unused)); #ifdef __MigPackStructs #pragma pack() #endif /* * typedef struct { * mach_msg_header_t Head; * NDR_record_t NDR; * kern_return_t RetCode; * } mig_reply_error_t; */ union { Request In; Reply Out; } Mess; Request *InP = &Mess.In; Reply *Out0P = &Mess.Out; mach_msg_return_t msg_result; #ifdef __MIG_check__Reply__task_get_mach_voucher_t__defined kern_return_t check_result; #endif /* __MIG_check__Reply__task_get_mach_voucher_t__defined */ __DeclareSendRpc(3439, "task_get_mach_voucher") InP->NDR = NDR_record; InP->which = which; InP->Head.msgh_bits = MACH_MSGH_BITS(19, MACH_MSG_TYPE_MAKE_SEND_ONCE); /* msgh_size passed as argument */ InP->Head.msgh_request_port = task; InP->Head.msgh_reply_port = mig_get_reply_port(); InP->Head.msgh_id = 3439; /* BEGIN VOUCHER CODE */ #ifdef USING_VOUCHERS if (voucher_mach_msg_set != NULL) { voucher_mach_msg_set(&InP->Head); } #endif // USING_VOUCHERS /* END VOUCHER CODE */ __BeforeSendRpc(3439, "task_get_mach_voucher") msg_result = mach_msg(&InP->Head, MACH_SEND_MSG|MACH_RCV_MSG|MACH_MSG_OPTION_NONE, (mach_msg_size_t)sizeof(Request), (mach_msg_size_t)sizeof(Reply), InP->Head.msgh_reply_port, MACH_MSG_TIMEOUT_NONE, MACH_PORT_NULL); __AfterSendRpc(3439, "task_get_mach_voucher") if (msg_result != MACH_MSG_SUCCESS) { __MachMsgErrorWithoutTimeout(msg_result); { return msg_result; } } #if defined(__MIG_check__Reply__task_get_mach_voucher_t__defined) check_result = __MIG_check__Reply__task_get_mach_voucher_t((__Reply__task_get_mach_voucher_t *)Out0P); if (check_result != MACH_MSG_SUCCESS) { return check_result; } #endif /* defined(__MIG_check__Reply__task_get_mach_voucher_t__defined) */ *voucher = Out0P->voucher.name; return KERN_SUCCESS; } #if ( __MigTypeCheck ) #if __MIG_check__Reply__task_subsystem__ #if !defined(__MIG_check__Reply__task_set_mach_voucher_t__defined) #define __MIG_check__Reply__task_set_mach_voucher_t__defined mig_internal kern_return_t __MIG_check__Reply__task_set_mach_voucher_t(__Reply__task_set_mach_voucher_t *Out0P) { typedef __Reply__task_set_mach_voucher_t __Reply __attribute__((unused)); if (Out0P->Head.msgh_id != 3540) { if (Out0P->Head.msgh_id == MACH_NOTIFY_SEND_ONCE) { return MIG_SERVER_DIED; } else { return MIG_REPLY_MISMATCH; } } #if __MigTypeCheck if ((Out0P->Head.msgh_bits & MACH_MSGH_BITS_COMPLEX) || (Out0P->Head.msgh_size != (mach_msg_size_t)sizeof(__Reply))) { return MIG_TYPE_ERROR ; } #endif /* __MigTypeCheck */ { return Out0P->RetCode; } } #endif /* !defined(__MIG_check__Reply__task_set_mach_voucher_t__defined) */ #endif /* __MIG_check__Reply__task_subsystem__ */ #endif /* ( __MigTypeCheck ) */ /* Routine task_set_mach_voucher */ mig_external kern_return_t task_set_mach_voucher ( task_t task, ipc_voucher_t voucher ) { #ifdef __MigPackStructs #pragma pack(4) #endif typedef struct { mach_msg_header_t Head; /* start of the kernel processed data */ mach_msg_body_t msgh_body; mach_msg_port_descriptor_t voucher; /* end of the kernel processed data */ } Request __attribute__((unused)); #ifdef __MigPackStructs #pragma pack() #endif #ifdef __MigPackStructs #pragma pack(4) #endif typedef struct { mach_msg_header_t Head; NDR_record_t NDR; kern_return_t RetCode; mach_msg_trailer_t trailer; } Reply __attribute__((unused)); #ifdef __MigPackStructs #pragma pack() #endif #ifdef __MigPackStructs #pragma pack(4) #endif typedef struct { mach_msg_header_t Head; NDR_record_t NDR; kern_return_t RetCode; } __Reply __attribute__((unused)); #ifdef __MigPackStructs #pragma pack() #endif /* * typedef struct { * mach_msg_header_t Head; * NDR_record_t NDR; * kern_return_t RetCode; * } mig_reply_error_t; */ union { Request In; Reply Out; } Mess; Request *InP = &Mess.In; Reply *Out0P = &Mess.Out; mach_msg_return_t msg_result; #ifdef __MIG_check__Reply__task_set_mach_voucher_t__defined kern_return_t check_result; #endif /* __MIG_check__Reply__task_set_mach_voucher_t__defined */ __DeclareSendRpc(3440, "task_set_mach_voucher") #if UseStaticTemplates const static mach_msg_port_descriptor_t voucherTemplate = { /* name = */ MACH_PORT_NULL, /* pad1 = */ 0, /* pad2 = */ 0, /* disp = */ 19, /* type = */ MACH_MSG_PORT_DESCRIPTOR, }; #endif /* UseStaticTemplates */ InP->msgh_body.msgh_descriptor_count = 1; #if UseStaticTemplates InP->voucher = voucherTemplate; InP->voucher.name = voucher; #else /* UseStaticTemplates */ InP->voucher.name = voucher; InP->voucher.disposition = 19; InP->voucher.type = MACH_MSG_PORT_DESCRIPTOR; #endif /* UseStaticTemplates */ InP->Head.msgh_bits = MACH_MSGH_BITS_COMPLEX| MACH_MSGH_BITS(19, MACH_MSG_TYPE_MAKE_SEND_ONCE); /* msgh_size passed as argument */ InP->Head.msgh_request_port = task; InP->Head.msgh_reply_port = mig_get_reply_port(); InP->Head.msgh_id = 3440; /* BEGIN VOUCHER CODE */ #ifdef USING_VOUCHERS if (voucher_mach_msg_set != NULL) { voucher_mach_msg_set(&InP->Head); } #endif // USING_VOUCHERS /* END VOUCHER CODE */ __BeforeSendRpc(3440, "task_set_mach_voucher") msg_result = mach_msg(&InP->Head, MACH_SEND_MSG|MACH_RCV_MSG|MACH_MSG_OPTION_NONE, (mach_msg_size_t)sizeof(Request), (mach_msg_size_t)sizeof(Reply), InP->Head.msgh_reply_port, MACH_MSG_TIMEOUT_NONE, MACH_PORT_NULL); __AfterSendRpc(3440, "task_set_mach_voucher") if (msg_result != MACH_MSG_SUCCESS) { __MachMsgErrorWithoutTimeout(msg_result); { return msg_result; } } #if defined(__MIG_check__Reply__task_set_mach_voucher_t__defined) check_result = __MIG_check__Reply__task_set_mach_voucher_t((__Reply__task_set_mach_voucher_t *)Out0P); if (check_result != MACH_MSG_SUCCESS) { return check_result; } #endif /* defined(__MIG_check__Reply__task_set_mach_voucher_t__defined) */ return KERN_SUCCESS; } #if ( __MigTypeCheck ) #if __MIG_check__Reply__task_subsystem__ #if !defined(__MIG_check__Reply__task_swap_mach_voucher_t__defined) #define __MIG_check__Reply__task_swap_mach_voucher_t__defined mig_internal kern_return_t __MIG_check__Reply__task_swap_mach_voucher_t(__Reply__task_swap_mach_voucher_t *Out0P) { typedef __Reply__task_swap_mach_voucher_t __Reply __attribute__((unused)); boolean_t msgh_simple; #if __MigTypeCheck unsigned int msgh_size; #endif /* __MigTypeCheck */ if (Out0P->Head.msgh_id != 3541) { if (Out0P->Head.msgh_id == MACH_NOTIFY_SEND_ONCE) { return MIG_SERVER_DIED; } else { return MIG_REPLY_MISMATCH; } } msgh_simple = !(Out0P->Head.msgh_bits & MACH_MSGH_BITS_COMPLEX); #if __MigTypeCheck msgh_size = Out0P->Head.msgh_size; if ((msgh_simple || Out0P->msgh_body.msgh_descriptor_count != 1 || msgh_size != (mach_msg_size_t)sizeof(__Reply)) && (!msgh_simple || msgh_size != (mach_msg_size_t)sizeof(mig_reply_error_t) || ((mig_reply_error_t *)Out0P)->RetCode == KERN_SUCCESS)) { return MIG_TYPE_ERROR ; } #endif /* __MigTypeCheck */ if (msgh_simple) { return ((mig_reply_error_t *)Out0P)->RetCode; } #if __MigTypeCheck if (Out0P->old_voucher.type != MACH_MSG_PORT_DESCRIPTOR || Out0P->old_voucher.disposition != 17) { return MIG_TYPE_ERROR; } #endif /* __MigTypeCheck */ return MACH_MSG_SUCCESS; } #endif /* !defined(__MIG_check__Reply__task_swap_mach_voucher_t__defined) */ #endif /* __MIG_check__Reply__task_subsystem__ */ #endif /* ( __MigTypeCheck ) */ /* Routine task_swap_mach_voucher */ mig_external kern_return_t task_swap_mach_voucher ( task_t task, ipc_voucher_t new_voucher, ipc_voucher_t *old_voucher ) { #ifdef __MigPackStructs #pragma pack(4) #endif typedef struct { mach_msg_header_t Head; /* start of the kernel processed data */ mach_msg_body_t msgh_body; mach_msg_port_descriptor_t new_voucher; mach_msg_port_descriptor_t old_voucher; /* end of the kernel processed data */ } Request __attribute__((unused)); #ifdef __MigPackStructs #pragma pack() #endif #ifdef __MigPackStructs #pragma pack(4) #endif typedef struct { mach_msg_header_t Head; /* start of the kernel processed data */ mach_msg_body_t msgh_body; mach_msg_port_descriptor_t old_voucher; /* end of the kernel processed data */ mach_msg_trailer_t trailer; } Reply __attribute__((unused)); #ifdef __MigPackStructs #pragma pack() #endif #ifdef __MigPackStructs #pragma pack(4) #endif typedef struct { mach_msg_header_t Head; /* start of the kernel processed data */ mach_msg_body_t msgh_body; mach_msg_port_descriptor_t old_voucher; /* end of the kernel processed data */ } __Reply __attribute__((unused)); #ifdef __MigPackStructs #pragma pack() #endif /* * typedef struct { * mach_msg_header_t Head; * NDR_record_t NDR; * kern_return_t RetCode; * } mig_reply_error_t; */ union { Request In; Reply Out; } Mess; Request *InP = &Mess.In; Reply *Out0P = &Mess.Out; mach_msg_return_t msg_result; #ifdef __MIG_check__Reply__task_swap_mach_voucher_t__defined kern_return_t check_result; #endif /* __MIG_check__Reply__task_swap_mach_voucher_t__defined */ __DeclareSendRpc(3441, "task_swap_mach_voucher") #if UseStaticTemplates const static mach_msg_port_descriptor_t new_voucherTemplate = { /* name = */ MACH_PORT_NULL, /* pad1 = */ 0, /* pad2 = */ 0, /* disp = */ 19, /* type = */ MACH_MSG_PORT_DESCRIPTOR, }; #endif /* UseStaticTemplates */ #if UseStaticTemplates const static mach_msg_port_descriptor_t old_voucherTemplate = { /* name = */ MACH_PORT_NULL, /* pad1 = */ 0, /* pad2 = */ 0, /* disp = */ 19, /* type = */ MACH_MSG_PORT_DESCRIPTOR, }; #endif /* UseStaticTemplates */ InP->msgh_body.msgh_descriptor_count = 2; #if UseStaticTemplates InP->new_voucher = new_voucherTemplate; InP->new_voucher.name = new_voucher; #else /* UseStaticTemplates */ InP->new_voucher.name = new_voucher; InP->new_voucher.disposition = 19; InP->new_voucher.type = MACH_MSG_PORT_DESCRIPTOR; #endif /* UseStaticTemplates */ #if UseStaticTemplates InP->old_voucher = old_voucherTemplate; InP->old_voucher.name = *old_voucher; #else /* UseStaticTemplates */ InP->old_voucher.name = *old_voucher; InP->old_voucher.disposition = 19; InP->old_voucher.type = MACH_MSG_PORT_DESCRIPTOR; #endif /* UseStaticTemplates */ InP->Head.msgh_bits = MACH_MSGH_BITS_COMPLEX| MACH_MSGH_BITS(19, MACH_MSG_TYPE_MAKE_SEND_ONCE); /* msgh_size passed as argument */ InP->Head.msgh_request_port = task; InP->Head.msgh_reply_port = mig_get_reply_port(); InP->Head.msgh_id = 3441; /* BEGIN VOUCHER CODE */ #ifdef USING_VOUCHERS if (voucher_mach_msg_set != NULL) { voucher_mach_msg_set(&InP->Head); } #endif // USING_VOUCHERS /* END VOUCHER CODE */ __BeforeSendRpc(3441, "task_swap_mach_voucher") msg_result = mach_msg(&InP->Head, MACH_SEND_MSG|MACH_RCV_MSG|MACH_MSG_OPTION_NONE, (mach_msg_size_t)sizeof(Request), (mach_msg_size_t)sizeof(Reply), InP->Head.msgh_reply_port, MACH_MSG_TIMEOUT_NONE, MACH_PORT_NULL); __AfterSendRpc(3441, "task_swap_mach_voucher") if (msg_result != MACH_MSG_SUCCESS) { __MachMsgErrorWithoutTimeout(msg_result); { return msg_result; } } #if defined(__MIG_check__Reply__task_swap_mach_voucher_t__defined) check_result = __MIG_check__Reply__task_swap_mach_voucher_t((__Reply__task_swap_mach_voucher_t *)Out0P); if (check_result != MACH_MSG_SUCCESS) { return check_result; } #endif /* defined(__MIG_check__Reply__task_swap_mach_voucher_t__defined) */ *old_voucher = Out0P->old_voucher.name; return KERN_SUCCESS; }