From 85534c2eaf59a8deb3394aab8df466e65c998752 Mon Sep 17 00:00:00 2001 From: nealsid Date: Fri, 11 Jul 2008 17:39:52 +0000 Subject: Now we provide our own implementation of the MIG function exc_server, as recommended by Apple. See http://groups.google.com/group/google-breakpad-dev/browse_thread/thread/8b363b1f8a404714 For more information git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@282 4c0a9323-5329-0410-9bdc-e9ce6186880e --- src/client/mac/handler/breakpad_exc_server.c | 1750 ++++++++++++++++++++ src/client/mac/handler/breakpad_exc_server.h | 258 +++ src/client/mac/handler/exception_handler.cc | 71 + .../minidump_test.xcodeproj/project.pbxproj | 4 + 4 files changed, 2083 insertions(+) create mode 100644 src/client/mac/handler/breakpad_exc_server.c create mode 100644 src/client/mac/handler/breakpad_exc_server.h diff --git a/src/client/mac/handler/breakpad_exc_server.c b/src/client/mac/handler/breakpad_exc_server.c new file mode 100644 index 00000000..19f36b19 --- /dev/null +++ b/src/client/mac/handler/breakpad_exc_server.c @@ -0,0 +1,1750 @@ +/* + * IDENTIFICATION: + * stub generated Mon Jun 16 18:08:10 2008 + * with a MiG generated Tue Feb 19 02:01:43 PST 2008 by root@b75.local + * OPTIONS: + */ + +/* Module exc */ + +#define __MIG_check__Request__exc_subsystem__ 1 +#define __NDR_convert__Request__exc_subsystem__ 1 + +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include + +#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__exc_subsystem__defined +#define __Request__exc_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 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; + integer_t code[2]; + } __Request__exception_raise_t; +#ifdef __MigPackStructs +#pragma pack() +#endif + +#ifdef __MigPackStructs +#pragma pack(4) +#endif + typedef struct { + mach_msg_header_t Head; + NDR_record_t NDR; + exception_type_t exception; + mach_msg_type_number_t codeCnt; + integer_t code[2]; + int flavor; + mach_msg_type_number_t old_stateCnt; + natural_t old_state[144]; + } __Request__exception_raise_state_t; +#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 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; + integer_t code[2]; + int flavor; + mach_msg_type_number_t old_stateCnt; + natural_t old_state[144]; + } __Request__exception_raise_state_identity_t; +#ifdef __MigPackStructs +#pragma pack() +#endif +#endif /* !__Request__exc_subsystem__defined */ + +/* typedefs for all replies */ + +#ifndef __Reply__exc_subsystem__defined +#define __Reply__exc_subsystem__defined + +#ifdef __MigPackStructs +#pragma pack(4) +#endif + typedef struct { + mach_msg_header_t Head; + NDR_record_t NDR; + kern_return_t RetCode; + } __Reply__exception_raise_t; +#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 flavor; + mach_msg_type_number_t new_stateCnt; + natural_t new_state[144]; + } __Reply__exception_raise_state_t; +#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 flavor; + mach_msg_type_number_t new_stateCnt; + natural_t new_state[144]; + } __Reply__exception_raise_state_identity_t; +#ifdef __MigPackStructs +#pragma pack() +#endif +#endif /* !__Reply__exc_subsystem__defined */ + + +/* union of all replies */ + +#ifndef __ReplyUnion__breakpad_exc_subsystem__defined +#define __ReplyUnion__breakpad_exc_subsystem__defined +union __ReplyUnion__breakpad_exc_subsystem { + __Reply__exception_raise_t Reply_exception_raise; + __Reply__exception_raise_state_t Reply_exception_raise_state; + __Reply__exception_raise_state_identity_t Reply_exception_raise_state_identity; +}; +#endif /* __RequestUnion__breakpad_exc_subsystem__defined */ +/* Forward Declarations */ + + +mig_internal novalue _Xexception_raise + (mach_msg_header_t *InHeadP, mach_msg_header_t *OutHeadP); + +mig_internal novalue _Xexception_raise_state + (mach_msg_header_t *InHeadP, mach_msg_header_t *OutHeadP); + +mig_internal novalue _Xexception_raise_state_identity + (mach_msg_header_t *InHeadP, mach_msg_header_t *OutHeadP); + + +#if ( __MigTypeCheck || __NDR_convert__ ) +#if __MIG_check__Request__exc_subsystem__ +#if !defined(__MIG_check__Request__exception_raise_t__defined) +#define __MIG_check__Request__exception_raise_t__defined +#ifndef __NDR_convert__int_rep__Request__exception_raise_t__exception__defined +#if defined(__NDR_convert__int_rep__exc__exception_type_t__defined) +#define __NDR_convert__int_rep__Request__exception_raise_t__exception__defined +#define __NDR_convert__int_rep__Request__exception_raise_t__exception(a, f) \ + __NDR_convert__int_rep__exc__exception_type_t((exception_type_t *)(a), f) +#elif defined(__NDR_convert__int_rep__exception_type_t__defined) +#define __NDR_convert__int_rep__Request__exception_raise_t__exception__defined +#define __NDR_convert__int_rep__Request__exception_raise_t__exception(a, f) \ + __NDR_convert__int_rep__exception_type_t((exception_type_t *)(a), f) +#elif defined(__NDR_convert__int_rep__exc__int__defined) +#define __NDR_convert__int_rep__Request__exception_raise_t__exception__defined +#define __NDR_convert__int_rep__Request__exception_raise_t__exception(a, f) \ + __NDR_convert__int_rep__exc__int((int *)(a), f) +#elif defined(__NDR_convert__int_rep__int__defined) +#define __NDR_convert__int_rep__Request__exception_raise_t__exception__defined +#define __NDR_convert__int_rep__Request__exception_raise_t__exception(a, f) \ + __NDR_convert__int_rep__int((int *)(a), f) +#elif defined(__NDR_convert__int_rep__exc__int32_t__defined) +#define __NDR_convert__int_rep__Request__exception_raise_t__exception__defined +#define __NDR_convert__int_rep__Request__exception_raise_t__exception(a, f) \ + __NDR_convert__int_rep__exc__int32_t((int32_t *)(a), f) +#elif defined(__NDR_convert__int_rep__int32_t__defined) +#define __NDR_convert__int_rep__Request__exception_raise_t__exception__defined +#define __NDR_convert__int_rep__Request__exception_raise_t__exception(a, f) \ + __NDR_convert__int_rep__int32_t((int32_t *)(a), f) +#endif /* defined(__NDR_convert__*__defined) */ +#endif /* __NDR_convert__int_rep__Request__exception_raise_t__exception__defined */ + +#ifndef __NDR_convert__int_rep__Request__exception_raise_t__code__defined +#if defined(__NDR_convert__int_rep__exc__exception_data_t__defined) +#define __NDR_convert__int_rep__Request__exception_raise_t__code__defined +#define __NDR_convert__int_rep__Request__exception_raise_t__code(a, f, c) \ + __NDR_convert__int_rep__exc__exception_data_t((exception_data_t *)(a), f, c) +#elif defined(__NDR_convert__int_rep__exception_data_t__defined) +#define __NDR_convert__int_rep__Request__exception_raise_t__code__defined +#define __NDR_convert__int_rep__Request__exception_raise_t__code(a, f, c) \ + __NDR_convert__int_rep__exception_data_t((exception_data_t *)(a), f, c) +#elif defined(__NDR_convert__int_rep__exc__integer_t__defined) +#define __NDR_convert__int_rep__Request__exception_raise_t__code__defined +#define __NDR_convert__int_rep__Request__exception_raise_t__code(a, f, c) \ + __NDR_convert__ARRAY((integer_t *)(a), f, c, __NDR_convert__int_rep__exc__integer_t) +#elif defined(__NDR_convert__int_rep__integer_t__defined) +#define __NDR_convert__int_rep__Request__exception_raise_t__code__defined +#define __NDR_convert__int_rep__Request__exception_raise_t__code(a, f, c) \ + __NDR_convert__ARRAY((integer_t *)(a), f, c, __NDR_convert__int_rep__integer_t) +#elif defined(__NDR_convert__int_rep__exc__int32_t__defined) +#define __NDR_convert__int_rep__Request__exception_raise_t__code__defined +#define __NDR_convert__int_rep__Request__exception_raise_t__code(a, f, c) \ + __NDR_convert__ARRAY((int32_t *)(a), f, c, __NDR_convert__int_rep__exc__int32_t) +#elif defined(__NDR_convert__int_rep__int32_t__defined) +#define __NDR_convert__int_rep__Request__exception_raise_t__code__defined +#define __NDR_convert__int_rep__Request__exception_raise_t__code(a, f, c) \ + __NDR_convert__ARRAY((int32_t *)(a), f, c, __NDR_convert__int_rep__int32_t) +#endif /* defined(__NDR_convert__*__defined) */ +#endif /* __NDR_convert__int_rep__Request__exception_raise_t__code__defined */ + +#ifndef __NDR_convert__int_rep__Request__exception_raise_t__codeCnt__defined +#if defined(__NDR_convert__int_rep__exc__mach_msg_type_number_t__defined) +#define __NDR_convert__int_rep__Request__exception_raise_t__codeCnt__defined +#define __NDR_convert__int_rep__Request__exception_raise_t__codeCnt(a, f) \ + __NDR_convert__int_rep__exc__mach_msg_type_number_t((mach_msg_type_number_t *)(a), f) +#elif defined(__NDR_convert__int_rep__mach_msg_type_number_t__defined) +#define __NDR_convert__int_rep__Request__exception_raise_t__codeCnt__defined +#define __NDR_convert__int_rep__Request__exception_raise_t__codeCnt(a, f) \ + __NDR_convert__int_rep__mach_msg_type_number_t((mach_msg_type_number_t *)(a), f) +#endif /* defined(__NDR_convert__*__defined) */ +#endif /* __NDR_convert__int_rep__Request__exception_raise_t__codeCnt__defined */ + +#ifndef __NDR_convert__char_rep__Request__exception_raise_t__exception__defined +#if defined(__NDR_convert__char_rep__exc__exception_type_t__defined) +#define __NDR_convert__char_rep__Request__exception_raise_t__exception__defined +#define __NDR_convert__char_rep__Request__exception_raise_t__exception(a, f) \ + __NDR_convert__char_rep__exc__exception_type_t((exception_type_t *)(a), f) +#elif defined(__NDR_convert__char_rep__exception_type_t__defined) +#define __NDR_convert__char_rep__Request__exception_raise_t__exception__defined +#define __NDR_convert__char_rep__Request__exception_raise_t__exception(a, f) \ + __NDR_convert__char_rep__exception_type_t((exception_type_t *)(a), f) +#elif defined(__NDR_convert__char_rep__exc__int__defined) +#define __NDR_convert__char_rep__Request__exception_raise_t__exception__defined +#define __NDR_convert__char_rep__Request__exception_raise_t__exception(a, f) \ + __NDR_convert__char_rep__exc__int((int *)(a), f) +#elif defined(__NDR_convert__char_rep__int__defined) +#define __NDR_convert__char_rep__Request__exception_raise_t__exception__defined +#define __NDR_convert__char_rep__Request__exception_raise_t__exception(a, f) \ + __NDR_convert__char_rep__int((int *)(a), f) +#elif defined(__NDR_convert__char_rep__exc__int32_t__defined) +#define __NDR_convert__char_rep__Request__exception_raise_t__exception__defined +#define __NDR_convert__char_rep__Request__exception_raise_t__exception(a, f) \ + __NDR_convert__char_rep__exc__int32_t((int32_t *)(a), f) +#elif defined(__NDR_convert__char_rep__int32_t__defined) +#define __NDR_convert__char_rep__Request__exception_raise_t__exception__defined +#define __NDR_convert__char_rep__Request__exception_raise_t__exception(a, f) \ + __NDR_convert__char_rep__int32_t((int32_t *)(a), f) +#endif /* defined(__NDR_convert__*__defined) */ +#endif /* __NDR_convert__char_rep__Request__exception_raise_t__exception__defined */ + +#ifndef __NDR_convert__char_rep__Request__exception_raise_t__code__defined +#if defined(__NDR_convert__char_rep__exc__exception_data_t__defined) +#define __NDR_convert__char_rep__Request__exception_raise_t__code__defined +#define __NDR_convert__char_rep__Request__exception_raise_t__code(a, f, c) \ + __NDR_convert__char_rep__exc__exception_data_t((exception_data_t *)(a), f, c) +#elif defined(__NDR_convert__char_rep__exception_data_t__defined) +#define __NDR_convert__char_rep__Request__exception_raise_t__code__defined +#define __NDR_convert__char_rep__Request__exception_raise_t__code(a, f, c) \ + __NDR_convert__char_rep__exception_data_t((exception_data_t *)(a), f, c) +#elif defined(__NDR_convert__char_rep__exc__integer_t__defined) +#define __NDR_convert__char_rep__Request__exception_raise_t__code__defined +#define __NDR_convert__char_rep__Request__exception_raise_t__code(a, f, c) \ + __NDR_convert__ARRAY((integer_t *)(a), f, c, __NDR_convert__char_rep__exc__integer_t) +#elif defined(__NDR_convert__char_rep__integer_t__defined) +#define __NDR_convert__char_rep__Request__exception_raise_t__code__defined +#define __NDR_convert__char_rep__Request__exception_raise_t__code(a, f, c) \ + __NDR_convert__ARRAY((integer_t *)(a), f, c, __NDR_convert__char_rep__integer_t) +#elif defined(__NDR_convert__char_rep__exc__int32_t__defined) +#define __NDR_convert__char_rep__Request__exception_raise_t__code__defined +#define __NDR_convert__char_rep__Request__exception_raise_t__code(a, f, c) \ + __NDR_convert__ARRAY((int32_t *)(a), f, c, __NDR_convert__char_rep__exc__int32_t) +#elif defined(__NDR_convert__char_rep__int32_t__defined) +#define __NDR_convert__char_rep__Request__exception_raise_t__code__defined +#define __NDR_convert__char_rep__Request__exception_raise_t__code(a, f, c) \ + __NDR_convert__ARRAY((int32_t *)(a), f, c, __NDR_convert__char_rep__int32_t) +#endif /* defined(__NDR_convert__*__defined) */ +#endif /* __NDR_convert__char_rep__Request__exception_raise_t__code__defined */ + +#ifndef __NDR_convert__float_rep__Request__exception_raise_t__exception__defined +#if defined(__NDR_convert__float_rep__exc__exception_type_t__defined) +#define __NDR_convert__float_rep__Request__exception_raise_t__exception__defined +#define __NDR_convert__float_rep__Request__exception_raise_t__exception(a, f) \ + __NDR_convert__float_rep__exc__exception_type_t((exception_type_t *)(a), f) +#elif defined(__NDR_convert__float_rep__exception_type_t__defined) +#define __NDR_convert__float_rep__Request__exception_raise_t__exception__defined +#define __NDR_convert__float_rep__Request__exception_raise_t__exception(a, f) \ + __NDR_convert__float_rep__exception_type_t((exception_type_t *)(a), f) +#elif defined(__NDR_convert__float_rep__exc__int__defined) +#define __NDR_convert__float_rep__Request__exception_raise_t__exception__defined +#define __NDR_convert__float_rep__Request__exception_raise_t__exception(a, f) \ + __NDR_convert__float_rep__exc__int((int *)(a), f) +#elif defined(__NDR_convert__float_rep__int__defined) +#define __NDR_convert__float_rep__Request__exception_raise_t__exception__defined +#define __NDR_convert__float_rep__Request__exception_raise_t__exception(a, f) \ + __NDR_convert__float_rep__int((int *)(a), f) +#elif defined(__NDR_convert__float_rep__exc__int32_t__defined) +#define __NDR_convert__float_rep__Request__exception_raise_t__exception__defined +#define __NDR_convert__float_rep__Request__exception_raise_t__exception(a, f) \ + __NDR_convert__float_rep__exc__int32_t((int32_t *)(a), f) +#elif defined(__NDR_convert__float_rep__int32_t__defined) +#define __NDR_convert__float_rep__Request__exception_raise_t__exception__defined +#define __NDR_convert__float_rep__Request__exception_raise_t__exception(a, f) \ + __NDR_convert__float_rep__int32_t((int32_t *)(a), f) +#endif /* defined(__NDR_convert__*__defined) */ +#endif /* __NDR_convert__float_rep__Request__exception_raise_t__exception__defined */ + +#ifndef __NDR_convert__float_rep__Request__exception_raise_t__code__defined +#if defined(__NDR_convert__float_rep__exc__exception_data_t__defined) +#define __NDR_convert__float_rep__Request__exception_raise_t__code__defined +#define __NDR_convert__float_rep__Request__exception_raise_t__code(a, f, c) \ + __NDR_convert__float_rep__exc__exception_data_t((exception_data_t *)(a), f, c) +#elif defined(__NDR_convert__float_rep__exception_data_t__defined) +#define __NDR_convert__float_rep__Request__exception_raise_t__code__defined +#define __NDR_convert__float_rep__Request__exception_raise_t__code(a, f, c) \ + __NDR_convert__float_rep__exception_data_t((exception_data_t *)(a), f, c) +#elif defined(__NDR_convert__float_rep__exc__integer_t__defined) +#define __NDR_convert__float_rep__Request__exception_raise_t__code__defined +#define __NDR_convert__float_rep__Request__exception_raise_t__code(a, f, c) \ + __NDR_convert__ARRAY((integer_t *)(a), f, c, __NDR_convert__float_rep__exc__integer_t) +#elif defined(__NDR_convert__float_rep__integer_t__defined) +#define __NDR_convert__float_rep__Request__exception_raise_t__code__defined +#define __NDR_convert__float_rep__Request__exception_raise_t__code(a, f, c) \ + __NDR_convert__ARRAY((integer_t *)(a), f, c, __NDR_convert__float_rep__integer_t) +#elif defined(__NDR_convert__float_rep__exc__int32_t__defined) +#define __NDR_convert__float_rep__Request__exception_raise_t__code__defined +#define __NDR_convert__float_rep__Request__exception_raise_t__code(a, f, c) \ + __NDR_convert__ARRAY((int32_t *)(a), f, c, __NDR_convert__float_rep__exc__int32_t) +#elif defined(__NDR_convert__float_rep__int32_t__defined) +#define __NDR_convert__float_rep__Request__exception_raise_t__code__defined +#define __NDR_convert__float_rep__Request__exception_raise_t__code(a, f, c) \ + __NDR_convert__ARRAY((int32_t *)(a), f, c, __NDR_convert__float_rep__int32_t) +#endif /* defined(__NDR_convert__*__defined) */ +#endif /* __NDR_convert__float_rep__Request__exception_raise_t__code__defined */ + + +mig_internal kern_return_t __MIG_check__Request__exception_raise_t(__attribute__((__unused__)) __Request__exception_raise_t *In0P) +{ + + typedef __Request__exception_raise_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) || + (In0P->msgh_body.msgh_descriptor_count != 2) || + (msgh_size < (mach_msg_size_t)(sizeof(__Request) - 8)) || (msgh_size > (mach_msg_size_t)sizeof(__Request)) +) + return MIG_BAD_ARGUMENTS; +#endif /* __MigTypeCheck */ + +#if __MigTypeCheck + if (In0P->thread.type != MACH_MSG_PORT_DESCRIPTOR || + In0P->thread.disposition != 17) + return MIG_TYPE_ERROR; +#endif /* __MigTypeCheck */ + +#if __MigTypeCheck + if (In0P->task.type != MACH_MSG_PORT_DESCRIPTOR || + In0P->task.disposition != 17) + return MIG_TYPE_ERROR; +#endif /* __MigTypeCheck */ + +#if defined(__NDR_convert__int_rep__Request__exception_raise_t__codeCnt__defined) + if (In0P->NDR.int_rep != NDR_record.int_rep) + __NDR_convert__int_rep__Request__exception_raise_t__codeCnt(&In0P->codeCnt, In0P->NDR.int_rep); +#endif /* __NDR_convert__int_rep__Request__exception_raise_t__codeCnt__defined */ +#if __MigTypeCheck + if (msgh_size != (mach_msg_size_t)(sizeof(__Request) - 8) + ((4 * In0P->codeCnt))) + return MIG_BAD_ARGUMENTS; +#endif /* __MigTypeCheck */ + +#if defined(__NDR_convert__int_rep__Request__exception_raise_t__exception__defined) || \ + defined(__NDR_convert__int_rep__Request__exception_raise_t__code__defined) || \ + defined(__NDR_convert__int_rep__Request__exception_raise_t__codeCnt__defined) + if (In0P->NDR.int_rep != NDR_record.int_rep) { +#if defined(__NDR_convert__int_rep__Request__exception_raise_t__exception__defined) + __NDR_convert__int_rep__Request__exception_raise_t__exception(&In0P->exception, In0P->NDR.int_rep); +#endif /* __NDR_convert__int_rep__Request__exception_raise_t__exception__defined */ +#if defined(__NDR_convert__int_rep__Request__exception_raise_t__code__defined) + __NDR_convert__int_rep__Request__exception_raise_t__code(&In0P->code, In0P->NDR.int_rep, In0P->codeCnt); +#endif /* __NDR_convert__int_rep__Request__exception_raise_t__code__defined */ + } +#endif /* defined(__NDR_convert__int_rep...) */ + +#if defined(__NDR_convert__char_rep__Request__exception_raise_t__exception__defined) || \ + defined(__NDR_convert__char_rep__Request__exception_raise_t__code__defined) || \ + 0 + if (In0P->NDR.char_rep != NDR_record.char_rep) { +#if defined(__NDR_convert__char_rep__Request__exception_raise_t__exception__defined) + __NDR_convert__char_rep__Request__exception_raise_t__exception(&In0P->exception, In0P->NDR.char_rep); +#endif /* __NDR_convert__char_rep__Request__exception_raise_t__exception__defined */ +#if defined(__NDR_convert__char_rep__Request__exception_raise_t__code__defined) + __NDR_convert__char_rep__Request__exception_raise_t__code(&In0P->code, In0P->NDR.char_rep, In0P->codeCnt); +#endif /* __NDR_convert__char_rep__Request__exception_raise_t__code__defined */ + } +#endif /* defined(__NDR_convert__char_rep...) */ + +#if defined(__NDR_convert__float_rep__Request__exception_raise_t__exception__defined) || \ + defined(__NDR_convert__float_rep__Request__exception_raise_t__code__defined) || \ + 0 + if (In0P->NDR.float_rep != NDR_record.float_rep) { +#if defined(__NDR_convert__float_rep__Request__exception_raise_t__exception__defined) + __NDR_convert__float_rep__Request__exception_raise_t__exception(&In0P->exception, In0P->NDR.float_rep); +#endif /* __NDR_convert__float_rep__Request__exception_raise_t__exception__defined */ +#if defined(__NDR_convert__float_rep__Request__exception_raise_t__code__defined) + __NDR_convert__float_rep__Request__exception_raise_t__code(&In0P->code, In0P->NDR.float_rep, In0P->codeCnt); +#endif /* __NDR_convert__float_rep__Request__exception_raise_t__code__defined */ + } +#endif /* defined(__NDR_convert__float_rep...) */ + + return MACH_MSG_SUCCESS; +} +#endif /* !defined(__MIG_check__Request__exception_raise_t__defined) */ +#endif /* __MIG_check__Request__exc_subsystem__ */ +#endif /* ( __MigTypeCheck || __NDR_convert__ ) */ + + +/* Routine exception_raise */ +#ifdef mig_external +mig_external +#else +extern +#endif /* mig_external */ +kern_return_t breakpad_exception_raise +( + mach_port_t exception_port, + mach_port_t thread, + mach_port_t task, + exception_type_t exception, + exception_data_t code, + mach_msg_type_number_t codeCnt +); + +/* Routine exception_raise */ +mig_internal novalue _Xexception_raise + (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 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; + integer_t code[2]; + mach_msg_trailer_t trailer; + } Request; +#ifdef __MigPackStructs +#pragma pack() +#endif + typedef __Request__exception_raise_t __Request; + typedef __Reply__exception_raise_t Reply; + + /* + * 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__exception_raise_t__defined + kern_return_t check_result; +#endif /* __MIG_check__Request__exception_raise_t__defined */ + + __DeclareRcvRpc(2401, "exception_raise") + __BeforeRcvRpc(2401, "exception_raise") + +#if defined(__MIG_check__Request__exception_raise_t__defined) + check_result = __MIG_check__Request__exception_raise_t((__Request *)In0P); + if (check_result != MACH_MSG_SUCCESS) + { MIG_RETURN_ERROR(OutP, check_result); } +#endif /* defined(__MIG_check__Request__exception_raise_t__defined) */ + + OutP->RetCode = breakpad_exception_raise(In0P->Head.msgh_request_port, In0P->thread.name, In0P->task.name, In0P->exception, In0P->code, In0P->codeCnt); + + OutP->NDR = NDR_record; + + + __AfterRcvRpc(2401, "exception_raise") +} + +#if ( __MigTypeCheck || __NDR_convert__ ) +#if __MIG_check__Request__exc_subsystem__ +#if !defined(__MIG_check__Request__exception_raise_state_t__defined) +#define __MIG_check__Request__exception_raise_state_t__defined +#ifndef __NDR_convert__int_rep__Request__exception_raise_state_t__exception__defined +#if defined(__NDR_convert__int_rep__exc__exception_type_t__defined) +#define __NDR_convert__int_rep__Request__exception_raise_state_t__exception__defined +#define __NDR_convert__int_rep__Request__exception_raise_state_t__exception(a, f) \ + __NDR_convert__int_rep__exc__exception_type_t((exception_type_t *)(a), f) +#elif defined(__NDR_convert__int_rep__exception_type_t__defined) +#define __NDR_convert__int_rep__Request__exception_raise_state_t__exception__defined +#define __NDR_convert__int_rep__Request__exception_raise_state_t__exception(a, f) \ + __NDR_convert__int_rep__exception_type_t((exception_type_t *)(a), f) +#elif defined(__NDR_convert__int_rep__exc__int__defined) +#define __NDR_convert__int_rep__Request__exception_raise_state_t__exception__defined +#define __NDR_convert__int_rep__Request__exception_raise_state_t__exception(a, f) \ + __NDR_convert__int_rep__exc__int((int *)(a), f) +#elif defined(__NDR_convert__int_rep__int__defined) +#define __NDR_convert__int_rep__Request__exception_raise_state_t__exception__defined +#define __NDR_convert__int_rep__Request__exception_raise_state_t__exception(a, f) \ + __NDR_convert__int_rep__int((int *)(a), f) +#elif defined(__NDR_convert__int_rep__exc__int32_t__defined) +#define __NDR_convert__int_rep__Request__exception_raise_state_t__exception__defined +#define __NDR_convert__int_rep__Request__exception_raise_state_t__exception(a, f) \ + __NDR_convert__int_rep__exc__int32_t((int32_t *)(a), f) +#elif defined(__NDR_convert__int_rep__int32_t__defined) +#define __NDR_convert__int_rep__Request__exception_raise_state_t__exception__defined +#define __NDR_convert__int_rep__Request__exception_raise_state_t__exception(a, f) \ + __NDR_convert__int_rep__int32_t((int32_t *)(a), f) +#endif /* defined(__NDR_convert__*__defined) */ +#endif /* __NDR_convert__int_rep__Request__exception_raise_state_t__exception__defined */ + +#ifndef __NDR_convert__int_rep__Request__exception_raise_state_t__code__defined +#if defined(__NDR_convert__int_rep__exc__exception_data_t__defined) +#define __NDR_convert__int_rep__Request__exception_raise_state_t__code__defined +#define __NDR_convert__int_rep__Request__exception_raise_state_t__code(a, f, c) \ + __NDR_convert__int_rep__exc__exception_data_t((exception_data_t *)(a), f, c) +#elif defined(__NDR_convert__int_rep__exception_data_t__defined) +#define __NDR_convert__int_rep__Request__exception_raise_state_t__code__defined +#define __NDR_convert__int_rep__Request__exception_raise_state_t__code(a, f, c) \ + __NDR_convert__int_rep__exception_data_t((exception_data_t *)(a), f, c) +#elif defined(__NDR_convert__int_rep__exc__integer_t__defined) +#define __NDR_convert__int_rep__Request__exception_raise_state_t__code__defined +#define __NDR_convert__int_rep__Request__exception_raise_state_t__code(a, f, c) \ + __NDR_convert__ARRAY((integer_t *)(a), f, c, __NDR_convert__int_rep__exc__integer_t) +#elif defined(__NDR_convert__int_rep__integer_t__defined) +#define __NDR_convert__int_rep__Request__exception_raise_state_t__code__defined +#define __NDR_convert__int_rep__Request__exception_raise_state_t__code(a, f, c) \ + __NDR_convert__ARRAY((integer_t *)(a), f, c, __NDR_convert__int_rep__integer_t) +#elif defined(__NDR_convert__int_rep__exc__int32_t__defined) +#define __NDR_convert__int_rep__Request__exception_raise_state_t__code__defined +#define __NDR_convert__int_rep__Request__exception_raise_state_t__code(a, f, c) \ + __NDR_convert__ARRAY((int32_t *)(a), f, c, __NDR_convert__int_rep__exc__int32_t) +#elif defined(__NDR_convert__int_rep__int32_t__defined) +#define __NDR_convert__int_rep__Request__exception_raise_state_t__code__defined +#define __NDR_convert__int_rep__Request__exception_raise_state_t__code(a, f, c) \ + __NDR_convert__ARRAY((int32_t *)(a), f, c, __NDR_convert__int_rep__int32_t) +#endif /* defined(__NDR_convert__*__defined) */ +#endif /* __NDR_convert__int_rep__Request__exception_raise_state_t__code__defined */ + +#ifndef __NDR_convert__int_rep__Request__exception_raise_state_t__codeCnt__defined +#if defined(__NDR_convert__int_rep__exc__mach_msg_type_number_t__defined) +#define __NDR_convert__int_rep__Request__exception_raise_state_t__codeCnt__defined +#define __NDR_convert__int_rep__Request__exception_raise_state_t__codeCnt(a, f) \ + __NDR_convert__int_rep__exc__mach_msg_type_number_t((mach_msg_type_number_t *)(a), f) +#elif defined(__NDR_convert__int_rep__mach_msg_type_number_t__defined) +#define __NDR_convert__int_rep__Request__exception_raise_state_t__codeCnt__defined +#define __NDR_convert__int_rep__Request__exception_raise_state_t__codeCnt(a, f) \ + __NDR_convert__int_rep__mach_msg_type_number_t((mach_msg_type_number_t *)(a), f) +#endif /* defined(__NDR_convert__*__defined) */ +#endif /* __NDR_convert__int_rep__Request__exception_raise_state_t__codeCnt__defined */ + +#ifndef __NDR_convert__int_rep__Request__exception_raise_state_t__flavor__defined +#if defined(__NDR_convert__int_rep__exc__int__defined) +#define __NDR_convert__int_rep__Request__exception_raise_state_t__flavor__defined +#define __NDR_convert__int_rep__Request__exception_raise_state_t__flavor(a, f) \ + __NDR_convert__int_rep__exc__int((int *)(a), f) +#elif defined(__NDR_convert__int_rep__int__defined) +#define __NDR_convert__int_rep__Request__exception_raise_state_t__flavor__defined +#define __NDR_convert__int_rep__Request__exception_raise_state_t__flavor(a, f) \ + __NDR_convert__int_rep__int((int *)(a), f) +#elif defined(__NDR_convert__int_rep__exc__int32_t__defined) +#define __NDR_convert__int_rep__Request__exception_raise_state_t__flavor__defined +#define __NDR_convert__int_rep__Request__exception_raise_state_t__flavor(a, f) \ + __NDR_convert__int_rep__exc__int32_t((int32_t *)(a), f) +#elif defined(__NDR_convert__int_rep__int32_t__defined) +#define __NDR_convert__int_rep__Request__exception_raise_state_t__flavor__defined +#define __NDR_convert__int_rep__Request__exception_raise_state_t__flavor(a, f) \ + __NDR_convert__int_rep__int32_t((int32_t *)(a), f) +#endif /* defined(__NDR_convert__*__defined) */ +#endif /* __NDR_convert__int_rep__Request__exception_raise_state_t__flavor__defined */ + +#ifndef __NDR_convert__int_rep__Request__exception_raise_state_t__old_state__defined +#if defined(__NDR_convert__int_rep__exc__thread_state_t__defined) +#define __NDR_convert__int_rep__Request__exception_raise_state_t__old_state__defined +#define __NDR_convert__int_rep__Request__exception_raise_state_t__old_state(a, f, c) \ + __NDR_convert__int_rep__exc__thread_state_t((thread_state_t *)(a), f, c) +#elif defined(__NDR_convert__int_rep__thread_state_t__defined) +#define __NDR_convert__int_rep__Request__exception_raise_state_t__old_state__defined +#define __NDR_convert__int_rep__Request__exception_raise_state_t__old_state(a, f, c) \ + __NDR_convert__int_rep__thread_state_t((thread_state_t *)(a), f, c) +#elif defined(__NDR_convert__int_rep__exc__natural_t__defined) +#define __NDR_convert__int_rep__Request__exception_raise_state_t__old_state__defined +#define __NDR_convert__int_rep__Request__exception_raise_state_t__old_state(a, f, c) \ + __NDR_convert__ARRAY((natural_t *)(a), f, c, __NDR_convert__int_rep__exc__natural_t) +#elif defined(__NDR_convert__int_rep__natural_t__defined) +#define __NDR_convert__int_rep__Request__exception_raise_state_t__old_state__defined +#define __NDR_convert__int_rep__Request__exception_raise_state_t__old_state(a, f, c) \ + __NDR_convert__ARRAY((natural_t *)(a), f, c, __NDR_convert__int_rep__natural_t) +#elif defined(__NDR_convert__int_rep__exc__uint32_t__defined) +#define __NDR_convert__int_rep__Request__exception_raise_state_t__old_state__defined +#define __NDR_convert__int_rep__Request__exception_raise_state_t__old_state(a, f, c) \ + __NDR_convert__ARRAY((uint32_t *)(a), f, c, __NDR_convert__int_rep__exc__uint32_t) +#elif defined(__NDR_convert__int_rep__uint32_t__defined) +#define __NDR_convert__int_rep__Request__exception_raise_state_t__old_state__defined +#define __NDR_convert__int_rep__Request__exception_raise_state_t__old_state(a, f, c) \ + __NDR_convert__ARRAY((uint32_t *)(a), f, c, __NDR_convert__int_rep__uint32_t) +#endif /* defined(__NDR_convert__*__defined) */ +#endif /* __NDR_convert__int_rep__Request__exception_raise_state_t__old_state__defined */ + +#ifndef __NDR_convert__int_rep__Request__exception_raise_state_t__old_stateCnt__defined +#if defined(__NDR_convert__int_rep__exc__mach_msg_type_number_t__defined) +#define __NDR_convert__int_rep__Request__exception_raise_state_t__old_stateCnt__defined +#define __NDR_convert__int_rep__Request__exception_raise_state_t__old_stateCnt(a, f) \ + __NDR_convert__int_rep__exc__mach_msg_type_number_t((mach_msg_type_number_t *)(a), f) +#elif defined(__NDR_convert__int_rep__mach_msg_type_number_t__defined) +#define __NDR_convert__int_rep__Request__exception_raise_state_t__old_stateCnt__defined +#define __NDR_convert__int_rep__Request__exception_raise_state_t__old_stateCnt(a, f) \ + __NDR_convert__int_rep__mach_msg_type_number_t((mach_msg_type_number_t *)(a), f) +#endif /* defined(__NDR_convert__*__defined) */ +#endif /* __NDR_convert__int_rep__Request__exception_raise_state_t__old_stateCnt__defined */ + +#ifndef __NDR_convert__char_rep__Request__exception_raise_state_t__exception__defined +#if defined(__NDR_convert__char_rep__exc__exception_type_t__defined) +#define __NDR_convert__char_rep__Request__exception_raise_state_t__exception__defined +#define __NDR_convert__char_rep__Request__exception_raise_state_t__exception(a, f) \ + __NDR_convert__char_rep__exc__exception_type_t((exception_type_t *)(a), f) +#elif defined(__NDR_convert__char_rep__exception_type_t__defined) +#define __NDR_convert__char_rep__Request__exception_raise_state_t__exception__defined +#define __NDR_convert__char_rep__Request__exception_raise_state_t__exception(a, f) \ + __NDR_convert__char_rep__exception_type_t((exception_type_t *)(a), f) +#elif defined(__NDR_convert__char_rep__exc__int__defined) +#define __NDR_convert__char_rep__Request__exception_raise_state_t__exception__defined +#define __NDR_convert__char_rep__Request__exception_raise_state_t__exception(a, f) \ + __NDR_convert__char_rep__exc__int((int *)(a), f) +#elif defined(__NDR_convert__char_rep__int__defined) +#define __NDR_convert__char_rep__Request__exception_raise_state_t__exception__defined +#define __NDR_convert__char_rep__Request__exception_raise_state_t__exception(a, f) \ + __NDR_convert__char_rep__int((int *)(a), f) +#elif defined(__NDR_convert__char_rep__exc__int32_t__defined) +#define __NDR_convert__char_rep__Request__exception_raise_state_t__exception__defined +#define __NDR_convert__char_rep__Request__exception_raise_state_t__exception(a, f) \ + __NDR_convert__char_rep__exc__int32_t((int32_t *)(a), f) +#elif defined(__NDR_convert__char_rep__int32_t__defined) +#define __NDR_convert__char_rep__Request__exception_raise_state_t__exception__defined +#define __NDR_convert__char_rep__Request__exception_raise_state_t__exception(a, f) \ + __NDR_convert__char_rep__int32_t((int32_t *)(a), f) +#endif /* defined(__NDR_convert__*__defined) */ +#endif /* __NDR_convert__char_rep__Request__exception_raise_state_t__exception__defined */ + +#ifndef __NDR_convert__char_rep__Request__exception_raise_state_t__code__defined +#if defined(__NDR_convert__char_rep__exc__exception_data_t__defined) +#define __NDR_convert__char_rep__Request__exception_raise_state_t__code__defined +#define __NDR_convert__char_rep__Request__exception_raise_state_t__code(a, f, c) \ + __NDR_convert__char_rep__exc__exception_data_t((exception_data_t *)(a), f, c) +#elif defined(__NDR_convert__char_rep__exception_data_t__defined) +#define __NDR_convert__char_rep__Request__exception_raise_state_t__code__defined +#define __NDR_convert__char_rep__Request__exception_raise_state_t__code(a, f, c) \ + __NDR_convert__char_rep__exception_data_t((exception_data_t *)(a), f, c) +#elif defined(__NDR_convert__char_rep__exc__integer_t__defined) +#define __NDR_convert__char_rep__Request__exception_raise_state_t__code__defined +#define __NDR_convert__char_rep__Request__exception_raise_state_t__code(a, f, c) \ + __NDR_convert__ARRAY((integer_t *)(a), f, c, __NDR_convert__char_rep__exc__integer_t) +#elif defined(__NDR_convert__char_rep__integer_t__defined) +#define __NDR_convert__char_rep__Request__exception_raise_state_t__code__defined +#define __NDR_convert__char_rep__Request__exception_raise_state_t__code(a, f, c) \ + __NDR_convert__ARRAY((integer_t *)(a), f, c, __NDR_convert__char_rep__integer_t) +#elif defined(__NDR_convert__char_rep__exc__int32_t__defined) +#define __NDR_convert__char_rep__Request__exception_raise_state_t__code__defined +#define __NDR_convert__char_rep__Request__exception_raise_state_t__code(a, f, c) \ + __NDR_convert__ARRAY((int32_t *)(a), f, c, __NDR_convert__char_rep__exc__int32_t) +#elif defined(__NDR_convert__char_rep__int32_t__defined) +#define __NDR_convert__char_rep__Request__exception_raise_state_t__code__defined +#define __NDR_convert__char_rep__Request__exception_raise_state_t__code(a, f, c) \ + __NDR_convert__ARRAY((int32_t *)(a), f, c, __NDR_convert__char_rep__int32_t) +#endif /* defined(__NDR_convert__*__defined) */ +#endif /* __NDR_convert__char_rep__Request__exception_raise_state_t__code__defined */ + +#ifndef __NDR_convert__char_rep__Request__exception_raise_state_t__flavor__defined +#if defined(__NDR_convert__char_rep__exc__int__defined) +#define __NDR_convert__char_rep__Request__exception_raise_state_t__flavor__defined +#define __NDR_convert__char_rep__Request__exception_raise_state_t__flavor(a, f) \ + __NDR_convert__char_rep__exc__int((int *)(a), f) +#elif defined(__NDR_convert__char_rep__int__defined) +#define __NDR_convert__char_rep__Request__exception_raise_state_t__flavor__defined +#define __NDR_convert__char_rep__Request__exception_raise_state_t__flavor(a, f) \ + __NDR_convert__char_rep__int((int *)(a), f) +#elif defined(__NDR_convert__char_rep__exc__int32_t__defined) +#define __NDR_convert__char_rep__Request__exception_raise_state_t__flavor__defined +#define __NDR_convert__char_rep__Request__exception_raise_state_t__flavor(a, f) \ + __NDR_convert__char_rep__exc__int32_t((int32_t *)(a), f) +#elif defined(__NDR_convert__char_rep__int32_t__defined) +#define __NDR_convert__char_rep__Request__exception_raise_state_t__flavor__defined +#define __NDR_convert__char_rep__Request__exception_raise_state_t__flavor(a, f) \ + __NDR_convert__char_rep__int32_t((int32_t *)(a), f) +#endif /* defined(__NDR_convert__*__defined) */ +#endif /* __NDR_convert__char_rep__Request__exception_raise_state_t__flavor__defined */ + +#ifndef __NDR_convert__char_rep__Request__exception_raise_state_t__old_state__defined +#if defined(__NDR_convert__char_rep__exc__thread_state_t__defined) +#define __NDR_convert__char_rep__Request__exception_raise_state_t__old_state__defined +#define __NDR_convert__char_rep__Request__exception_raise_state_t__old_state(a, f, c) \ + __NDR_convert__char_rep__exc__thread_state_t((thread_state_t *)(a), f, c) +#elif defined(__NDR_convert__char_rep__thread_state_t__defined) +#define __NDR_convert__char_rep__Request__exception_raise_state_t__old_state__defined +#define __NDR_convert__char_rep__Request__exception_raise_state_t__old_state(a, f, c) \ + __NDR_convert__char_rep__thread_state_t((thread_state_t *)(a), f, c) +#elif defined(__NDR_convert__char_rep__exc__natural_t__defined) +#define __NDR_convert__char_rep__Request__exception_raise_state_t__old_state__defined +#define __NDR_convert__char_rep__Request__exception_raise_state_t__old_state(a, f, c) \ + __NDR_convert__ARRAY((natural_t *)(a), f, c, __NDR_convert__char_rep__exc__natural_t) +#elif defined(__NDR_convert__char_rep__natural_t__defined) +#define __NDR_convert__char_rep__Request__exception_raise_state_t__old_state__defined +#define __NDR_convert__char_rep__Request__exception_raise_state_t__old_state(a, f, c) \ + __NDR_convert__ARRAY((natural_t *)(a), f, c, __NDR_convert__char_rep__natural_t) +#elif defined(__NDR_convert__char_rep__exc__uint32_t__defined) +#define __NDR_convert__char_rep__Request__exception_raise_state_t__old_state__defined +#define __NDR_convert__char_rep__Request__exception_raise_state_t__old_state(a, f, c) \ + __NDR_convert__ARRAY((uint32_t *)(a), f, c, __NDR_convert__char_rep__exc__uint32_t) +#elif defined(__NDR_convert__char_rep__uint32_t__defined) +#define __NDR_convert__char_rep__Request__exception_raise_state_t__old_state__defined +#define __NDR_convert__char_rep__Request__exception_raise_state_t__old_state(a, f, c) \ + __NDR_convert__ARRAY((uint32_t *)(a), f, c, __NDR_convert__char_rep__uint32_t) +#endif /* defined(__NDR_convert__*__defined) */ +#endif /* __NDR_convert__char_rep__Request__exception_raise_state_t__old_state__defined */ + +#ifndef __NDR_convert__float_rep__Request__exception_raise_state_t__exception__defined +#if defined(__NDR_convert__float_rep__exc__exception_type_t__defined) +#define __NDR_convert__float_rep__Request__exception_raise_state_t__exception__defined +#define __NDR_convert__float_rep__Request__exception_raise_state_t__exception(a, f) \ + __NDR_convert__float_rep__exc__exception_type_t((exception_type_t *)(a), f) +#elif defined(__NDR_convert__float_rep__exception_type_t__defined) +#define __NDR_convert__float_rep__Request__exception_raise_state_t__exception__defined +#define __NDR_convert__float_rep__Request__exception_raise_state_t__exception(a, f) \ + __NDR_convert__float_rep__exception_type_t((exception_type_t *)(a), f) +#elif defined(__NDR_convert__float_rep__exc__int__defined) +#define __NDR_convert__float_rep__Request__exception_raise_state_t__exception__defined +#define __NDR_convert__float_rep__Request__exception_raise_state_t__exception(a, f) \ + __NDR_convert__float_rep__exc__int((int *)(a), f) +#elif defined(__NDR_convert__float_rep__int__defined) +#define __NDR_convert__float_rep__Request__exception_raise_state_t__exception__defined +#define __NDR_convert__float_rep__Request__exception_raise_state_t__exception(a, f) \ + __NDR_convert__float_rep__int((int *)(a), f) +#elif defined(__NDR_convert__float_rep__exc__int32_t__defined) +#define __NDR_convert__float_rep__Request__exception_raise_state_t__exception__defined +#define __NDR_convert__float_rep__Request__exception_raise_state_t__exception(a, f) \ + __NDR_convert__float_rep__exc__int32_t((int32_t *)(a), f) +#elif defined(__NDR_convert__float_rep__int32_t__defined) +#define __NDR_convert__float_rep__Request__exception_raise_state_t__exception__defined +#define __NDR_convert__float_rep__Request__exception_raise_state_t__exception(a, f) \ + __NDR_convert__float_rep__int32_t((int32_t *)(a), f) +#endif /* defined(__NDR_convert__*__defined) */ +#endif /* __NDR_convert__float_rep__Request__exception_raise_state_t__exception__defined */ + +#ifndef __NDR_convert__float_rep__Request__exception_raise_state_t__code__defined +#if defined(__NDR_convert__float_rep__exc__exception_data_t__defined) +#define __NDR_convert__float_rep__Request__exception_raise_state_t__code__defined +#define __NDR_convert__float_rep__Request__exception_raise_state_t__code(a, f, c) \ + __NDR_convert__float_rep__exc__exception_data_t((exception_data_t *)(a), f, c) +#elif defined(__NDR_convert__float_rep__exception_data_t__defined) +#define __NDR_convert__float_rep__Request__exception_raise_state_t__code__defined +#define __NDR_convert__float_rep__Request__exception_raise_state_t__code(a, f, c) \ + __NDR_convert__float_rep__exception_data_t((exception_data_t *)(a), f, c) +#elif defined(__NDR_convert__float_rep__exc__integer_t__defined) +#define __NDR_convert__float_rep__Request__exception_raise_state_t__code__defined +#define __NDR_convert__float_rep__Request__exception_raise_state_t__code(a, f, c) \ + __NDR_convert__ARRAY((integer_t *)(a), f, c, __NDR_convert__float_rep__exc__integer_t) +#elif defined(__NDR_convert__float_rep__integer_t__defined) +#define __NDR_convert__float_rep__Request__exception_raise_state_t__code__defined +#define __NDR_convert__float_rep__Request__exception_raise_state_t__code(a, f, c) \ + __NDR_convert__ARRAY((integer_t *)(a), f, c, __NDR_convert__float_rep__integer_t) +#elif defined(__NDR_convert__float_rep__exc__int32_t__defined) +#define __NDR_convert__float_rep__Request__exception_raise_state_t__code__defined +#define __NDR_convert__float_rep__Request__exception_raise_state_t__code(a, f, c) \ + __NDR_convert__ARRAY((int32_t *)(a), f, c, __NDR_convert__float_rep__exc__int32_t) +#elif defined(__NDR_convert__float_rep__int32_t__defined) +#define __NDR_convert__float_rep__Request__exception_raise_state_t__code__defined +#define __NDR_convert__float_rep__Request__exception_raise_state_t__code(a, f, c) \ + __NDR_convert__ARRAY((int32_t *)(a), f, c, __NDR_convert__float_rep__int32_t) +#endif /* defined(__NDR_convert__*__defined) */ +#endif /* __NDR_convert__float_rep__Request__exception_raise_state_t__code__defined */ + +#ifndef __NDR_convert__float_rep__Request__exception_raise_state_t__flavor__defined +#if defined(__NDR_convert__float_rep__exc__int__defined) +#define __NDR_convert__float_rep__Request__exception_raise_state_t__flavor__defined +#define __NDR_convert__float_rep__Request__exception_raise_state_t__flavor(a, f) \ + __NDR_convert__float_rep__exc__int((int *)(a), f) +#elif defined(__NDR_convert__float_rep__int__defined) +#define __NDR_convert__float_rep__Request__exception_raise_state_t__flavor__defined +#define __NDR_convert__float_rep__Request__exception_raise_state_t__flavor(a, f) \ + __NDR_convert__float_rep__int((int *)(a), f) +#elif defined(__NDR_convert__float_rep__exc__int32_t__defined) +#define __NDR_convert__float_rep__Request__exception_raise_state_t__flavor__defined +#define __NDR_convert__float_rep__Request__exception_raise_state_t__flavor(a, f) \ + __NDR_convert__float_rep__exc__int32_t((int32_t *)(a), f) +#elif defined(__NDR_convert__float_rep__int32_t__defined) +#define __NDR_convert__float_rep__Request__exception_raise_state_t__flavor__defined +#define __NDR_convert__float_rep__Request__exception_raise_state_t__flavor(a, f) \ + __NDR_convert__float_rep__int32_t((int32_t *)(a), f) +#endif /* defined(__NDR_convert__*__defined) */ +#endif /* __NDR_convert__float_rep__Request__exception_raise_state_t__flavor__defined */ + +#ifndef __NDR_convert__float_rep__Request__exception_raise_state_t__old_state__defined +#if defined(__NDR_convert__float_rep__exc__thread_state_t__defined) +#define __NDR_convert__float_rep__Request__exception_raise_state_t__old_state__defined +#define __NDR_convert__float_rep__Request__exception_raise_state_t__old_state(a, f, c) \ + __NDR_convert__float_rep__exc__thread_state_t((thread_state_t *)(a), f, c) +#elif defined(__NDR_convert__float_rep__thread_state_t__defined) +#define __NDR_convert__float_rep__Request__exception_raise_state_t__old_state__defined +#define __NDR_convert__float_rep__Request__exception_raise_state_t__old_state(a, f, c) \ + __NDR_convert__float_rep__thread_state_t((thread_state_t *)(a), f, c) +#elif defined(__NDR_convert__float_rep__exc__natural_t__defined) +#define __NDR_convert__float_rep__Request__exception_raise_state_t__old_state__defined +#define __NDR_convert__float_rep__Request__exception_raise_state_t__old_state(a, f, c) \ + __NDR_convert__ARRAY((natural_t *)(a), f, c, __NDR_convert__float_rep__exc__natural_t) +#elif defined(__NDR_convert__float_rep__natural_t__defined) +#define __NDR_convert__float_rep__Request__exception_raise_state_t__old_state__defined +#define __NDR_convert__float_rep__Request__exception_raise_state_t__old_state(a, f, c) \ + __NDR_convert__ARRAY((natural_t *)(a), f, c, __NDR_convert__float_rep__natural_t) +#elif defined(__NDR_convert__float_rep__exc__uint32_t__defined) +#define __NDR_convert__float_rep__Request__exception_raise_state_t__old_state__defined +#define __NDR_convert__float_rep__Request__exception_raise_state_t__old_state(a, f, c) \ + __NDR_convert__ARRAY((uint32_t *)(a), f, c, __NDR_convert__float_rep__exc__uint32_t) +#elif defined(__NDR_convert__float_rep__uint32_t__defined) +#define __NDR_convert__float_rep__Request__exception_raise_state_t__old_state__defined +#define __NDR_convert__float_rep__Request__exception_raise_state_t__old_state(a, f, c) \ + __NDR_convert__ARRAY((uint32_t *)(a), f, c, __NDR_convert__float_rep__uint32_t) +#endif /* defined(__NDR_convert__*__defined) */ +#endif /* __NDR_convert__float_rep__Request__exception_raise_state_t__old_state__defined */ + + +mig_internal kern_return_t __MIG_check__Request__exception_raise_state_t(__attribute__((__unused__)) __Request__exception_raise_state_t *In0P, __attribute__((__unused__)) __Request__exception_raise_state_t **In1PP) +{ + + typedef __Request__exception_raise_state_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) - 584)) || (msgh_size > (mach_msg_size_t)sizeof(__Request))) + return MIG_BAD_ARGUMENTS; +#endif /* __MigTypeCheck */ + +#if defined(__NDR_convert__int_rep__Request__exception_raise_state_t__codeCnt__defined) + if (In0P->NDR.int_rep != NDR_record.int_rep) + __NDR_convert__int_rep__Request__exception_raise_state_t__codeCnt(&In0P->codeCnt, In0P->NDR.int_rep); +#endif /* __NDR_convert__int_rep__Request__exception_raise_state_t__codeCnt__defined */ + msgh_size_delta = (4 * In0P->codeCnt); +#if __MigTypeCheck + if (msgh_size < (mach_msg_size_t)(sizeof(__Request) - 584) + msgh_size_delta) + return MIG_BAD_ARGUMENTS; + msgh_size -= msgh_size_delta; +#endif /* __MigTypeCheck */ + + *In1PP = In1P = (__Request *) ((pointer_t) In0P + msgh_size_delta - 8); + +#if defined(__NDR_convert__int_rep__Request__exception_raise_state_t__old_stateCnt__defined) + if (In0P->NDR.int_rep != NDR_record.int_rep) + __NDR_convert__int_rep__Request__exception_raise_state_t__old_stateCnt(&In1P->old_stateCnt, In1P->NDR.int_rep); +#endif /* __NDR_convert__int_rep__Request__exception_raise_state_t__old_stateCnt__defined */ +#if __MigTypeCheck + if (msgh_size != (mach_msg_size_t)(sizeof(__Request) - 584) + ((4 * In1P->old_stateCnt))) + return MIG_BAD_ARGUMENTS; +#endif /* __MigTypeCheck */ + +#if defined(__NDR_convert__int_rep__Request__exception_raise_state_t__exception__defined) || \ + defined(__NDR_convert__int_rep__Request__exception_raise_state_t__code__defined) || \ + defined(__NDR_convert__int_rep__Request__exception_raise_state_t__codeCnt__defined) || \ + defined(__NDR_convert__int_rep__Request__exception_raise_state_t__flavor__defined) || \ + defined(__NDR_convert__int_rep__Request__exception_raise_state_t__old_state__defined) || \ + defined(__NDR_convert__int_rep__Request__exception_raise_state_t__old_stateCnt__defined) + if (In0P->NDR.int_rep != NDR_record.int_rep) { +#if defined(__NDR_convert__int_rep__Request__exception_raise_state_t__exception__defined) + __NDR_convert__int_rep__Request__exception_raise_state_t__exception(&In0P->exception, In0P->NDR.int_rep); +#endif /* __NDR_convert__int_rep__Request__exception_raise_state_t__exception__defined */ +#if defined(__NDR_convert__int_rep__Request__exception_raise_state_t__code__defined) + __NDR_convert__int_rep__Request__exception_raise_state_t__code(&In0P->code, In0P->NDR.int_rep, In0P->codeCnt); +#endif /* __NDR_convert__int_rep__Request__exception_raise_state_t__code__defined */ +#if defined(__NDR_convert__int_rep__Request__exception_raise_state_t__flavor__defined) + __NDR_convert__int_rep__Request__exception_raise_state_t__flavor(&In1P->flavor, In0P->NDR.int_rep); +#endif /* __NDR_convert__int_rep__Request__exception_raise_state_t__flavor__defined */ +#if defined(__NDR_convert__int_rep__Request__exception_raise_state_t__old_state__defined) + __NDR_convert__int_rep__Request__exception_raise_state_t__old_state(&In1P->old_state, In0P->NDR.int_rep, In1P->old_stateCnt); +#endif /* __NDR_convert__int_rep__Request__exception_raise_state_t__old_state__defined */ + } +#endif /* defined(__NDR_convert__int_rep...) */ + +#if defined(__NDR_convert__char_rep__Request__exception_raise_state_t__exception__defined) || \ + defined(__NDR_convert__char_rep__Request__exception_raise_state_t__code__defined) || \ + 0 || \ + defined(__NDR_convert__char_rep__Request__exception_raise_state_t__flavor__defined) || \ + defined(__NDR_convert__char_rep__Request__exception_raise_state_t__old_state__defined) || \ + 0 + if (In0P->NDR.char_rep != NDR_record.char_rep) { +#if defined(__NDR_convert__char_rep__Request__exception_raise_state_t__exception__defined) + __NDR_convert__char_rep__Request__exception_raise_state_t__exception(&In0P->exception, In0P->NDR.char_rep); +#endif /* __NDR_convert__char_rep__Request__exception_raise_state_t__exception__defined */ +#if defined(__NDR_convert__char_rep__Request__exception_raise_state_t__code__defined) + __NDR_convert__char_rep__Request__exception_raise_state_t__code(&In0P->code, In0P->NDR.char_rep, In0P->codeCnt); +#endif /* __NDR_convert__char_rep__Request__exception_raise_state_t__code__defined */ +#if defined(__NDR_convert__char_rep__Request__exception_raise_state_t__flavor__defined) + __NDR_convert__char_rep__Request__exception_raise_state_t__flavor(&In1P->flavor, In0P->NDR.char_rep); +#endif /* __NDR_convert__char_rep__Request__exception_raise_state_t__flavor__defined */ +#if defined(__NDR_convert__char_rep__Request__exception_raise_state_t__old_state__defined) + __NDR_convert__char_rep__Request__exception_raise_state_t__old_state(&In1P->old_state, In0P->NDR.char_rep, In1P->old_stateCnt); +#endif /* __NDR_convert__char_rep__Request__exception_raise_state_t__old_state__defined */ + } +#endif /* defined(__NDR_convert__char_rep...) */ + +#if defined(__NDR_convert__float_rep__Request__exception_raise_state_t__exception__defined) || \ + defined(__NDR_convert__float_rep__Request__exception_raise_state_t__code__defined) || \ + 0 || \ + defined(__NDR_convert__float_rep__Request__exception_raise_state_t__flavor__defined) || \ + defined(__NDR_convert__float_rep__Request__exception_raise_state_t__old_state__defined) || \ + 0 + if (In0P->NDR.float_rep != NDR_record.float_rep) { +#if defined(__NDR_convert__float_rep__Request__exception_raise_state_t__exception__defined) + __NDR_convert__float_rep__Request__exception_raise_state_t__exception(&In0P->exception, In0P->NDR.float_rep); +#endif /* __NDR_convert__float_rep__Request__exception_raise_state_t__exception__defined */ +#if defined(__NDR_convert__float_rep__Request__exception_raise_state_t__code__defined) + __NDR_convert__float_rep__Request__exception_raise_state_t__code(&In0P->code, In0P->NDR.float_rep, In0P->codeCnt); +#endif /* __NDR_convert__float_rep__Request__exception_raise_state_t__code__defined */ +#if defined(__NDR_convert__float_rep__Request__exception_raise_state_t__flavor__defined) + __NDR_convert__float_rep__Request__exception_raise_state_t__flavor(&In1P->flavor, In0P->NDR.float_rep); +#endif /* __NDR_convert__float_rep__Request__exception_raise_state_t__flavor__defined */ +#if defined(__NDR_convert__float_rep__Request__exception_raise_state_t__old_state__defined) + __NDR_convert__float_rep__Request__exception_raise_state_t__old_state(&In1P->old_state, In0P->NDR.float_rep, In1P->old_stateCnt); +#endif /* __NDR_convert__float_rep__Request__exception_raise_state_t__old_state__defined */ + } +#endif /* defined(__NDR_convert__float_rep...) */ + + return MACH_MSG_SUCCESS; +} +#endif /* !defined(__MIG_check__Request__exception_raise_state_t__defined) */ +#endif /* __MIG_check__Request__exc_subsystem__ */ +#endif /* ( __MigTypeCheck || __NDR_convert__ ) */ + + +/* Routine exception_raise_state */ +#ifdef mig_external +mig_external +#else +extern +#endif /* mig_external */ +kern_return_t breakpad_exception_raise_state +( + mach_port_t exception_port, + exception_type_t exception, + const 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 exception_raise_state */ +mig_internal novalue _Xexception_raise_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; + exception_type_t exception; + mach_msg_type_number_t codeCnt; + integer_t code[2]; + int flavor; + mach_msg_type_number_t old_stateCnt; + natural_t old_state[144]; + mach_msg_trailer_t trailer; + } Request; +#ifdef __MigPackStructs +#pragma pack() +#endif + typedef __Request__exception_raise_state_t __Request; + typedef __Reply__exception_raise_state_t Reply; + + /* + * 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__exception_raise_state_t__defined + kern_return_t check_result; +#endif /* __MIG_check__Request__exception_raise_state_t__defined */ + + __DeclareRcvRpc(2402, "exception_raise_state") + __BeforeRcvRpc(2402, "exception_raise_state") + +#if defined(__MIG_check__Request__exception_raise_state_t__defined) + check_result = __MIG_check__Request__exception_raise_state_t((__Request *)In0P, (__Request **)&In1P); + if (check_result != MACH_MSG_SUCCESS) + { MIG_RETURN_ERROR(OutP, check_result); } +#endif /* defined(__MIG_check__Request__exception_raise_state_t__defined) */ + + OutP->new_stateCnt = 144; + + OutP->RetCode = breakpad_exception_raise_state(In0P->Head.msgh_request_port, In0P->exception, In0P->code, In0P->codeCnt, &In1P->flavor, In1P->old_state, In1P->old_stateCnt, OutP->new_state, &OutP->new_stateCnt); + if (OutP->RetCode != KERN_SUCCESS) { + MIG_RETURN_ERROR(OutP, OutP->RetCode); + } + + OutP->NDR = NDR_record; + + + OutP->flavor = In1P->flavor; + OutP->Head.msgh_size = (mach_msg_size_t)(sizeof(Reply) - 576) + (((4 * OutP->new_stateCnt))); + + __AfterRcvRpc(2402, "exception_raise_state") +} + +#if ( __MigTypeCheck || __NDR_convert__ ) +#if __MIG_check__Request__exc_subsystem__ +#if !defined(__MIG_check__Request__exception_raise_state_identity_t__defined) +#define __MIG_check__Request__exception_raise_state_identity_t__defined +#ifndef __NDR_convert__int_rep__Request__exception_raise_state_identity_t__exception__defined +#if defined(__NDR_convert__int_rep__exc__exception_type_t__defined) +#define __NDR_convert__int_rep__Request__exception_raise_state_identity_t__exception__defined +#define __NDR_convert__int_rep__Request__exception_raise_state_identity_t__exception(a, f) \ + __NDR_convert__int_rep__exc__exception_type_t((exception_type_t *)(a), f) +#elif defined(__NDR_convert__int_rep__exception_type_t__defined) +#define __NDR_convert__int_rep__Request__exception_raise_state_identity_t__exception__defined +#define __NDR_convert__int_rep__Request__exception_raise_state_identity_t__exception(a, f) \ + __NDR_convert__int_rep__exception_type_t((exception_type_t *)(a), f) +#elif defined(__NDR_convert__int_rep__exc__int__defined) +#define __NDR_convert__int_rep__Request__exception_raise_state_identity_t__exception__defined +#define __NDR_convert__int_rep__Request__exception_raise_state_identity_t__exception(a, f) \ + __NDR_convert__int_rep__exc__int((int *)(a), f) +#elif defined(__NDR_convert__int_rep__int__defined) +#define __NDR_convert__int_rep__Request__exception_raise_state_identity_t__exception__defined +#define __NDR_convert__int_rep__Request__exception_raise_state_identity_t__exception(a, f) \ + __NDR_convert__int_rep__int((int *)(a), f) +#elif defined(__NDR_convert__int_rep__exc__int32_t__defined) +#define __NDR_convert__int_rep__Request__exception_raise_state_identity_t__exception__defined +#define __NDR_convert__int_rep__Request__exception_raise_state_identity_t__exception(a, f) \ + __NDR_convert__int_rep__exc__int32_t((int32_t *)(a), f) +#elif defined(__NDR_convert__int_rep__int32_t__defined) +#define __NDR_convert__int_rep__Request__exception_raise_state_identity_t__exception__defined +#define __NDR_convert__int_rep__Request__exception_raise_state_identity_t__exception(a, f) \ + __NDR_convert__int_rep__int32_t((int32_t *)(a), f) +#endif /* defined(__NDR_convert__*__defined) */ +#endif /* __NDR_convert__int_rep__Request__exception_raise_state_identity_t__exception__defined */ + +#ifndef __NDR_convert__int_rep__Request__exception_raise_state_identity_t__code__defined +#if defined(__NDR_convert__int_rep__exc__exception_data_t__defined) +#define __NDR_convert__int_rep__Request__exception_raise_state_identity_t__code__defined +#define __NDR_convert__int_rep__Request__exception_raise_state_identity_t__code(a, f, c) \ + __NDR_convert__int_rep__exc__exception_data_t((exception_data_t *)(a), f, c) +#elif defined(__NDR_convert__int_rep__exception_data_t__defined) +#define __NDR_convert__int_rep__Request__exception_raise_state_identity_t__code__defined +#define __NDR_convert__int_rep__Request__exception_raise_state_identity_t__code(a, f, c) \ + __NDR_convert__int_rep__exception_data_t((exception_data_t *)(a), f, c) +#elif defined(__NDR_convert__int_rep__exc__integer_t__defined) +#define __NDR_convert__int_rep__Request__exception_raise_state_identity_t__code__defined +#define __NDR_convert__int_rep__Request__exception_raise_state_identity_t__code(a, f, c) \ + __NDR_convert__ARRAY((integer_t *)(a), f, c, __NDR_convert__int_rep__exc__integer_t) +#elif defined(__NDR_convert__int_rep__integer_t__defined) +#define __NDR_convert__int_rep__Request__exception_raise_state_identity_t__code__defined +#define __NDR_convert__int_rep__Request__exception_raise_state_identity_t__code(a, f, c) \ + __NDR_convert__ARRAY((integer_t *)(a), f, c, __NDR_convert__int_rep__integer_t) +#elif defined(__NDR_convert__int_rep__exc__int32_t__defined) +#define __NDR_convert__int_rep__Request__exception_raise_state_identity_t__code__defined +#define __NDR_convert__int_rep__Request__exception_raise_state_identity_t__code(a, f, c) \ + __NDR_convert__ARRAY((int32_t *)(a), f, c, __NDR_convert__int_rep__exc__int32_t) +#elif defined(__NDR_convert__int_rep__int32_t__defined) +#define __NDR_convert__int_rep__Request__exception_raise_state_identity_t__code__defined +#define __NDR_convert__int_rep__Request__exception_raise_state_identity_t__code(a, f, c) \ + __NDR_convert__ARRAY((int32_t *)(a), f, c, __NDR_convert__int_rep__int32_t) +#endif /* defined(__NDR_convert__*__defined) */ +#endif /* __NDR_convert__int_rep__Request__exception_raise_state_identity_t__code__defined */ + +#ifndef __NDR_convert__int_rep__Request__exception_raise_state_identity_t__codeCnt__defined +#if defined(__NDR_convert__int_rep__exc__mach_msg_type_number_t__defined) +#define __NDR_convert__int_rep__Request__exception_raise_state_identity_t__codeCnt__defined +#define __NDR_convert__int_rep__Request__exception_raise_state_identity_t__codeCnt(a, f) \ + __NDR_convert__int_rep__exc__mach_msg_type_number_t((mach_msg_type_number_t *)(a), f) +#elif defined(__NDR_convert__int_rep__mach_msg_type_number_t__defined) +#define __NDR_convert__int_rep__Request__exception_raise_state_identity_t__codeCnt__defined +#define __NDR_convert__int_rep__Request__exception_raise_state_identity_t__codeCnt(a, f) \ + __NDR_convert__int_rep__mach_msg_type_number_t((mach_msg_type_number_t *)(a), f) +#endif /* defined(__NDR_convert__*__defined) */ +#endif /* __NDR_convert__int_rep__Request__exception_raise_state_identity_t__codeCnt__defined */ + +#ifndef __NDR_convert__int_rep__Request__exception_raise_state_identity_t__flavor__defined +#if defined(__NDR_convert__int_rep__exc__int__defined) +#define __NDR_convert__int_rep__Request__exception_raise_state_identity_t__flavor__defined +#define __NDR_convert__int_rep__Request__exception_raise_state_identity_t__flavor(a, f) \ + __NDR_convert__int_rep__exc__int((int *)(a), f) +#elif defined(__NDR_convert__int_rep__int__defined) +#define __NDR_convert__int_rep__Request__exception_raise_state_identity_t__flavor__defined +#define __NDR_convert__int_rep__Request__exception_raise_state_identity_t__flavor(a, f) \ + __NDR_convert__int_rep__int((int *)(a), f) +#elif defined(__NDR_convert__int_rep__exc__int32_t__defined) +#define __NDR_convert__int_rep__Request__exception_raise_state_identity_t__flavor__defined +#define __NDR_convert__int_rep__Request__exception_raise_state_identity_t__flavor(a, f) \ + __NDR_convert__int_rep__exc__int32_t((int32_t *)(a), f) +#elif defined(__NDR_convert__int_rep__int32_t__defined) +#define __NDR_convert__int_rep__Request__exception_raise_state_identity_t__flavor__defined +#define __NDR_convert__int_rep__Request__exception_raise_state_identity_t__flavor(a, f) \ + __NDR_convert__int_rep__int32_t((int32_t *)(a), f) +#endif /* defined(__NDR_convert__*__defined) */ +#endif /* __NDR_convert__int_rep__Request__exception_raise_state_identity_t__flavor__defined */ + +#ifndef __NDR_convert__int_rep__Request__exception_raise_state_identity_t__old_state__defined +#if defined(__NDR_convert__int_rep__exc__thread_state_t__defined) +#define __NDR_convert__int_rep__Request__exception_raise_state_identity_t__old_state__defined +#define __NDR_convert__int_rep__Request__exception_raise_state_identity_t__old_state(a, f, c) \ + __NDR_convert__int_rep__exc__thread_state_t((thread_state_t *)(a), f, c) +#elif defined(__NDR_convert__int_rep__thread_state_t__defined) +#define __NDR_convert__int_rep__Request__exception_raise_state_identity_t__old_state__defined +#define __NDR_convert__int_rep__Request__exception_raise_state_identity_t__old_state(a, f, c) \ + __NDR_convert__int_rep__thread_state_t((thread_state_t *)(a), f, c) +#elif defined(__NDR_convert__int_rep__exc__natural_t__defined) +#define __NDR_convert__int_rep__Request__exception_raise_state_identity_t__old_state__defined +#define __NDR_convert__int_rep__Request__exception_raise_state_identity_t__old_state(a, f, c) \ + __NDR_convert__ARRAY((natural_t *)(a), f, c, __NDR_convert__int_rep__exc__natural_t) +#elif defined(__NDR_convert__int_rep__natural_t__defined) +#define __NDR_convert__int_rep__Request__exception_raise_state_identity_t__old_state__defined +#define __NDR_convert__int_rep__Request__exception_raise_state_identity_t__old_state(a, f, c) \ + __NDR_convert__ARRAY((natural_t *)(a), f, c, __NDR_convert__int_rep__natural_t) +#elif defined(__NDR_convert__int_rep__exc__uint32_t__defined) +#define __NDR_convert__int_rep__Request__exception_raise_state_identity_t__old_state__defined +#define __NDR_convert__int_rep__Request__exception_raise_state_identity_t__old_state(a, f, c) \ + __NDR_convert__ARRAY((uint32_t *)(a), f, c, __NDR_convert__int_rep__exc__uint32_t) +#elif defined(__NDR_convert__int_rep__uint32_t__defined) +#define __NDR_convert__int_rep__Request__exception_raise_state_identity_t__old_state__defined +#define __NDR_convert__int_rep__Request__exception_raise_state_identity_t__old_state(a, f, c) \ + __NDR_convert__ARRAY((uint32_t *)(a), f, c, __NDR_convert__int_rep__uint32_t) +#endif /* defined(__NDR_convert__*__defined) */ +#endif /* __NDR_convert__int_rep__Request__exception_raise_state_identity_t__old_state__defined */ + +#ifndef __NDR_convert__int_rep__Request__exception_raise_state_identity_t__old_stateCnt__defined +#if defined(__NDR_convert__int_rep__exc__mach_msg_type_number_t__defined) +#define __NDR_convert__int_rep__Request__exception_raise_state_identity_t__old_stateCnt__defined +#define __NDR_convert__int_rep__Request__exception_raise_state_identity_t__old_stateCnt(a, f) \ + __NDR_convert__int_rep__exc__mach_msg_type_number_t((mach_msg_type_number_t *)(a), f) +#elif defined(__NDR_convert__int_rep__mach_msg_type_number_t__defined) +#define __NDR_convert__int_rep__Request__exception_raise_state_identity_t__old_stateCnt__defined +#define __NDR_convert__int_rep__Request__exception_raise_state_identity_t__old_stateCnt(a, f) \ + __NDR_convert__int_rep__mach_msg_type_number_t((mach_msg_type_number_t *)(a), f) +#endif /* defined(__NDR_convert__*__defined) */ +#endif /* __NDR_convert__int_rep__Request__exception_raise_state_identity_t__old_stateCnt__defined */ + +#ifndef __NDR_convert__char_rep__Request__exception_raise_state_identity_t__exception__defined +#if defined(__NDR_convert__char_rep__exc__exception_type_t__defined) +#define __NDR_convert__char_rep__Request__exception_raise_state_identity_t__exception__defined +#define __NDR_convert__char_rep__Request__exception_raise_state_identity_t__exception(a, f) \ + __NDR_convert__char_rep__exc__exception_type_t((exception_type_t *)(a), f) +#elif defined(__NDR_convert__char_rep__exception_type_t__defined) +#define __NDR_convert__char_rep__Request__exception_raise_state_identity_t__exception__defined +#define __NDR_convert__char_rep__Request__exception_raise_state_identity_t__exception(a, f) \ + __NDR_convert__char_rep__exception_type_t((exception_type_t *)(a), f) +#elif defined(__NDR_convert__char_rep__exc__int__defined) +#define __NDR_convert__char_rep__Request__exception_raise_state_identity_t__exception__defined +#define __NDR_convert__char_rep__Request__exception_raise_state_identity_t__exception(a, f) \ + __NDR_convert__char_rep__exc__int((int *)(a), f) +#elif defined(__NDR_convert__char_rep__int__defined) +#define __NDR_convert__char_rep__Request__exception_raise_state_identity_t__exception__defined +#define __NDR_convert__char_rep__Request__exception_raise_state_identity_t__exception(a, f) \ + __NDR_convert__char_rep__int((int *)(a), f) +#elif defined(__NDR_convert__char_rep__exc__int32_t__defined) +#define __NDR_convert__char_rep__Request__exception_raise_state_identity_t__exception__defined +#define __NDR_convert__char_rep__Request__exception_raise_state_identity_t__exception(a, f) \ + __NDR_convert__char_rep__exc__int32_t((int32_t *)(a), f) +#elif defined(__NDR_convert__char_rep__int32_t__defined) +#define __NDR_convert__char_rep__Request__exception_raise_state_identity_t__exception__defined +#define __NDR_convert__char_rep__Request__exception_raise_state_identity_t__exception(a, f) \ + __NDR_convert__char_rep__int32_t((int32_t *)(a), f) +#endif /* defined(__NDR_convert__*__defined) */ +#endif /* __NDR_convert__char_rep__Request__exception_raise_state_identity_t__exception__defined */ + +#ifndef __NDR_convert__char_rep__Request__exception_raise_state_identity_t__code__defined +#if defined(__NDR_convert__char_rep__exc__exception_data_t__defined) +#define __NDR_convert__char_rep__Request__exception_raise_state_identity_t__code__defined +#define __NDR_convert__char_rep__Request__exception_raise_state_identity_t__code(a, f, c) \ + __NDR_convert__char_rep__exc__exception_data_t((exception_data_t *)(a), f, c) +#elif defined(__NDR_convert__char_rep__exception_data_t__defined) +#define __NDR_convert__char_rep__Request__exception_raise_state_identity_t__code__defined +#define __NDR_convert__char_rep__Request__exception_raise_state_identity_t__code(a, f, c) \ + __NDR_convert__char_rep__exception_data_t((exception_data_t *)(a), f, c) +#elif defined(__NDR_convert__char_rep__exc__integer_t__defined) +#define __NDR_convert__char_rep__Request__exception_raise_state_identity_t__code__defined +#define __NDR_convert__char_rep__Request__exception_raise_state_identity_t__code(a, f, c) \ + __NDR_convert__ARRAY((integer_t *)(a), f, c, __NDR_convert__char_rep__exc__integer_t) +#elif defined(__NDR_convert__char_rep__integer_t__defined) +#define __NDR_convert__char_rep__Request__exception_raise_state_identity_t__code__defined +#define __NDR_convert__char_rep__Request__exception_raise_state_identity_t__code(a, f, c) \ + __NDR_convert__ARRAY((integer_t *)(a), f, c, __NDR_convert__char_rep__integer_t) +#elif defined(__NDR_convert__char_rep__exc__int32_t__defined) +#define __NDR_convert__char_rep__Request__exception_raise_state_identity_t__code__defined +#define __NDR_convert__char_rep__Request__exception_raise_state_identity_t__code(a, f, c) \ + __NDR_convert__ARRAY((int32_t *)(a), f, c, __NDR_convert__char_rep__exc__int32_t) +#elif defined(__NDR_convert__char_rep__int32_t__defined) +#define __NDR_convert__char_rep__Request__exception_raise_state_identity_t__code__defined +#define __NDR_convert__char_rep__Request__exception_raise_state_identity_t__code(a, f, c) \ + __NDR_convert__ARRAY((int32_t *)(a), f, c, __NDR_convert__char_rep__int32_t) +#endif /* defined(__NDR_convert__*__defined) */ +#endif /* __NDR_convert__char_rep__Request__exception_raise_state_identity_t__code__defined */ + +#ifndef __NDR_convert__char_rep__Request__exception_raise_state_identity_t__flavor__defined +#if defined(__NDR_convert__char_rep__exc__int__defined) +#define __NDR_convert__char_rep__Request__exception_raise_state_identity_t__flavor__defined +#define __NDR_convert__char_rep__Request__exception_raise_state_identity_t__flavor(a, f) \ + __NDR_convert__char_rep__exc__int((int *)(a), f) +#elif defined(__NDR_convert__char_rep__int__defined) +#define __NDR_convert__char_rep__Request__exception_raise_state_identity_t__flavor__defined +#define __NDR_convert__char_rep__Request__exception_raise_state_identity_t__flavor(a, f) \ + __NDR_convert__char_rep__int((int *)(a), f) +#elif defined(__NDR_convert__char_rep__exc__int32_t__defined) +#define __NDR_convert__char_rep__Request__exception_raise_state_identity_t__flavor__defined +#define __NDR_convert__char_rep__Request__exception_raise_state_identity_t__flavor(a, f) \ + __NDR_convert__char_rep__exc__int32_t((int32_t *)(a), f) +#elif defined(__NDR_convert__char_rep__int32_t__defined) +#define __NDR_convert__char_rep__Request__exception_raise_state_identity_t__flavor__defined +#define __NDR_convert__char_rep__Request__exception_raise_state_identity_t__flavor(a, f) \ + __NDR_convert__char_rep__int32_t((int32_t *)(a), f) +#endif /* defined(__NDR_convert__*__defined) */ +#endif /* __NDR_convert__char_rep__Request__exception_raise_state_identity_t__flavor__defined */ + +#ifndef __NDR_convert__char_rep__Request__exception_raise_state_identity_t__old_state__defined +#if defined(__NDR_convert__char_rep__exc__thread_state_t__defined) +#define __NDR_convert__char_rep__Request__exception_raise_state_identity_t__old_state__defined +#define __NDR_convert__char_rep__Request__exception_raise_state_identity_t__old_state(a, f, c) \ + __NDR_convert__char_rep__exc__thread_state_t((thread_state_t *)(a), f, c) +#elif defined(__NDR_convert__char_rep__thread_state_t__defined) +#define __NDR_convert__char_rep__Request__exception_raise_state_identity_t__old_state__defined +#define __NDR_convert__char_rep__Request__exception_raise_state_identity_t__old_state(a, f, c) \ + __NDR_convert__char_rep__thread_state_t((thread_state_t *)(a), f, c) +#elif defined(__NDR_convert__char_rep__exc__natural_t__defined) +#define __NDR_convert__char_rep__Request__exception_raise_state_identity_t__old_state__defined +#define __NDR_convert__char_rep__Request__exception_raise_state_identity_t__old_state(a, f, c) \ + __NDR_convert__ARRAY((natural_t *)(a), f, c, __NDR_convert__char_rep__exc__natural_t) +#elif defined(__NDR_convert__char_rep__natural_t__defined) +#define __NDR_convert__char_rep__Request__exception_raise_state_identity_t__old_state__defined +#define __NDR_convert__char_rep__Request__exception_raise_state_identity_t__old_state(a, f, c) \ + __NDR_convert__ARRAY((natural_t *)(a), f, c, __NDR_convert__char_rep__natural_t) +#elif defined(__NDR_convert__char_rep__exc__uint32_t__defined) +#define __NDR_convert__char_rep__Request__exception_raise_state_identity_t__old_state__defined +#define __NDR_convert__char_rep__Request__exception_raise_state_identity_t__old_state(a, f, c) \ + __NDR_convert__ARRAY((uint32_t *)(a), f, c, __NDR_convert__char_rep__exc__uint32_t) +#elif defined(__NDR_convert__char_rep__uint32_t__defined) +#define __NDR_convert__char_rep__Request__exception_raise_state_identity_t__old_state__defined +#define __NDR_convert__char_rep__Request__exception_raise_state_identity_t__old_state(a, f, c) \ + __NDR_convert__ARRAY((uint32_t *)(a), f, c, __NDR_convert__char_rep__uint32_t) +#endif /* defined(__NDR_convert__*__defined) */ +#endif /* __NDR_convert__char_rep__Request__exception_raise_state_identity_t__old_state__defined */ + +#ifndef __NDR_convert__float_rep__Request__exception_raise_state_identity_t__exception__defined +#if defined(__NDR_convert__float_rep__exc__exception_type_t__defined) +#define __NDR_convert__float_rep__Request__exception_raise_state_identity_t__exception__defined +#define __NDR_convert__float_rep__Request__exception_raise_state_identity_t__exception(a, f) \ + __NDR_convert__float_rep__exc__exception_type_t((exception_type_t *)(a), f) +#elif defined(__NDR_convert__float_rep__exception_type_t__defined) +#define __NDR_convert__float_rep__Request__exception_raise_state_identity_t__exception__defined +#define __NDR_convert__float_rep__Request__exception_raise_state_identity_t__exception(a, f) \ + __NDR_convert__float_rep__exception_type_t((exception_type_t *)(a), f) +#elif defined(__NDR_convert__float_rep__exc__int__defined) +#define __NDR_convert__float_rep__Request__exception_raise_state_identity_t__exception__defined +#define __NDR_convert__float_rep__Request__exception_raise_state_identity_t__exception(a, f) \ + __NDR_convert__float_rep__exc__int((int *)(a), f) +#elif defined(__NDR_convert__float_rep__int__defined) +#define __NDR_convert__float_rep__Request__exception_raise_state_identity_t__exception__defined +#define __NDR_convert__float_rep__Request__exception_raise_state_identity_t__exception(a, f) \ + __NDR_convert__float_rep__int((int *)(a), f) +#elif defined(__NDR_convert__float_rep__exc__int32_t__defined) +#define __NDR_convert__float_rep__Request__exception_raise_state_identity_t__exception__defined +#define __NDR_convert__float_rep__Request__exception_raise_state_identity_t__exception(a, f) \ + __NDR_convert__float_rep__exc__int32_t((int32_t *)(a), f) +#elif defined(__NDR_convert__float_rep__int32_t__defined) +#define __NDR_convert__float_rep__Request__exception_raise_state_identity_t__exception__defined +#define __NDR_convert__float_rep__Request__exception_raise_state_identity_t__exception(a, f) \ + __NDR_convert__float_rep__int32_t((int32_t *)(a), f) +#endif /* defined(__NDR_convert__*__defined) */ +#endif /* __NDR_convert__float_rep__Request__exception_raise_state_identity_t__exception__defined */ + +#ifndef __NDR_convert__float_rep__Request__exception_raise_state_identity_t__code__defined +#if defined(__NDR_convert__float_rep__exc__exception_data_t__defined) +#define __NDR_convert__float_rep__Request__exception_raise_state_identity_t__code__defined +#define __NDR_convert__float_rep__Request__exception_raise_state_identity_t__code(a, f, c) \ + __NDR_convert__float_rep__exc__exception_data_t((exception_data_t *)(a), f, c) +#elif defined(__NDR_convert__float_rep__exception_data_t__defined) +#define __NDR_convert__float_rep__Request__exception_raise_state_identity_t__code__defined +#define __NDR_convert__float_rep__Request__exception_raise_state_identity_t__code(a, f, c) \ + __NDR_convert__float_rep__exception_data_t((exception_data_t *)(a), f, c) +#elif defined(__NDR_convert__float_rep__exc__integer_t__defined) +#define __NDR_convert__float_rep__Request__exception_raise_state_identity_t__code__defined +#define __NDR_convert__float_rep__Request__exception_raise_state_identity_t__code(a, f, c) \ + __NDR_convert__ARRAY((integer_t *)(a), f, c, __NDR_convert__float_rep__exc__integer_t) +#elif defined(__NDR_convert__float_rep__integer_t__defined) +#define __NDR_convert__float_rep__Request__exception_raise_state_identity_t__code__defined +#define __NDR_convert__float_rep__Request__exception_raise_state_identity_t__code(a, f, c) \ + __NDR_convert__ARRAY((integer_t *)(a), f, c, __NDR_convert__float_rep__integer_t) +#elif defined(__NDR_convert__float_rep__exc__int32_t__defined) +#define __NDR_convert__float_rep__Request__exception_raise_state_identity_t__code__defined +#define __NDR_convert__float_rep__Request__exception_raise_state_identity_t__code(a, f, c) \ + __NDR_convert__ARRAY((int32_t *)(a), f, c, __NDR_convert__float_rep__exc__int32_t) +#elif defined(__NDR_convert__float_rep__int32_t__defined) +#define __NDR_convert__float_rep__Request__exception_raise_state_identity_t__code__defined +#define __NDR_convert__float_rep__Request__exception_raise_state_identity_t__code(a, f, c) \ + __NDR_convert__ARRAY((int32_t *)(a), f, c, __NDR_convert__float_rep__int32_t) +#endif /* defined(__NDR_convert__*__defined) */ +#endif /* __NDR_convert__float_rep__Request__exception_raise_state_identity_t__code__defined */ + +#ifndef __NDR_convert__float_rep__Request__exception_raise_state_identity_t__flavor__defined +#if defined(__NDR_convert__float_rep__exc__int__defined) +#define __NDR_convert__float_rep__Request__exception_raise_state_identity_t__flavor__defined +#define __NDR_convert__float_rep__Request__exception_raise_state_identity_t__flavor(a, f) \ + __NDR_convert__float_rep__exc__int((int *)(a), f) +#elif defined(__NDR_convert__float_rep__int__defined) +#define __NDR_convert__float_rep__Request__exception_raise_state_identity_t__flavor__defined +#define __NDR_convert__float_rep__Request__exception_raise_state_identity_t__flavor(a, f) \ + __NDR_convert__float_rep__int((int *)(a), f) +#elif defined(__NDR_convert__float_rep__exc__int32_t__defined) +#define __NDR_convert__float_rep__Request__exception_raise_state_identity_t__flavor__defined +#define __NDR_convert__float_rep__Request__exception_raise_state_identity_t__flavor(a, f) \ + __NDR_convert__float_rep__exc__int32_t((int32_t *)(a), f) +#elif defined(__NDR_convert__float_rep__int32_t__defined) +#define __NDR_convert__float_rep__Request__exception_raise_state_identity_t__flavor__defined +#define __NDR_convert__float_rep__Request__exception_raise_state_identity_t__flavor(a, f) \ + __NDR_convert__float_rep__int32_t((int32_t *)(a), f) +#endif /* defined(__NDR_convert__*__defined) */ +#endif /* __NDR_convert__float_rep__Request__exception_raise_state_identity_t__flavor__defined */ + +#ifndef __NDR_convert__float_rep__Request__exception_raise_state_identity_t__old_state__defined +#if defined(__NDR_convert__float_rep__exc__thread_state_t__defined) +#define __NDR_convert__float_rep__Request__exception_raise_state_identity_t__old_state__defined +#define __NDR_convert__float_rep__Request__exception_raise_state_identity_t__old_state(a, f, c) \ + __NDR_convert__float_rep__exc__thread_state_t((thread_state_t *)(a), f, c) +#elif defined(__NDR_convert__float_rep__thread_state_t__defined) +#define __NDR_convert__float_rep__Request__exception_raise_state_identity_t__old_state__defined +#define __NDR_convert__float_rep__Request__exception_raise_state_identity_t__old_state(a, f, c) \ + __NDR_convert__float_rep__thread_state_t((thread_state_t *)(a), f, c) +#elif defined(__NDR_convert__float_rep__exc__natural_t__defined) +#define __NDR_convert__float_rep__Request__exception_raise_state_identity_t__old_state__defined +#define __NDR_convert__float_rep__Request__exception_raise_state_identity_t__old_state(a, f, c) \ + __NDR_convert__ARRAY((natural_t *)(a), f, c, __NDR_convert__float_rep__exc__natural_t) +#elif defined(__NDR_convert__float_rep__natural_t__defined) +#define __NDR_convert__float_rep__Request__exception_raise_state_identity_t__old_state__defined +#define __NDR_convert__float_rep__Request__exception_raise_state_identity_t__old_state(a, f, c) \ + __NDR_convert__ARRAY((natural_t *)(a), f, c, __NDR_convert__float_rep__natural_t) +#elif defined(__NDR_convert__float_rep__exc__uint32_t__defined) +#define __NDR_convert__float_rep__Request__exception_raise_state_identity_t__old_state__defined +#define __NDR_convert__float_rep__Request__exception_raise_state_identity_t__old_state(a, f, c) \ + __NDR_convert__ARRAY((uint32_t *)(a), f, c, __NDR_convert__float_rep__exc__uint32_t) +#elif defined(__NDR_convert__float_rep__uint32_t__defined) +#define __NDR_convert__float_rep__Request__exception_raise_state_identity_t__old_state__defined +#define __NDR_convert__float_rep__Request__exception_raise_state_identity_t__old_state(a, f, c) \ + __NDR_convert__ARRAY((uint32_t *)(a), f, c, __NDR_convert__float_rep__uint32_t) +#endif /* defined(__NDR_convert__*__defined) */ +#endif /* __NDR_convert__float_rep__Request__exception_raise_state_identity_t__old_state__defined */ + + +mig_internal kern_return_t __MIG_check__Request__exception_raise_state_identity_t(__attribute__((__unused__)) __Request__exception_raise_state_identity_t *In0P, __attribute__((__unused__)) __Request__exception_raise_state_identity_t **In1PP) +{ + + typedef __Request__exception_raise_state_identity_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) || + (In0P->msgh_body.msgh_descriptor_count != 2) || + (msgh_size < (mach_msg_size_t)(sizeof(__Request) - 584)) || (msgh_size > (mach_msg_size_t)sizeof(__Request)) +) + return MIG_BAD_ARGUMENTS; +#endif /* __MigTypeCheck */ + +#if __MigTypeCheck + if (In0P->thread.type != MACH_MSG_PORT_DESCRIPTOR || + In0P->thread.disposition != 17) + return MIG_TYPE_ERROR; +#endif /* __MigTypeCheck */ + +#if __MigTypeCheck + if (In0P->task.type != MACH_MSG_PORT_DESCRIPTOR || + In0P->task.disposition != 17) + return MIG_TYPE_ERROR; +#endif /* __MigTypeCheck */ + +#if defined(__NDR_convert__int_rep__Request__exception_raise_state_identity_t__codeCnt__defined) + if (In0P->NDR.int_rep != NDR_record.int_rep) + __NDR_convert__int_rep__Request__exception_raise_state_identity_t__codeCnt(&In0P->codeCnt, In0P->NDR.int_rep); +#endif /* __NDR_convert__int_rep__Request__exception_raise_state_identity_t__codeCnt__defined */ + msgh_size_delta = (4 * In0P->codeCnt); +#if __MigTypeCheck + if (msgh_size < (mach_msg_size_t)(sizeof(__Request) - 584) + msgh_size_delta) + return MIG_BAD_ARGUMENTS; + msgh_size -= msgh_size_delta; +#endif /* __MigTypeCheck */ + + *In1PP = In1P = (__Request *) ((pointer_t) In0P + msgh_size_delta - 8); + +#if defined(__NDR_convert__int_rep__Request__exception_raise_state_identity_t__old_stateCnt__defined) + if (In0P->NDR.int_rep != NDR_record.int_rep) + __NDR_convert__int_rep__Request__exception_raise_state_identity_t__old_stateCnt(&In1P->old_stateCnt, In1P->NDR.int_rep); +#endif /* __NDR_convert__int_rep__Request__exception_raise_state_identity_t__old_stateCnt__defined */ +#if __MigTypeCheck + if (msgh_size != (mach_msg_size_t)(sizeof(__Request) - 584) + ((4 * In1P->old_stateCnt))) + return MIG_BAD_ARGUMENTS; +#endif /* __MigTypeCheck */ + +#if defined(__NDR_convert__int_rep__Request__exception_raise_state_identity_t__exception__defined) || \ + defined(__NDR_convert__int_rep__Request__exception_raise_state_identity_t__code__defined) || \ + defined(__NDR_convert__int_rep__Request__exception_raise_state_identity_t__codeCnt__defined) || \ + defined(__NDR_convert__int_rep__Request__exception_raise_state_identity_t__flavor__defined) || \ + defined(__NDR_convert__int_rep__Request__exception_raise_state_identity_t__old_state__defined) || \ + defined(__NDR_convert__int_rep__Request__exception_raise_state_identity_t__old_stateCnt__defined) + if (In0P->NDR.int_rep != NDR_record.int_rep) { +#if defined(__NDR_convert__int_rep__Request__exception_raise_state_identity_t__exception__defined) + __NDR_convert__int_rep__Request__exception_raise_state_identity_t__exception(&In0P->exception, In0P->NDR.int_rep); +#endif /* __NDR_convert__int_rep__Request__exception_raise_state_identity_t__exception__defined */ +#if defined(__NDR_convert__int_rep__Request__exception_raise_state_identity_t__code__defined) + __NDR_convert__int_rep__Request__exception_raise_state_identity_t__code(&In0P->code, In0P->NDR.int_rep, In0P->codeCnt); +#endif /* __NDR_convert__int_rep__Request__exception_raise_state_identity_t__code__defined */ +#if defined(__NDR_convert__int_rep__Request__exception_raise_state_identity_t__flavor__defined) + __NDR_convert__int_rep__Request__exception_raise_state_identity_t__flavor(&In1P->flavor, In0P->NDR.int_rep); +#endif /* __NDR_convert__int_rep__Request__exception_raise_state_identity_t__flavor__defined */ +#if defined(__NDR_convert__int_rep__Request__exception_raise_state_identity_t__old_state__defined) + __NDR_convert__int_rep__Request__exception_raise_state_identity_t__old_state(&In1P->old_state, In0P->NDR.int_rep, In1P->old_stateCnt); +#endif /* __NDR_convert__int_rep__Request__exception_raise_state_identity_t__old_state__defined */ + } +#endif /* defined(__NDR_convert__int_rep...) */ + +#if defined(__NDR_convert__char_rep__Request__exception_raise_state_identity_t__exception__defined) || \ + defined(__NDR_convert__char_rep__Request__exception_raise_state_identity_t__code__defined) || \ + 0 || \ + defined(__NDR_convert__char_rep__Request__exception_raise_state_identity_t__flavor__defined) || \ + defined(__NDR_convert__char_rep__Request__exception_raise_state_identity_t__old_state__defined) || \ + 0 + if (In0P->NDR.char_rep != NDR_record.char_rep) { +#if defined(__NDR_convert__char_rep__Request__exception_raise_state_identity_t__exception__defined) + __NDR_convert__char_rep__Request__exception_raise_state_identity_t__exception(&In0P->exception, In0P->NDR.char_rep); +#endif /* __NDR_convert__char_rep__Request__exception_raise_state_identity_t__exception__defined */ +#if defined(__NDR_convert__char_rep__Request__exception_raise_state_identity_t__code__defined) + __NDR_convert__char_rep__Request__exception_raise_state_identity_t__code(&In0P->code, In0P->NDR.char_rep, In0P->codeCnt); +#endif /* __NDR_convert__char_rep__Request__exception_raise_state_identity_t__code__defined */ +#if defined(__NDR_convert__char_rep__Request__exception_raise_state_identity_t__flavor__defined) + __NDR_convert__char_rep__Request__exception_raise_state_identity_t__flavor(&In1P->flavor, In0P->NDR.char_rep); +#endif /* __NDR_convert__char_rep__Request__exception_raise_state_identity_t__flavor__defined */ +#if defined(__NDR_convert__char_rep__Request__exception_raise_state_identity_t__old_state__defined) + __NDR_convert__char_rep__Request__exception_raise_state_identity_t__old_state(&In1P->old_state, In0P->NDR.char_rep, In1P->old_stateCnt); +#endif /* __NDR_convert__char_rep__Request__exception_raise_state_identity_t__old_state__defined */ + } +#endif /* defined(__NDR_convert__char_rep...) */ + +#if defined(__NDR_convert__float_rep__Request__exception_raise_state_identity_t__exception__defined) || \ + defined(__NDR_convert__float_rep__Request__exception_raise_state_identity_t__code__defined) || \ + 0 || \ + defined(__NDR_convert__float_rep__Request__exception_raise_state_identity_t__flavor__defined) || \ + defined(__NDR_convert__float_rep__Request__exception_raise_state_identity_t__old_state__defined) || \ + 0 + if (In0P->NDR.float_rep != NDR_record.float_rep) { +#if defined(__NDR_convert__float_rep__Request__exception_raise_state_identity_t__exception__defined) + __NDR_convert__float_rep__Request__exception_raise_state_identity_t__exception(&In0P->exception, In0P->NDR.float_rep); +#endif /* __NDR_convert__float_rep__Request__exception_raise_state_identity_t__exception__defined */ +#if defined(__NDR_convert__float_rep__Request__exception_raise_state_identity_t__code__defined) + __NDR_convert__float_rep__Request__exception_raise_state_identity_t__code(&In0P->code, In0P->NDR.float_rep, In0P->codeCnt); +#endif /* __NDR_convert__float_rep__Request__exception_raise_state_identity_t__code__defined */ +#if defined(__NDR_convert__float_rep__Request__exception_raise_state_identity_t__flavor__defined) + __NDR_convert__float_rep__Request__exception_raise_state_identity_t__flavor(&In1P->flavor, In0P->NDR.float_rep); +#endif /* __NDR_convert__float_rep__Request__exception_raise_state_identity_t__flavor__defined */ +#if defined(__NDR_convert__float_rep__Request__exception_raise_state_identity_t__old_state__defined) + __NDR_convert__float_rep__Request__exception_raise_state_identity_t__old_state(&In1P->old_state, In0P->NDR.float_rep, In1P->old_stateCnt); +#endif /* __NDR_convert__float_rep__Request__exception_raise_state_identity_t__old_state__defined */ + } +#endif /* defined(__NDR_convert__float_rep...) */ + + return MACH_MSG_SUCCESS; +} +#endif /* !defined(__MIG_check__Request__exception_raise_state_identity_t__defined) */ +#endif /* __MIG_check__Request__exc_subsystem__ */ +#endif /* ( __MigTypeCheck || __NDR_convert__ ) */ + + +/* Routine exception_raise_state_identity */ +#ifdef mig_external +mig_external +#else +extern +#endif /* mig_external */ +kern_return_t breakpad_exception_raise_state_identity +( + mach_port_t exception_port, + mach_port_t thread, + mach_port_t task, + exception_type_t exception, + 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 +); + +/* Routine exception_raise_state_identity */ +mig_internal novalue _Xexception_raise_state_identity + (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 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; + integer_t code[2]; + int flavor; + mach_msg_type_number_t old_stateCnt; + natural_t old_state[144]; + mach_msg_trailer_t trailer; + } Request; +#ifdef __MigPackStructs +#pragma pack() +#endif + typedef __Request__exception_raise_state_identity_t __Request; + typedef __Reply__exception_raise_state_identity_t Reply; + + /* + * 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__exception_raise_state_identity_t__defined + kern_return_t check_result; +#endif /* __MIG_check__Request__exception_raise_state_identity_t__defined */ + + __DeclareRcvRpc(2403, "exception_raise_state_identity") + __BeforeRcvRpc(2403, "exception_raise_state_identity") + +#if defined(__MIG_check__Request__exception_raise_state_identity_t__defined) + check_result = __MIG_check__Request__exception_raise_state_identity_t((__Request *)In0P, (__Request **)&In1P); + if (check_result != MACH_MSG_SUCCESS) + { MIG_RETURN_ERROR(OutP, check_result); } +#endif /* defined(__MIG_check__Request__exception_raise_state_identity_t__defined) */ + + OutP->new_stateCnt = 144; + + OutP->RetCode = breakpad_exception_raise_state_identity(In0P->Head.msgh_request_port, In0P->thread.name, In0P->task.name, In0P->exception, In0P->code, In0P->codeCnt, &In1P->flavor, In1P->old_state, In1P->old_stateCnt, OutP->new_state, &OutP->new_stateCnt); + if (OutP->RetCode != KERN_SUCCESS) { + MIG_RETURN_ERROR(OutP, OutP->RetCode); + } + + OutP->NDR = NDR_record; + + + OutP->flavor = In1P->flavor; + OutP->Head.msgh_size = (mach_msg_size_t)(sizeof(Reply) - 576) + (((4 * OutP->new_stateCnt))); + + __AfterRcvRpc(2403, "exception_raise_state_identity") +} + + +extern boolean_t exc_server( + mach_msg_header_t *InHeadP, + mach_msg_header_t *OutHeadP); + +extern mig_routine_t exc_server_routine( + mach_msg_header_t *InHeadP); + + +/* Description of this subsystem, for use in direct RPC */ +const struct breakpad_exc_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[3]; +} breakpad_exc_subsystem = { + exc_server_routine, + 2401, + 2404, + (mach_msg_size_t)sizeof(union __ReplyUnion__breakpad_exc_subsystem), + (vm_address_t)0, + { + { (mig_impl_routine_t) 0, + (mig_stub_routine_t) _Xexception_raise, 6, 0, (routine_arg_descriptor_t)0, (mach_msg_size_t)sizeof(__Reply__exception_raise_t)}, + { (mig_impl_routine_t) 0, + (mig_stub_routine_t) _Xexception_raise_state, 9, 0, (routine_arg_descriptor_t)0, (mach_msg_size_t)sizeof(__Reply__exception_raise_state_t)}, + { (mig_impl_routine_t) 0, + (mig_stub_routine_t) _Xexception_raise_state_identity, 11, 0, (routine_arg_descriptor_t)0, (mach_msg_size_t)sizeof(__Reply__exception_raise_state_identity_t)}, + } +}; + +mig_external boolean_t exc_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 > 2403) || (InHeadP->msgh_id < 2401) || + ((routine = breakpad_exc_subsystem.routine[InHeadP->msgh_id - 2401].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 exc_server_routine + (mach_msg_header_t *InHeadP) +{ + register int msgh_id; + + msgh_id = InHeadP->msgh_id - 2401; + + if ((msgh_id > 2) || (msgh_id < 0)) + return 0; + + return breakpad_exc_subsystem.routine[msgh_id].stub_routine; +} diff --git a/src/client/mac/handler/breakpad_exc_server.h b/src/client/mac/handler/breakpad_exc_server.h new file mode 100644 index 00000000..c05f25a8 --- /dev/null +++ b/src/client/mac/handler/breakpad_exc_server.h @@ -0,0 +1,258 @@ +#ifndef _exc_user_ +#define _exc_user_ + +/* Module exc */ + +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#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 exc_MSG_COUNT +#define exc_MSG_COUNT 3 +#endif /* exc_MSG_COUNT */ + +#include +#include +#include +#include + +#ifdef __BeforeMigUserHeader +__BeforeMigUserHeader +#endif /* __BeforeMigUserHeader */ + +#include +__BEGIN_DECLS + + +/* Routine exception_raise */ +#ifdef mig_external +mig_external +#else +extern +#endif /* mig_external */ +kern_return_t exception_raise +( + mach_port_t exception_port, + mach_port_t thread, + mach_port_t task, + exception_type_t exception, + exception_data_t code, + mach_msg_type_number_t codeCnt +); + +/* Routine exception_raise_state */ +#ifdef mig_external +mig_external +#else +extern +#endif /* mig_external */ +kern_return_t exception_raise_state +( + mach_port_t exception_port, + exception_type_t exception, + const 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 exception_raise_state_identity */ +#ifdef mig_external +mig_external +#else +extern +#endif /* mig_external */ +kern_return_t exception_raise_state_identity +( + mach_port_t exception_port, + mach_port_t thread, + mach_port_t task, + exception_type_t exception, + 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__exc_subsystem__defined +#define __Request__exc_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 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; + integer_t code[2]; + } __Request__exception_raise_t; +#ifdef __MigPackStructs +#pragma pack() +#endif + +#ifdef __MigPackStructs +#pragma pack(4) +#endif + typedef struct { + mach_msg_header_t Head; + NDR_record_t NDR; + exception_type_t exception; + mach_msg_type_number_t codeCnt; + integer_t code[2]; + int flavor; + mach_msg_type_number_t old_stateCnt; + natural_t old_state[144]; + } __Request__exception_raise_state_t; +#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 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; + integer_t code[2]; + int flavor; + mach_msg_type_number_t old_stateCnt; + natural_t old_state[144]; + } __Request__exception_raise_state_identity_t; +#ifdef __MigPackStructs +#pragma pack() +#endif +#endif /* !__Request__exc_subsystem__defined */ + +/* union of all requests */ + +#ifndef __RequestUnion__exc_subsystem__defined +#define __RequestUnion__exc_subsystem__defined +union __RequestUnion__exc_subsystem { + __Request__exception_raise_t Request_exception_raise; + __Request__exception_raise_state_t Request_exception_raise_state; + __Request__exception_raise_state_identity_t Request_exception_raise_state_identity; +}; +#endif /* !__RequestUnion__exc_subsystem__defined */ +/* typedefs for all replies */ + +#ifndef __Reply__exc_subsystem__defined +#define __Reply__exc_subsystem__defined + +#ifdef __MigPackStructs +#pragma pack(4) +#endif + typedef struct { + mach_msg_header_t Head; + NDR_record_t NDR; + kern_return_t RetCode; + } __Reply__exception_raise_t; +#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 flavor; + mach_msg_type_number_t new_stateCnt; + natural_t new_state[144]; + } __Reply__exception_raise_state_t; +#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 flavor; + mach_msg_type_number_t new_stateCnt; + natural_t new_state[144]; + } __Reply__exception_raise_state_identity_t; +#ifdef __MigPackStructs +#pragma pack() +#endif +#endif /* !__Reply__exc_subsystem__defined */ + +/* union of all replies */ + +#ifndef __ReplyUnion__exc_subsystem__defined +#define __ReplyUnion__exc_subsystem__defined +union __ReplyUnion__exc_subsystem { + __Reply__exception_raise_t Reply_exception_raise; + __Reply__exception_raise_state_t Reply_exception_raise_state; + __Reply__exception_raise_state_identity_t Reply_exception_raise_state_identity; +}; +#endif /* !__RequestUnion__exc_subsystem__defined */ + +#ifndef subsystem_to_name_map_exc +#define subsystem_to_name_map_exc \ + { "exception_raise", 2401 },\ + { "exception_raise_state", 2402 },\ + { "exception_raise_state_identity", 2403 } +#endif + +#ifdef __AfterMigUserHeader +__AfterMigUserHeader +#endif /* __AfterMigUserHeader */ + +#endif /* _exc_user_ */ diff --git a/src/client/mac/handler/exception_handler.cc b/src/client/mac/handler/exception_handler.cc index 4fdba7d8..41ffb194 100644 --- a/src/client/mac/handler/exception_handler.cc +++ b/src/client/mac/handler/exception_handler.cc @@ -137,8 +137,79 @@ extern "C" mach_msg_type_number_t thread_state_count, thread_state_t thread_state, mach_msg_type_number_t *thread_state_count); + + kern_return_t breakpad_exception_raise_state(mach_port_t exception_port, + exception_type_t exception, + const 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 + ); + + kern_return_t breakpad_exception_raise_state_identity(mach_port_t exception_port, + mach_port_t thread, + mach_port_t task, + exception_type_t exception, + 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 + ); + + kern_return_t breakpad_exception_raise(mach_port_t port, mach_port_t failed_thread, + mach_port_t task, + exception_type_t exception, + exception_data_t code, + mach_msg_type_number_t code_count); +} + + + +kern_return_t breakpad_exception_raise_state(mach_port_t exception_port, + exception_type_t exception, + const 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 + ) +{ + return KERN_SUCCESS; } +kern_return_t breakpad_exception_raise_state_identity(mach_port_t exception_port, + mach_port_t thread, + mach_port_t task, + exception_type_t exception, + 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 + ) +{ + return KERN_SUCCESS; +} + +kern_return_t breakpad_exception_raise(mach_port_t port, mach_port_t failed_thread, + mach_port_t task, + exception_type_t exception, + exception_data_t code, + mach_msg_type_number_t code_count) { + return ForwardException(task, failed_thread, exception, code, code_count); +} + + ExceptionHandler::ExceptionHandler(const string &dump_path, FilterCallback filter, MinidumpCallback callback, diff --git a/src/client/mac/handler/minidump_test.xcodeproj/project.pbxproj b/src/client/mac/handler/minidump_test.xcodeproj/project.pbxproj index 6b6f37cf..c0b09e8b 100644 --- a/src/client/mac/handler/minidump_test.xcodeproj/project.pbxproj +++ b/src/client/mac/handler/minidump_test.xcodeproj/project.pbxproj @@ -112,6 +112,8 @@ D2F651080BEF949A00920385 /* dynamic_images.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = dynamic_images.h; sourceTree = ""; }; D2F6510C0BEF94EB00920385 /* macho_walker.cc */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; name = macho_walker.cc; path = ../../../common/mac/macho_walker.cc; sourceTree = SOURCE_ROOT; }; D2F6510D0BEF94EB00920385 /* macho_walker.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = macho_walker.h; path = ../../../common/mac/macho_walker.h; sourceTree = SOURCE_ROOT; }; + F917C4F70E03265A00F86017 /* breakpad_exc_server.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = breakpad_exc_server.c; sourceTree = ""; }; + F917C4F80E03265A00F86017 /* breakpad_exc_server.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = breakpad_exc_server.h; sourceTree = ""; }; F982089A0DB3280D0017AECA /* breakpad_nlist_test.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = breakpad_nlist_test.h; sourceTree = ""; }; F982089B0DB3280D0017AECA /* breakpad_nlist_test.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = breakpad_nlist_test.cc; sourceTree = ""; }; F98208A10DB32CAE0017AECA /* breakpad_nlist_64.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = breakpad_nlist_64.cc; sourceTree = ""; }; @@ -168,6 +170,8 @@ 08FB7794FE84155DC02AAC07 /* MinidumpWriter */ = { isa = PBXGroup; children = ( + F917C4F70E03265A00F86017 /* breakpad_exc_server.c */, + F917C4F80E03265A00F86017 /* breakpad_exc_server.h */, F98208A10DB32CAE0017AECA /* breakpad_nlist_64.cc */, F98208A20DB32CAE0017AECA /* breakpad_nlist_64.h */, D2F6510C0BEF94EB00920385 /* macho_walker.cc */, -- cgit v1.2.1