This repo is obsolete, please see git://git.code.sf.net/p/dummynet/code@master
[ipfw.git] / dummynet2 / debug.c
1 #include <ntddk.h>
2
3 const char* texify_cmd(int i)
4 {
5         if (i==110)
6                 return("IP_FW_ADD");
7         if (i==111)
8                 return("IP_FW_DEL");
9         if (i==112)
10                 return("IP_FW_FLUSH");
11         if (i==113)
12                 return("IP_FW_ZERO");
13         if (i==114)
14                 return("IP_FW_GET");
15         if (i==115)
16                 return("IP_FW_RESETLOG");
17         if (i==116)
18                 return("IP_FW_NAT_CFG");
19         if (i==117)
20                 return("IP_FW_NAT_DEL");
21         if (i==118)
22                 return("IP_FW_NAT_GET_CONFIG");
23         if (i==119)
24                 return("IP_FW_NAT_GET_LOG");
25         if (i==120)
26                 return("IP_DUMMYNET_CONFIGURE");
27         if (i==121)
28                 return("IP_DUMMYNET_DEL");
29         if (i==122)
30                 return("IP_DUMMYNET_FLUSH");
31         if (i==124)
32                 return("IP_DUMMYNET_GET");
33         if (i==108)
34                 return("IP_FW3");
35         if (i==109)
36                 return("IP_DUMMYNET3");
37         return ("BOH");
38 }
39
40 const char* texify_proto(unsigned int p)
41 {
42         if (p==1)
43                 return("ICMP");
44         if (p==6)
45                 return("TCP");
46         if (p==17)
47                 return("UDP");
48         return("OTHER");
49 }
50
51 void hexdump(unsigned char* addr, int len, const char *msg)
52 {
53         int i;
54         const  int cicli = len/8;
55         const int resto = len%8;
56         unsigned char d[8];
57
58         DbgPrint("%s at %p len %d\n", msg, addr, len);
59         for (i=0; i<=cicli; i++) {
60                 bzero(d, 8);
61                 bcopy(addr+i*8, d, i < cicli ? 8 : resto);
62                 DbgPrint("%04X %02X %02X %02X %02X %02X %02X %02X %02X\n",
63                         i*8, d[0], d[1], d[2], d[3], d[4],
64                         d[5], d[6], d[7]);
65         }
66         DbgPrint("\n");
67 }