Annotation of XNU/bsd/netat/debug.h, revision 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.