|
|
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.