README.md
Rendering markdown...
/*
* IDENTIFICATION:
* stub generated Wed Jul 27 15:09:14 2016
* with a MiG generated by bootstrap_cmds-93
* OPTIONS:
*/
/* Module task */
#define __MIG_check__Request__task_subsystem__ 1
#include <string.h>
#include <mach/ndr.h>
#include <mach/boolean.h>
#include <mach/kern_return.h>
#include <mach/notify.h>
#include <mach/mach_types.h>
#include <mach/message.h>
#include <mach/mig_errors.h>
#include <mach/port.h>
/* BEGIN VOUCHER CODE */
#ifndef KERNEL
#if defined(__has_include)
#if __has_include(<mach/mig_voucher_support.h>)
#ifndef USING_VOUCHERS
#define USING_VOUCHERS
#endif
#ifndef __VOUCHER_FORWARD_TYPE_DECLS__
#define __VOUCHER_FORWARD_TYPE_DECLS__
#ifdef __cplusplus
extern "C" {
#endif
extern boolean_t voucher_mach_msg_set(mach_msg_header_t *msg) __attribute__((weak_import));
#ifdef __cplusplus
}
#endif
#endif // __VOUCHER_FORWARD_TYPE_DECLS__
#endif // __has_include(<mach/mach_voucher_types.h>)
#endif // __has_include
#endif // !KERNEL
/* END VOUCHER CODE */
#include <mach/std_types.h>
#include <mach/mig.h>
#include <mach/mig.h>
#include <mach/mach_types.h>
#include <mach_debug/mach_debug_types.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 __DeclareRcvRpc
#define __DeclareRcvRpc(_NUM_, _NAME_)
#endif /* __DeclareRcvRpc */
#ifndef __BeforeRcvRpc
#define __BeforeRcvRpc(_NUM_, _NAME_)
#endif /* __BeforeRcvRpc */
#ifndef __AfterRcvRpc
#define __AfterRcvRpc(_NUM_, _NAME_)
#endif /* __AfterRcvRpc */
#ifndef __DeclareRcvSimple
#define __DeclareRcvSimple(_NUM_, _NAME_)
#endif /* __DeclareRcvSimple */
#ifndef __BeforeRcvSimple
#define __BeforeRcvSimple(_NUM_, _NAME_)
#endif /* __BeforeRcvSimple */
#ifndef __AfterRcvSimple
#define __AfterRcvSimple(_NUM_, _NAME_)
#endif /* __AfterRcvSimple */
#define novalue void
#define msgh_request_port msgh_local_port
#define MACH_MSGH_BITS_REQUEST(bits) MACH_MSGH_BITS_LOCAL(bits)
#define msgh_reply_port msgh_remote_port
#define MACH_MSGH_BITS_REPLY(bits) MACH_MSGH_BITS_REMOTE(bits)
#define MIG_RETURN_ERROR(X, code) {\
((mig_reply_error_t *)X)->RetCode = code;\
((mig_reply_error_t *)X)->NDR = NDR_record;\
return;\
}
/* typedefs for all requests */
#ifndef __Request__task_subsystem__defined
#define __Request__task_subsystem__defined
#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__task_create_t __attribute__((unused));
#ifdef __MigPackStructs
#pragma pack()
#endif
#ifdef __MigPackStructs
#pragma pack(4)
#endif
typedef struct {
mach_msg_header_t Head;
} __Request__task_terminate_t __attribute__((unused));
#ifdef __MigPackStructs
#pragma pack()
#endif
#ifdef __MigPackStructs
#pragma pack(4)
#endif
typedef struct {
mach_msg_header_t Head;
} __Request__task_threads_t __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;
} __Request__mach_ports_register_t __attribute__((unused));
#ifdef __MigPackStructs
#pragma pack()
#endif
#ifdef __MigPackStructs
#pragma pack(4)
#endif
typedef struct {
mach_msg_header_t Head;
} __Request__mach_ports_lookup_t __attribute__((unused));
#ifdef __MigPackStructs
#pragma pack()
#endif
#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__task_info_t __attribute__((unused));
#ifdef __MigPackStructs
#pragma pack()
#endif
#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__task_set_info_t __attribute__((unused));
#ifdef __MigPackStructs
#pragma pack()
#endif
#ifdef __MigPackStructs
#pragma pack(4)
#endif
typedef struct {
mach_msg_header_t Head;
} __Request__task_suspend_t __attribute__((unused));
#ifdef __MigPackStructs
#pragma pack()
#endif
#ifdef __MigPackStructs
#pragma pack(4)
#endif
typedef struct {
mach_msg_header_t Head;
} __Request__task_resume_t __attribute__((unused));
#ifdef __MigPackStructs
#pragma pack()
#endif
#ifdef __MigPackStructs
#pragma pack(4)
#endif
typedef struct {
mach_msg_header_t Head;
NDR_record_t NDR;
int which_port;
} __Request__task_get_special_port_t __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 */
NDR_record_t NDR;
int which_port;
} __Request__task_set_special_port_t __attribute__((unused));
#ifdef __MigPackStructs
#pragma pack()
#endif
#ifdef __MigPackStructs
#pragma pack(4)
#endif
typedef struct {
mach_msg_header_t Head;
} __Request__thread_create_t __attribute__((unused));
#ifdef __MigPackStructs
#pragma pack()
#endif
#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__thread_create_running_t __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_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__task_set_exception_ports_t __attribute__((unused));
#ifdef __MigPackStructs
#pragma pack()
#endif
#ifdef __MigPackStructs
#pragma pack(4)
#endif
typedef struct {
mach_msg_header_t Head;
NDR_record_t NDR;
exception_mask_t exception_mask;
} __Request__task_get_exception_ports_t __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_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__task_swap_exception_ports_t __attribute__((unused));
#ifdef __MigPackStructs
#pragma pack()
#endif
#ifdef __MigPackStructs
#pragma pack(4)
#endif
typedef struct {
mach_msg_header_t Head;
NDR_record_t NDR;
int n_ulocks;
int policy;
} __Request__lock_set_create_t __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 lock_set;
/* end of the kernel processed data */
} __Request__lock_set_destroy_t __attribute__((unused));
#ifdef __MigPackStructs
#pragma pack()
#endif
#ifdef __MigPackStructs
#pragma pack(4)
#endif
typedef struct {
mach_msg_header_t Head;
NDR_record_t NDR;
int policy;
int value;
} __Request__semaphore_create_t __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 */
} __Request__semaphore_destroy_t __attribute__((unused));
#ifdef __MigPackStructs
#pragma pack()
#endif
#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__task_policy_set_t __attribute__((unused));
#ifdef __MigPackStructs
#pragma pack()
#endif
#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__task_policy_get_t __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 reply;
/* end of the kernel processed data */
} __Request__task_sample_t __attribute__((unused));
#ifdef __MigPackStructs
#pragma pack()
#endif
#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__task_policy_t __attribute__((unused));
#ifdef __MigPackStructs
#pragma pack()
#endif
#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__task_set_emulation_t __attribute__((unused));
#ifdef __MigPackStructs
#pragma pack()
#endif
#ifdef __MigPackStructs
#pragma pack(4)
#endif
typedef struct {
mach_msg_header_t Head;
} __Request__task_get_emulation_vector_t __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;
} __Request__task_set_emulation_vector_t __attribute__((unused));
#ifdef __MigPackStructs
#pragma pack()
#endif
#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__task_set_ras_pc_t __attribute__((unused));
#ifdef __MigPackStructs
#pragma pack()
#endif
#ifdef __MigPackStructs
#pragma pack(4)
#endif
typedef struct {
mach_msg_header_t Head;
} __Request__task_zone_info_t __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_set;
/* end of the kernel processed data */
NDR_record_t NDR;
boolean_t assign_threads;
} __Request__task_assign_t __attribute__((unused));
#ifdef __MigPackStructs
#pragma pack()
#endif
#ifdef __MigPackStructs
#pragma pack(4)
#endif
typedef struct {
mach_msg_header_t Head;
NDR_record_t NDR;
boolean_t assign_threads;
} __Request__task_assign_default_t __attribute__((unused));
#ifdef __MigPackStructs
#pragma pack()
#endif
#ifdef __MigPackStructs
#pragma pack(4)
#endif
typedef struct {
mach_msg_header_t Head;
} __Request__task_get_assignment_t __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 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__task_set_policy_t __attribute__((unused));
#ifdef __MigPackStructs
#pragma pack()
#endif
#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__task_get_state_t __attribute__((unused));
#ifdef __MigPackStructs
#pragma pack()
#endif
#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__task_set_state_t __attribute__((unused));
#ifdef __MigPackStructs
#pragma pack()
#endif
#ifdef __MigPackStructs
#pragma pack(4)
#endif
typedef struct {
mach_msg_header_t Head;
NDR_record_t NDR;
int new_limit;
} __Request__task_set_phys_footprint_limit_t __attribute__((unused));
#ifdef __MigPackStructs
#pragma pack()
#endif
#ifdef __MigPackStructs
#pragma pack(4)
#endif
typedef struct {
mach_msg_header_t Head;
} __Request__task_suspend2_t __attribute__((unused));
#ifdef __MigPackStructs
#pragma pack()
#endif
#ifdef __MigPackStructs
#pragma pack(4)
#endif
typedef struct {
mach_msg_header_t Head;
} __Request__task_resume2_t __attribute__((unused));
#ifdef __MigPackStructs
#pragma pack()
#endif
#ifdef __MigPackStructs
#pragma pack(4)
#endif
typedef struct {
mach_msg_header_t Head;
} __Request__task_purgable_info_t __attribute__((unused));
#ifdef __MigPackStructs
#pragma pack()
#endif
#ifdef __MigPackStructs
#pragma pack(4)
#endif
typedef struct {
mach_msg_header_t Head;
NDR_record_t NDR;
mach_voucher_selector_t which;
} __Request__task_get_mach_voucher_t __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 */
} __Request__task_set_mach_voucher_t __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_voucher;
mach_msg_port_descriptor_t old_voucher;
/* end of the kernel processed data */
} __Request__task_swap_mach_voucher_t __attribute__((unused));
#ifdef __MigPackStructs
#pragma pack()
#endif
#endif /* !__Request__task_subsystem__defined */
/* typedefs for all replies */
#ifndef __Reply__task_subsystem__defined
#define __Reply__task_subsystem__defined
#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__task_create_t __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__task_terminate_t __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__task_threads_t __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__mach_ports_register_t __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__mach_ports_lookup_t __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__task_info_t __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__task_set_info_t __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__task_suspend_t __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__task_resume_t __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__task_get_special_port_t __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__task_set_special_port_t __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__thread_create_t __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__thread_create_running_t __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__task_set_exception_ports_t __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__task_get_exception_ports_t __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__task_swap_exception_ports_t __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__lock_set_create_t __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__lock_set_destroy_t __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__semaphore_create_t __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__semaphore_destroy_t __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__task_policy_set_t __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__task_policy_get_t __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__task_sample_t __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__task_policy_t __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__task_set_emulation_t __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__task_get_emulation_vector_t __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__task_set_emulation_vector_t __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__task_set_ras_pc_t __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__task_zone_info_t __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__task_assign_t __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__task_assign_default_t __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__task_get_assignment_t __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__task_set_policy_t __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__task_get_state_t __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__task_set_state_t __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__task_set_phys_footprint_limit_t __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__task_suspend2_t __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__task_resume2_t __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__task_purgable_info_t __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__task_get_mach_voucher_t __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__task_set_mach_voucher_t __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__task_swap_mach_voucher_t __attribute__((unused));
#ifdef __MigPackStructs
#pragma pack()
#endif
#endif /* !__Reply__task_subsystem__defined */
/* union of all replies */
#ifndef __ReplyUnion__task_subsystem__defined
#define __ReplyUnion__task_subsystem__defined
union __ReplyUnion__task_subsystem {
__Reply__task_create_t Reply_task_create;
__Reply__task_terminate_t Reply_task_terminate;
__Reply__task_threads_t Reply_task_threads;
__Reply__mach_ports_register_t Reply_mach_ports_register;
__Reply__mach_ports_lookup_t Reply_mach_ports_lookup;
__Reply__task_info_t Reply_task_info;
__Reply__task_set_info_t Reply_task_set_info;
__Reply__task_suspend_t Reply_task_suspend;
__Reply__task_resume_t Reply_task_resume;
__Reply__task_get_special_port_t Reply_task_get_special_port;
__Reply__task_set_special_port_t Reply_task_set_special_port;
__Reply__thread_create_t Reply_thread_create;
__Reply__thread_create_running_t Reply_thread_create_running;
__Reply__task_set_exception_ports_t Reply_task_set_exception_ports;
__Reply__task_get_exception_ports_t Reply_task_get_exception_ports;
__Reply__task_swap_exception_ports_t Reply_task_swap_exception_ports;
__Reply__lock_set_create_t Reply_lock_set_create;
__Reply__lock_set_destroy_t Reply_lock_set_destroy;
__Reply__semaphore_create_t Reply_semaphore_create;
__Reply__semaphore_destroy_t Reply_semaphore_destroy;
__Reply__task_policy_set_t Reply_task_policy_set;
__Reply__task_policy_get_t Reply_task_policy_get;
__Reply__task_sample_t Reply_task_sample;
__Reply__task_policy_t Reply_task_policy;
__Reply__task_set_emulation_t Reply_task_set_emulation;
__Reply__task_get_emulation_vector_t Reply_task_get_emulation_vector;
__Reply__task_set_emulation_vector_t Reply_task_set_emulation_vector;
__Reply__task_set_ras_pc_t Reply_task_set_ras_pc;
__Reply__task_zone_info_t Reply_task_zone_info;
__Reply__task_assign_t Reply_task_assign;
__Reply__task_assign_default_t Reply_task_assign_default;
__Reply__task_get_assignment_t Reply_task_get_assignment;
__Reply__task_set_policy_t Reply_task_set_policy;
__Reply__task_get_state_t Reply_task_get_state;
__Reply__task_set_state_t Reply_task_set_state;
__Reply__task_set_phys_footprint_limit_t Reply_task_set_phys_footprint_limit;
__Reply__task_suspend2_t Reply_task_suspend2;
__Reply__task_resume2_t Reply_task_resume2;
__Reply__task_purgable_info_t Reply_task_purgable_info;
__Reply__task_get_mach_voucher_t Reply_task_get_mach_voucher;
__Reply__task_set_mach_voucher_t Reply_task_set_mach_voucher;
__Reply__task_swap_mach_voucher_t Reply_task_swap_mach_voucher;
};
#endif /* __RequestUnion__task_subsystem__defined */
/* Forward Declarations */
mig_internal novalue _Xtask_create
(mach_msg_header_t *InHeadP, mach_msg_header_t *OutHeadP);
mig_internal novalue _Xtask_terminate
(mach_msg_header_t *InHeadP, mach_msg_header_t *OutHeadP);
mig_internal novalue _Xtask_threads
(mach_msg_header_t *InHeadP, mach_msg_header_t *OutHeadP);
mig_internal novalue _Xmach_ports_register
(mach_msg_header_t *InHeadP, mach_msg_header_t *OutHeadP);
mig_internal novalue _Xmach_ports_lookup
(mach_msg_header_t *InHeadP, mach_msg_header_t *OutHeadP);
mig_internal novalue _Xtask_info
(mach_msg_header_t *InHeadP, mach_msg_header_t *OutHeadP);
mig_internal novalue _Xtask_set_info
(mach_msg_header_t *InHeadP, mach_msg_header_t *OutHeadP);
mig_internal novalue _Xtask_suspend
(mach_msg_header_t *InHeadP, mach_msg_header_t *OutHeadP);
mig_internal novalue _Xtask_resume
(mach_msg_header_t *InHeadP, mach_msg_header_t *OutHeadP);
mig_internal novalue _Xtask_get_special_port
(mach_msg_header_t *InHeadP, mach_msg_header_t *OutHeadP);
mig_internal novalue _Xtask_set_special_port
(mach_msg_header_t *InHeadP, mach_msg_header_t *OutHeadP);
mig_internal novalue _Xthread_create
(mach_msg_header_t *InHeadP, mach_msg_header_t *OutHeadP);
mig_internal novalue _Xthread_create_running
(mach_msg_header_t *InHeadP, mach_msg_header_t *OutHeadP);
mig_internal novalue _Xtask_set_exception_ports
(mach_msg_header_t *InHeadP, mach_msg_header_t *OutHeadP);
mig_internal novalue _Xtask_get_exception_ports
(mach_msg_header_t *InHeadP, mach_msg_header_t *OutHeadP);
mig_internal novalue _Xtask_swap_exception_ports
(mach_msg_header_t *InHeadP, mach_msg_header_t *OutHeadP);
mig_internal novalue _Xlock_set_create
(mach_msg_header_t *InHeadP, mach_msg_header_t *OutHeadP);
mig_internal novalue _Xlock_set_destroy
(mach_msg_header_t *InHeadP, mach_msg_header_t *OutHeadP);
mig_internal novalue _Xsemaphore_create
(mach_msg_header_t *InHeadP, mach_msg_header_t *OutHeadP);
mig_internal novalue _Xsemaphore_destroy
(mach_msg_header_t *InHeadP, mach_msg_header_t *OutHeadP);
mig_internal novalue _Xtask_policy_set
(mach_msg_header_t *InHeadP, mach_msg_header_t *OutHeadP);
mig_internal novalue _Xtask_policy_get
(mach_msg_header_t *InHeadP, mach_msg_header_t *OutHeadP);
mig_internal novalue _Xtask_sample
(mach_msg_header_t *InHeadP, mach_msg_header_t *OutHeadP);
mig_internal novalue _Xtask_policy
(mach_msg_header_t *InHeadP, mach_msg_header_t *OutHeadP);
mig_internal novalue _Xtask_set_emulation
(mach_msg_header_t *InHeadP, mach_msg_header_t *OutHeadP);
mig_internal novalue _Xtask_get_emulation_vector
(mach_msg_header_t *InHeadP, mach_msg_header_t *OutHeadP);
mig_internal novalue _Xtask_set_emulation_vector
(mach_msg_header_t *InHeadP, mach_msg_header_t *OutHeadP);
mig_internal novalue _Xtask_set_ras_pc
(mach_msg_header_t *InHeadP, mach_msg_header_t *OutHeadP);
mig_internal novalue _Xtask_zone_info
(mach_msg_header_t *InHeadP, mach_msg_header_t *OutHeadP);
mig_internal novalue _Xtask_assign
(mach_msg_header_t *InHeadP, mach_msg_header_t *OutHeadP);
mig_internal novalue _Xtask_assign_default
(mach_msg_header_t *InHeadP, mach_msg_header_t *OutHeadP);
mig_internal novalue _Xtask_get_assignment
(mach_msg_header_t *InHeadP, mach_msg_header_t *OutHeadP);
mig_internal novalue _Xtask_set_policy
(mach_msg_header_t *InHeadP, mach_msg_header_t *OutHeadP);
mig_internal novalue _Xtask_get_state
(mach_msg_header_t *InHeadP, mach_msg_header_t *OutHeadP);
mig_internal novalue _Xtask_set_state
(mach_msg_header_t *InHeadP, mach_msg_header_t *OutHeadP);
mig_internal novalue _Xtask_set_phys_footprint_limit
(mach_msg_header_t *InHeadP, mach_msg_header_t *OutHeadP);
mig_internal novalue _Xtask_suspend2
(mach_msg_header_t *InHeadP, mach_msg_header_t *OutHeadP);
mig_internal novalue _Xtask_resume2
(mach_msg_header_t *InHeadP, mach_msg_header_t *OutHeadP);
mig_internal novalue _Xtask_purgable_info
(mach_msg_header_t *InHeadP, mach_msg_header_t *OutHeadP);
mig_internal novalue _Xtask_get_mach_voucher
(mach_msg_header_t *InHeadP, mach_msg_header_t *OutHeadP);
mig_internal novalue _Xtask_set_mach_voucher
(mach_msg_header_t *InHeadP, mach_msg_header_t *OutHeadP);
mig_internal novalue _Xtask_swap_mach_voucher
(mach_msg_header_t *InHeadP, mach_msg_header_t *OutHeadP);
#if ( __MigTypeCheck )
#if __MIG_check__Request__task_subsystem__
#if !defined(__MIG_check__Request__task_create_t__defined)
#define __MIG_check__Request__task_create_t__defined
mig_internal kern_return_t __MIG_check__Request__task_create_t(__attribute__((__unused__)) __Request__task_create_t *In0P)
{
typedef __Request__task_create_t __Request;
#if __MigTypeCheck
if (!(In0P->Head.msgh_bits & MACH_MSGH_BITS_COMPLEX) ||
(In0P->msgh_body.msgh_descriptor_count != 1) ||
(In0P->Head.msgh_size != (mach_msg_size_t)sizeof(__Request)))
return MIG_BAD_ARGUMENTS;
#endif /* __MigTypeCheck */
#if __MigTypeCheck
if (In0P->ledgers.type != MACH_MSG_OOL_PORTS_DESCRIPTOR ||
In0P->ledgers.disposition != 17)
return MIG_TYPE_ERROR;
#endif /* __MigTypeCheck */
return MACH_MSG_SUCCESS;
}
#endif /* !defined(__MIG_check__Request__task_create_t__defined) */
#endif /* __MIG_check__Request__task_subsystem__ */
#endif /* ( __MigTypeCheck ) */
/* Routine task_create */
#ifdef mig_external
mig_external
#else
extern
#endif /* 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
);
/* Routine task_create */
mig_internal novalue _Xtask_create
(mach_msg_header_t *InHeadP, mach_msg_header_t *OutHeadP)
{
#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;
mach_msg_trailer_t trailer;
} Request __attribute__((unused));
#ifdef __MigPackStructs
#pragma pack()
#endif
typedef __Request__task_create_t __Request;
typedef __Reply__task_create_t Reply __attribute__((unused));
/*
* typedef struct {
* mach_msg_header_t Head;
* NDR_record_t NDR;
* kern_return_t RetCode;
* } mig_reply_error_t;
*/
Request *In0P = (Request *) InHeadP;
Reply *OutP = (Reply *) OutHeadP;
#ifdef __MIG_check__Request__task_create_t__defined
kern_return_t check_result;
#endif /* __MIG_check__Request__task_create_t__defined */
#if UseStaticTemplates
const static mach_msg_port_descriptor_t child_taskTemplate = {
/* name = */ MACH_PORT_NULL,
/* pad1 = */ 0,
/* pad2 = */ 0,
/* disp = */ 19,
/* type = */ MACH_MSG_PORT_DESCRIPTOR,
};
#endif /* UseStaticTemplates */
kern_return_t RetCode;
__DeclareRcvRpc(3400, "task_create")
__BeforeRcvRpc(3400, "task_create")
#if defined(__MIG_check__Request__task_create_t__defined)
check_result = __MIG_check__Request__task_create_t((__Request *)In0P);
if (check_result != MACH_MSG_SUCCESS)
{ MIG_RETURN_ERROR(OutP, check_result); }
#endif /* defined(__MIG_check__Request__task_create_t__defined) */
#if UseStaticTemplates
OutP->child_task = child_taskTemplate;
#else /* UseStaticTemplates */
OutP->child_task.disposition = 19;
OutP->child_task.type = MACH_MSG_PORT_DESCRIPTOR;
#endif /* UseStaticTemplates */
RetCode = task_create(In0P->Head.msgh_request_port, (ledger_array_t)(In0P->ledgers.address), In0P->ledgersCnt, In0P->inherit_memory, &OutP->child_task.name);
if (RetCode != KERN_SUCCESS) {
MIG_RETURN_ERROR(OutP, RetCode);
}
OutP->Head.msgh_bits |= MACH_MSGH_BITS_COMPLEX;
OutP->Head.msgh_size = (mach_msg_size_t)(sizeof(Reply));
OutP->msgh_body.msgh_descriptor_count = 1;
__AfterRcvRpc(3400, "task_create")
}
#if ( __MigTypeCheck )
#if __MIG_check__Request__task_subsystem__
#if !defined(__MIG_check__Request__task_terminate_t__defined)
#define __MIG_check__Request__task_terminate_t__defined
mig_internal kern_return_t __MIG_check__Request__task_terminate_t(__attribute__((__unused__)) __Request__task_terminate_t *In0P)
{
typedef __Request__task_terminate_t __Request;
#if __MigTypeCheck
if ((In0P->Head.msgh_bits & MACH_MSGH_BITS_COMPLEX) ||
(In0P->Head.msgh_size != (mach_msg_size_t)sizeof(__Request)))
return MIG_BAD_ARGUMENTS;
#endif /* __MigTypeCheck */
return MACH_MSG_SUCCESS;
}
#endif /* !defined(__MIG_check__Request__task_terminate_t__defined) */
#endif /* __MIG_check__Request__task_subsystem__ */
#endif /* ( __MigTypeCheck ) */
/* Routine task_terminate */
#ifdef mig_external
mig_external
#else
extern
#endif /* mig_external */
kern_return_t task_terminate
(
task_t target_task
);
/* Routine task_terminate */
mig_internal novalue _Xtask_terminate
(mach_msg_header_t *InHeadP, mach_msg_header_t *OutHeadP)
{
#ifdef __MigPackStructs
#pragma pack(4)
#endif
typedef struct {
mach_msg_header_t Head;
mach_msg_trailer_t trailer;
} Request __attribute__((unused));
#ifdef __MigPackStructs
#pragma pack()
#endif
typedef __Request__task_terminate_t __Request;
typedef __Reply__task_terminate_t Reply __attribute__((unused));
/*
* typedef struct {
* mach_msg_header_t Head;
* NDR_record_t NDR;
* kern_return_t RetCode;
* } mig_reply_error_t;
*/
Request *In0P = (Request *) InHeadP;
Reply *OutP = (Reply *) OutHeadP;
#ifdef __MIG_check__Request__task_terminate_t__defined
kern_return_t check_result;
#endif /* __MIG_check__Request__task_terminate_t__defined */
__DeclareRcvRpc(3401, "task_terminate")
__BeforeRcvRpc(3401, "task_terminate")
#if defined(__MIG_check__Request__task_terminate_t__defined)
check_result = __MIG_check__Request__task_terminate_t((__Request *)In0P);
if (check_result != MACH_MSG_SUCCESS)
{ MIG_RETURN_ERROR(OutP, check_result); }
#endif /* defined(__MIG_check__Request__task_terminate_t__defined) */
OutP->RetCode = task_terminate(In0P->Head.msgh_request_port);
OutP->NDR = NDR_record;
__AfterRcvRpc(3401, "task_terminate")
}
#if ( __MigTypeCheck )
#if __MIG_check__Request__task_subsystem__
#if !defined(__MIG_check__Request__task_threads_t__defined)
#define __MIG_check__Request__task_threads_t__defined
mig_internal kern_return_t __MIG_check__Request__task_threads_t(__attribute__((__unused__)) __Request__task_threads_t *In0P)
{
typedef __Request__task_threads_t __Request;
#if __MigTypeCheck
if ((In0P->Head.msgh_bits & MACH_MSGH_BITS_COMPLEX) ||
(In0P->Head.msgh_size != (mach_msg_size_t)sizeof(__Request)))
return MIG_BAD_ARGUMENTS;
#endif /* __MigTypeCheck */
return MACH_MSG_SUCCESS;
}
#endif /* !defined(__MIG_check__Request__task_threads_t__defined) */
#endif /* __MIG_check__Request__task_subsystem__ */
#endif /* ( __MigTypeCheck ) */
/* Routine task_threads */
#ifdef mig_external
mig_external
#else
extern
#endif /* mig_external */
kern_return_t task_threads
(
task_t target_task,
thread_act_array_t *act_list,
mach_msg_type_number_t *act_listCnt
);
/* Routine task_threads */
mig_internal novalue _Xtask_threads
(mach_msg_header_t *InHeadP, mach_msg_header_t *OutHeadP)
{
#ifdef __MigPackStructs
#pragma pack(4)
#endif
typedef struct {
mach_msg_header_t Head;
mach_msg_trailer_t trailer;
} Request __attribute__((unused));
#ifdef __MigPackStructs
#pragma pack()
#endif
typedef __Request__task_threads_t __Request;
typedef __Reply__task_threads_t Reply __attribute__((unused));
/*
* typedef struct {
* mach_msg_header_t Head;
* NDR_record_t NDR;
* kern_return_t RetCode;
* } mig_reply_error_t;
*/
Request *In0P = (Request *) InHeadP;
Reply *OutP = (Reply *) OutHeadP;
#ifdef __MIG_check__Request__task_threads_t__defined
kern_return_t check_result;
#endif /* __MIG_check__Request__task_threads_t__defined */
#if UseStaticTemplates
const static mach_msg_ool_ports_descriptor_t act_listTemplate = {
/* 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 */
kern_return_t RetCode;
__DeclareRcvRpc(3402, "task_threads")
__BeforeRcvRpc(3402, "task_threads")
#if defined(__MIG_check__Request__task_threads_t__defined)
check_result = __MIG_check__Request__task_threads_t((__Request *)In0P);
if (check_result != MACH_MSG_SUCCESS)
{ MIG_RETURN_ERROR(OutP, check_result); }
#endif /* defined(__MIG_check__Request__task_threads_t__defined) */
#if UseStaticTemplates
OutP->act_list = act_listTemplate;
#else /* UseStaticTemplates */
OutP->act_list.disposition = 19;
OutP->act_list.deallocate = FALSE;
OutP->act_list.type = MACH_MSG_OOL_PORTS_DESCRIPTOR;
#endif /* UseStaticTemplates */
RetCode = task_threads(In0P->Head.msgh_request_port, (thread_act_array_t *)&(OutP->act_list.address), &OutP->act_listCnt);
if (RetCode != KERN_SUCCESS) {
MIG_RETURN_ERROR(OutP, RetCode);
}
OutP->act_list.count = OutP->act_listCnt;
OutP->NDR = NDR_record;
OutP->Head.msgh_bits |= MACH_MSGH_BITS_COMPLEX;
OutP->Head.msgh_size = (mach_msg_size_t)(sizeof(Reply));
OutP->msgh_body.msgh_descriptor_count = 1;
__AfterRcvRpc(3402, "task_threads")
}
#if ( __MigTypeCheck )
#if __MIG_check__Request__task_subsystem__
#if !defined(__MIG_check__Request__mach_ports_register_t__defined)
#define __MIG_check__Request__mach_ports_register_t__defined
mig_internal kern_return_t __MIG_check__Request__mach_ports_register_t(__attribute__((__unused__)) __Request__mach_ports_register_t *In0P)
{
typedef __Request__mach_ports_register_t __Request;
#if __MigTypeCheck
if (!(In0P->Head.msgh_bits & MACH_MSGH_BITS_COMPLEX) ||
(In0P->msgh_body.msgh_descriptor_count != 1) ||
(In0P->Head.msgh_size != (mach_msg_size_t)sizeof(__Request)))
return MIG_BAD_ARGUMENTS;
#endif /* __MigTypeCheck */
#if __MigTypeCheck
if (In0P->init_port_set.type != MACH_MSG_OOL_PORTS_DESCRIPTOR ||
In0P->init_port_set.disposition != 17)
return MIG_TYPE_ERROR;
#endif /* __MigTypeCheck */
return MACH_MSG_SUCCESS;
}
#endif /* !defined(__MIG_check__Request__mach_ports_register_t__defined) */
#endif /* __MIG_check__Request__task_subsystem__ */
#endif /* ( __MigTypeCheck ) */
/* Routine mach_ports_register */
#ifdef mig_external
mig_external
#else
extern
#endif /* 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
);
/* Routine mach_ports_register */
mig_internal novalue _Xmach_ports_register
(mach_msg_header_t *InHeadP, mach_msg_header_t *OutHeadP)
{
#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;
} Request __attribute__((unused));
#ifdef __MigPackStructs
#pragma pack()
#endif
typedef __Request__mach_ports_register_t __Request;
typedef __Reply__mach_ports_register_t Reply __attribute__((unused));
/*
* typedef struct {
* mach_msg_header_t Head;
* NDR_record_t NDR;
* kern_return_t RetCode;
* } mig_reply_error_t;
*/
Request *In0P = (Request *) InHeadP;
Reply *OutP = (Reply *) OutHeadP;
#ifdef __MIG_check__Request__mach_ports_register_t__defined
kern_return_t check_result;
#endif /* __MIG_check__Request__mach_ports_register_t__defined */
__DeclareRcvRpc(3403, "mach_ports_register")
__BeforeRcvRpc(3403, "mach_ports_register")
#if defined(__MIG_check__Request__mach_ports_register_t__defined)
check_result = __MIG_check__Request__mach_ports_register_t((__Request *)In0P);
if (check_result != MACH_MSG_SUCCESS)
{ MIG_RETURN_ERROR(OutP, check_result); }
#endif /* defined(__MIG_check__Request__mach_ports_register_t__defined) */
OutP->RetCode = mach_ports_register(In0P->Head.msgh_request_port, (mach_port_array_t)(In0P->init_port_set.address), In0P->init_port_setCnt);
OutP->NDR = NDR_record;
__AfterRcvRpc(3403, "mach_ports_register")
}
#if ( __MigTypeCheck )
#if __MIG_check__Request__task_subsystem__
#if !defined(__MIG_check__Request__mach_ports_lookup_t__defined)
#define __MIG_check__Request__mach_ports_lookup_t__defined
mig_internal kern_return_t __MIG_check__Request__mach_ports_lookup_t(__attribute__((__unused__)) __Request__mach_ports_lookup_t *In0P)
{
typedef __Request__mach_ports_lookup_t __Request;
#if __MigTypeCheck
if ((In0P->Head.msgh_bits & MACH_MSGH_BITS_COMPLEX) ||
(In0P->Head.msgh_size != (mach_msg_size_t)sizeof(__Request)))
return MIG_BAD_ARGUMENTS;
#endif /* __MigTypeCheck */
return MACH_MSG_SUCCESS;
}
#endif /* !defined(__MIG_check__Request__mach_ports_lookup_t__defined) */
#endif /* __MIG_check__Request__task_subsystem__ */
#endif /* ( __MigTypeCheck ) */
/* Routine mach_ports_lookup */
#ifdef mig_external
mig_external
#else
extern
#endif /* 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
);
/* Routine mach_ports_lookup */
mig_internal novalue _Xmach_ports_lookup
(mach_msg_header_t *InHeadP, mach_msg_header_t *OutHeadP)
{
#ifdef __MigPackStructs
#pragma pack(4)
#endif
typedef struct {
mach_msg_header_t Head;
mach_msg_trailer_t trailer;
} Request __attribute__((unused));
#ifdef __MigPackStructs
#pragma pack()
#endif
typedef __Request__mach_ports_lookup_t __Request;
typedef __Reply__mach_ports_lookup_t Reply __attribute__((unused));
/*
* typedef struct {
* mach_msg_header_t Head;
* NDR_record_t NDR;
* kern_return_t RetCode;
* } mig_reply_error_t;
*/
Request *In0P = (Request *) InHeadP;
Reply *OutP = (Reply *) OutHeadP;
#ifdef __MIG_check__Request__mach_ports_lookup_t__defined
kern_return_t check_result;
#endif /* __MIG_check__Request__mach_ports_lookup_t__defined */
#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 */
kern_return_t RetCode;
__DeclareRcvRpc(3404, "mach_ports_lookup")
__BeforeRcvRpc(3404, "mach_ports_lookup")
#if defined(__MIG_check__Request__mach_ports_lookup_t__defined)
check_result = __MIG_check__Request__mach_ports_lookup_t((__Request *)In0P);
if (check_result != MACH_MSG_SUCCESS)
{ MIG_RETURN_ERROR(OutP, check_result); }
#endif /* defined(__MIG_check__Request__mach_ports_lookup_t__defined) */
#if UseStaticTemplates
OutP->init_port_set = init_port_setTemplate;
#else /* UseStaticTemplates */
OutP->init_port_set.disposition = 19;
OutP->init_port_set.deallocate = FALSE;
OutP->init_port_set.type = MACH_MSG_OOL_PORTS_DESCRIPTOR;
#endif /* UseStaticTemplates */
RetCode = mach_ports_lookup(In0P->Head.msgh_request_port, (mach_port_array_t *)&(OutP->init_port_set.address), &OutP->init_port_setCnt);
if (RetCode != KERN_SUCCESS) {
MIG_RETURN_ERROR(OutP, RetCode);
}
OutP->init_port_set.count = OutP->init_port_setCnt;
OutP->NDR = NDR_record;
OutP->Head.msgh_bits |= MACH_MSGH_BITS_COMPLEX;
OutP->Head.msgh_size = (mach_msg_size_t)(sizeof(Reply));
OutP->msgh_body.msgh_descriptor_count = 1;
__AfterRcvRpc(3404, "mach_ports_lookup")
}
#if ( __MigTypeCheck )
#if __MIG_check__Request__task_subsystem__
#if !defined(__MIG_check__Request__task_info_t__defined)
#define __MIG_check__Request__task_info_t__defined
mig_internal kern_return_t __MIG_check__Request__task_info_t(__attribute__((__unused__)) __Request__task_info_t *In0P)
{
typedef __Request__task_info_t __Request;
#if __MigTypeCheck
if ((In0P->Head.msgh_bits & MACH_MSGH_BITS_COMPLEX) ||
(In0P->Head.msgh_size != (mach_msg_size_t)sizeof(__Request)))
return MIG_BAD_ARGUMENTS;
#endif /* __MigTypeCheck */
return MACH_MSG_SUCCESS;
}
#endif /* !defined(__MIG_check__Request__task_info_t__defined) */
#endif /* __MIG_check__Request__task_subsystem__ */
#endif /* ( __MigTypeCheck ) */
/* Routine task_info */
#ifdef mig_external
mig_external
#else
extern
#endif /* 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
);
/* Routine task_info */
mig_internal novalue _Xtask_info
(mach_msg_header_t *InHeadP, mach_msg_header_t *OutHeadP)
{
#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;
mach_msg_trailer_t trailer;
} Request __attribute__((unused));
#ifdef __MigPackStructs
#pragma pack()
#endif
typedef __Request__task_info_t __Request;
typedef __Reply__task_info_t Reply __attribute__((unused));
/*
* typedef struct {
* mach_msg_header_t Head;
* NDR_record_t NDR;
* kern_return_t RetCode;
* } mig_reply_error_t;
*/
Request *In0P = (Request *) InHeadP;
Reply *OutP = (Reply *) OutHeadP;
#ifdef __MIG_check__Request__task_info_t__defined
kern_return_t check_result;
#endif /* __MIG_check__Request__task_info_t__defined */
__DeclareRcvRpc(3405, "task_info")
__BeforeRcvRpc(3405, "task_info")
#if defined(__MIG_check__Request__task_info_t__defined)
check_result = __MIG_check__Request__task_info_t((__Request *)In0P);
if (check_result != MACH_MSG_SUCCESS)
{ MIG_RETURN_ERROR(OutP, check_result); }
#endif /* defined(__MIG_check__Request__task_info_t__defined) */
OutP->task_info_outCnt = 52;
if (In0P->task_info_outCnt < OutP->task_info_outCnt)
OutP->task_info_outCnt = In0P->task_info_outCnt;
OutP->RetCode = task_info(In0P->Head.msgh_request_port, In0P->flavor, OutP->task_info_out, &OutP->task_info_outCnt);
if (OutP->RetCode != KERN_SUCCESS) {
MIG_RETURN_ERROR(OutP, OutP->RetCode);
}
OutP->NDR = NDR_record;
OutP->Head.msgh_size = (mach_msg_size_t)(sizeof(Reply) - 208) + (((4 * OutP->task_info_outCnt)));
__AfterRcvRpc(3405, "task_info")
}
#if ( __MigTypeCheck )
#if __MIG_check__Request__task_subsystem__
#if !defined(__MIG_check__Request__task_set_info_t__defined)
#define __MIG_check__Request__task_set_info_t__defined
mig_internal kern_return_t __MIG_check__Request__task_set_info_t(__attribute__((__unused__)) __Request__task_set_info_t *In0P)
{
typedef __Request__task_set_info_t __Request;
#if __MigTypeCheck
unsigned int msgh_size;
#endif /* __MigTypeCheck */
#if __MigTypeCheck
msgh_size = In0P->Head.msgh_size;
if ((In0P->Head.msgh_bits & MACH_MSGH_BITS_COMPLEX) ||
(msgh_size < (mach_msg_size_t)(sizeof(__Request) - 208)) || (msgh_size > (mach_msg_size_t)sizeof(__Request)))
return MIG_BAD_ARGUMENTS;
#endif /* __MigTypeCheck */
#if defined(__NDR_convert__int_rep__Request__task_set_info_t__task_info_inCnt__defined)
if (In0P->NDR.int_rep != NDR_record.int_rep)
__NDR_convert__int_rep__Request__task_set_info_t__task_info_inCnt(&In0P->task_info_inCnt, In0P->NDR.int_rep);
#endif /* __NDR_convert__int_rep__Request__task_set_info_t__task_info_inCnt__defined */
#if __MigTypeCheck
if ( In0P->task_info_inCnt > 52 )
return MIG_BAD_ARGUMENTS;
if (((msgh_size - (mach_msg_size_t)(sizeof(__Request) - 208)) / 4 < In0P->task_info_inCnt) ||
(msgh_size != (mach_msg_size_t)(sizeof(__Request) - 208) + (4 * In0P->task_info_inCnt)))
return MIG_BAD_ARGUMENTS;
#endif /* __MigTypeCheck */
return MACH_MSG_SUCCESS;
}
#endif /* !defined(__MIG_check__Request__task_set_info_t__defined) */
#endif /* __MIG_check__Request__task_subsystem__ */
#endif /* ( __MigTypeCheck ) */
/* Routine task_set_info */
#ifdef mig_external
mig_external
#else
extern
#endif /* 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
);
/* Routine task_set_info */
mig_internal novalue _Xtask_set_info
(mach_msg_header_t *InHeadP, mach_msg_header_t *OutHeadP)
{
#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];
mach_msg_trailer_t trailer;
} Request __attribute__((unused));
#ifdef __MigPackStructs
#pragma pack()
#endif
typedef __Request__task_set_info_t __Request;
typedef __Reply__task_set_info_t Reply __attribute__((unused));
/*
* typedef struct {
* mach_msg_header_t Head;
* NDR_record_t NDR;
* kern_return_t RetCode;
* } mig_reply_error_t;
*/
Request *In0P = (Request *) InHeadP;
Reply *OutP = (Reply *) OutHeadP;
#ifdef __MIG_check__Request__task_set_info_t__defined
kern_return_t check_result;
#endif /* __MIG_check__Request__task_set_info_t__defined */
__DeclareRcvRpc(3406, "task_set_info")
__BeforeRcvRpc(3406, "task_set_info")
#if defined(__MIG_check__Request__task_set_info_t__defined)
check_result = __MIG_check__Request__task_set_info_t((__Request *)In0P);
if (check_result != MACH_MSG_SUCCESS)
{ MIG_RETURN_ERROR(OutP, check_result); }
#endif /* defined(__MIG_check__Request__task_set_info_t__defined) */
OutP->RetCode = task_set_info(In0P->Head.msgh_request_port, In0P->flavor, In0P->task_info_in, In0P->task_info_inCnt);
OutP->NDR = NDR_record;
__AfterRcvRpc(3406, "task_set_info")
}
#if ( __MigTypeCheck )
#if __MIG_check__Request__task_subsystem__
#if !defined(__MIG_check__Request__task_suspend_t__defined)
#define __MIG_check__Request__task_suspend_t__defined
mig_internal kern_return_t __MIG_check__Request__task_suspend_t(__attribute__((__unused__)) __Request__task_suspend_t *In0P)
{
typedef __Request__task_suspend_t __Request;
#if __MigTypeCheck
if ((In0P->Head.msgh_bits & MACH_MSGH_BITS_COMPLEX) ||
(In0P->Head.msgh_size != (mach_msg_size_t)sizeof(__Request)))
return MIG_BAD_ARGUMENTS;
#endif /* __MigTypeCheck */
return MACH_MSG_SUCCESS;
}
#endif /* !defined(__MIG_check__Request__task_suspend_t__defined) */
#endif /* __MIG_check__Request__task_subsystem__ */
#endif /* ( __MigTypeCheck ) */
/* Routine task_suspend */
#ifdef mig_external
mig_external
#else
extern
#endif /* mig_external */
kern_return_t task_suspend
(
task_t target_task
);
/* Routine task_suspend */
mig_internal novalue _Xtask_suspend
(mach_msg_header_t *InHeadP, mach_msg_header_t *OutHeadP)
{
#ifdef __MigPackStructs
#pragma pack(4)
#endif
typedef struct {
mach_msg_header_t Head;
mach_msg_trailer_t trailer;
} Request __attribute__((unused));
#ifdef __MigPackStructs
#pragma pack()
#endif
typedef __Request__task_suspend_t __Request;
typedef __Reply__task_suspend_t Reply __attribute__((unused));
/*
* typedef struct {
* mach_msg_header_t Head;
* NDR_record_t NDR;
* kern_return_t RetCode;
* } mig_reply_error_t;
*/
Request *In0P = (Request *) InHeadP;
Reply *OutP = (Reply *) OutHeadP;
#ifdef __MIG_check__Request__task_suspend_t__defined
kern_return_t check_result;
#endif /* __MIG_check__Request__task_suspend_t__defined */
__DeclareRcvRpc(3407, "task_suspend")
__BeforeRcvRpc(3407, "task_suspend")
#if defined(__MIG_check__Request__task_suspend_t__defined)
check_result = __MIG_check__Request__task_suspend_t((__Request *)In0P);
if (check_result != MACH_MSG_SUCCESS)
{ MIG_RETURN_ERROR(OutP, check_result); }
#endif /* defined(__MIG_check__Request__task_suspend_t__defined) */
OutP->RetCode = task_suspend(In0P->Head.msgh_request_port);
OutP->NDR = NDR_record;
__AfterRcvRpc(3407, "task_suspend")
}
#if ( __MigTypeCheck )
#if __MIG_check__Request__task_subsystem__
#if !defined(__MIG_check__Request__task_resume_t__defined)
#define __MIG_check__Request__task_resume_t__defined
mig_internal kern_return_t __MIG_check__Request__task_resume_t(__attribute__((__unused__)) __Request__task_resume_t *In0P)
{
typedef __Request__task_resume_t __Request;
#if __MigTypeCheck
if ((In0P->Head.msgh_bits & MACH_MSGH_BITS_COMPLEX) ||
(In0P->Head.msgh_size != (mach_msg_size_t)sizeof(__Request)))
return MIG_BAD_ARGUMENTS;
#endif /* __MigTypeCheck */
return MACH_MSG_SUCCESS;
}
#endif /* !defined(__MIG_check__Request__task_resume_t__defined) */
#endif /* __MIG_check__Request__task_subsystem__ */
#endif /* ( __MigTypeCheck ) */
/* Routine task_resume */
#ifdef mig_external
mig_external
#else
extern
#endif /* mig_external */
kern_return_t task_resume
(
task_t target_task
);
/* Routine task_resume */
mig_internal novalue _Xtask_resume
(mach_msg_header_t *InHeadP, mach_msg_header_t *OutHeadP)
{
#ifdef __MigPackStructs
#pragma pack(4)
#endif
typedef struct {
mach_msg_header_t Head;
mach_msg_trailer_t trailer;
} Request __attribute__((unused));
#ifdef __MigPackStructs
#pragma pack()
#endif
typedef __Request__task_resume_t __Request;
typedef __Reply__task_resume_t Reply __attribute__((unused));
/*
* typedef struct {
* mach_msg_header_t Head;
* NDR_record_t NDR;
* kern_return_t RetCode;
* } mig_reply_error_t;
*/
Request *In0P = (Request *) InHeadP;
Reply *OutP = (Reply *) OutHeadP;
#ifdef __MIG_check__Request__task_resume_t__defined
kern_return_t check_result;
#endif /* __MIG_check__Request__task_resume_t__defined */
__DeclareRcvRpc(3408, "task_resume")
__BeforeRcvRpc(3408, "task_resume")
#if defined(__MIG_check__Request__task_resume_t__defined)
check_result = __MIG_check__Request__task_resume_t((__Request *)In0P);
if (check_result != MACH_MSG_SUCCESS)
{ MIG_RETURN_ERROR(OutP, check_result); }
#endif /* defined(__MIG_check__Request__task_resume_t__defined) */
OutP->RetCode = task_resume(In0P->Head.msgh_request_port);
OutP->NDR = NDR_record;
__AfterRcvRpc(3408, "task_resume")
}
#if ( __MigTypeCheck )
#if __MIG_check__Request__task_subsystem__
#if !defined(__MIG_check__Request__task_get_special_port_t__defined)
#define __MIG_check__Request__task_get_special_port_t__defined
mig_internal kern_return_t __MIG_check__Request__task_get_special_port_t(__attribute__((__unused__)) __Request__task_get_special_port_t *In0P)
{
typedef __Request__task_get_special_port_t __Request;
#if __MigTypeCheck
if ((In0P->Head.msgh_bits & MACH_MSGH_BITS_COMPLEX) ||
(In0P->Head.msgh_size != (mach_msg_size_t)sizeof(__Request)))
return MIG_BAD_ARGUMENTS;
#endif /* __MigTypeCheck */
return MACH_MSG_SUCCESS;
}
#endif /* !defined(__MIG_check__Request__task_get_special_port_t__defined) */
#endif /* __MIG_check__Request__task_subsystem__ */
#endif /* ( __MigTypeCheck ) */
/* Routine task_get_special_port */
#ifdef mig_external
mig_external
#else
extern
#endif /* mig_external */
kern_return_t task_get_special_port
(
task_t task,
int which_port,
mach_port_t *special_port
);
/* Routine task_get_special_port */
mig_internal novalue _Xtask_get_special_port
(mach_msg_header_t *InHeadP, mach_msg_header_t *OutHeadP)
{
#ifdef __MigPackStructs
#pragma pack(4)
#endif
typedef struct {
mach_msg_header_t Head;
NDR_record_t NDR;
int which_port;
mach_msg_trailer_t trailer;
} Request __attribute__((unused));
#ifdef __MigPackStructs
#pragma pack()
#endif
typedef __Request__task_get_special_port_t __Request;
typedef __Reply__task_get_special_port_t Reply __attribute__((unused));
/*
* typedef struct {
* mach_msg_header_t Head;
* NDR_record_t NDR;
* kern_return_t RetCode;
* } mig_reply_error_t;
*/
Request *In0P = (Request *) InHeadP;
Reply *OutP = (Reply *) OutHeadP;
#ifdef __MIG_check__Request__task_get_special_port_t__defined
kern_return_t check_result;
#endif /* __MIG_check__Request__task_get_special_port_t__defined */
#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 */
kern_return_t RetCode;
__DeclareRcvRpc(3409, "task_get_special_port")
__BeforeRcvRpc(3409, "task_get_special_port")
#if defined(__MIG_check__Request__task_get_special_port_t__defined)
check_result = __MIG_check__Request__task_get_special_port_t((__Request *)In0P);
if (check_result != MACH_MSG_SUCCESS)
{ MIG_RETURN_ERROR(OutP, check_result); }
#endif /* defined(__MIG_check__Request__task_get_special_port_t__defined) */
#if UseStaticTemplates
OutP->special_port = special_portTemplate;
#else /* UseStaticTemplates */
OutP->special_port.disposition = 19;
OutP->special_port.type = MACH_MSG_PORT_DESCRIPTOR;
#endif /* UseStaticTemplates */
RetCode = task_get_special_port(In0P->Head.msgh_request_port, In0P->which_port, &OutP->special_port.name);
if (RetCode != KERN_SUCCESS) {
MIG_RETURN_ERROR(OutP, RetCode);
}
OutP->Head.msgh_bits |= MACH_MSGH_BITS_COMPLEX;
OutP->Head.msgh_size = (mach_msg_size_t)(sizeof(Reply));
OutP->msgh_body.msgh_descriptor_count = 1;
__AfterRcvRpc(3409, "task_get_special_port")
}
#if ( __MigTypeCheck )
#if __MIG_check__Request__task_subsystem__
#if !defined(__MIG_check__Request__task_set_special_port_t__defined)
#define __MIG_check__Request__task_set_special_port_t__defined
mig_internal kern_return_t __MIG_check__Request__task_set_special_port_t(__attribute__((__unused__)) __Request__task_set_special_port_t *In0P)
{
typedef __Request__task_set_special_port_t __Request;
#if __MigTypeCheck
if (!(In0P->Head.msgh_bits & MACH_MSGH_BITS_COMPLEX) ||
(In0P->msgh_body.msgh_descriptor_count != 1) ||
(In0P->Head.msgh_size != (mach_msg_size_t)sizeof(__Request)))
return MIG_BAD_ARGUMENTS;
#endif /* __MigTypeCheck */
#if __MigTypeCheck
if (In0P->special_port.type != MACH_MSG_PORT_DESCRIPTOR ||
In0P->special_port.disposition != 17)
return MIG_TYPE_ERROR;
#endif /* __MigTypeCheck */
return MACH_MSG_SUCCESS;
}
#endif /* !defined(__MIG_check__Request__task_set_special_port_t__defined) */
#endif /* __MIG_check__Request__task_subsystem__ */
#endif /* ( __MigTypeCheck ) */
/* Routine task_set_special_port */
#ifdef mig_external
mig_external
#else
extern
#endif /* mig_external */
kern_return_t task_set_special_port
(
task_t task,
int which_port,
mach_port_t special_port
);
/* Routine task_set_special_port */
mig_internal novalue _Xtask_set_special_port
(mach_msg_header_t *InHeadP, mach_msg_header_t *OutHeadP)
{
#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;
mach_msg_trailer_t trailer;
} Request __attribute__((unused));
#ifdef __MigPackStructs
#pragma pack()
#endif
typedef __Request__task_set_special_port_t __Request;
typedef __Reply__task_set_special_port_t Reply __attribute__((unused));
/*
* typedef struct {
* mach_msg_header_t Head;
* NDR_record_t NDR;
* kern_return_t RetCode;
* } mig_reply_error_t;
*/
Request *In0P = (Request *) InHeadP;
Reply *OutP = (Reply *) OutHeadP;
#ifdef __MIG_check__Request__task_set_special_port_t__defined
kern_return_t check_result;
#endif /* __MIG_check__Request__task_set_special_port_t__defined */
__DeclareRcvRpc(3410, "task_set_special_port")
__BeforeRcvRpc(3410, "task_set_special_port")
#if defined(__MIG_check__Request__task_set_special_port_t__defined)
check_result = __MIG_check__Request__task_set_special_port_t((__Request *)In0P);
if (check_result != MACH_MSG_SUCCESS)
{ MIG_RETURN_ERROR(OutP, check_result); }
#endif /* defined(__MIG_check__Request__task_set_special_port_t__defined) */
OutP->RetCode = task_set_special_port(In0P->Head.msgh_request_port, In0P->which_port, In0P->special_port.name);
OutP->NDR = NDR_record;
__AfterRcvRpc(3410, "task_set_special_port")
}
#if ( __MigTypeCheck )
#if __MIG_check__Request__task_subsystem__
#if !defined(__MIG_check__Request__thread_create_t__defined)
#define __MIG_check__Request__thread_create_t__defined
mig_internal kern_return_t __MIG_check__Request__thread_create_t(__attribute__((__unused__)) __Request__thread_create_t *In0P)
{
typedef __Request__thread_create_t __Request;
#if __MigTypeCheck
if ((In0P->Head.msgh_bits & MACH_MSGH_BITS_COMPLEX) ||
(In0P->Head.msgh_size != (mach_msg_size_t)sizeof(__Request)))
return MIG_BAD_ARGUMENTS;
#endif /* __MigTypeCheck */
return MACH_MSG_SUCCESS;
}
#endif /* !defined(__MIG_check__Request__thread_create_t__defined) */
#endif /* __MIG_check__Request__task_subsystem__ */
#endif /* ( __MigTypeCheck ) */
/* Routine thread_create */
#ifdef mig_external
mig_external
#else
extern
#endif /* mig_external */
kern_return_t thread_create
(
task_t parent_task,
thread_act_t *child_act
);
/* Routine thread_create */
mig_internal novalue _Xthread_create
(mach_msg_header_t *InHeadP, mach_msg_header_t *OutHeadP)
{
#ifdef __MigPackStructs
#pragma pack(4)
#endif
typedef struct {
mach_msg_header_t Head;
mach_msg_trailer_t trailer;
} Request __attribute__((unused));
#ifdef __MigPackStructs
#pragma pack()
#endif
typedef __Request__thread_create_t __Request;
typedef __Reply__thread_create_t Reply __attribute__((unused));
/*
* typedef struct {
* mach_msg_header_t Head;
* NDR_record_t NDR;
* kern_return_t RetCode;
* } mig_reply_error_t;
*/
Request *In0P = (Request *) InHeadP;
Reply *OutP = (Reply *) OutHeadP;
#ifdef __MIG_check__Request__thread_create_t__defined
kern_return_t check_result;
#endif /* __MIG_check__Request__thread_create_t__defined */
#if UseStaticTemplates
const static mach_msg_port_descriptor_t child_actTemplate = {
/* name = */ MACH_PORT_NULL,
/* pad1 = */ 0,
/* pad2 = */ 0,
/* disp = */ 19,
/* type = */ MACH_MSG_PORT_DESCRIPTOR,
};
#endif /* UseStaticTemplates */
kern_return_t RetCode;
__DeclareRcvRpc(3411, "thread_create")
__BeforeRcvRpc(3411, "thread_create")
#if defined(__MIG_check__Request__thread_create_t__defined)
check_result = __MIG_check__Request__thread_create_t((__Request *)In0P);
if (check_result != MACH_MSG_SUCCESS)
{ MIG_RETURN_ERROR(OutP, check_result); }
#endif /* defined(__MIG_check__Request__thread_create_t__defined) */
#if UseStaticTemplates
OutP->child_act = child_actTemplate;
#else /* UseStaticTemplates */
OutP->child_act.disposition = 19;
OutP->child_act.type = MACH_MSG_PORT_DESCRIPTOR;
#endif /* UseStaticTemplates */
RetCode = thread_create(In0P->Head.msgh_request_port, &OutP->child_act.name);
if (RetCode != KERN_SUCCESS) {
MIG_RETURN_ERROR(OutP, RetCode);
}
OutP->Head.msgh_bits |= MACH_MSGH_BITS_COMPLEX;
OutP->Head.msgh_size = (mach_msg_size_t)(sizeof(Reply));
OutP->msgh_body.msgh_descriptor_count = 1;
__AfterRcvRpc(3411, "thread_create")
}
#if ( __MigTypeCheck )
#if __MIG_check__Request__task_subsystem__
#if !defined(__MIG_check__Request__thread_create_running_t__defined)
#define __MIG_check__Request__thread_create_running_t__defined
mig_internal kern_return_t __MIG_check__Request__thread_create_running_t(__attribute__((__unused__)) __Request__thread_create_running_t *In0P)
{
typedef __Request__thread_create_running_t __Request;
#if __MigTypeCheck
unsigned int msgh_size;
#endif /* __MigTypeCheck */
#if __MigTypeCheck
msgh_size = In0P->Head.msgh_size;
if ((In0P->Head.msgh_bits & MACH_MSGH_BITS_COMPLEX) ||
(msgh_size < (mach_msg_size_t)(sizeof(__Request) - 896)) || (msgh_size > (mach_msg_size_t)sizeof(__Request)))
return MIG_BAD_ARGUMENTS;
#endif /* __MigTypeCheck */
#if defined(__NDR_convert__int_rep__Request__thread_create_running_t__new_stateCnt__defined)
if (In0P->NDR.int_rep != NDR_record.int_rep)
__NDR_convert__int_rep__Request__thread_create_running_t__new_stateCnt(&In0P->new_stateCnt, In0P->NDR.int_rep);
#endif /* __NDR_convert__int_rep__Request__thread_create_running_t__new_stateCnt__defined */
#if __MigTypeCheck
if ( In0P->new_stateCnt > 224 )
return MIG_BAD_ARGUMENTS;
if (((msgh_size - (mach_msg_size_t)(sizeof(__Request) - 896)) / 4 < In0P->new_stateCnt) ||
(msgh_size != (mach_msg_size_t)(sizeof(__Request) - 896) + (4 * In0P->new_stateCnt)))
return MIG_BAD_ARGUMENTS;
#endif /* __MigTypeCheck */
return MACH_MSG_SUCCESS;
}
#endif /* !defined(__MIG_check__Request__thread_create_running_t__defined) */
#endif /* __MIG_check__Request__task_subsystem__ */
#endif /* ( __MigTypeCheck ) */
/* Routine thread_create_running */
#ifdef mig_external
mig_external
#else
extern
#endif /* 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
);
/* Routine thread_create_running */
mig_internal novalue _Xthread_create_running
(mach_msg_header_t *InHeadP, mach_msg_header_t *OutHeadP)
{
#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];
mach_msg_trailer_t trailer;
} Request __attribute__((unused));
#ifdef __MigPackStructs
#pragma pack()
#endif
typedef __Request__thread_create_running_t __Request;
typedef __Reply__thread_create_running_t Reply __attribute__((unused));
/*
* typedef struct {
* mach_msg_header_t Head;
* NDR_record_t NDR;
* kern_return_t RetCode;
* } mig_reply_error_t;
*/
Request *In0P = (Request *) InHeadP;
Reply *OutP = (Reply *) OutHeadP;
#ifdef __MIG_check__Request__thread_create_running_t__defined
kern_return_t check_result;
#endif /* __MIG_check__Request__thread_create_running_t__defined */
#if UseStaticTemplates
const static mach_msg_port_descriptor_t child_actTemplate = {
/* name = */ MACH_PORT_NULL,
/* pad1 = */ 0,
/* pad2 = */ 0,
/* disp = */ 19,
/* type = */ MACH_MSG_PORT_DESCRIPTOR,
};
#endif /* UseStaticTemplates */
kern_return_t RetCode;
__DeclareRcvRpc(3412, "thread_create_running")
__BeforeRcvRpc(3412, "thread_create_running")
#if defined(__MIG_check__Request__thread_create_running_t__defined)
check_result = __MIG_check__Request__thread_create_running_t((__Request *)In0P);
if (check_result != MACH_MSG_SUCCESS)
{ MIG_RETURN_ERROR(OutP, check_result); }
#endif /* defined(__MIG_check__Request__thread_create_running_t__defined) */
#if UseStaticTemplates
OutP->child_act = child_actTemplate;
#else /* UseStaticTemplates */
OutP->child_act.disposition = 19;
OutP->child_act.type = MACH_MSG_PORT_DESCRIPTOR;
#endif /* UseStaticTemplates */
RetCode = thread_create_running(In0P->Head.msgh_request_port, In0P->flavor, In0P->new_state, In0P->new_stateCnt, &OutP->child_act.name);
if (RetCode != KERN_SUCCESS) {
MIG_RETURN_ERROR(OutP, RetCode);
}
OutP->Head.msgh_bits |= MACH_MSGH_BITS_COMPLEX;
OutP->Head.msgh_size = (mach_msg_size_t)(sizeof(Reply));
OutP->msgh_body.msgh_descriptor_count = 1;
__AfterRcvRpc(3412, "thread_create_running")
}
#if ( __MigTypeCheck )
#if __MIG_check__Request__task_subsystem__
#if !defined(__MIG_check__Request__task_set_exception_ports_t__defined)
#define __MIG_check__Request__task_set_exception_ports_t__defined
mig_internal kern_return_t __MIG_check__Request__task_set_exception_ports_t(__attribute__((__unused__)) __Request__task_set_exception_ports_t *In0P)
{
typedef __Request__task_set_exception_ports_t __Request;
#if __MigTypeCheck
if (!(In0P->Head.msgh_bits & MACH_MSGH_BITS_COMPLEX) ||
(In0P->msgh_body.msgh_descriptor_count != 1) ||
(In0P->Head.msgh_size != (mach_msg_size_t)sizeof(__Request)))
return MIG_BAD_ARGUMENTS;
#endif /* __MigTypeCheck */
#if __MigTypeCheck
if (In0P->new_port.type != MACH_MSG_PORT_DESCRIPTOR ||
In0P->new_port.disposition != 17)
return MIG_TYPE_ERROR;
#endif /* __MigTypeCheck */
return MACH_MSG_SUCCESS;
}
#endif /* !defined(__MIG_check__Request__task_set_exception_ports_t__defined) */
#endif /* __MIG_check__Request__task_subsystem__ */
#endif /* ( __MigTypeCheck ) */
/* Routine task_set_exception_ports */
#ifdef mig_external
mig_external
#else
extern
#endif /* 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
);
/* Routine task_set_exception_ports */
mig_internal novalue _Xtask_set_exception_ports
(mach_msg_header_t *InHeadP, mach_msg_header_t *OutHeadP)
{
#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;
mach_msg_trailer_t trailer;
} Request __attribute__((unused));
#ifdef __MigPackStructs
#pragma pack()
#endif
typedef __Request__task_set_exception_ports_t __Request;
typedef __Reply__task_set_exception_ports_t Reply __attribute__((unused));
/*
* typedef struct {
* mach_msg_header_t Head;
* NDR_record_t NDR;
* kern_return_t RetCode;
* } mig_reply_error_t;
*/
Request *In0P = (Request *) InHeadP;
Reply *OutP = (Reply *) OutHeadP;
#ifdef __MIG_check__Request__task_set_exception_ports_t__defined
kern_return_t check_result;
#endif /* __MIG_check__Request__task_set_exception_ports_t__defined */
__DeclareRcvRpc(3413, "task_set_exception_ports")
__BeforeRcvRpc(3413, "task_set_exception_ports")
#if defined(__MIG_check__Request__task_set_exception_ports_t__defined)
check_result = __MIG_check__Request__task_set_exception_ports_t((__Request *)In0P);
if (check_result != MACH_MSG_SUCCESS)
{ MIG_RETURN_ERROR(OutP, check_result); }
#endif /* defined(__MIG_check__Request__task_set_exception_ports_t__defined) */
OutP->RetCode = task_set_exception_ports(In0P->Head.msgh_request_port, In0P->exception_mask, In0P->new_port.name, In0P->behavior, In0P->new_flavor);
OutP->NDR = NDR_record;
__AfterRcvRpc(3413, "task_set_exception_ports")
}
#if ( __MigTypeCheck )
#if __MIG_check__Request__task_subsystem__
#if !defined(__MIG_check__Request__task_get_exception_ports_t__defined)
#define __MIG_check__Request__task_get_exception_ports_t__defined
mig_internal kern_return_t __MIG_check__Request__task_get_exception_ports_t(__attribute__((__unused__)) __Request__task_get_exception_ports_t *In0P)
{
typedef __Request__task_get_exception_ports_t __Request;
#if __MigTypeCheck
if ((In0P->Head.msgh_bits & MACH_MSGH_BITS_COMPLEX) ||
(In0P->Head.msgh_size != (mach_msg_size_t)sizeof(__Request)))
return MIG_BAD_ARGUMENTS;
#endif /* __MigTypeCheck */
return MACH_MSG_SUCCESS;
}
#endif /* !defined(__MIG_check__Request__task_get_exception_ports_t__defined) */
#endif /* __MIG_check__Request__task_subsystem__ */
#endif /* ( __MigTypeCheck ) */
/* Routine task_get_exception_ports */
#ifdef mig_external
mig_external
#else
extern
#endif /* 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
);
/* Routine task_get_exception_ports */
mig_internal novalue _Xtask_get_exception_ports
(mach_msg_header_t *InHeadP, mach_msg_header_t *OutHeadP)
{
#ifdef __MigPackStructs
#pragma pack(4)
#endif
typedef struct {
mach_msg_header_t Head;
NDR_record_t NDR;
exception_mask_t exception_mask;
mach_msg_trailer_t trailer;
} Request __attribute__((unused));
#ifdef __MigPackStructs
#pragma pack()
#endif
typedef __Request__task_get_exception_ports_t __Request;
typedef __Reply__task_get_exception_ports_t Reply __attribute__((unused));
/*
* typedef struct {
* mach_msg_header_t Head;
* NDR_record_t NDR;
* kern_return_t RetCode;
* } mig_reply_error_t;
*/
Request *In0P = (Request *) InHeadP;
Reply *OutP = (Reply *) OutHeadP;
unsigned int msgh_size;
unsigned int msgh_size_delta;
#ifdef __MIG_check__Request__task_get_exception_ports_t__defined
kern_return_t check_result;
#endif /* __MIG_check__Request__task_get_exception_ports_t__defined */
#if UseStaticTemplates
const static mach_msg_port_descriptor_t old_handlersTemplate = {
/* name = */ MACH_PORT_NULL,
/* pad1 = */ 0,
/* pad2 = */ 0,
/* disp = */ 19,
/* type = */ MACH_MSG_PORT_DESCRIPTOR,
};
#endif /* UseStaticTemplates */
kern_return_t RetCode;
mach_msg_type_number_t masksCnt;
exception_handler_t old_handlers[32];
exception_behavior_t old_behaviors[32];
thread_state_flavor_t old_flavors[32];
__DeclareRcvRpc(3414, "task_get_exception_ports")
__BeforeRcvRpc(3414, "task_get_exception_ports")
#if defined(__MIG_check__Request__task_get_exception_ports_t__defined)
check_result = __MIG_check__Request__task_get_exception_ports_t((__Request *)In0P);
if (check_result != MACH_MSG_SUCCESS)
{ MIG_RETURN_ERROR(OutP, check_result); }
#endif /* defined(__MIG_check__Request__task_get_exception_ports_t__defined) */
{
register mach_msg_port_descriptor_t *ptr;
register int i;
ptr = &OutP->old_handlers[0];
for (i = 0; i < 32; ptr++, i++) {
#if UseStaticTemplates
*ptr = old_handlersTemplate;
#else /* UseStaticTemplates */
ptr->name = MACH_PORT_NULL;
ptr->disposition = 19;
ptr->type = MACH_MSG_PORT_DESCRIPTOR;
#endif /* UseStaticTemplates */
}
}
masksCnt = 32;
RetCode = task_get_exception_ports(In0P->Head.msgh_request_port, In0P->exception_mask, OutP->masks, &masksCnt, old_handlers, old_behaviors, old_flavors);
if (RetCode != KERN_SUCCESS) {
MIG_RETURN_ERROR(OutP, RetCode);
}
{
register mach_msg_port_descriptor_t *ptr;
register int i, j;
ptr = &OutP->old_handlers[0];
j = min(32, masksCnt);
for (i = 0; i < j; ptr++, i++) {
ptr->name = old_handlers[i];
}
}
OutP->NDR = NDR_record;
OutP->masksCnt = masksCnt;
msgh_size_delta = ((4 * masksCnt));
msgh_size = (mach_msg_size_t)(sizeof(Reply) - 384) + msgh_size_delta;
OutP = (Reply *) ((pointer_t) OutP + msgh_size_delta - 128);
(void)memcpy((char *) OutP->old_behaviors, (const char *) old_behaviors, 4 * masksCnt);
msgh_size_delta = ((4 * masksCnt));
msgh_size += msgh_size_delta;
OutP = (Reply *) ((pointer_t) OutP + msgh_size_delta - 128);
(void)memcpy((char *) OutP->old_flavors, (const char *) old_flavors, 4 * masksCnt);
msgh_size += ((4 * masksCnt));
OutP = (Reply *) OutHeadP;
OutP->Head.msgh_bits |= MACH_MSGH_BITS_COMPLEX;
OutP->Head.msgh_size = msgh_size;
OutP->msgh_body.msgh_descriptor_count = 32;
__AfterRcvRpc(3414, "task_get_exception_ports")
}
#if ( __MigTypeCheck )
#if __MIG_check__Request__task_subsystem__
#if !defined(__MIG_check__Request__task_swap_exception_ports_t__defined)
#define __MIG_check__Request__task_swap_exception_ports_t__defined
mig_internal kern_return_t __MIG_check__Request__task_swap_exception_ports_t(__attribute__((__unused__)) __Request__task_swap_exception_ports_t *In0P)
{
typedef __Request__task_swap_exception_ports_t __Request;
#if __MigTypeCheck
if (!(In0P->Head.msgh_bits & MACH_MSGH_BITS_COMPLEX) ||
(In0P->msgh_body.msgh_descriptor_count != 1) ||
(In0P->Head.msgh_size != (mach_msg_size_t)sizeof(__Request)))
return MIG_BAD_ARGUMENTS;
#endif /* __MigTypeCheck */
#if __MigTypeCheck
if (In0P->new_port.type != MACH_MSG_PORT_DESCRIPTOR ||
In0P->new_port.disposition != 17)
return MIG_TYPE_ERROR;
#endif /* __MigTypeCheck */
return MACH_MSG_SUCCESS;
}
#endif /* !defined(__MIG_check__Request__task_swap_exception_ports_t__defined) */
#endif /* __MIG_check__Request__task_subsystem__ */
#endif /* ( __MigTypeCheck ) */
/* Routine task_swap_exception_ports */
#ifdef mig_external
mig_external
#else
extern
#endif /* 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
);
/* Routine task_swap_exception_ports */
mig_internal novalue _Xtask_swap_exception_ports
(mach_msg_header_t *InHeadP, mach_msg_header_t *OutHeadP)
{
#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;
mach_msg_trailer_t trailer;
} Request __attribute__((unused));
#ifdef __MigPackStructs
#pragma pack()
#endif
typedef __Request__task_swap_exception_ports_t __Request;
typedef __Reply__task_swap_exception_ports_t Reply __attribute__((unused));
/*
* typedef struct {
* mach_msg_header_t Head;
* NDR_record_t NDR;
* kern_return_t RetCode;
* } mig_reply_error_t;
*/
Request *In0P = (Request *) InHeadP;
Reply *OutP = (Reply *) OutHeadP;
unsigned int msgh_size;
unsigned int msgh_size_delta;
#ifdef __MIG_check__Request__task_swap_exception_ports_t__defined
kern_return_t check_result;
#endif /* __MIG_check__Request__task_swap_exception_ports_t__defined */
#if UseStaticTemplates
const static mach_msg_port_descriptor_t old_handlerssTemplate = {
/* name = */ MACH_PORT_NULL,
/* pad1 = */ 0,
/* pad2 = */ 0,
/* disp = */ 19,
/* type = */ MACH_MSG_PORT_DESCRIPTOR,
};
#endif /* UseStaticTemplates */
kern_return_t RetCode;
mach_msg_type_number_t masksCnt;
exception_handler_t old_handlerss[32];
exception_behavior_t old_behaviors[32];
thread_state_flavor_t old_flavors[32];
__DeclareRcvRpc(3415, "task_swap_exception_ports")
__BeforeRcvRpc(3415, "task_swap_exception_ports")
#if defined(__MIG_check__Request__task_swap_exception_ports_t__defined)
check_result = __MIG_check__Request__task_swap_exception_ports_t((__Request *)In0P);
if (check_result != MACH_MSG_SUCCESS)
{ MIG_RETURN_ERROR(OutP, check_result); }
#endif /* defined(__MIG_check__Request__task_swap_exception_ports_t__defined) */
{
register mach_msg_port_descriptor_t *ptr;
register int i;
ptr = &OutP->old_handlerss[0];
for (i = 0; i < 32; ptr++, i++) {
#if UseStaticTemplates
*ptr = old_handlerssTemplate;
#else /* UseStaticTemplates */
ptr->name = MACH_PORT_NULL;
ptr->disposition = 19;
ptr->type = MACH_MSG_PORT_DESCRIPTOR;
#endif /* UseStaticTemplates */
}
}
masksCnt = 32;
RetCode = task_swap_exception_ports(In0P->Head.msgh_request_port, In0P->exception_mask, In0P->new_port.name, In0P->behavior, In0P->new_flavor, OutP->masks, &masksCnt, old_handlerss, old_behaviors, old_flavors);
if (RetCode != KERN_SUCCESS) {
MIG_RETURN_ERROR(OutP, RetCode);
}
{
register mach_msg_port_descriptor_t *ptr;
register int i, j;
ptr = &OutP->old_handlerss[0];
j = min(32, masksCnt);
for (i = 0; i < j; ptr++, i++) {
ptr->name = old_handlerss[i];
}
}
OutP->NDR = NDR_record;
OutP->masksCnt = masksCnt;
msgh_size_delta = ((4 * masksCnt));
msgh_size = (mach_msg_size_t)(sizeof(Reply) - 384) + msgh_size_delta;
OutP = (Reply *) ((pointer_t) OutP + msgh_size_delta - 128);
(void)memcpy((char *) OutP->old_behaviors, (const char *) old_behaviors, 4 * masksCnt);
msgh_size_delta = ((4 * masksCnt));
msgh_size += msgh_size_delta;
OutP = (Reply *) ((pointer_t) OutP + msgh_size_delta - 128);
(void)memcpy((char *) OutP->old_flavors, (const char *) old_flavors, 4 * masksCnt);
msgh_size += ((4 * masksCnt));
OutP = (Reply *) OutHeadP;
OutP->Head.msgh_bits |= MACH_MSGH_BITS_COMPLEX;
OutP->Head.msgh_size = msgh_size;
OutP->msgh_body.msgh_descriptor_count = 32;
__AfterRcvRpc(3415, "task_swap_exception_ports")
}
#if ( __MigTypeCheck )
#if __MIG_check__Request__task_subsystem__
#if !defined(__MIG_check__Request__lock_set_create_t__defined)
#define __MIG_check__Request__lock_set_create_t__defined
mig_internal kern_return_t __MIG_check__Request__lock_set_create_t(__attribute__((__unused__)) __Request__lock_set_create_t *In0P)
{
typedef __Request__lock_set_create_t __Request;
#if __MigTypeCheck
if ((In0P->Head.msgh_bits & MACH_MSGH_BITS_COMPLEX) ||
(In0P->Head.msgh_size != (mach_msg_size_t)sizeof(__Request)))
return MIG_BAD_ARGUMENTS;
#endif /* __MigTypeCheck */
return MACH_MSG_SUCCESS;
}
#endif /* !defined(__MIG_check__Request__lock_set_create_t__defined) */
#endif /* __MIG_check__Request__task_subsystem__ */
#endif /* ( __MigTypeCheck ) */
/* Routine lock_set_create */
#ifdef mig_external
mig_external
#else
extern
#endif /* mig_external */
kern_return_t lock_set_create
(
task_t task,
lock_set_t *new_lock_set,
int n_ulocks,
int policy
);
/* Routine lock_set_create */
mig_internal novalue _Xlock_set_create
(mach_msg_header_t *InHeadP, mach_msg_header_t *OutHeadP)
{
#ifdef __MigPackStructs
#pragma pack(4)
#endif
typedef struct {
mach_msg_header_t Head;
NDR_record_t NDR;
int n_ulocks;
int policy;
mach_msg_trailer_t trailer;
} Request __attribute__((unused));
#ifdef __MigPackStructs
#pragma pack()
#endif
typedef __Request__lock_set_create_t __Request;
typedef __Reply__lock_set_create_t Reply __attribute__((unused));
/*
* typedef struct {
* mach_msg_header_t Head;
* NDR_record_t NDR;
* kern_return_t RetCode;
* } mig_reply_error_t;
*/
Request *In0P = (Request *) InHeadP;
Reply *OutP = (Reply *) OutHeadP;
#ifdef __MIG_check__Request__lock_set_create_t__defined
kern_return_t check_result;
#endif /* __MIG_check__Request__lock_set_create_t__defined */
#if UseStaticTemplates
const static mach_msg_port_descriptor_t new_lock_setTemplate = {
/* name = */ MACH_PORT_NULL,
/* pad1 = */ 0,
/* pad2 = */ 0,
/* disp = */ 19,
/* type = */ MACH_MSG_PORT_DESCRIPTOR,
};
#endif /* UseStaticTemplates */
kern_return_t RetCode;
__DeclareRcvRpc(3416, "lock_set_create")
__BeforeRcvRpc(3416, "lock_set_create")
#if defined(__MIG_check__Request__lock_set_create_t__defined)
check_result = __MIG_check__Request__lock_set_create_t((__Request *)In0P);
if (check_result != MACH_MSG_SUCCESS)
{ MIG_RETURN_ERROR(OutP, check_result); }
#endif /* defined(__MIG_check__Request__lock_set_create_t__defined) */
#if UseStaticTemplates
OutP->new_lock_set = new_lock_setTemplate;
#else /* UseStaticTemplates */
OutP->new_lock_set.disposition = 19;
OutP->new_lock_set.type = MACH_MSG_PORT_DESCRIPTOR;
#endif /* UseStaticTemplates */
RetCode = lock_set_create(In0P->Head.msgh_request_port, &OutP->new_lock_set.name, In0P->n_ulocks, In0P->policy);
if (RetCode != KERN_SUCCESS) {
MIG_RETURN_ERROR(OutP, RetCode);
}
OutP->Head.msgh_bits |= MACH_MSGH_BITS_COMPLEX;
OutP->Head.msgh_size = (mach_msg_size_t)(sizeof(Reply));
OutP->msgh_body.msgh_descriptor_count = 1;
__AfterRcvRpc(3416, "lock_set_create")
}
#if ( __MigTypeCheck )
#if __MIG_check__Request__task_subsystem__
#if !defined(__MIG_check__Request__lock_set_destroy_t__defined)
#define __MIG_check__Request__lock_set_destroy_t__defined
mig_internal kern_return_t __MIG_check__Request__lock_set_destroy_t(__attribute__((__unused__)) __Request__lock_set_destroy_t *In0P)
{
typedef __Request__lock_set_destroy_t __Request;
#if __MigTypeCheck
if (!(In0P->Head.msgh_bits & MACH_MSGH_BITS_COMPLEX) ||
(In0P->msgh_body.msgh_descriptor_count != 1) ||
(In0P->Head.msgh_size != (mach_msg_size_t)sizeof(__Request)))
return MIG_BAD_ARGUMENTS;
#endif /* __MigTypeCheck */
#if __MigTypeCheck
if (In0P->lock_set.type != MACH_MSG_PORT_DESCRIPTOR ||
In0P->lock_set.disposition != 17)
return MIG_TYPE_ERROR;
#endif /* __MigTypeCheck */
return MACH_MSG_SUCCESS;
}
#endif /* !defined(__MIG_check__Request__lock_set_destroy_t__defined) */
#endif /* __MIG_check__Request__task_subsystem__ */
#endif /* ( __MigTypeCheck ) */
/* Routine lock_set_destroy */
#ifdef mig_external
mig_external
#else
extern
#endif /* mig_external */
kern_return_t lock_set_destroy
(
task_t task,
lock_set_t lock_set
);
/* Routine lock_set_destroy */
mig_internal novalue _Xlock_set_destroy
(mach_msg_header_t *InHeadP, mach_msg_header_t *OutHeadP)
{
#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 */
mach_msg_trailer_t trailer;
} Request __attribute__((unused));
#ifdef __MigPackStructs
#pragma pack()
#endif
typedef __Request__lock_set_destroy_t __Request;
typedef __Reply__lock_set_destroy_t Reply __attribute__((unused));
/*
* typedef struct {
* mach_msg_header_t Head;
* NDR_record_t NDR;
* kern_return_t RetCode;
* } mig_reply_error_t;
*/
Request *In0P = (Request *) InHeadP;
Reply *OutP = (Reply *) OutHeadP;
#ifdef __MIG_check__Request__lock_set_destroy_t__defined
kern_return_t check_result;
#endif /* __MIG_check__Request__lock_set_destroy_t__defined */
__DeclareRcvRpc(3417, "lock_set_destroy")
__BeforeRcvRpc(3417, "lock_set_destroy")
#if defined(__MIG_check__Request__lock_set_destroy_t__defined)
check_result = __MIG_check__Request__lock_set_destroy_t((__Request *)In0P);
if (check_result != MACH_MSG_SUCCESS)
{ MIG_RETURN_ERROR(OutP, check_result); }
#endif /* defined(__MIG_check__Request__lock_set_destroy_t__defined) */
OutP->RetCode = lock_set_destroy(In0P->Head.msgh_request_port, In0P->lock_set.name);
OutP->NDR = NDR_record;
__AfterRcvRpc(3417, "lock_set_destroy")
}
#if ( __MigTypeCheck )
#if __MIG_check__Request__task_subsystem__
#if !defined(__MIG_check__Request__semaphore_create_t__defined)
#define __MIG_check__Request__semaphore_create_t__defined
mig_internal kern_return_t __MIG_check__Request__semaphore_create_t(__attribute__((__unused__)) __Request__semaphore_create_t *In0P)
{
typedef __Request__semaphore_create_t __Request;
#if __MigTypeCheck
if ((In0P->Head.msgh_bits & MACH_MSGH_BITS_COMPLEX) ||
(In0P->Head.msgh_size != (mach_msg_size_t)sizeof(__Request)))
return MIG_BAD_ARGUMENTS;
#endif /* __MigTypeCheck */
return MACH_MSG_SUCCESS;
}
#endif /* !defined(__MIG_check__Request__semaphore_create_t__defined) */
#endif /* __MIG_check__Request__task_subsystem__ */
#endif /* ( __MigTypeCheck ) */
/* Routine semaphore_create */
#ifdef mig_external
mig_external
#else
extern
#endif /* mig_external */
kern_return_t semaphore_create
(
task_t task,
semaphore_t *semaphore,
int policy,
int value
);
/* Routine semaphore_create */
mig_internal novalue _Xsemaphore_create
(mach_msg_header_t *InHeadP, mach_msg_header_t *OutHeadP)
{
#ifdef __MigPackStructs
#pragma pack(4)
#endif
typedef struct {
mach_msg_header_t Head;
NDR_record_t NDR;
int policy;
int value;
mach_msg_trailer_t trailer;
} Request __attribute__((unused));
#ifdef __MigPackStructs
#pragma pack()
#endif
typedef __Request__semaphore_create_t __Request;
typedef __Reply__semaphore_create_t Reply __attribute__((unused));
/*
* typedef struct {
* mach_msg_header_t Head;
* NDR_record_t NDR;
* kern_return_t RetCode;
* } mig_reply_error_t;
*/
Request *In0P = (Request *) InHeadP;
Reply *OutP = (Reply *) OutHeadP;
#ifdef __MIG_check__Request__semaphore_create_t__defined
kern_return_t check_result;
#endif /* __MIG_check__Request__semaphore_create_t__defined */
#if UseStaticTemplates
const static mach_msg_port_descriptor_t semaphoreTemplate = {
/* name = */ MACH_PORT_NULL,
/* pad1 = */ 0,
/* pad2 = */ 0,
/* disp = */ 19,
/* type = */ MACH_MSG_PORT_DESCRIPTOR,
};
#endif /* UseStaticTemplates */
kern_return_t RetCode;
__DeclareRcvRpc(3418, "semaphore_create")
__BeforeRcvRpc(3418, "semaphore_create")
#if defined(__MIG_check__Request__semaphore_create_t__defined)
check_result = __MIG_check__Request__semaphore_create_t((__Request *)In0P);
if (check_result != MACH_MSG_SUCCESS)
{ MIG_RETURN_ERROR(OutP, check_result); }
#endif /* defined(__MIG_check__Request__semaphore_create_t__defined) */
#if UseStaticTemplates
OutP->semaphore = semaphoreTemplate;
#else /* UseStaticTemplates */
OutP->semaphore.disposition = 19;
OutP->semaphore.type = MACH_MSG_PORT_DESCRIPTOR;
#endif /* UseStaticTemplates */
RetCode = semaphore_create(In0P->Head.msgh_request_port, &OutP->semaphore.name, In0P->policy, In0P->value);
if (RetCode != KERN_SUCCESS) {
MIG_RETURN_ERROR(OutP, RetCode);
}
OutP->Head.msgh_bits |= MACH_MSGH_BITS_COMPLEX;
OutP->Head.msgh_size = (mach_msg_size_t)(sizeof(Reply));
OutP->msgh_body.msgh_descriptor_count = 1;
__AfterRcvRpc(3418, "semaphore_create")
}
#if ( __MigTypeCheck )
#if __MIG_check__Request__task_subsystem__
#if !defined(__MIG_check__Request__semaphore_destroy_t__defined)
#define __MIG_check__Request__semaphore_destroy_t__defined
mig_internal kern_return_t __MIG_check__Request__semaphore_destroy_t(__attribute__((__unused__)) __Request__semaphore_destroy_t *In0P)
{
typedef __Request__semaphore_destroy_t __Request;
#if __MigTypeCheck
if (!(In0P->Head.msgh_bits & MACH_MSGH_BITS_COMPLEX) ||
(In0P->msgh_body.msgh_descriptor_count != 1) ||
(In0P->Head.msgh_size != (mach_msg_size_t)sizeof(__Request)))
return MIG_BAD_ARGUMENTS;
#endif /* __MigTypeCheck */
#if __MigTypeCheck
if (In0P->semaphore.type != MACH_MSG_PORT_DESCRIPTOR ||
In0P->semaphore.disposition != 17)
return MIG_TYPE_ERROR;
#endif /* __MigTypeCheck */
return MACH_MSG_SUCCESS;
}
#endif /* !defined(__MIG_check__Request__semaphore_destroy_t__defined) */
#endif /* __MIG_check__Request__task_subsystem__ */
#endif /* ( __MigTypeCheck ) */
/* Routine semaphore_destroy */
#ifdef mig_external
mig_external
#else
extern
#endif /* mig_external */
kern_return_t semaphore_destroy
(
task_t task,
semaphore_consume_ref_t semaphore
);
/* Routine semaphore_destroy */
mig_internal novalue _Xsemaphore_destroy
(mach_msg_header_t *InHeadP, mach_msg_header_t *OutHeadP)
{
#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;
} Request __attribute__((unused));
#ifdef __MigPackStructs
#pragma pack()
#endif
typedef __Request__semaphore_destroy_t __Request;
typedef __Reply__semaphore_destroy_t Reply __attribute__((unused));
/*
* typedef struct {
* mach_msg_header_t Head;
* NDR_record_t NDR;
* kern_return_t RetCode;
* } mig_reply_error_t;
*/
Request *In0P = (Request *) InHeadP;
Reply *OutP = (Reply *) OutHeadP;
#ifdef __MIG_check__Request__semaphore_destroy_t__defined
kern_return_t check_result;
#endif /* __MIG_check__Request__semaphore_destroy_t__defined */
__DeclareRcvRpc(3419, "semaphore_destroy")
__BeforeRcvRpc(3419, "semaphore_destroy")
#if defined(__MIG_check__Request__semaphore_destroy_t__defined)
check_result = __MIG_check__Request__semaphore_destroy_t((__Request *)In0P);
if (check_result != MACH_MSG_SUCCESS)
{ MIG_RETURN_ERROR(OutP, check_result); }
#endif /* defined(__MIG_check__Request__semaphore_destroy_t__defined) */
OutP->RetCode = semaphore_destroy(In0P->Head.msgh_request_port, In0P->semaphore.name);
OutP->NDR = NDR_record;
__AfterRcvRpc(3419, "semaphore_destroy")
}
#if ( __MigTypeCheck )
#if __MIG_check__Request__task_subsystem__
#if !defined(__MIG_check__Request__task_policy_set_t__defined)
#define __MIG_check__Request__task_policy_set_t__defined
mig_internal kern_return_t __MIG_check__Request__task_policy_set_t(__attribute__((__unused__)) __Request__task_policy_set_t *In0P)
{
typedef __Request__task_policy_set_t __Request;
#if __MigTypeCheck
unsigned int msgh_size;
#endif /* __MigTypeCheck */
#if __MigTypeCheck
msgh_size = In0P->Head.msgh_size;
if ((In0P->Head.msgh_bits & MACH_MSGH_BITS_COMPLEX) ||
(msgh_size < (mach_msg_size_t)(sizeof(__Request) - 64)) || (msgh_size > (mach_msg_size_t)sizeof(__Request)))
return MIG_BAD_ARGUMENTS;
#endif /* __MigTypeCheck */
#if defined(__NDR_convert__int_rep__Request__task_policy_set_t__policy_infoCnt__defined)
if (In0P->NDR.int_rep != NDR_record.int_rep)
__NDR_convert__int_rep__Request__task_policy_set_t__policy_infoCnt(&In0P->policy_infoCnt, In0P->NDR.int_rep);
#endif /* __NDR_convert__int_rep__Request__task_policy_set_t__policy_infoCnt__defined */
#if __MigTypeCheck
if ( In0P->policy_infoCnt > 16 )
return MIG_BAD_ARGUMENTS;
if (((msgh_size - (mach_msg_size_t)(sizeof(__Request) - 64)) / 4 < In0P->policy_infoCnt) ||
(msgh_size != (mach_msg_size_t)(sizeof(__Request) - 64) + (4 * In0P->policy_infoCnt)))
return MIG_BAD_ARGUMENTS;
#endif /* __MigTypeCheck */
return MACH_MSG_SUCCESS;
}
#endif /* !defined(__MIG_check__Request__task_policy_set_t__defined) */
#endif /* __MIG_check__Request__task_subsystem__ */
#endif /* ( __MigTypeCheck ) */
/* Routine task_policy_set */
#ifdef mig_external
mig_external
#else
extern
#endif /* 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
);
/* Routine task_policy_set */
mig_internal novalue _Xtask_policy_set
(mach_msg_header_t *InHeadP, mach_msg_header_t *OutHeadP)
{
#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];
mach_msg_trailer_t trailer;
} Request __attribute__((unused));
#ifdef __MigPackStructs
#pragma pack()
#endif
typedef __Request__task_policy_set_t __Request;
typedef __Reply__task_policy_set_t Reply __attribute__((unused));
/*
* typedef struct {
* mach_msg_header_t Head;
* NDR_record_t NDR;
* kern_return_t RetCode;
* } mig_reply_error_t;
*/
Request *In0P = (Request *) InHeadP;
Reply *OutP = (Reply *) OutHeadP;
#ifdef __MIG_check__Request__task_policy_set_t__defined
kern_return_t check_result;
#endif /* __MIG_check__Request__task_policy_set_t__defined */
__DeclareRcvRpc(3420, "task_policy_set")
__BeforeRcvRpc(3420, "task_policy_set")
#if defined(__MIG_check__Request__task_policy_set_t__defined)
check_result = __MIG_check__Request__task_policy_set_t((__Request *)In0P);
if (check_result != MACH_MSG_SUCCESS)
{ MIG_RETURN_ERROR(OutP, check_result); }
#endif /* defined(__MIG_check__Request__task_policy_set_t__defined) */
OutP->RetCode = task_policy_set(In0P->Head.msgh_request_port, In0P->flavor, In0P->policy_info, In0P->policy_infoCnt);
OutP->NDR = NDR_record;
__AfterRcvRpc(3420, "task_policy_set")
}
#if ( __MigTypeCheck )
#if __MIG_check__Request__task_subsystem__
#if !defined(__MIG_check__Request__task_policy_get_t__defined)
#define __MIG_check__Request__task_policy_get_t__defined
mig_internal kern_return_t __MIG_check__Request__task_policy_get_t(__attribute__((__unused__)) __Request__task_policy_get_t *In0P)
{
typedef __Request__task_policy_get_t __Request;
#if __MigTypeCheck
if ((In0P->Head.msgh_bits & MACH_MSGH_BITS_COMPLEX) ||
(In0P->Head.msgh_size != (mach_msg_size_t)sizeof(__Request)))
return MIG_BAD_ARGUMENTS;
#endif /* __MigTypeCheck */
return MACH_MSG_SUCCESS;
}
#endif /* !defined(__MIG_check__Request__task_policy_get_t__defined) */
#endif /* __MIG_check__Request__task_subsystem__ */
#endif /* ( __MigTypeCheck ) */
/* Routine task_policy_get */
#ifdef mig_external
mig_external
#else
extern
#endif /* 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
);
/* Routine task_policy_get */
mig_internal novalue _Xtask_policy_get
(mach_msg_header_t *InHeadP, mach_msg_header_t *OutHeadP)
{
#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;
mach_msg_trailer_t trailer;
} Request __attribute__((unused));
#ifdef __MigPackStructs
#pragma pack()
#endif
typedef __Request__task_policy_get_t __Request;
typedef __Reply__task_policy_get_t Reply __attribute__((unused));
/*
* typedef struct {
* mach_msg_header_t Head;
* NDR_record_t NDR;
* kern_return_t RetCode;
* } mig_reply_error_t;
*/
Request *In0P = (Request *) InHeadP;
Reply *OutP = (Reply *) OutHeadP;
unsigned int msgh_size_delta;
#ifdef __MIG_check__Request__task_policy_get_t__defined
kern_return_t check_result;
#endif /* __MIG_check__Request__task_policy_get_t__defined */
__DeclareRcvRpc(3421, "task_policy_get")
__BeforeRcvRpc(3421, "task_policy_get")
#if defined(__MIG_check__Request__task_policy_get_t__defined)
check_result = __MIG_check__Request__task_policy_get_t((__Request *)In0P);
if (check_result != MACH_MSG_SUCCESS)
{ MIG_RETURN_ERROR(OutP, check_result); }
#endif /* defined(__MIG_check__Request__task_policy_get_t__defined) */
OutP->policy_infoCnt = 16;
if (In0P->policy_infoCnt < OutP->policy_infoCnt)
OutP->policy_infoCnt = In0P->policy_infoCnt;
OutP->RetCode = task_policy_get(In0P->Head.msgh_request_port, In0P->flavor, OutP->policy_info, &OutP->policy_infoCnt, &In0P->get_default);
if (OutP->RetCode != KERN_SUCCESS) {
MIG_RETURN_ERROR(OutP, OutP->RetCode);
}
OutP->NDR = NDR_record;
msgh_size_delta = ((4 * OutP->policy_infoCnt));
OutP->Head.msgh_size = (mach_msg_size_t)(sizeof(Reply) - 64) + msgh_size_delta;
OutP = (Reply *) ((pointer_t) OutP + msgh_size_delta - 64);
OutP->get_default = In0P->get_default;
OutP = (Reply *) OutHeadP;
__AfterRcvRpc(3421, "task_policy_get")
}
#if ( __MigTypeCheck )
#if __MIG_check__Request__task_subsystem__
#if !defined(__MIG_check__Request__task_sample_t__defined)
#define __MIG_check__Request__task_sample_t__defined
mig_internal kern_return_t __MIG_check__Request__task_sample_t(__attribute__((__unused__)) __Request__task_sample_t *In0P)
{
typedef __Request__task_sample_t __Request;
#if __MigTypeCheck
if (!(In0P->Head.msgh_bits & MACH_MSGH_BITS_COMPLEX) ||
(In0P->msgh_body.msgh_descriptor_count != 1) ||
(In0P->Head.msgh_size != (mach_msg_size_t)sizeof(__Request)))
return MIG_BAD_ARGUMENTS;
#endif /* __MigTypeCheck */
#if __MigTypeCheck
if (In0P->reply.type != MACH_MSG_PORT_DESCRIPTOR ||
In0P->reply.disposition != 17)
return MIG_TYPE_ERROR;
#endif /* __MigTypeCheck */
return MACH_MSG_SUCCESS;
}
#endif /* !defined(__MIG_check__Request__task_sample_t__defined) */
#endif /* __MIG_check__Request__task_subsystem__ */
#endif /* ( __MigTypeCheck ) */
/* Routine task_sample */
#ifdef mig_external
mig_external
#else
extern
#endif /* mig_external */
kern_return_t task_sample
(
task_t task,
mach_port_t reply
);
/* Routine task_sample */
mig_internal novalue _Xtask_sample
(mach_msg_header_t *InHeadP, mach_msg_header_t *OutHeadP)
{
#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 */
mach_msg_trailer_t trailer;
} Request __attribute__((unused));
#ifdef __MigPackStructs
#pragma pack()
#endif
typedef __Request__task_sample_t __Request;
typedef __Reply__task_sample_t Reply __attribute__((unused));
/*
* typedef struct {
* mach_msg_header_t Head;
* NDR_record_t NDR;
* kern_return_t RetCode;
* } mig_reply_error_t;
*/
Request *In0P = (Request *) InHeadP;
Reply *OutP = (Reply *) OutHeadP;
#ifdef __MIG_check__Request__task_sample_t__defined
kern_return_t check_result;
#endif /* __MIG_check__Request__task_sample_t__defined */
__DeclareRcvRpc(3422, "task_sample")
__BeforeRcvRpc(3422, "task_sample")
#if defined(__MIG_check__Request__task_sample_t__defined)
check_result = __MIG_check__Request__task_sample_t((__Request *)In0P);
if (check_result != MACH_MSG_SUCCESS)
{ MIG_RETURN_ERROR(OutP, check_result); }
#endif /* defined(__MIG_check__Request__task_sample_t__defined) */
OutP->RetCode = task_sample(In0P->Head.msgh_request_port, In0P->reply.name);
OutP->NDR = NDR_record;
__AfterRcvRpc(3422, "task_sample")
}
#if ( __MigTypeCheck )
#if __MIG_check__Request__task_subsystem__
#if !defined(__MIG_check__Request__task_policy_t__defined)
#define __MIG_check__Request__task_policy_t__defined
mig_internal kern_return_t __MIG_check__Request__task_policy_t(__attribute__((__unused__)) __Request__task_policy_t *In0P, __attribute__((__unused__)) __Request__task_policy_t **In1PP)
{
typedef __Request__task_policy_t __Request;
__Request *In1P;
#if __MigTypeCheck
unsigned int msgh_size;
#endif /* __MigTypeCheck */
unsigned int msgh_size_delta;
#if __MigTypeCheck
msgh_size = In0P->Head.msgh_size;
if ((In0P->Head.msgh_bits & MACH_MSGH_BITS_COMPLEX) ||
(msgh_size < (mach_msg_size_t)(sizeof(__Request) - 20)) || (msgh_size > (mach_msg_size_t)sizeof(__Request)))
return MIG_BAD_ARGUMENTS;
#endif /* __MigTypeCheck */
#if defined(__NDR_convert__int_rep__Request__task_policy_t__baseCnt__defined)
if (In0P->NDR.int_rep != NDR_record.int_rep)
__NDR_convert__int_rep__Request__task_policy_t__baseCnt(&In0P->baseCnt, In0P->NDR.int_rep);
#endif /* __NDR_convert__int_rep__Request__task_policy_t__baseCnt__defined */
msgh_size_delta = (4 * In0P->baseCnt);
#if __MigTypeCheck
if ( In0P->baseCnt > 5 )
return MIG_BAD_ARGUMENTS;
if (((msgh_size - (mach_msg_size_t)(sizeof(__Request) - 20)) / 4 < In0P->baseCnt) ||
(msgh_size != (mach_msg_size_t)(sizeof(__Request) - 20) + (4 * In0P->baseCnt)))
return MIG_BAD_ARGUMENTS;
#endif /* __MigTypeCheck */
*In1PP = In1P = (__Request *) ((pointer_t) In0P + msgh_size_delta - 20);
return MACH_MSG_SUCCESS;
}
#endif /* !defined(__MIG_check__Request__task_policy_t__defined) */
#endif /* __MIG_check__Request__task_subsystem__ */
#endif /* ( __MigTypeCheck ) */
/* Routine task_policy */
#ifdef mig_external
mig_external
#else
extern
#endif /* 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
);
/* Routine task_policy */
mig_internal novalue _Xtask_policy
(mach_msg_header_t *InHeadP, mach_msg_header_t *OutHeadP)
{
#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;
mach_msg_trailer_t trailer;
} Request __attribute__((unused));
#ifdef __MigPackStructs
#pragma pack()
#endif
typedef __Request__task_policy_t __Request;
typedef __Reply__task_policy_t Reply __attribute__((unused));
/*
* typedef struct {
* mach_msg_header_t Head;
* NDR_record_t NDR;
* kern_return_t RetCode;
* } mig_reply_error_t;
*/
Request *In0P = (Request *) InHeadP;
Request *In1P;
Reply *OutP = (Reply *) OutHeadP;
#ifdef __MIG_check__Request__task_policy_t__defined
kern_return_t check_result;
#endif /* __MIG_check__Request__task_policy_t__defined */
__DeclareRcvRpc(3423, "task_policy")
__BeforeRcvRpc(3423, "task_policy")
#if defined(__MIG_check__Request__task_policy_t__defined)
check_result = __MIG_check__Request__task_policy_t((__Request *)In0P, (__Request **)&In1P);
if (check_result != MACH_MSG_SUCCESS)
{ MIG_RETURN_ERROR(OutP, check_result); }
#endif /* defined(__MIG_check__Request__task_policy_t__defined) */
OutP->RetCode = task_policy(In0P->Head.msgh_request_port, In0P->policy, In0P->base, In0P->baseCnt, In1P->set_limit, In1P->change);
OutP->NDR = NDR_record;
__AfterRcvRpc(3423, "task_policy")
}
#if ( __MigTypeCheck )
#if __MIG_check__Request__task_subsystem__
#if !defined(__MIG_check__Request__task_set_emulation_t__defined)
#define __MIG_check__Request__task_set_emulation_t__defined
mig_internal kern_return_t __MIG_check__Request__task_set_emulation_t(__attribute__((__unused__)) __Request__task_set_emulation_t *In0P)
{
typedef __Request__task_set_emulation_t __Request;
#if __MigTypeCheck
if ((In0P->Head.msgh_bits & MACH_MSGH_BITS_COMPLEX) ||
(In0P->Head.msgh_size != (mach_msg_size_t)sizeof(__Request)))
return MIG_BAD_ARGUMENTS;
#endif /* __MigTypeCheck */
return MACH_MSG_SUCCESS;
}
#endif /* !defined(__MIG_check__Request__task_set_emulation_t__defined) */
#endif /* __MIG_check__Request__task_subsystem__ */
#endif /* ( __MigTypeCheck ) */
/* Routine task_set_emulation */
#ifdef mig_external
mig_external
#else
extern
#endif /* mig_external */
kern_return_t task_set_emulation
(
task_t target_port,
vm_address_t routine_entry_pt,
int routine_number
);
/* Routine task_set_emulation */
mig_internal novalue _Xtask_set_emulation
(mach_msg_header_t *InHeadP, mach_msg_header_t *OutHeadP)
{
#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;
mach_msg_trailer_t trailer;
} Request __attribute__((unused));
#ifdef __MigPackStructs
#pragma pack()
#endif
typedef __Request__task_set_emulation_t __Request;
typedef __Reply__task_set_emulation_t Reply __attribute__((unused));
/*
* typedef struct {
* mach_msg_header_t Head;
* NDR_record_t NDR;
* kern_return_t RetCode;
* } mig_reply_error_t;
*/
Request *In0P = (Request *) InHeadP;
Reply *OutP = (Reply *) OutHeadP;
#ifdef __MIG_check__Request__task_set_emulation_t__defined
kern_return_t check_result;
#endif /* __MIG_check__Request__task_set_emulation_t__defined */
__DeclareRcvRpc(3424, "task_set_emulation")
__BeforeRcvRpc(3424, "task_set_emulation")
#if defined(__MIG_check__Request__task_set_emulation_t__defined)
check_result = __MIG_check__Request__task_set_emulation_t((__Request *)In0P);
if (check_result != MACH_MSG_SUCCESS)
{ MIG_RETURN_ERROR(OutP, check_result); }
#endif /* defined(__MIG_check__Request__task_set_emulation_t__defined) */
OutP->RetCode = task_set_emulation(In0P->Head.msgh_request_port, In0P->routine_entry_pt, In0P->routine_number);
OutP->NDR = NDR_record;
__AfterRcvRpc(3424, "task_set_emulation")
}
#if ( __MigTypeCheck )
#if __MIG_check__Request__task_subsystem__
#if !defined(__MIG_check__Request__task_get_emulation_vector_t__defined)
#define __MIG_check__Request__task_get_emulation_vector_t__defined
mig_internal kern_return_t __MIG_check__Request__task_get_emulation_vector_t(__attribute__((__unused__)) __Request__task_get_emulation_vector_t *In0P)
{
typedef __Request__task_get_emulation_vector_t __Request;
#if __MigTypeCheck
if ((In0P->Head.msgh_bits & MACH_MSGH_BITS_COMPLEX) ||
(In0P->Head.msgh_size != (mach_msg_size_t)sizeof(__Request)))
return MIG_BAD_ARGUMENTS;
#endif /* __MigTypeCheck */
return MACH_MSG_SUCCESS;
}
#endif /* !defined(__MIG_check__Request__task_get_emulation_vector_t__defined) */
#endif /* __MIG_check__Request__task_subsystem__ */
#endif /* ( __MigTypeCheck ) */
/* Routine task_get_emulation_vector */
#ifdef mig_external
mig_external
#else
extern
#endif /* 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
);
/* Routine task_get_emulation_vector */
mig_internal novalue _Xtask_get_emulation_vector
(mach_msg_header_t *InHeadP, mach_msg_header_t *OutHeadP)
{
#ifdef __MigPackStructs
#pragma pack(4)
#endif
typedef struct {
mach_msg_header_t Head;
mach_msg_trailer_t trailer;
} Request __attribute__((unused));
#ifdef __MigPackStructs
#pragma pack()
#endif
typedef __Request__task_get_emulation_vector_t __Request;
typedef __Reply__task_get_emulation_vector_t Reply __attribute__((unused));
/*
* typedef struct {
* mach_msg_header_t Head;
* NDR_record_t NDR;
* kern_return_t RetCode;
* } mig_reply_error_t;
*/
Request *In0P = (Request *) InHeadP;
Reply *OutP = (Reply *) OutHeadP;
#ifdef __MIG_check__Request__task_get_emulation_vector_t__defined
kern_return_t check_result;
#endif /* __MIG_check__Request__task_get_emulation_vector_t__defined */
#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 */
kern_return_t RetCode;
__DeclareRcvRpc(3425, "task_get_emulation_vector")
__BeforeRcvRpc(3425, "task_get_emulation_vector")
#if defined(__MIG_check__Request__task_get_emulation_vector_t__defined)
check_result = __MIG_check__Request__task_get_emulation_vector_t((__Request *)In0P);
if (check_result != MACH_MSG_SUCCESS)
{ MIG_RETURN_ERROR(OutP, check_result); }
#endif /* defined(__MIG_check__Request__task_get_emulation_vector_t__defined) */
#if UseStaticTemplates
OutP->emulation_vector = emulation_vectorTemplate;
#else /* UseStaticTemplates */
OutP->emulation_vector.deallocate = FALSE;
OutP->emulation_vector.copy = MACH_MSG_VIRTUAL_COPY;
OutP->emulation_vector.type = MACH_MSG_OOL_DESCRIPTOR;
#endif /* UseStaticTemplates */
RetCode = task_get_emulation_vector(In0P->Head.msgh_request_port, &OutP->vector_start, (emulation_vector_t *)&(OutP->emulation_vector.address), &OutP->emulation_vectorCnt);
if (RetCode != KERN_SUCCESS) {
MIG_RETURN_ERROR(OutP, RetCode);
}
OutP->emulation_vector.size = OutP->emulation_vectorCnt * 4;
OutP->NDR = NDR_record;
OutP->Head.msgh_bits |= MACH_MSGH_BITS_COMPLEX;
OutP->Head.msgh_size = (mach_msg_size_t)(sizeof(Reply));
OutP->msgh_body.msgh_descriptor_count = 1;
__AfterRcvRpc(3425, "task_get_emulation_vector")
}
#if ( __MigTypeCheck )
#if __MIG_check__Request__task_subsystem__
#if !defined(__MIG_check__Request__task_set_emulation_vector_t__defined)
#define __MIG_check__Request__task_set_emulation_vector_t__defined
mig_internal kern_return_t __MIG_check__Request__task_set_emulation_vector_t(__attribute__((__unused__)) __Request__task_set_emulation_vector_t *In0P)
{
typedef __Request__task_set_emulation_vector_t __Request;
#if __MigTypeCheck
if (!(In0P->Head.msgh_bits & MACH_MSGH_BITS_COMPLEX) ||
(In0P->msgh_body.msgh_descriptor_count != 1) ||
(In0P->Head.msgh_size != (mach_msg_size_t)sizeof(__Request)))
return MIG_BAD_ARGUMENTS;
#endif /* __MigTypeCheck */
#if __MigTypeCheck
if (In0P->emulation_vector.type != MACH_MSG_OOL_DESCRIPTOR)
return MIG_TYPE_ERROR;
#endif /* __MigTypeCheck */
#if __MigTypeCheck
if (In0P->emulation_vector.size / 4 != In0P->emulation_vectorCnt)
return MIG_TYPE_ERROR;
#endif /* __MigTypeCheck */
return MACH_MSG_SUCCESS;
}
#endif /* !defined(__MIG_check__Request__task_set_emulation_vector_t__defined) */
#endif /* __MIG_check__Request__task_subsystem__ */
#endif /* ( __MigTypeCheck ) */
/* Routine task_set_emulation_vector */
#ifdef mig_external
mig_external
#else
extern
#endif /* 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
);
/* Routine task_set_emulation_vector */
mig_internal novalue _Xtask_set_emulation_vector
(mach_msg_header_t *InHeadP, mach_msg_header_t *OutHeadP)
{
#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;
} Request __attribute__((unused));
#ifdef __MigPackStructs
#pragma pack()
#endif
typedef __Request__task_set_emulation_vector_t __Request;
typedef __Reply__task_set_emulation_vector_t Reply __attribute__((unused));
/*
* typedef struct {
* mach_msg_header_t Head;
* NDR_record_t NDR;
* kern_return_t RetCode;
* } mig_reply_error_t;
*/
Request *In0P = (Request *) InHeadP;
Reply *OutP = (Reply *) OutHeadP;
#ifdef __MIG_check__Request__task_set_emulation_vector_t__defined
kern_return_t check_result;
#endif /* __MIG_check__Request__task_set_emulation_vector_t__defined */
__DeclareRcvRpc(3426, "task_set_emulation_vector")
__BeforeRcvRpc(3426, "task_set_emulation_vector")
#if defined(__MIG_check__Request__task_set_emulation_vector_t__defined)
check_result = __MIG_check__Request__task_set_emulation_vector_t((__Request *)In0P);
if (check_result != MACH_MSG_SUCCESS)
{ MIG_RETURN_ERROR(OutP, check_result); }
#endif /* defined(__MIG_check__Request__task_set_emulation_vector_t__defined) */
OutP->RetCode = task_set_emulation_vector(In0P->Head.msgh_request_port, In0P->vector_start, (emulation_vector_t)(In0P->emulation_vector.address), In0P->emulation_vectorCnt);
OutP->NDR = NDR_record;
__AfterRcvRpc(3426, "task_set_emulation_vector")
}
#if ( __MigTypeCheck )
#if __MIG_check__Request__task_subsystem__
#if !defined(__MIG_check__Request__task_set_ras_pc_t__defined)
#define __MIG_check__Request__task_set_ras_pc_t__defined
mig_internal kern_return_t __MIG_check__Request__task_set_ras_pc_t(__attribute__((__unused__)) __Request__task_set_ras_pc_t *In0P)
{
typedef __Request__task_set_ras_pc_t __Request;
#if __MigTypeCheck
if ((In0P->Head.msgh_bits & MACH_MSGH_BITS_COMPLEX) ||
(In0P->Head.msgh_size != (mach_msg_size_t)sizeof(__Request)))
return MIG_BAD_ARGUMENTS;
#endif /* __MigTypeCheck */
return MACH_MSG_SUCCESS;
}
#endif /* !defined(__MIG_check__Request__task_set_ras_pc_t__defined) */
#endif /* __MIG_check__Request__task_subsystem__ */
#endif /* ( __MigTypeCheck ) */
/* Routine task_set_ras_pc */
#ifdef mig_external
mig_external
#else
extern
#endif /* mig_external */
kern_return_t task_set_ras_pc
(
task_t target_task,
vm_address_t basepc,
vm_address_t boundspc
);
/* Routine task_set_ras_pc */
mig_internal novalue _Xtask_set_ras_pc
(mach_msg_header_t *InHeadP, mach_msg_header_t *OutHeadP)
{
#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;
mach_msg_trailer_t trailer;
} Request __attribute__((unused));
#ifdef __MigPackStructs
#pragma pack()
#endif
typedef __Request__task_set_ras_pc_t __Request;
typedef __Reply__task_set_ras_pc_t Reply __attribute__((unused));
/*
* typedef struct {
* mach_msg_header_t Head;
* NDR_record_t NDR;
* kern_return_t RetCode;
* } mig_reply_error_t;
*/
Request *In0P = (Request *) InHeadP;
Reply *OutP = (Reply *) OutHeadP;
#ifdef __MIG_check__Request__task_set_ras_pc_t__defined
kern_return_t check_result;
#endif /* __MIG_check__Request__task_set_ras_pc_t__defined */
__DeclareRcvRpc(3427, "task_set_ras_pc")
__BeforeRcvRpc(3427, "task_set_ras_pc")
#if defined(__MIG_check__Request__task_set_ras_pc_t__defined)
check_result = __MIG_check__Request__task_set_ras_pc_t((__Request *)In0P);
if (check_result != MACH_MSG_SUCCESS)
{ MIG_RETURN_ERROR(OutP, check_result); }
#endif /* defined(__MIG_check__Request__task_set_ras_pc_t__defined) */
OutP->RetCode = task_set_ras_pc(In0P->Head.msgh_request_port, In0P->basepc, In0P->boundspc);
OutP->NDR = NDR_record;
__AfterRcvRpc(3427, "task_set_ras_pc")
}
#if ( __MigTypeCheck )
#if __MIG_check__Request__task_subsystem__
#if !defined(__MIG_check__Request__task_zone_info_t__defined)
#define __MIG_check__Request__task_zone_info_t__defined
mig_internal kern_return_t __MIG_check__Request__task_zone_info_t(__attribute__((__unused__)) __Request__task_zone_info_t *In0P)
{
typedef __Request__task_zone_info_t __Request;
#if __MigTypeCheck
if ((In0P->Head.msgh_bits & MACH_MSGH_BITS_COMPLEX) ||
(In0P->Head.msgh_size != (mach_msg_size_t)sizeof(__Request)))
return MIG_BAD_ARGUMENTS;
#endif /* __MigTypeCheck */
return MACH_MSG_SUCCESS;
}
#endif /* !defined(__MIG_check__Request__task_zone_info_t__defined) */
#endif /* __MIG_check__Request__task_subsystem__ */
#endif /* ( __MigTypeCheck ) */
/* Routine task_zone_info */
#ifdef mig_external
mig_external
#else
extern
#endif /* 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
);
/* Routine task_zone_info */
mig_internal novalue _Xtask_zone_info
(mach_msg_header_t *InHeadP, mach_msg_header_t *OutHeadP)
{
#ifdef __MigPackStructs
#pragma pack(4)
#endif
typedef struct {
mach_msg_header_t Head;
mach_msg_trailer_t trailer;
} Request __attribute__((unused));
#ifdef __MigPackStructs
#pragma pack()
#endif
typedef __Request__task_zone_info_t __Request;
typedef __Reply__task_zone_info_t Reply __attribute__((unused));
/*
* typedef struct {
* mach_msg_header_t Head;
* NDR_record_t NDR;
* kern_return_t RetCode;
* } mig_reply_error_t;
*/
Request *In0P = (Request *) InHeadP;
Reply *OutP = (Reply *) OutHeadP;
#ifdef __MIG_check__Request__task_zone_info_t__defined
kern_return_t check_result;
#endif /* __MIG_check__Request__task_zone_info_t__defined */
#if UseStaticTemplates
const static mach_msg_ool_descriptor_t namesTemplate = {
/* addr = */ (void *)0,
/* size = */ 0,
/* deal = */ TRUE,
/* copy = */ MACH_MSG_VIRTUAL_COPY,
/* pad2 = */ 0,
/* type = */ MACH_MSG_OOL_DESCRIPTOR,
};
#endif /* UseStaticTemplates */
#if UseStaticTemplates
const static mach_msg_ool_descriptor_t infoTemplate = {
/* addr = */ (void *)0,
/* size = */ 0,
/* deal = */ TRUE,
/* copy = */ MACH_MSG_VIRTUAL_COPY,
/* pad2 = */ 0,
/* type = */ MACH_MSG_OOL_DESCRIPTOR,
};
#endif /* UseStaticTemplates */
kern_return_t RetCode;
__DeclareRcvRpc(3428, "task_zone_info")
__BeforeRcvRpc(3428, "task_zone_info")
#if defined(__MIG_check__Request__task_zone_info_t__defined)
check_result = __MIG_check__Request__task_zone_info_t((__Request *)In0P);
if (check_result != MACH_MSG_SUCCESS)
{ MIG_RETURN_ERROR(OutP, check_result); }
#endif /* defined(__MIG_check__Request__task_zone_info_t__defined) */
#if UseStaticTemplates
OutP->names = namesTemplate;
#else /* UseStaticTemplates */
OutP->names.deallocate = TRUE;
OutP->names.copy = MACH_MSG_VIRTUAL_COPY;
OutP->names.type = MACH_MSG_OOL_DESCRIPTOR;
#endif /* UseStaticTemplates */
#if UseStaticTemplates
OutP->info = infoTemplate;
#else /* UseStaticTemplates */
OutP->info.deallocate = TRUE;
OutP->info.copy = MACH_MSG_VIRTUAL_COPY;
OutP->info.type = MACH_MSG_OOL_DESCRIPTOR;
#endif /* UseStaticTemplates */
OutP->namesCnt = 0;
OutP->infoCnt = 0;
RetCode = task_zone_info(In0P->Head.msgh_request_port, (mach_zone_name_array_t *)&(OutP->names.address), &OutP->namesCnt, (task_zone_info_array_t *)&(OutP->info.address), &OutP->infoCnt);
if (RetCode != KERN_SUCCESS) {
MIG_RETURN_ERROR(OutP, RetCode);
}
OutP->names.size = OutP->namesCnt * 80;
OutP->info.size = OutP->infoCnt * 88;
OutP->NDR = NDR_record;
OutP->Head.msgh_bits |= MACH_MSGH_BITS_COMPLEX;
OutP->Head.msgh_size = (mach_msg_size_t)(sizeof(Reply));
OutP->msgh_body.msgh_descriptor_count = 2;
__AfterRcvRpc(3428, "task_zone_info")
}
#if ( __MigTypeCheck )
#if __MIG_check__Request__task_subsystem__
#if !defined(__MIG_check__Request__task_assign_t__defined)
#define __MIG_check__Request__task_assign_t__defined
mig_internal kern_return_t __MIG_check__Request__task_assign_t(__attribute__((__unused__)) __Request__task_assign_t *In0P)
{
typedef __Request__task_assign_t __Request;
#if __MigTypeCheck
if (!(In0P->Head.msgh_bits & MACH_MSGH_BITS_COMPLEX) ||
(In0P->msgh_body.msgh_descriptor_count != 1) ||
(In0P->Head.msgh_size != (mach_msg_size_t)sizeof(__Request)))
return MIG_BAD_ARGUMENTS;
#endif /* __MigTypeCheck */
#if __MigTypeCheck
if (In0P->new_set.type != MACH_MSG_PORT_DESCRIPTOR ||
In0P->new_set.disposition != 17)
return MIG_TYPE_ERROR;
#endif /* __MigTypeCheck */
return MACH_MSG_SUCCESS;
}
#endif /* !defined(__MIG_check__Request__task_assign_t__defined) */
#endif /* __MIG_check__Request__task_subsystem__ */
#endif /* ( __MigTypeCheck ) */
/* Routine task_assign */
#ifdef mig_external
mig_external
#else
extern
#endif /* mig_external */
kern_return_t task_assign
(
task_t task,
processor_set_t new_set,
boolean_t assign_threads
);
/* Routine task_assign */
mig_internal novalue _Xtask_assign
(mach_msg_header_t *InHeadP, mach_msg_header_t *OutHeadP)
{
#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;
mach_msg_trailer_t trailer;
} Request __attribute__((unused));
#ifdef __MigPackStructs
#pragma pack()
#endif
typedef __Request__task_assign_t __Request;
typedef __Reply__task_assign_t Reply __attribute__((unused));
/*
* typedef struct {
* mach_msg_header_t Head;
* NDR_record_t NDR;
* kern_return_t RetCode;
* } mig_reply_error_t;
*/
Request *In0P = (Request *) InHeadP;
Reply *OutP = (Reply *) OutHeadP;
#ifdef __MIG_check__Request__task_assign_t__defined
kern_return_t check_result;
#endif /* __MIG_check__Request__task_assign_t__defined */
__DeclareRcvRpc(3429, "task_assign")
__BeforeRcvRpc(3429, "task_assign")
#if defined(__MIG_check__Request__task_assign_t__defined)
check_result = __MIG_check__Request__task_assign_t((__Request *)In0P);
if (check_result != MACH_MSG_SUCCESS)
{ MIG_RETURN_ERROR(OutP, check_result); }
#endif /* defined(__MIG_check__Request__task_assign_t__defined) */
OutP->RetCode = task_assign(In0P->Head.msgh_request_port, In0P->new_set.name, In0P->assign_threads);
OutP->NDR = NDR_record;
__AfterRcvRpc(3429, "task_assign")
}
#if ( __MigTypeCheck )
#if __MIG_check__Request__task_subsystem__
#if !defined(__MIG_check__Request__task_assign_default_t__defined)
#define __MIG_check__Request__task_assign_default_t__defined
mig_internal kern_return_t __MIG_check__Request__task_assign_default_t(__attribute__((__unused__)) __Request__task_assign_default_t *In0P)
{
typedef __Request__task_assign_default_t __Request;
#if __MigTypeCheck
if ((In0P->Head.msgh_bits & MACH_MSGH_BITS_COMPLEX) ||
(In0P->Head.msgh_size != (mach_msg_size_t)sizeof(__Request)))
return MIG_BAD_ARGUMENTS;
#endif /* __MigTypeCheck */
return MACH_MSG_SUCCESS;
}
#endif /* !defined(__MIG_check__Request__task_assign_default_t__defined) */
#endif /* __MIG_check__Request__task_subsystem__ */
#endif /* ( __MigTypeCheck ) */
/* Routine task_assign_default */
#ifdef mig_external
mig_external
#else
extern
#endif /* mig_external */
kern_return_t task_assign_default
(
task_t task,
boolean_t assign_threads
);
/* Routine task_assign_default */
mig_internal novalue _Xtask_assign_default
(mach_msg_header_t *InHeadP, mach_msg_header_t *OutHeadP)
{
#ifdef __MigPackStructs
#pragma pack(4)
#endif
typedef struct {
mach_msg_header_t Head;
NDR_record_t NDR;
boolean_t assign_threads;
mach_msg_trailer_t trailer;
} Request __attribute__((unused));
#ifdef __MigPackStructs
#pragma pack()
#endif
typedef __Request__task_assign_default_t __Request;
typedef __Reply__task_assign_default_t Reply __attribute__((unused));
/*
* typedef struct {
* mach_msg_header_t Head;
* NDR_record_t NDR;
* kern_return_t RetCode;
* } mig_reply_error_t;
*/
Request *In0P = (Request *) InHeadP;
Reply *OutP = (Reply *) OutHeadP;
#ifdef __MIG_check__Request__task_assign_default_t__defined
kern_return_t check_result;
#endif /* __MIG_check__Request__task_assign_default_t__defined */
__DeclareRcvRpc(3430, "task_assign_default")
__BeforeRcvRpc(3430, "task_assign_default")
#if defined(__MIG_check__Request__task_assign_default_t__defined)
check_result = __MIG_check__Request__task_assign_default_t((__Request *)In0P);
if (check_result != MACH_MSG_SUCCESS)
{ MIG_RETURN_ERROR(OutP, check_result); }
#endif /* defined(__MIG_check__Request__task_assign_default_t__defined) */
OutP->RetCode = task_assign_default(In0P->Head.msgh_request_port, In0P->assign_threads);
OutP->NDR = NDR_record;
__AfterRcvRpc(3430, "task_assign_default")
}
#if ( __MigTypeCheck )
#if __MIG_check__Request__task_subsystem__
#if !defined(__MIG_check__Request__task_get_assignment_t__defined)
#define __MIG_check__Request__task_get_assignment_t__defined
mig_internal kern_return_t __MIG_check__Request__task_get_assignment_t(__attribute__((__unused__)) __Request__task_get_assignment_t *In0P)
{
typedef __Request__task_get_assignment_t __Request;
#if __MigTypeCheck
if ((In0P->Head.msgh_bits & MACH_MSGH_BITS_COMPLEX) ||
(In0P->Head.msgh_size != (mach_msg_size_t)sizeof(__Request)))
return MIG_BAD_ARGUMENTS;
#endif /* __MigTypeCheck */
return MACH_MSG_SUCCESS;
}
#endif /* !defined(__MIG_check__Request__task_get_assignment_t__defined) */
#endif /* __MIG_check__Request__task_subsystem__ */
#endif /* ( __MigTypeCheck ) */
/* Routine task_get_assignment */
#ifdef mig_external
mig_external
#else
extern
#endif /* mig_external */
kern_return_t task_get_assignment
(
task_t task,
processor_set_name_t *assigned_set
);
/* Routine task_get_assignment */
mig_internal novalue _Xtask_get_assignment
(mach_msg_header_t *InHeadP, mach_msg_header_t *OutHeadP)
{
#ifdef __MigPackStructs
#pragma pack(4)
#endif
typedef struct {
mach_msg_header_t Head;
mach_msg_trailer_t trailer;
} Request __attribute__((unused));
#ifdef __MigPackStructs
#pragma pack()
#endif
typedef __Request__task_get_assignment_t __Request;
typedef __Reply__task_get_assignment_t Reply __attribute__((unused));
/*
* typedef struct {
* mach_msg_header_t Head;
* NDR_record_t NDR;
* kern_return_t RetCode;
* } mig_reply_error_t;
*/
Request *In0P = (Request *) InHeadP;
Reply *OutP = (Reply *) OutHeadP;
#ifdef __MIG_check__Request__task_get_assignment_t__defined
kern_return_t check_result;
#endif /* __MIG_check__Request__task_get_assignment_t__defined */
#if UseStaticTemplates
const static mach_msg_port_descriptor_t assigned_setTemplate = {
/* name = */ MACH_PORT_NULL,
/* pad1 = */ 0,
/* pad2 = */ 0,
/* disp = */ 19,
/* type = */ MACH_MSG_PORT_DESCRIPTOR,
};
#endif /* UseStaticTemplates */
kern_return_t RetCode;
__DeclareRcvRpc(3431, "task_get_assignment")
__BeforeRcvRpc(3431, "task_get_assignment")
#if defined(__MIG_check__Request__task_get_assignment_t__defined)
check_result = __MIG_check__Request__task_get_assignment_t((__Request *)In0P);
if (check_result != MACH_MSG_SUCCESS)
{ MIG_RETURN_ERROR(OutP, check_result); }
#endif /* defined(__MIG_check__Request__task_get_assignment_t__defined) */
#if UseStaticTemplates
OutP->assigned_set = assigned_setTemplate;
#else /* UseStaticTemplates */
OutP->assigned_set.disposition = 19;
OutP->assigned_set.type = MACH_MSG_PORT_DESCRIPTOR;
#endif /* UseStaticTemplates */
RetCode = task_get_assignment(In0P->Head.msgh_request_port, &OutP->assigned_set.name);
if (RetCode != KERN_SUCCESS) {
MIG_RETURN_ERROR(OutP, RetCode);
}
OutP->Head.msgh_bits |= MACH_MSGH_BITS_COMPLEX;
OutP->Head.msgh_size = (mach_msg_size_t)(sizeof(Reply));
OutP->msgh_body.msgh_descriptor_count = 1;
__AfterRcvRpc(3431, "task_get_assignment")
}
#if ( __MigTypeCheck )
#if __MIG_check__Request__task_subsystem__
#if !defined(__MIG_check__Request__task_set_policy_t__defined)
#define __MIG_check__Request__task_set_policy_t__defined
mig_internal kern_return_t __MIG_check__Request__task_set_policy_t(__attribute__((__unused__)) __Request__task_set_policy_t *In0P, __attribute__((__unused__)) __Request__task_set_policy_t **In1PP, __attribute__((__unused__)) __Request__task_set_policy_t **In2PP)
{
typedef __Request__task_set_policy_t __Request;
__Request *In1P;
__Request *In2P;
#if __MigTypeCheck
unsigned int msgh_size;
#endif /* __MigTypeCheck */
unsigned int msgh_size_delta;
#if __MigTypeCheck
msgh_size = In0P->Head.msgh_size;
if (!(In0P->Head.msgh_bits & MACH_MSGH_BITS_COMPLEX) ||
(In0P->msgh_body.msgh_descriptor_count != 1) ||
(msgh_size < (mach_msg_size_t)(sizeof(__Request) - 24)) || (msgh_size > (mach_msg_size_t)sizeof(__Request)))
return MIG_BAD_ARGUMENTS;
#endif /* __MigTypeCheck */
#if __MigTypeCheck
if (In0P->pset.type != MACH_MSG_PORT_DESCRIPTOR ||
In0P->pset.disposition != 17)
return MIG_TYPE_ERROR;
#endif /* __MigTypeCheck */
#if defined(__NDR_convert__int_rep__Request__task_set_policy_t__baseCnt__defined)
if (In0P->NDR.int_rep != NDR_record.int_rep)
__NDR_convert__int_rep__Request__task_set_policy_t__baseCnt(&In0P->baseCnt, In0P->NDR.int_rep);
#endif /* __NDR_convert__int_rep__Request__task_set_policy_t__baseCnt__defined */
msgh_size_delta = (4 * In0P->baseCnt);
#if __MigTypeCheck
if ( In0P->baseCnt > 5 )
return MIG_BAD_ARGUMENTS;
if (((msgh_size - (mach_msg_size_t)(sizeof(__Request) - 24)) / 4 < In0P->baseCnt) ||
(msgh_size < (mach_msg_size_t)(sizeof(__Request) - 24) + (4 * In0P->baseCnt)))
return MIG_BAD_ARGUMENTS;
msgh_size -= msgh_size_delta;
#endif /* __MigTypeCheck */
*In1PP = In1P = (__Request *) ((pointer_t) In0P + msgh_size_delta - 20);
#if defined(__NDR_convert__int_rep__Request__task_set_policy_t__limitCnt__defined)
if (In0P->NDR.int_rep != NDR_record.int_rep)
__NDR_convert__int_rep__Request__task_set_policy_t__limitCnt(&In1P->limitCnt, In1P->NDR.int_rep);
#endif /* __NDR_convert__int_rep__Request__task_set_policy_t__limitCnt__defined */
msgh_size_delta = (4 * In1P->limitCnt);
#if __MigTypeCheck
if ( In1P->limitCnt > 1 )
return MIG_BAD_ARGUMENTS;
if (((msgh_size - (mach_msg_size_t)(sizeof(__Request) - 24)) / 4 < In1P->limitCnt) ||
(msgh_size != (mach_msg_size_t)(sizeof(__Request) - 24) + (4 * In1P->limitCnt)))
return MIG_BAD_ARGUMENTS;
#endif /* __MigTypeCheck */
*In2PP = In2P = (__Request *) ((pointer_t) In1P + msgh_size_delta - 4);
return MACH_MSG_SUCCESS;
}
#endif /* !defined(__MIG_check__Request__task_set_policy_t__defined) */
#endif /* __MIG_check__Request__task_subsystem__ */
#endif /* ( __MigTypeCheck ) */
/* Routine task_set_policy */
#ifdef mig_external
mig_external
#else
extern
#endif /* 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
);
/* Routine task_set_policy */
mig_internal novalue _Xtask_set_policy
(mach_msg_header_t *InHeadP, mach_msg_header_t *OutHeadP)
{
#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;
mach_msg_trailer_t trailer;
} Request __attribute__((unused));
#ifdef __MigPackStructs
#pragma pack()
#endif
typedef __Request__task_set_policy_t __Request;
typedef __Reply__task_set_policy_t Reply __attribute__((unused));
/*
* typedef struct {
* mach_msg_header_t Head;
* NDR_record_t NDR;
* kern_return_t RetCode;
* } mig_reply_error_t;
*/
Request *In0P = (Request *) InHeadP;
Request *In1P;
Request *In2P;
Reply *OutP = (Reply *) OutHeadP;
#ifdef __MIG_check__Request__task_set_policy_t__defined
kern_return_t check_result;
#endif /* __MIG_check__Request__task_set_policy_t__defined */
__DeclareRcvRpc(3432, "task_set_policy")
__BeforeRcvRpc(3432, "task_set_policy")
#if defined(__MIG_check__Request__task_set_policy_t__defined)
check_result = __MIG_check__Request__task_set_policy_t((__Request *)In0P, (__Request **)&In1P, (__Request **)&In2P);
if (check_result != MACH_MSG_SUCCESS)
{ MIG_RETURN_ERROR(OutP, check_result); }
#endif /* defined(__MIG_check__Request__task_set_policy_t__defined) */
OutP->RetCode = task_set_policy(In0P->Head.msgh_request_port, In0P->pset.name, In0P->policy, In0P->base, In0P->baseCnt, In1P->limit, In1P->limitCnt, In2P->change);
OutP->NDR = NDR_record;
__AfterRcvRpc(3432, "task_set_policy")
}
#if ( __MigTypeCheck )
#if __MIG_check__Request__task_subsystem__
#if !defined(__MIG_check__Request__task_get_state_t__defined)
#define __MIG_check__Request__task_get_state_t__defined
mig_internal kern_return_t __MIG_check__Request__task_get_state_t(__attribute__((__unused__)) __Request__task_get_state_t *In0P)
{
typedef __Request__task_get_state_t __Request;
#if __MigTypeCheck
if ((In0P->Head.msgh_bits & MACH_MSGH_BITS_COMPLEX) ||
(In0P->Head.msgh_size != (mach_msg_size_t)sizeof(__Request)))
return MIG_BAD_ARGUMENTS;
#endif /* __MigTypeCheck */
return MACH_MSG_SUCCESS;
}
#endif /* !defined(__MIG_check__Request__task_get_state_t__defined) */
#endif /* __MIG_check__Request__task_subsystem__ */
#endif /* ( __MigTypeCheck ) */
/* Routine task_get_state */
#ifdef mig_external
mig_external
#else
extern
#endif /* 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
);
/* Routine task_get_state */
mig_internal novalue _Xtask_get_state
(mach_msg_header_t *InHeadP, mach_msg_header_t *OutHeadP)
{
#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;
mach_msg_trailer_t trailer;
} Request __attribute__((unused));
#ifdef __MigPackStructs
#pragma pack()
#endif
typedef __Request__task_get_state_t __Request;
typedef __Reply__task_get_state_t Reply __attribute__((unused));
/*
* typedef struct {
* mach_msg_header_t Head;
* NDR_record_t NDR;
* kern_return_t RetCode;
* } mig_reply_error_t;
*/
Request *In0P = (Request *) InHeadP;
Reply *OutP = (Reply *) OutHeadP;
#ifdef __MIG_check__Request__task_get_state_t__defined
kern_return_t check_result;
#endif /* __MIG_check__Request__task_get_state_t__defined */
__DeclareRcvRpc(3433, "task_get_state")
__BeforeRcvRpc(3433, "task_get_state")
#if defined(__MIG_check__Request__task_get_state_t__defined)
check_result = __MIG_check__Request__task_get_state_t((__Request *)In0P);
if (check_result != MACH_MSG_SUCCESS)
{ MIG_RETURN_ERROR(OutP, check_result); }
#endif /* defined(__MIG_check__Request__task_get_state_t__defined) */
OutP->old_stateCnt = 224;
if (In0P->old_stateCnt < OutP->old_stateCnt)
OutP->old_stateCnt = In0P->old_stateCnt;
OutP->RetCode = task_get_state(In0P->Head.msgh_request_port, In0P->flavor, OutP->old_state, &OutP->old_stateCnt);
if (OutP->RetCode != KERN_SUCCESS) {
MIG_RETURN_ERROR(OutP, OutP->RetCode);
}
OutP->NDR = NDR_record;
OutP->Head.msgh_size = (mach_msg_size_t)(sizeof(Reply) - 896) + (((4 * OutP->old_stateCnt)));
__AfterRcvRpc(3433, "task_get_state")
}
#if ( __MigTypeCheck )
#if __MIG_check__Request__task_subsystem__
#if !defined(__MIG_check__Request__task_set_state_t__defined)
#define __MIG_check__Request__task_set_state_t__defined
mig_internal kern_return_t __MIG_check__Request__task_set_state_t(__attribute__((__unused__)) __Request__task_set_state_t *In0P)
{
typedef __Request__task_set_state_t __Request;
#if __MigTypeCheck
unsigned int msgh_size;
#endif /* __MigTypeCheck */
#if __MigTypeCheck
msgh_size = In0P->Head.msgh_size;
if ((In0P->Head.msgh_bits & MACH_MSGH_BITS_COMPLEX) ||
(msgh_size < (mach_msg_size_t)(sizeof(__Request) - 896)) || (msgh_size > (mach_msg_size_t)sizeof(__Request)))
return MIG_BAD_ARGUMENTS;
#endif /* __MigTypeCheck */
#if defined(__NDR_convert__int_rep__Request__task_set_state_t__new_stateCnt__defined)
if (In0P->NDR.int_rep != NDR_record.int_rep)
__NDR_convert__int_rep__Request__task_set_state_t__new_stateCnt(&In0P->new_stateCnt, In0P->NDR.int_rep);
#endif /* __NDR_convert__int_rep__Request__task_set_state_t__new_stateCnt__defined */
#if __MigTypeCheck
if ( In0P->new_stateCnt > 224 )
return MIG_BAD_ARGUMENTS;
if (((msgh_size - (mach_msg_size_t)(sizeof(__Request) - 896)) / 4 < In0P->new_stateCnt) ||
(msgh_size != (mach_msg_size_t)(sizeof(__Request) - 896) + (4 * In0P->new_stateCnt)))
return MIG_BAD_ARGUMENTS;
#endif /* __MigTypeCheck */
return MACH_MSG_SUCCESS;
}
#endif /* !defined(__MIG_check__Request__task_set_state_t__defined) */
#endif /* __MIG_check__Request__task_subsystem__ */
#endif /* ( __MigTypeCheck ) */
/* Routine task_set_state */
#ifdef mig_external
mig_external
#else
extern
#endif /* 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
);
/* Routine task_set_state */
mig_internal novalue _Xtask_set_state
(mach_msg_header_t *InHeadP, mach_msg_header_t *OutHeadP)
{
#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];
mach_msg_trailer_t trailer;
} Request __attribute__((unused));
#ifdef __MigPackStructs
#pragma pack()
#endif
typedef __Request__task_set_state_t __Request;
typedef __Reply__task_set_state_t Reply __attribute__((unused));
/*
* typedef struct {
* mach_msg_header_t Head;
* NDR_record_t NDR;
* kern_return_t RetCode;
* } mig_reply_error_t;
*/
Request *In0P = (Request *) InHeadP;
Reply *OutP = (Reply *) OutHeadP;
#ifdef __MIG_check__Request__task_set_state_t__defined
kern_return_t check_result;
#endif /* __MIG_check__Request__task_set_state_t__defined */
__DeclareRcvRpc(3434, "task_set_state")
__BeforeRcvRpc(3434, "task_set_state")
#if defined(__MIG_check__Request__task_set_state_t__defined)
check_result = __MIG_check__Request__task_set_state_t((__Request *)In0P);
if (check_result != MACH_MSG_SUCCESS)
{ MIG_RETURN_ERROR(OutP, check_result); }
#endif /* defined(__MIG_check__Request__task_set_state_t__defined) */
OutP->RetCode = task_set_state(In0P->Head.msgh_request_port, In0P->flavor, In0P->new_state, In0P->new_stateCnt);
OutP->NDR = NDR_record;
__AfterRcvRpc(3434, "task_set_state")
}
#if ( __MigTypeCheck )
#if __MIG_check__Request__task_subsystem__
#if !defined(__MIG_check__Request__task_set_phys_footprint_limit_t__defined)
#define __MIG_check__Request__task_set_phys_footprint_limit_t__defined
mig_internal kern_return_t __MIG_check__Request__task_set_phys_footprint_limit_t(__attribute__((__unused__)) __Request__task_set_phys_footprint_limit_t *In0P)
{
typedef __Request__task_set_phys_footprint_limit_t __Request;
#if __MigTypeCheck
if ((In0P->Head.msgh_bits & MACH_MSGH_BITS_COMPLEX) ||
(In0P->Head.msgh_size != (mach_msg_size_t)sizeof(__Request)))
return MIG_BAD_ARGUMENTS;
#endif /* __MigTypeCheck */
return MACH_MSG_SUCCESS;
}
#endif /* !defined(__MIG_check__Request__task_set_phys_footprint_limit_t__defined) */
#endif /* __MIG_check__Request__task_subsystem__ */
#endif /* ( __MigTypeCheck ) */
/* Routine task_set_phys_footprint_limit */
#ifdef mig_external
mig_external
#else
extern
#endif /* mig_external */
kern_return_t task_set_phys_footprint_limit
(
task_t task,
int new_limit,
int *old_limit
);
/* Routine task_set_phys_footprint_limit */
mig_internal novalue _Xtask_set_phys_footprint_limit
(mach_msg_header_t *InHeadP, mach_msg_header_t *OutHeadP)
{
#ifdef __MigPackStructs
#pragma pack(4)
#endif
typedef struct {
mach_msg_header_t Head;
NDR_record_t NDR;
int new_limit;
mach_msg_trailer_t trailer;
} Request __attribute__((unused));
#ifdef __MigPackStructs
#pragma pack()
#endif
typedef __Request__task_set_phys_footprint_limit_t __Request;
typedef __Reply__task_set_phys_footprint_limit_t Reply __attribute__((unused));
/*
* typedef struct {
* mach_msg_header_t Head;
* NDR_record_t NDR;
* kern_return_t RetCode;
* } mig_reply_error_t;
*/
Request *In0P = (Request *) InHeadP;
Reply *OutP = (Reply *) OutHeadP;
#ifdef __MIG_check__Request__task_set_phys_footprint_limit_t__defined
kern_return_t check_result;
#endif /* __MIG_check__Request__task_set_phys_footprint_limit_t__defined */
__DeclareRcvRpc(3435, "task_set_phys_footprint_limit")
__BeforeRcvRpc(3435, "task_set_phys_footprint_limit")
#if defined(__MIG_check__Request__task_set_phys_footprint_limit_t__defined)
check_result = __MIG_check__Request__task_set_phys_footprint_limit_t((__Request *)In0P);
if (check_result != MACH_MSG_SUCCESS)
{ MIG_RETURN_ERROR(OutP, check_result); }
#endif /* defined(__MIG_check__Request__task_set_phys_footprint_limit_t__defined) */
OutP->RetCode = task_set_phys_footprint_limit(In0P->Head.msgh_request_port, In0P->new_limit, &OutP->old_limit);
if (OutP->RetCode != KERN_SUCCESS) {
MIG_RETURN_ERROR(OutP, OutP->RetCode);
}
OutP->NDR = NDR_record;
OutP->Head.msgh_size = (mach_msg_size_t)(sizeof(Reply));
__AfterRcvRpc(3435, "task_set_phys_footprint_limit")
}
#if ( __MigTypeCheck )
#if __MIG_check__Request__task_subsystem__
#if !defined(__MIG_check__Request__task_suspend2_t__defined)
#define __MIG_check__Request__task_suspend2_t__defined
mig_internal kern_return_t __MIG_check__Request__task_suspend2_t(__attribute__((__unused__)) __Request__task_suspend2_t *In0P)
{
typedef __Request__task_suspend2_t __Request;
#if __MigTypeCheck
if ((In0P->Head.msgh_bits & MACH_MSGH_BITS_COMPLEX) ||
(In0P->Head.msgh_size != (mach_msg_size_t)sizeof(__Request)))
return MIG_BAD_ARGUMENTS;
#endif /* __MigTypeCheck */
return MACH_MSG_SUCCESS;
}
#endif /* !defined(__MIG_check__Request__task_suspend2_t__defined) */
#endif /* __MIG_check__Request__task_subsystem__ */
#endif /* ( __MigTypeCheck ) */
/* Routine task_suspend2 */
#ifdef mig_external
mig_external
#else
extern
#endif /* mig_external */
kern_return_t task_suspend2
(
task_t target_task,
task_suspension_token_t *suspend_token
);
/* Routine task_suspend2 */
mig_internal novalue _Xtask_suspend2
(mach_msg_header_t *InHeadP, mach_msg_header_t *OutHeadP)
{
#ifdef __MigPackStructs
#pragma pack(4)
#endif
typedef struct {
mach_msg_header_t Head;
mach_msg_trailer_t trailer;
} Request __attribute__((unused));
#ifdef __MigPackStructs
#pragma pack()
#endif
typedef __Request__task_suspend2_t __Request;
typedef __Reply__task_suspend2_t Reply __attribute__((unused));
/*
* typedef struct {
* mach_msg_header_t Head;
* NDR_record_t NDR;
* kern_return_t RetCode;
* } mig_reply_error_t;
*/
Request *In0P = (Request *) InHeadP;
Reply *OutP = (Reply *) OutHeadP;
#ifdef __MIG_check__Request__task_suspend2_t__defined
kern_return_t check_result;
#endif /* __MIG_check__Request__task_suspend2_t__defined */
#if UseStaticTemplates
const static mach_msg_port_descriptor_t suspend_tokenTemplate = {
/* name = */ MACH_PORT_NULL,
/* pad1 = */ 0,
/* pad2 = */ 0,
/* disp = */ 18,
/* type = */ MACH_MSG_PORT_DESCRIPTOR,
};
#endif /* UseStaticTemplates */
kern_return_t RetCode;
__DeclareRcvRpc(3436, "task_suspend2")
__BeforeRcvRpc(3436, "task_suspend2")
#if defined(__MIG_check__Request__task_suspend2_t__defined)
check_result = __MIG_check__Request__task_suspend2_t((__Request *)In0P);
if (check_result != MACH_MSG_SUCCESS)
{ MIG_RETURN_ERROR(OutP, check_result); }
#endif /* defined(__MIG_check__Request__task_suspend2_t__defined) */
#if UseStaticTemplates
OutP->suspend_token = suspend_tokenTemplate;
#else /* UseStaticTemplates */
OutP->suspend_token.disposition = 18;
OutP->suspend_token.type = MACH_MSG_PORT_DESCRIPTOR;
#endif /* UseStaticTemplates */
RetCode = task_suspend2(In0P->Head.msgh_request_port, &OutP->suspend_token.name);
if (RetCode != KERN_SUCCESS) {
MIG_RETURN_ERROR(OutP, RetCode);
}
OutP->Head.msgh_bits |= MACH_MSGH_BITS_COMPLEX;
OutP->Head.msgh_size = (mach_msg_size_t)(sizeof(Reply));
OutP->msgh_body.msgh_descriptor_count = 1;
__AfterRcvRpc(3436, "task_suspend2")
}
#if ( __MigTypeCheck )
#if __MIG_check__Request__task_subsystem__
#if !defined(__MIG_check__Request__task_resume2_t__defined)
#define __MIG_check__Request__task_resume2_t__defined
mig_internal kern_return_t __MIG_check__Request__task_resume2_t(__attribute__((__unused__)) __Request__task_resume2_t *In0P)
{
typedef __Request__task_resume2_t __Request;
#if __MigTypeCheck
if ((In0P->Head.msgh_bits & MACH_MSGH_BITS_COMPLEX) ||
(In0P->Head.msgh_size != (mach_msg_size_t)sizeof(__Request)))
return MIG_BAD_ARGUMENTS;
#endif /* __MigTypeCheck */
return MACH_MSG_SUCCESS;
}
#endif /* !defined(__MIG_check__Request__task_resume2_t__defined) */
#endif /* __MIG_check__Request__task_subsystem__ */
#endif /* ( __MigTypeCheck ) */
/* Routine task_resume2 */
#ifdef mig_external
mig_external
#else
extern
#endif /* mig_external */
kern_return_t task_resume2
(
task_suspension_token_t suspend_token
);
/* Routine task_resume2 */
mig_internal novalue _Xtask_resume2
(mach_msg_header_t *InHeadP, mach_msg_header_t *OutHeadP)
{
#ifdef __MigPackStructs
#pragma pack(4)
#endif
typedef struct {
mach_msg_header_t Head;
mach_msg_trailer_t trailer;
} Request __attribute__((unused));
#ifdef __MigPackStructs
#pragma pack()
#endif
typedef __Request__task_resume2_t __Request;
typedef __Reply__task_resume2_t Reply __attribute__((unused));
/*
* typedef struct {
* mach_msg_header_t Head;
* NDR_record_t NDR;
* kern_return_t RetCode;
* } mig_reply_error_t;
*/
Request *In0P = (Request *) InHeadP;
Reply *OutP = (Reply *) OutHeadP;
#ifdef __MIG_check__Request__task_resume2_t__defined
kern_return_t check_result;
#endif /* __MIG_check__Request__task_resume2_t__defined */
__DeclareRcvRpc(3437, "task_resume2")
__BeforeRcvRpc(3437, "task_resume2")
#if defined(__MIG_check__Request__task_resume2_t__defined)
check_result = __MIG_check__Request__task_resume2_t((__Request *)In0P);
if (check_result != MACH_MSG_SUCCESS)
{ MIG_RETURN_ERROR(OutP, check_result); }
#endif /* defined(__MIG_check__Request__task_resume2_t__defined) */
OutP->RetCode = task_resume2(In0P->Head.msgh_request_port);
OutP->NDR = NDR_record;
__AfterRcvRpc(3437, "task_resume2")
}
#if ( __MigTypeCheck )
#if __MIG_check__Request__task_subsystem__
#if !defined(__MIG_check__Request__task_purgable_info_t__defined)
#define __MIG_check__Request__task_purgable_info_t__defined
mig_internal kern_return_t __MIG_check__Request__task_purgable_info_t(__attribute__((__unused__)) __Request__task_purgable_info_t *In0P)
{
typedef __Request__task_purgable_info_t __Request;
#if __MigTypeCheck
if ((In0P->Head.msgh_bits & MACH_MSGH_BITS_COMPLEX) ||
(In0P->Head.msgh_size != (mach_msg_size_t)sizeof(__Request)))
return MIG_BAD_ARGUMENTS;
#endif /* __MigTypeCheck */
return MACH_MSG_SUCCESS;
}
#endif /* !defined(__MIG_check__Request__task_purgable_info_t__defined) */
#endif /* __MIG_check__Request__task_subsystem__ */
#endif /* ( __MigTypeCheck ) */
/* Routine task_purgable_info */
#ifdef mig_external
mig_external
#else
extern
#endif /* mig_external */
kern_return_t task_purgable_info
(
task_t task,
task_purgable_info_t *stats
);
/* Routine task_purgable_info */
mig_internal novalue _Xtask_purgable_info
(mach_msg_header_t *InHeadP, mach_msg_header_t *OutHeadP)
{
#ifdef __MigPackStructs
#pragma pack(4)
#endif
typedef struct {
mach_msg_header_t Head;
mach_msg_trailer_t trailer;
} Request __attribute__((unused));
#ifdef __MigPackStructs
#pragma pack()
#endif
typedef __Request__task_purgable_info_t __Request;
typedef __Reply__task_purgable_info_t Reply __attribute__((unused));
/*
* typedef struct {
* mach_msg_header_t Head;
* NDR_record_t NDR;
* kern_return_t RetCode;
* } mig_reply_error_t;
*/
Request *In0P = (Request *) InHeadP;
Reply *OutP = (Reply *) OutHeadP;
#ifdef __MIG_check__Request__task_purgable_info_t__defined
kern_return_t check_result;
#endif /* __MIG_check__Request__task_purgable_info_t__defined */
__DeclareRcvRpc(3438, "task_purgable_info")
__BeforeRcvRpc(3438, "task_purgable_info")
#if defined(__MIG_check__Request__task_purgable_info_t__defined)
check_result = __MIG_check__Request__task_purgable_info_t((__Request *)In0P);
if (check_result != MACH_MSG_SUCCESS)
{ MIG_RETURN_ERROR(OutP, check_result); }
#endif /* defined(__MIG_check__Request__task_purgable_info_t__defined) */
OutP->RetCode = task_purgable_info(In0P->Head.msgh_request_port, &OutP->stats);
if (OutP->RetCode != KERN_SUCCESS) {
MIG_RETURN_ERROR(OutP, OutP->RetCode);
}
OutP->NDR = NDR_record;
OutP->Head.msgh_size = (mach_msg_size_t)(sizeof(Reply));
__AfterRcvRpc(3438, "task_purgable_info")
}
#if ( __MigTypeCheck )
#if __MIG_check__Request__task_subsystem__
#if !defined(__MIG_check__Request__task_get_mach_voucher_t__defined)
#define __MIG_check__Request__task_get_mach_voucher_t__defined
mig_internal kern_return_t __MIG_check__Request__task_get_mach_voucher_t(__attribute__((__unused__)) __Request__task_get_mach_voucher_t *In0P)
{
typedef __Request__task_get_mach_voucher_t __Request;
#if __MigTypeCheck
if ((In0P->Head.msgh_bits & MACH_MSGH_BITS_COMPLEX) ||
(In0P->Head.msgh_size != (mach_msg_size_t)sizeof(__Request)))
return MIG_BAD_ARGUMENTS;
#endif /* __MigTypeCheck */
return MACH_MSG_SUCCESS;
}
#endif /* !defined(__MIG_check__Request__task_get_mach_voucher_t__defined) */
#endif /* __MIG_check__Request__task_subsystem__ */
#endif /* ( __MigTypeCheck ) */
/* Routine task_get_mach_voucher */
#ifdef mig_external
mig_external
#else
extern
#endif /* mig_external */
kern_return_t task_get_mach_voucher
(
task_t task,
mach_voucher_selector_t which,
ipc_voucher_t *voucher
);
/* Routine task_get_mach_voucher */
mig_internal novalue _Xtask_get_mach_voucher
(mach_msg_header_t *InHeadP, mach_msg_header_t *OutHeadP)
{
#ifdef __MigPackStructs
#pragma pack(4)
#endif
typedef struct {
mach_msg_header_t Head;
NDR_record_t NDR;
mach_voucher_selector_t which;
mach_msg_trailer_t trailer;
} Request __attribute__((unused));
#ifdef __MigPackStructs
#pragma pack()
#endif
typedef __Request__task_get_mach_voucher_t __Request;
typedef __Reply__task_get_mach_voucher_t Reply __attribute__((unused));
/*
* typedef struct {
* mach_msg_header_t Head;
* NDR_record_t NDR;
* kern_return_t RetCode;
* } mig_reply_error_t;
*/
Request *In0P = (Request *) InHeadP;
Reply *OutP = (Reply *) OutHeadP;
#ifdef __MIG_check__Request__task_get_mach_voucher_t__defined
kern_return_t check_result;
#endif /* __MIG_check__Request__task_get_mach_voucher_t__defined */
#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 */
kern_return_t RetCode;
__DeclareRcvRpc(3439, "task_get_mach_voucher")
__BeforeRcvRpc(3439, "task_get_mach_voucher")
#if defined(__MIG_check__Request__task_get_mach_voucher_t__defined)
check_result = __MIG_check__Request__task_get_mach_voucher_t((__Request *)In0P);
if (check_result != MACH_MSG_SUCCESS)
{ MIG_RETURN_ERROR(OutP, check_result); }
#endif /* defined(__MIG_check__Request__task_get_mach_voucher_t__defined) */
#if UseStaticTemplates
OutP->voucher = voucherTemplate;
#else /* UseStaticTemplates */
OutP->voucher.disposition = 19;
OutP->voucher.type = MACH_MSG_PORT_DESCRIPTOR;
#endif /* UseStaticTemplates */
RetCode = task_get_mach_voucher(In0P->Head.msgh_request_port, In0P->which, &OutP->voucher.name);
if (RetCode != KERN_SUCCESS) {
MIG_RETURN_ERROR(OutP, RetCode);
}
OutP->Head.msgh_bits |= MACH_MSGH_BITS_COMPLEX;
OutP->Head.msgh_size = (mach_msg_size_t)(sizeof(Reply));
OutP->msgh_body.msgh_descriptor_count = 1;
__AfterRcvRpc(3439, "task_get_mach_voucher")
}
#if ( __MigTypeCheck )
#if __MIG_check__Request__task_subsystem__
#if !defined(__MIG_check__Request__task_set_mach_voucher_t__defined)
#define __MIG_check__Request__task_set_mach_voucher_t__defined
mig_internal kern_return_t __MIG_check__Request__task_set_mach_voucher_t(__attribute__((__unused__)) __Request__task_set_mach_voucher_t *In0P)
{
typedef __Request__task_set_mach_voucher_t __Request;
#if __MigTypeCheck
if (!(In0P->Head.msgh_bits & MACH_MSGH_BITS_COMPLEX) ||
(In0P->msgh_body.msgh_descriptor_count != 1) ||
(In0P->Head.msgh_size != (mach_msg_size_t)sizeof(__Request)))
return MIG_BAD_ARGUMENTS;
#endif /* __MigTypeCheck */
#if __MigTypeCheck
if (In0P->voucher.type != MACH_MSG_PORT_DESCRIPTOR ||
In0P->voucher.disposition != 17)
return MIG_TYPE_ERROR;
#endif /* __MigTypeCheck */
return MACH_MSG_SUCCESS;
}
#endif /* !defined(__MIG_check__Request__task_set_mach_voucher_t__defined) */
#endif /* __MIG_check__Request__task_subsystem__ */
#endif /* ( __MigTypeCheck ) */
/* Routine task_set_mach_voucher */
#ifdef mig_external
mig_external
#else
extern
#endif /* mig_external */
kern_return_t task_set_mach_voucher
(
task_t task,
ipc_voucher_t voucher
);
/* Routine task_set_mach_voucher */
mig_internal novalue _Xtask_set_mach_voucher
(mach_msg_header_t *InHeadP, mach_msg_header_t *OutHeadP)
{
#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;
} Request __attribute__((unused));
#ifdef __MigPackStructs
#pragma pack()
#endif
typedef __Request__task_set_mach_voucher_t __Request;
typedef __Reply__task_set_mach_voucher_t Reply __attribute__((unused));
/*
* typedef struct {
* mach_msg_header_t Head;
* NDR_record_t NDR;
* kern_return_t RetCode;
* } mig_reply_error_t;
*/
Request *In0P = (Request *) InHeadP;
Reply *OutP = (Reply *) OutHeadP;
#ifdef __MIG_check__Request__task_set_mach_voucher_t__defined
kern_return_t check_result;
#endif /* __MIG_check__Request__task_set_mach_voucher_t__defined */
__DeclareRcvRpc(3440, "task_set_mach_voucher")
__BeforeRcvRpc(3440, "task_set_mach_voucher")
#if defined(__MIG_check__Request__task_set_mach_voucher_t__defined)
check_result = __MIG_check__Request__task_set_mach_voucher_t((__Request *)In0P);
if (check_result != MACH_MSG_SUCCESS)
{ MIG_RETURN_ERROR(OutP, check_result); }
#endif /* defined(__MIG_check__Request__task_set_mach_voucher_t__defined) */
OutP->RetCode = task_set_mach_voucher(In0P->Head.msgh_request_port, In0P->voucher.name);
OutP->NDR = NDR_record;
__AfterRcvRpc(3440, "task_set_mach_voucher")
}
#if ( __MigTypeCheck )
#if __MIG_check__Request__task_subsystem__
#if !defined(__MIG_check__Request__task_swap_mach_voucher_t__defined)
#define __MIG_check__Request__task_swap_mach_voucher_t__defined
mig_internal kern_return_t __MIG_check__Request__task_swap_mach_voucher_t(__attribute__((__unused__)) __Request__task_swap_mach_voucher_t *In0P)
{
typedef __Request__task_swap_mach_voucher_t __Request;
#if __MigTypeCheck
if (!(In0P->Head.msgh_bits & MACH_MSGH_BITS_COMPLEX) ||
(In0P->msgh_body.msgh_descriptor_count != 2) ||
(In0P->Head.msgh_size != (mach_msg_size_t)sizeof(__Request)))
return MIG_BAD_ARGUMENTS;
#endif /* __MigTypeCheck */
#if __MigTypeCheck
if (In0P->new_voucher.type != MACH_MSG_PORT_DESCRIPTOR ||
In0P->new_voucher.disposition != 17)
return MIG_TYPE_ERROR;
#endif /* __MigTypeCheck */
#if __MigTypeCheck
if (In0P->old_voucher.type != MACH_MSG_PORT_DESCRIPTOR ||
In0P->old_voucher.disposition != 17)
return MIG_TYPE_ERROR;
#endif /* __MigTypeCheck */
return MACH_MSG_SUCCESS;
}
#endif /* !defined(__MIG_check__Request__task_swap_mach_voucher_t__defined) */
#endif /* __MIG_check__Request__task_subsystem__ */
#endif /* ( __MigTypeCheck ) */
/* Routine task_swap_mach_voucher */
#ifdef mig_external
mig_external
#else
extern
#endif /* mig_external */
kern_return_t task_swap_mach_voucher
(
task_t task,
ipc_voucher_t new_voucher,
ipc_voucher_t *old_voucher
);
/* Routine task_swap_mach_voucher */
mig_internal novalue _Xtask_swap_mach_voucher
(mach_msg_header_t *InHeadP, mach_msg_header_t *OutHeadP)
{
#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 */
mach_msg_trailer_t trailer;
} Request __attribute__((unused));
#ifdef __MigPackStructs
#pragma pack()
#endif
typedef __Request__task_swap_mach_voucher_t __Request;
typedef __Reply__task_swap_mach_voucher_t Reply __attribute__((unused));
/*
* typedef struct {
* mach_msg_header_t Head;
* NDR_record_t NDR;
* kern_return_t RetCode;
* } mig_reply_error_t;
*/
Request *In0P = (Request *) InHeadP;
Reply *OutP = (Reply *) OutHeadP;
#ifdef __MIG_check__Request__task_swap_mach_voucher_t__defined
kern_return_t check_result;
#endif /* __MIG_check__Request__task_swap_mach_voucher_t__defined */
#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 */
kern_return_t RetCode;
__DeclareRcvRpc(3441, "task_swap_mach_voucher")
__BeforeRcvRpc(3441, "task_swap_mach_voucher")
#if defined(__MIG_check__Request__task_swap_mach_voucher_t__defined)
check_result = __MIG_check__Request__task_swap_mach_voucher_t((__Request *)In0P);
if (check_result != MACH_MSG_SUCCESS)
{ MIG_RETURN_ERROR(OutP, check_result); }
#endif /* defined(__MIG_check__Request__task_swap_mach_voucher_t__defined) */
#if UseStaticTemplates
OutP->old_voucher = old_voucherTemplate;
#else /* UseStaticTemplates */
OutP->old_voucher.disposition = 19;
OutP->old_voucher.type = MACH_MSG_PORT_DESCRIPTOR;
#endif /* UseStaticTemplates */
RetCode = task_swap_mach_voucher(In0P->Head.msgh_request_port, In0P->new_voucher.name, &In0P->old_voucher.name);
if (RetCode != KERN_SUCCESS) {
MIG_RETURN_ERROR(OutP, RetCode);
}
OutP->old_voucher.name = In0P->old_voucher.name;
OutP->Head.msgh_bits |= MACH_MSGH_BITS_COMPLEX;
OutP->Head.msgh_size = (mach_msg_size_t)(sizeof(Reply));
OutP->msgh_body.msgh_descriptor_count = 1;
__AfterRcvRpc(3441, "task_swap_mach_voucher")
}
#ifdef mig_external
mig_external
#else
extern
#endif /* mig_external */
boolean_t task_server(
mach_msg_header_t *InHeadP,
mach_msg_header_t *OutHeadP);
#ifdef mig_external
mig_external
#else
extern
#endif /* mig_external */
mig_routine_t task_server_routine(
mach_msg_header_t *InHeadP);
/* Description of this subsystem, for use in direct RPC */
const struct task_subsystem {
mig_server_routine_t server; /* Server routine */
mach_msg_id_t start; /* Min routine number */
mach_msg_id_t end; /* Max routine number + 1 */
unsigned int maxsize; /* Max msg size */
vm_address_t reserved; /* Reserved */
struct routine_descriptor /*Array of routine descriptors */
routine[42];
} task_subsystem = {
task_server_routine,
3400,
3442,
(mach_msg_size_t)sizeof(union __ReplyUnion__task_subsystem),
(vm_address_t)0,
{
{ (mig_impl_routine_t) 0,
(mig_stub_routine_t) _Xtask_create, 5, 0, (routine_arg_descriptor_t)0, (mach_msg_size_t)sizeof(__Reply__task_create_t)},
{ (mig_impl_routine_t) 0,
(mig_stub_routine_t) _Xtask_terminate, 1, 0, (routine_arg_descriptor_t)0, (mach_msg_size_t)sizeof(__Reply__task_terminate_t)},
{ (mig_impl_routine_t) 0,
(mig_stub_routine_t) _Xtask_threads, 3, 0, (routine_arg_descriptor_t)0, (mach_msg_size_t)sizeof(__Reply__task_threads_t)},
{ (mig_impl_routine_t) 0,
(mig_stub_routine_t) _Xmach_ports_register, 3, 0, (routine_arg_descriptor_t)0, (mach_msg_size_t)sizeof(__Reply__mach_ports_register_t)},
{ (mig_impl_routine_t) 0,
(mig_stub_routine_t) _Xmach_ports_lookup, 3, 0, (routine_arg_descriptor_t)0, (mach_msg_size_t)sizeof(__Reply__mach_ports_lookup_t)},
{ (mig_impl_routine_t) 0,
(mig_stub_routine_t) _Xtask_info, 4, 0, (routine_arg_descriptor_t)0, (mach_msg_size_t)sizeof(__Reply__task_info_t)},
{ (mig_impl_routine_t) 0,
(mig_stub_routine_t) _Xtask_set_info, 4, 0, (routine_arg_descriptor_t)0, (mach_msg_size_t)sizeof(__Reply__task_set_info_t)},
{ (mig_impl_routine_t) 0,
(mig_stub_routine_t) _Xtask_suspend, 1, 0, (routine_arg_descriptor_t)0, (mach_msg_size_t)sizeof(__Reply__task_suspend_t)},
{ (mig_impl_routine_t) 0,
(mig_stub_routine_t) _Xtask_resume, 1, 0, (routine_arg_descriptor_t)0, (mach_msg_size_t)sizeof(__Reply__task_resume_t)},
{ (mig_impl_routine_t) 0,
(mig_stub_routine_t) _Xtask_get_special_port, 3, 0, (routine_arg_descriptor_t)0, (mach_msg_size_t)sizeof(__Reply__task_get_special_port_t)},
{ (mig_impl_routine_t) 0,
(mig_stub_routine_t) _Xtask_set_special_port, 3, 0, (routine_arg_descriptor_t)0, (mach_msg_size_t)sizeof(__Reply__task_set_special_port_t)},
{ (mig_impl_routine_t) 0,
(mig_stub_routine_t) _Xthread_create, 2, 0, (routine_arg_descriptor_t)0, (mach_msg_size_t)sizeof(__Reply__thread_create_t)},
{ (mig_impl_routine_t) 0,
(mig_stub_routine_t) _Xthread_create_running, 5, 0, (routine_arg_descriptor_t)0, (mach_msg_size_t)sizeof(__Reply__thread_create_running_t)},
{ (mig_impl_routine_t) 0,
(mig_stub_routine_t) _Xtask_set_exception_ports, 5, 0, (routine_arg_descriptor_t)0, (mach_msg_size_t)sizeof(__Reply__task_set_exception_ports_t)},
{ (mig_impl_routine_t) 0,
(mig_stub_routine_t) _Xtask_get_exception_ports, 7, 0, (routine_arg_descriptor_t)0, (mach_msg_size_t)sizeof(__Reply__task_get_exception_ports_t)},
{ (mig_impl_routine_t) 0,
(mig_stub_routine_t) _Xtask_swap_exception_ports, 10, 0, (routine_arg_descriptor_t)0, (mach_msg_size_t)sizeof(__Reply__task_swap_exception_ports_t)},
{ (mig_impl_routine_t) 0,
(mig_stub_routine_t) _Xlock_set_create, 4, 0, (routine_arg_descriptor_t)0, (mach_msg_size_t)sizeof(__Reply__lock_set_create_t)},
{ (mig_impl_routine_t) 0,
(mig_stub_routine_t) _Xlock_set_destroy, 2, 0, (routine_arg_descriptor_t)0, (mach_msg_size_t)sizeof(__Reply__lock_set_destroy_t)},
{ (mig_impl_routine_t) 0,
(mig_stub_routine_t) _Xsemaphore_create, 4, 0, (routine_arg_descriptor_t)0, (mach_msg_size_t)sizeof(__Reply__semaphore_create_t)},
{ (mig_impl_routine_t) 0,
(mig_stub_routine_t) _Xsemaphore_destroy, 2, 0, (routine_arg_descriptor_t)0, (mach_msg_size_t)sizeof(__Reply__semaphore_destroy_t)},
{ (mig_impl_routine_t) 0,
(mig_stub_routine_t) _Xtask_policy_set, 4, 0, (routine_arg_descriptor_t)0, (mach_msg_size_t)sizeof(__Reply__task_policy_set_t)},
{ (mig_impl_routine_t) 0,
(mig_stub_routine_t) _Xtask_policy_get, 5, 0, (routine_arg_descriptor_t)0, (mach_msg_size_t)sizeof(__Reply__task_policy_get_t)},
{ (mig_impl_routine_t) 0,
(mig_stub_routine_t) _Xtask_sample, 2, 0, (routine_arg_descriptor_t)0, (mach_msg_size_t)sizeof(__Reply__task_sample_t)},
{ (mig_impl_routine_t) 0,
(mig_stub_routine_t) _Xtask_policy, 6, 0, (routine_arg_descriptor_t)0, (mach_msg_size_t)sizeof(__Reply__task_policy_t)},
{ (mig_impl_routine_t) 0,
(mig_stub_routine_t) _Xtask_set_emulation, 3, 0, (routine_arg_descriptor_t)0, (mach_msg_size_t)sizeof(__Reply__task_set_emulation_t)},
{ (mig_impl_routine_t) 0,
(mig_stub_routine_t) _Xtask_get_emulation_vector, 4, 0, (routine_arg_descriptor_t)0, (mach_msg_size_t)sizeof(__Reply__task_get_emulation_vector_t)},
{ (mig_impl_routine_t) 0,
(mig_stub_routine_t) _Xtask_set_emulation_vector, 4, 0, (routine_arg_descriptor_t)0, (mach_msg_size_t)sizeof(__Reply__task_set_emulation_vector_t)},
{ (mig_impl_routine_t) 0,
(mig_stub_routine_t) _Xtask_set_ras_pc, 3, 0, (routine_arg_descriptor_t)0, (mach_msg_size_t)sizeof(__Reply__task_set_ras_pc_t)},
{ (mig_impl_routine_t) 0,
(mig_stub_routine_t) _Xtask_zone_info, 5, 0, (routine_arg_descriptor_t)0, (mach_msg_size_t)sizeof(__Reply__task_zone_info_t)},
{ (mig_impl_routine_t) 0,
(mig_stub_routine_t) _Xtask_assign, 3, 0, (routine_arg_descriptor_t)0, (mach_msg_size_t)sizeof(__Reply__task_assign_t)},
{ (mig_impl_routine_t) 0,
(mig_stub_routine_t) _Xtask_assign_default, 2, 0, (routine_arg_descriptor_t)0, (mach_msg_size_t)sizeof(__Reply__task_assign_default_t)},
{ (mig_impl_routine_t) 0,
(mig_stub_routine_t) _Xtask_get_assignment, 2, 0, (routine_arg_descriptor_t)0, (mach_msg_size_t)sizeof(__Reply__task_get_assignment_t)},
{ (mig_impl_routine_t) 0,
(mig_stub_routine_t) _Xtask_set_policy, 8, 0, (routine_arg_descriptor_t)0, (mach_msg_size_t)sizeof(__Reply__task_set_policy_t)},
{ (mig_impl_routine_t) 0,
(mig_stub_routine_t) _Xtask_get_state, 4, 0, (routine_arg_descriptor_t)0, (mach_msg_size_t)sizeof(__Reply__task_get_state_t)},
{ (mig_impl_routine_t) 0,
(mig_stub_routine_t) _Xtask_set_state, 4, 0, (routine_arg_descriptor_t)0, (mach_msg_size_t)sizeof(__Reply__task_set_state_t)},
{ (mig_impl_routine_t) 0,
(mig_stub_routine_t) _Xtask_set_phys_footprint_limit, 3, 0, (routine_arg_descriptor_t)0, (mach_msg_size_t)sizeof(__Reply__task_set_phys_footprint_limit_t)},
{ (mig_impl_routine_t) 0,
(mig_stub_routine_t) _Xtask_suspend2, 2, 0, (routine_arg_descriptor_t)0, (mach_msg_size_t)sizeof(__Reply__task_suspend2_t)},
{ (mig_impl_routine_t) 0,
(mig_stub_routine_t) _Xtask_resume2, 1, 0, (routine_arg_descriptor_t)0, (mach_msg_size_t)sizeof(__Reply__task_resume2_t)},
{ (mig_impl_routine_t) 0,
(mig_stub_routine_t) _Xtask_purgable_info, 2, 0, (routine_arg_descriptor_t)0, (mach_msg_size_t)sizeof(__Reply__task_purgable_info_t)},
{ (mig_impl_routine_t) 0,
(mig_stub_routine_t) _Xtask_get_mach_voucher, 3, 0, (routine_arg_descriptor_t)0, (mach_msg_size_t)sizeof(__Reply__task_get_mach_voucher_t)},
{ (mig_impl_routine_t) 0,
(mig_stub_routine_t) _Xtask_set_mach_voucher, 2, 0, (routine_arg_descriptor_t)0, (mach_msg_size_t)sizeof(__Reply__task_set_mach_voucher_t)},
{ (mig_impl_routine_t) 0,
(mig_stub_routine_t) _Xtask_swap_mach_voucher, 3, 0, (routine_arg_descriptor_t)0, (mach_msg_size_t)sizeof(__Reply__task_swap_mach_voucher_t)},
}
};
mig_external boolean_t task_server
(mach_msg_header_t *InHeadP, mach_msg_header_t *OutHeadP)
{
/*
* typedef struct {
* mach_msg_header_t Head;
* NDR_record_t NDR;
* kern_return_t RetCode;
* } mig_reply_error_t;
*/
register mig_routine_t routine;
OutHeadP->msgh_bits = MACH_MSGH_BITS(MACH_MSGH_BITS_REPLY(InHeadP->msgh_bits), 0);
OutHeadP->msgh_remote_port = InHeadP->msgh_reply_port;
/* Minimal size: routine() will update it if different */
OutHeadP->msgh_size = (mach_msg_size_t)sizeof(mig_reply_error_t);
OutHeadP->msgh_local_port = MACH_PORT_NULL;
OutHeadP->msgh_id = InHeadP->msgh_id + 100;
if ((InHeadP->msgh_id > 3441) || (InHeadP->msgh_id < 3400) ||
((routine = task_subsystem.routine[InHeadP->msgh_id - 3400].stub_routine) == 0)) {
((mig_reply_error_t *)OutHeadP)->NDR = NDR_record;
((mig_reply_error_t *)OutHeadP)->RetCode = MIG_BAD_ID;
return FALSE;
}
(*routine) (InHeadP, OutHeadP);
return TRUE;
}
mig_external mig_routine_t task_server_routine
(mach_msg_header_t *InHeadP)
{
register int msgh_id;
msgh_id = InHeadP->msgh_id - 3400;
if ((msgh_id > 41) || (msgh_id < 0))
return 0;
return task_subsystem.routine[msgh_id].stub_routine;
}