|
|
1.1 ! root 1: /* ! 2: * Copyright (c) 2000 Apple Computer, Inc. All rights reserved. ! 3: * ! 4: * @APPLE_LICENSE_HEADER_START@ ! 5: * ! 6: * The contents of this file constitute Original Code as defined in and ! 7: * are subject to the Apple Public Source License Version 1.1 (the ! 8: * "License"). You may not use this file except in compliance with the ! 9: * License. Please obtain a copy of the License at ! 10: * http://www.apple.com/publicsource and read it before using this file. ! 11: * ! 12: * This Original Code and all software distributed under the License are ! 13: * distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY KIND, EITHER ! 14: * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, ! 15: * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, ! 16: * FITNESS FOR A PARTICULAR PURPOSE OR NON-INFRINGEMENT. Please see the ! 17: * License for the specific language governing rights and limitations ! 18: * under the License. ! 19: * ! 20: * @APPLE_LICENSE_HEADER_END@ ! 21: */ ! 22: /* ! 23: * @OSF_COPYRIGHT@ ! 24: */ ! 25: ! 26: #ifndef _IPC_MIG_H_ ! 27: #define _IPC_MIG_H_ ! 28: ! 29: #include <mach/message.h> ! 30: #include <sys/kdebug.h> ! 31: ! 32: /* ! 33: * Define the trace points for MIG-generated calls. One traces the input parameters ! 34: * to MIG called things, another traces the outputs, and one traces bad message IDs. ! 35: */ ! 36: #ifdef _MIG_TRACE_PARAMETERS_ ! 37: ! 38: #define __BeforeRcvCallTrace(msgid,arg1,arg2,arg3,arg4) \ ! 39: KERNEL_DEBUG_CONSTANT(KDBG_MIGCODE(msgid) | DBG_FUNC_START, \ ! 40: (unsigned int)(arg1), \ ! 41: (unsigned int)(arg2), \ ! 42: (unsigned int)(arg3), \ ! 43: (unsigned int)(arg4), \ ! 44: (unsigned int)(0)); ! 45: ! 46: #define __AfterRcvCallTrace(msgid,arg1,arg2,arg3,arg4) \ ! 47: KERNEL_DEBUG_CONSTANT(KDBG_MIGCODE(msgid) | DBG_FUNC_END, \ ! 48: (unsigned int)(arg1), \ ! 49: (unsigned int)(arg2), \ ! 50: (unsigned int)(arg3), \ ! 51: (unsigned int)(arg4), \ ! 52: (unsigned int)(0)); ! 53: ! 54: #define __BeforeSimpleCallTrace(msgid,arg1,arg2,arg3,arg4) \ ! 55: KERNEL_DEBUG_CONSTANT(KDBG_MIGCODE(msgid) | DBG_FUNC_START, \ ! 56: (unsigned int)(arg1), \ ! 57: (unsigned int)(arg2), \ ! 58: (unsigned int)(arg3), \ ! 59: (unsigned int)(arg4), \ ! 60: (unsigned int)(0)); ! 61: ! 62: #define __AfterSimpleCallTrace(msgid,arg1,arg2,arg3,arg4) \ ! 63: KERNEL_DEBUG_CONSTANT(KDBG_MIGCODE(msgid) | DBG_FUNC_END, \ ! 64: (unsigned int)(arg1), \ ! 65: (unsigned int)(arg2), \ ! 66: (unsigned int)(arg3), \ ! 67: (unsigned int)(arg4), \ ! 68: (unsigned int)(0)); ! 69: ! 70: #else /* !_MIG_TRACE_PARAMETERS_ */ ! 71: ! 72: #define __BeforeRcvRpc(msgid, _NAME_) \ ! 73: KERNEL_DEBUG_CONSTANT(KDBG_MIGCODE(msgid) | DBG_FUNC_START, \ ! 74: (unsigned int)(0), \ ! 75: (unsigned int)(0), \ ! 76: (unsigned int)(0), \ ! 77: (unsigned int)(0), \ ! 78: (unsigned int)(0)); ! 79: ! 80: #define __AfterRcvRpc(msgid, _NAME_) \ ! 81: KERNEL_DEBUG_CONSTANT(KDBG_MIGCODE(msgid) | DBG_FUNC_END, \ ! 82: (unsigned int)(0), \ ! 83: (unsigned int)(0), \ ! 84: (unsigned int)(0), \ ! 85: (unsigned int)(0), \ ! 86: (unsigned int)(0)); ! 87: ! 88: ! 89: #define __BeforeRcvSimple(msgid, _NAME_) \ ! 90: KERNEL_DEBUG_CONSTANT(KDBG_MIGCODE(msgid) | DBG_FUNC_START, \ ! 91: (unsigned int)(0), \ ! 92: (unsigned int)(0), \ ! 93: (unsigned int)(0), \ ! 94: (unsigned int)(0), \ ! 95: (unsigned int)(0)); ! 96: ! 97: #define __AfterRcvSimple(msgid, _NAME_) \ ! 98: KERNEL_DEBUG_CONSTANT(KDBG_MIGCODE(msgid) | DBG_FUNC_END, \ ! 99: (unsigned int)(0), \ ! 100: (unsigned int)(0), \ ! 101: (unsigned int)(0), \ ! 102: (unsigned int)(0), \ ! 103: (unsigned int)(0)); ! 104: ! 105: #endif /* !_MIG_TRACE_PARAMETERS_ */ ! 106: ! 107: #define _MIG_MSGID_INVALID(msgid) \ ! 108: KERNEL_DEBUG_CONSTANT(MACHDBG_CODE(DBG_MACH_MSGID_INVALID, (msgid)), \ ! 109: (unsigned int)(0), \ ! 110: (unsigned int)(0), \ ! 111: (unsigned int)(0), \ ! 112: (unsigned int)(0), \ ! 113: (unsigned int)(0)) ! 114: ! 115: /* Send a message from the kernel */ ! 116: extern mach_msg_return_t mach_msg_send_from_kernel( ! 117: mach_msg_header_t *msg, ! 118: mach_msg_size_t send_size); ! 119: ! 120: ! 121: extern mach_msg_return_t mach_msg_rpc_from_kernel( ! 122: mach_msg_header_t *msg, ! 123: mach_msg_size_t send_size, ! 124: mach_msg_size_t rcv_size); ! 125: ! 126: #endif /* _IPC_MIG_H_ */
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.