| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306 |
- #ifndef _mach_exc_user_
- #define _mach_exc_user_
- /* Module mach_exc */
- #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 */
-
- /* BEGIN MIG_STRNCPY_ZEROFILL CODE */
- #if defined(__has_include)
- #if __has_include(<mach/mig_strncpy_zerofill_support.h>)
- #ifndef USING_MIG_STRNCPY_ZEROFILL
- #define USING_MIG_STRNCPY_ZEROFILL
- #endif
- #ifndef __MIG_STRNCPY_ZEROFILL_FORWARD_TYPE_DECLS__
- #define __MIG_STRNCPY_ZEROFILL_FORWARD_TYPE_DECLS__
- #ifdef __cplusplus
- extern "C" {
- #endif
- extern int mig_strncpy_zerofill(char *dest, const char *src, int len) __attribute__((weak_import));
- #ifdef __cplusplus
- }
- #endif
- #endif /* __MIG_STRNCPY_ZEROFILL_FORWARD_TYPE_DECLS__ */
- #endif /* __has_include(<mach/mig_strncpy_zerofill_support.h>) */
- #endif /* __has_include */
-
- /* END MIG_STRNCPY_ZEROFILL CODE */
- #ifdef AUTOTEST
- #ifndef FUNCTION_PTR_T
- #define FUNCTION_PTR_T
- typedef void (*function_ptr_t)(mach_port_t, char *, mach_msg_type_number_t);
- typedef struct {
- char *name;
- function_ptr_t function;
- } function_table_entry;
- typedef function_table_entry *function_table_t;
- #endif /* FUNCTION_PTR_T */
- #endif /* AUTOTEST */
- #ifndef mach_exc_MSG_COUNT
- #define mach_exc_MSG_COUNT 3
- #endif /* mach_exc_MSG_COUNT */
- #include <mach/std_types.h>
- #include <mach/mig.h>
- #include <mach/mig.h>
- #include <mach/mach_types.h>
- #ifdef __BeforeMigUserHeader
- __BeforeMigUserHeader
- #endif /* __BeforeMigUserHeader */
- #include <sys/cdefs.h>
- __BEGIN_DECLS
- /* Routine mach_exception_raise */
- #ifdef mig_external
- mig_external
- #else
- extern
- #endif /* mig_external */
- kern_return_t mach_exception_raise
- (
- mach_port_t exception_port,
- mach_port_t thread,
- mach_port_t task,
- exception_type_t exception,
- mach_exception_data_t code,
- mach_msg_type_number_t codeCnt
- );
- /* Routine mach_exception_raise_state */
- #ifdef mig_external
- mig_external
- #else
- extern
- #endif /* mig_external */
- kern_return_t mach_exception_raise_state
- (
- mach_port_t exception_port,
- exception_type_t exception,
- const mach_exception_data_t code,
- mach_msg_type_number_t codeCnt,
- int *flavor,
- const thread_state_t old_state,
- mach_msg_type_number_t old_stateCnt,
- thread_state_t new_state,
- mach_msg_type_number_t *new_stateCnt
- );
- /* Routine mach_exception_raise_state_identity */
- #ifdef mig_external
- mig_external
- #else
- extern
- #endif /* mig_external */
- kern_return_t mach_exception_raise_state_identity
- (
- mach_port_t exception_port,
- mach_port_t thread,
- mach_port_t task,
- exception_type_t exception,
- mach_exception_data_t code,
- mach_msg_type_number_t codeCnt,
- int *flavor,
- thread_state_t old_state,
- mach_msg_type_number_t old_stateCnt,
- thread_state_t new_state,
- mach_msg_type_number_t *new_stateCnt
- );
- __END_DECLS
- /********************** Caution **************************/
- /* The following data types should be used to calculate */
- /* maximum message sizes only. The actual message may be */
- /* smaller, and the position of the arguments within the */
- /* message layout may vary from what is presented here. */
- /* For example, if any of the arguments are variable- */
- /* sized, and less than the maximum is sent, the data */
- /* will be packed tight in the actual message to reduce */
- /* the presence of holes. */
- /********************** Caution **************************/
- /* typedefs for all requests */
- #ifndef __Request__mach_exc_subsystem__defined
- #define __Request__mach_exc_subsystem__defined
- #ifdef __MigPackStructs
- #pragma pack(push, 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 thread;
- mach_msg_port_descriptor_t task;
- /* end of the kernel processed data */
- NDR_record_t NDR;
- exception_type_t exception;
- mach_msg_type_number_t codeCnt;
- int64_t code[2];
- } __Request__mach_exception_raise_t __attribute__((unused));
- #ifdef __MigPackStructs
- #pragma pack(pop)
- #endif
- #ifdef __MigPackStructs
- #pragma pack(push, 4)
- #endif
- typedef struct {
- mach_msg_header_t Head;
- NDR_record_t NDR;
- exception_type_t exception;
- mach_msg_type_number_t codeCnt;
- int64_t code[2];
- int flavor;
- mach_msg_type_number_t old_stateCnt;
- natural_t old_state[614];
- } __Request__mach_exception_raise_state_t __attribute__((unused));
- #ifdef __MigPackStructs
- #pragma pack(pop)
- #endif
- #ifdef __MigPackStructs
- #pragma pack(push, 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 thread;
- mach_msg_port_descriptor_t task;
- /* end of the kernel processed data */
- NDR_record_t NDR;
- exception_type_t exception;
- mach_msg_type_number_t codeCnt;
- int64_t code[2];
- int flavor;
- mach_msg_type_number_t old_stateCnt;
- natural_t old_state[614];
- } __Request__mach_exception_raise_state_identity_t __attribute__((unused));
- #ifdef __MigPackStructs
- #pragma pack(pop)
- #endif
- #endif /* !__Request__mach_exc_subsystem__defined */
- /* union of all requests */
- #ifndef __RequestUnion__mach_exc_subsystem__defined
- #define __RequestUnion__mach_exc_subsystem__defined
- union __RequestUnion__mach_exc_subsystem {
- __Request__mach_exception_raise_t Request_mach_exception_raise;
- __Request__mach_exception_raise_state_t Request_mach_exception_raise_state;
- __Request__mach_exception_raise_state_identity_t Request_mach_exception_raise_state_identity;
- };
- #endif /* !__RequestUnion__mach_exc_subsystem__defined */
- /* typedefs for all replies */
- #ifndef __Reply__mach_exc_subsystem__defined
- #define __Reply__mach_exc_subsystem__defined
- #ifdef __MigPackStructs
- #pragma pack(push, 4)
- #endif
- typedef struct {
- mach_msg_header_t Head;
- NDR_record_t NDR;
- kern_return_t RetCode;
- } __Reply__mach_exception_raise_t __attribute__((unused));
- #ifdef __MigPackStructs
- #pragma pack(pop)
- #endif
- #ifdef __MigPackStructs
- #pragma pack(push, 4)
- #endif
- typedef struct {
- mach_msg_header_t Head;
- NDR_record_t NDR;
- kern_return_t RetCode;
- int flavor;
- mach_msg_type_number_t new_stateCnt;
- natural_t new_state[614];
- } __Reply__mach_exception_raise_state_t __attribute__((unused));
- #ifdef __MigPackStructs
- #pragma pack(pop)
- #endif
- #ifdef __MigPackStructs
- #pragma pack(push, 4)
- #endif
- typedef struct {
- mach_msg_header_t Head;
- NDR_record_t NDR;
- kern_return_t RetCode;
- int flavor;
- mach_msg_type_number_t new_stateCnt;
- natural_t new_state[614];
- } __Reply__mach_exception_raise_state_identity_t __attribute__((unused));
- #ifdef __MigPackStructs
- #pragma pack(pop)
- #endif
- #endif /* !__Reply__mach_exc_subsystem__defined */
- /* union of all replies */
- #ifndef __ReplyUnion__mach_exc_subsystem__defined
- #define __ReplyUnion__mach_exc_subsystem__defined
- union __ReplyUnion__mach_exc_subsystem {
- __Reply__mach_exception_raise_t Reply_mach_exception_raise;
- __Reply__mach_exception_raise_state_t Reply_mach_exception_raise_state;
- __Reply__mach_exception_raise_state_identity_t Reply_mach_exception_raise_state_identity;
- };
- #endif /* !__RequestUnion__mach_exc_subsystem__defined */
- #ifndef subsystem_to_name_map_mach_exc
- #define subsystem_to_name_map_mach_exc \
- { "mach_exception_raise", 2405 },\
- { "mach_exception_raise_state", 2406 },\
- { "mach_exception_raise_state_identity", 2407 }
- #endif
- #ifdef __AfterMigUserHeader
- __AfterMigUserHeader
- #endif /* __AfterMigUserHeader */
- #endif /* _mach_exc_user_ */
|