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