Annotation of XNU/bsd/netat/debug.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:  *      Copyright (c) 1988, 1989, 1997 Apple Computer, Inc.
                     24:  */
                     25: 
                     26: /* netat/debug.h */
                     27: 
                     28: #ifndef _NETAT_DEBUG_H_
                     29: #define _NETAT_DEBUG_H_
                     30: 
                     31: #define D_L_FATAL              0x00000001
                     32: #define D_L_ERROR              0x00000002
                     33: #define D_L_WARNING            0x00000004
                     34: #define D_L_INFO               0x00000008
                     35: #define D_L_VERBOSE            0x00000010
                     36: #define D_L_STARTUP            0x00000020
                     37: #define D_L_STARTUP_LOW                0x00000040
                     38: #define D_L_SHUTDN             0x00000080
                     39: #define D_L_SHUTDN_LOW         0x00000100
                     40: #define D_L_INPUT              0x00000200
                     41: #define D_L_OUTPUT             0x00000400
                     42: #define D_L_STATS              0x00000800
                     43: #define D_L_STATE_CHG          0x00001000      /* re-aarp, ifState etc. */
                     44: #define D_L_ROUTING            0x00002000
                     45: #define D_L_DNSTREAM           0x00004000
                     46: #define D_L_UPSTREAM           0x00008000
                     47: #define D_L_STARTUP_INFO       0x00010000
                     48: #define D_L_SHUTDN_INFO                0x00020000
                     49: #define D_L_ROUTING_AT         0x00040000      /* atalk address routing */
                     50: #define D_L_USR1               0x01000000
                     51: #define D_L_USR2               0x02000000
                     52: #define D_L_USR3               0x04000000
                     53: #define D_L_USR4               0x08000000
                     54: #define D_L_TRACE              0x10000000
                     55: 
                     56: 
                     57: #define D_M_PAT                        0x00000001
                     58: #define D_M_PAT_LOW            0x00000002
                     59: #define D_M_ELAP               0x00000004
                     60: #define D_M_ELAP_LOW           0x00000008
                     61: #define D_M_DDP                        0x00000010
                     62: #define D_M_DDP_LOW            0x00000020
                     63: #define D_M_NBP                        0x00000040
                     64: #define D_M_NBP_LOW            0x00000080
                     65: #define D_M_ZIP                        0x00000100
                     66: #define D_M_ZIP_LOW            0x00000200
                     67: #define D_M_RTMP               0x00000400
                     68: #define D_M_RTMP_LOW           0x00000800
                     69: #define D_M_ATP                        0x00001000
                     70: #define D_M_ATP_LOW            0x00002000
                     71: #define D_M_ADSP               0x00004000
                     72: #define D_M_ADSP_LOW           0x00008000
                     73: #define D_M_AEP                        0x00010000
                     74: #define D_M_AARP               0x00020000
                     75: #define D_M_ASP                        0x00040000
                     76: #define D_M_ASP_LOW            0x00080000
                     77: #define D_M_AURP               0x00100000
                     78: #define D_M_AURP_LOW           0x00200000
                     79: #define D_M_TRACE              0x10000000
                     80: 
                     81:        /* macros for working with atp data at the lap level. 
                     82:         * These are for tracehook performance measurements only!!!
                     83:         * It is assumed that the ddp & atp headers are at the top of the
                     84:         * mblk, occupy contiguous memory and the atp headers are of the
                     85:         * extended type only.
                     86:         */
                     87: 
                     88: typedef struct dbgBits {
                     89:        unsigned long   dbgMod; /* debug module bitmap (used in dPrintf) */
                     90:        unsigned long   dbgLev; /* debug level bitmap */
                     91: } dbgBits_t;
                     92: 
                     93: extern dbgBits_t       dbgBits;
                     94: 
                     95:        /* macros for debugging */
                     96: #ifdef DEBUG
                     97: #define dPrintf(mod, lev, p) \
                     98:        if (((mod) & dbgBits.dbgMod) && ((lev) & dbgBits.dbgLev)) {\
                     99:                 kprintf p;  \
                    100:        }
                    101: #else
                    102: #define dPrintf(mod, lev, p)
                    103: #endif
                    104: 
                    105: /* 8/5/98 LD: Adds MacOSX kernel debugging facility */
                    106: /* note: kdebug must be added to the "RELEASE" config in conf/MASTER.ppc */
                    107: 
                    108: #include <sys/kdebug.h>
                    109: #if KDEBUG
                    110: /*
                    111:   Strings for the "trace/codes" file:
                    112: 
                    113: 0x02650004      AT_DDPinput
                    114: 
                    115: 0x02680000      AT_ADSP_Misc
                    116: 0x02680004      AT_ADSP_RxData
                    117: 0x02680008      AT_ADSP_SndData
                    118: 0x0268000C      AT_ADSP_Read
                    119: 0x02680010      AT_ADSP_Write
                    120: 0x02680014      AT_ADSP_mbuf
                    121: 0x02680018      AT_ADSP_putnext
                    122: 0x0268001c      AT_ADSP_ATrw
                    123: 
                    124: */
                    125: 
                    126: /* usage:
                    127:       KERNEL_DEBUG(DBG_AT_DDP_INPUT | DBG_FUNC_START, 0,0,0,0,0);
                    128:       KERNEL_DEBUG(DBG_AT_DDP_INPUT, 0,0,0,0,0);
                    129:       KERNEL_DEBUG(DBG_AT_DDP_INPUT | DBG_FUNC_END, 0,0,0,0,0);
                    130: */
                    131: 
                    132: #define DBG_AT_DDP_INPUT NETDBG_CODE(DBG_NETDDP, 1)
                    133: #define DBG_AT_DDP_OUTPUT NETDBG_CODE(DBG_NETDDP, 2)
                    134: 
                    135: #define DBG_ADSP_MISC  NETDBG_CODE(DBG_NETADSP, 0)
                    136: #define DBG_ADSP_RCV   NETDBG_CODE(DBG_NETADSP, 1)
                    137: #define DBG_ADSP_SND   NETDBG_CODE(DBG_NETADSP, 2)
                    138: #define DBG_ADSP_READ  NETDBG_CODE(DBG_NETADSP, 3)
                    139: #define DBG_ADSP_WRITE NETDBG_CODE(DBG_NETADSP, 4)
                    140: #define DBG_ADSP_MBUF  NETDBG_CODE(DBG_NETADSP, 5)
                    141: #define DBG_ADSP_PNEXT NETDBG_CODE(DBG_NETADSP, 6)
                    142: #define DBG_ADSP_ATRW  NETDBG_CODE(DBG_NETADSP, 7)
                    143: #endif
                    144: 
                    145: #define trace_mbufs(pri, str, start)\
                    146: { if (start)\
                    147: {   int i; gbuf_t *tmp;\
                    148:     for (tmp=start, i=0; tmp && i < 10; tmp = gbuf_cont(tmp), i++) {\
                    149:        dPrintf(pri, D_L_TRACE, ("%s=0x%x, len=%d %s\n",\
                    150:                                  str, tmp, gbuf_len(tmp),\
                    151:                                  (((struct mbuf *)tmp)->m_flags & M_EXT)?"CL":""));\
                    152:        KERNEL_DEBUG(DBG_ADSP_MBUF,  0, tmp, gbuf_len(tmp), gbuf_next(tmp), \
                    153:                ((struct mbuf *)tmp)->m_flags & M_EXT);\
                    154: }}}
                    155: 
                    156: /* from h/atlog.h */
                    157: 
                    158: /* These pointers are non-NULL if logging or tracing are activated. */
                    159: #ifndef LOG_DRIVER
                    160: extern char *log_errp; 
                    161: extern char *log_trcp;
                    162: #endif  /* LOG_DRIVER */
                    163: 
                    164: /* ATTRACE() macro.  Use this routine for calling 
                    165:  * streams tracing and logging.  If `log' is TRUE, then
                    166:  * this event will also be logged if logging is on.
                    167:  */
                    168: #if !defined(lint) && defined(AT_DEBUG)
                    169: #define        ATTRACE(mid,sid,level,log,fmt,arg1,arg2,arg3)           \
                    170:        if (log_trcp || (log && log_errp)) {                    \
                    171:                strlog(mid,sid,level,SL_TRACE |                 \
                    172:                        (log ? SL_ERROR : 0)  |                 \
                    173:                        (level <= AT_LV_FATAL ? SL_FATAL : 0),  \
                    174:                        fmt,arg1,arg2,arg3);                    \
                    175:        }
                    176: #else
                    177: #define        ATTRACE(mid,sid,level,log,fmt,arg1,arg2,arg3)           \
                    178: /*     printf(fmt, arg1, arg2, arg3); */
                    179: 
                    180: #endif
                    181: 
                    182: 
                    183: /* Levels for AppleTalk tracing */
                    184: 
                    185: #define        AT_LV_FATAL     1
                    186: #define        AT_LV_ERROR     3
                    187: #define        AT_LV_WARNING   5
                    188: #define        AT_LV_INFO      7
                    189: #define        AT_LV_VERBOSE   9
                    190: 
                    191: 
                    192: /* Sub-ids for AppleTalk tracing, add more if you can't figure
                    193:  * out where your event belongs.
                    194:  */
                    195: 
                    196: #define        AT_SID_INPUT    1       /* Network incoming packets */
                    197: #define        AT_SID_OUTPUT   2       /* Network outgoing packets */
                    198: #define        AT_SID_TIMERS   3       /* Protocol timers */
                    199: #define        AT_SID_FLOWCTRL 4       /* Protocol flow control */
                    200: #define        AT_SID_USERREQ  5       /* User requests */
                    201: #define        AT_SID_RESOURCE 6       /* Resource limitations */
                    202: 
                    203: 
                    204: 
                    205: /* Module ID's for AppleTalk subsystems */
                    206: 
                    207: #define        AT_MID(n)       (200+n)
                    208: 
                    209: /* 
                    210: #define        AT_MID_MISC     AT_MID(0)       not used
                    211: #define        AT_MID_LLAP     AT_MID(1)       not_used
                    212: #define        AT_MID_ELAP     202             moved to lap.h
                    213: #define        AT_MID_DDP      203             moved to ddp.h
                    214: #define        AT_MID_RTMP     AT_MID(4)       not used
                    215: #define        AT_MID_NBP      AT_MID(5)       not used
                    216: #define        AT_MID_EP       AT_MID(6)       not used
                    217: #define        AT_MID_ATP      AT_MID(7)       not used
                    218: #define        AT_MID_ZIP      AT_MID(8)       not needed
                    219: #define        AT_MID_PAP      AT_MID(9)       not used
                    220: #define        AT_MID_ASP      AT_MID(10)      redefined in adsp.h
                    221: #define        AT_MID_AFP      AT_MID(11)      not used
                    222: #define        AT_MID_ADSP     212             moved to adsp.h
                    223: #define        AT_MID_NBPD     AT_MID(13)      not used
                    224: #define        AT_MID_LAP      214             moved to lap.h
                    225: #define        AT_MID_LAST     214
                    226: */
                    227: 
                    228: #ifdef AT_MID_STRINGS
                    229: static char *at_mid_strings[] = {
                    230:        "misc",
                    231:        "LLAP",
                    232:        "ELAP",
                    233:        "DDP",
                    234:        "RTMP",
                    235:        "NBP",
                    236:        "EP",
                    237:        "ATP",
                    238:        "ZIP",
                    239:        "PAP",
                    240:        "ASP",
                    241:        "AFP",
                    242:        "ADSP",
                    243:        "NBPD",
                    244:        "LAP"
                    245: };
                    246: #endif
                    247: 
                    248: 
                    249: #ifndef SL_FATAL
                    250: /* Don't define these if they're already defined */
                    251: 
                    252: /* Flags for log messages */
                    253: 
                    254: #define SL_FATAL       01      /* indicates fatal error */
                    255: #define SL_NOTIFY      02      /* logger must notify administrator */
                    256: #define SL_ERROR       04      /* include on the error log */
                    257: #define SL_TRACE       010     /* include on the trace log */
                    258: 
                    259: #endif
                    260: 
                    261: #endif /* _NETAT_DEBUG_H_ */
                    262: 

unix.superglobalmegacorp.com

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