Annotation of XNU/osfmk/kern/ipc_mig.h, revision 1.1.1.1

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_ */

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.