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