|
|
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:
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.