1 /*- 2 * Copyright (c) 1991, 1993 3 * The Regents of the University of California. All rights reserved. 4 * 5 * %sccs.include.redist.c% 6 * 7 * @(#)argo_debug.h 8.1 (Berkeley) 06/10/93 8 */ 9 10 /***************************************************************** 11 Copyright IBM Corporation 1987 12 13 All Rights Reserved 14 15 Permission to use, copy, modify, and distribute this software and its 16 documentation for any purpose and without fee is hereby granted, 17 provided that the above copyright notice appear in all copies and that 18 both that copyright notice and this permission notice appear in 19 supporting documentation, and that the name of IBM not be 20 used in advertising or publicity pertaining to distribution of the 21 software without specific, written prior permission. 22 23 IBM DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING 24 ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL 25 IBM BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR 26 ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, 27 WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, 28 ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS 29 SOFTWARE. 30 31 ******************************************************************/ 32 33 /* 34 * ARGO Project, Computer Sciences Dept., University of Wisconsin - Madison 35 */ 36 /* 37 * $Header: argo_debug.h,v 4.6 88/07/19 15:53:40 hagens Exp $ 38 * $Source: /usr/argo/sys/netiso/RCS/argo_debug.h,v $ 39 */ 40 41 #ifndef __ARGO_DEBUG__ 42 #define __ARGO_DEBUG__ 43 44 #define dump_buf(a, b) Dump_buf((caddr_t)(a), (int)(b)) 45 46 /*********************************************** 47 * Lint stuff 48 **********************************************/ 49 #if defined(lint) 50 /* 51 * lint can't handle the flaky vacuous definitions 52 * of IFDEBUG, ENDDEBUG, etc. 53 */ 54 #endif /* defined(lint) */ 55 56 /*********************************************** 57 * DEBUG ON: 58 **********************************************/ 59 #ifndef ARGO_DEBUG 60 #define ARGO_DEBUG 61 #endif /* ARGO_DEBUG */ 62 63 64 #ifdef ARGO_DEBUG 65 /* 66 #ifndef TPPT 67 #define TPPT 68 #endif TPPT 69 70 #ifndef TP_PERF_MEAS 71 #define TP_PERF_MEAS 72 #endif TP_PERF_MEAS 73 */ 74 75 unsigned char argo_debug[128]; 76 77 #define IFDEBUG(ascii) \ 78 if(argo_debug[ascii]) { 79 #define ENDDEBUG ; } 80 81 #else /* ARGO_DEBUG */ 82 83 /*********************************************** 84 * DEBUG OFF: 85 **********************************************/ 86 87 #ifndef STAR 88 #define STAR * 89 #endif /* STAR */ 90 #define IFDEBUG(ascii) //*beginning of comment*/STAR 91 #define ENDDEBUG STAR/*end of comment*// 92 93 #endif /* ARGO_DEBUG */ 94 95 /*********************************************** 96 * ASSERT 97 **********************************************/ 98 #ifdef ARGO_DEBUG 99 100 #ifndef lint 101 #define ASSERT(phrase) \ 102 if( !(phrase) ) printf("ASSERTION NOT VALID at line %d file %s\n",__LINE__,__FILE__) 103 #else /* lint */ 104 #define ASSERT(phrase) /* phrase */ 105 #endif /* lint */ 106 107 #else /* ARGO_DEBUG */ 108 109 #define ASSERT(phrase) /* phrase */ 110 111 #endif /* ARGO_DEBUG */ 112 113 114 /*********************************************** 115 * CLNP DEBUG OPTIONS 116 **********************************************/ 117 #define D_INPUT '\1' 118 /* clnp input */ 119 #define D_OUTPUT '\2' 120 /* clnp output */ 121 #define D_ROUTE '\3' 122 /* clnp routing */ 123 #define D_CTLINPUT '\4' 124 /* clnp control input */ 125 #define D_CTLOUTPUT '\5' 126 /* clnp control output */ 127 #define D_OPTIONS '\6' 128 /* clnp options */ 129 #define D_IOCTL '\7' 130 /* iso ioctls */ 131 #define D_ETHER '\10' 132 /* clnp over ethernet */ 133 #define D_TOKEN '\11' 134 /* clnp over token ring */ 135 #define D_ADCOM '\12' 136 /* clnp over the adcom */ 137 #define D_ISO '\13' 138 /* iso address family */ 139 #define D_FORWARD '\14' 140 /* clnp forwarding */ 141 #define D_DUMPOUT '\15' 142 /* dump clnp outgoing packets */ 143 #define D_DUMPIN '\16' 144 /* dump clnp input packets */ 145 #define D_DISCARD '\17' 146 /* debug clnp packet discard/er function */ 147 #define D_FRAG '\20' 148 /* clnp fragmentation */ 149 #define D_REASS '\21' 150 /* clnp reassembly */ 151 152 char *clnp_iso_addrp(); 153 154 /*********************************************** 155 * ESIS DEBUG OPTIONS 156 **********************************************/ 157 #define D_ESISOUTPUT '\30' 158 #define D_ESISINPUT '\31' 159 #define D_SNPA '\32' 160 161 /*********************************************** 162 * ISIS DEBUG OPTIONS 163 **********************************************/ 164 #define D_ISISOUTPUT '\40' 165 #define D_ISISINPUT '\41' 166 167 /*********************************************** 168 * EON DEBUG OPTION 169 **********************************************/ 170 #define D_EON '\57' 171 172 /*********************************************** 173 * CONS DEBUG OPTIONS 174 **********************************************/ 175 176 #define D_ECNWORK '\60' 177 #define D_ECNOUT '\61' 178 #define D_ECNFIN '\62' 179 #define D_ECNDWN '\63' 180 #define D_ECNUTIL '\64' 181 182 #define D_INCOMING '\70' 183 #define D_CDATA '\71' 184 #define D_CFIND '\72' 185 #define D_CDUMP_REQ '\73' 186 #define D_CADDR '\74' 187 #define D_CCONS '\75' 188 #define D_CCONN '\76' 189 190 191 /*********************************************** 192 * TP DEBUG OPTIONS 193 **********************************************/ 194 195 #define D_SETPARAMS '\137' 196 #define D_RTT '\140' 197 198 #define D_ACKRECV '\141' 199 #define D_ACKSEND '\142' 200 #define D_CONN '\143' 201 #define D_CREDIT '\144' 202 #define D_DATA '\145' 203 #define D_DRIVER '\146' 204 205 #define D_EMIT '\147' 206 #define D_ERROR_EMIT '\150' 207 #define D_TPINPUT '\151' 208 #define D_INDICATION '\152' 209 #define D_CHKSUM '\153' 210 211 #define D_RENEG '\154' 212 #define D_PERF_MEAS '\155' 213 #define D_MBUF_MEAS '\156' 214 #define D_RTC '\157' 215 #define D_SB '\160' 216 217 #define D_DISASTER_CHECK '\161' 218 #define D_REQUEST '\162' 219 #define D_STASH '\163' 220 #define D_NEWSOCK '\164' 221 #define D_TIMER '\165' 222 223 #define D_TPIOCTL '\166' 224 #define D_SIZE_CHECK '\167' 225 #define D_2ER '\170' 226 #define D_DISASTER_CHECK_W '\171' 227 228 #define D_XPD '\172' 229 #define D_SYSCALL '\173' 230 #define D_DROP '\174' 231 #define D_ZDREF '\175' 232 #define D_TPISO '\176' 233 #define D_QUENCH '\177' 234 235 void dump_mbuf(); 236 237 /*********************************************** 238 * New mbuf types for debugging w/ netstat -m 239 * This messes up 4.4 malloc for now. need bigger 240 * mbtypes array for now. 241 **********************************************/ 242 #ifdef notdef 243 244 #define TPMT_DATA 0x21 245 #define TPMT_RCVRTC 0x42 246 #define TPMT_SNDRTC 0x41 247 #define TPMT_TPHDR 0x22 248 #define TPMT_IPHDR 0x32 249 #define TPMT_SONAME 0x28 250 #define TPMT_EOT 0x40 251 #define TPMT_XPD 0x44 252 #define TPMT_PCB 0x23 253 #define TPMT_PERF 0x45 254 255 #else /* ARGO_DEBUG */ 256 257 #define TPMT_DATA MT_DATA 258 #define TPMT_RCVRTC MT_DATA 259 #define TPMT_SNDRTC MT_DATA 260 #define TPMT_IPHDR MT_HEADER 261 #define TPMT_TPHDR MT_HEADER 262 #define TPMT_SONAME MT_SONAME 263 /* MT_EOT and MT_XPD are defined in tp_param.h */ 264 #define TPMT_XPD MT_OOBDATA 265 #define TPMT_PCB MT_PCB 266 #define TPMT_PERF MT_PCB 267 268 #endif /* ARGO_DEBUG */ 269 270 #endif /* __ARGO_DEBUG__ */ 271