1 enum 2 { 3 IPaddrlen= 16, 4 IPv4addrlen= 4, 5 IPv4off= 12, 6 }; 7 8 uchar* defmask(uchar*); 9 void maskip(uchar*, uchar*, uchar*); 10 int eipfmt(Fmt*); 11 int isv4(uchar*); 12 vlong parseip(uchar*, char*); 13 vlong parseipmask(uchar*, char*); 14 char* v4parseip(uchar*, char*); 15 char* v4parsecidr(uchar*, uchar*, char*); 16 17 void hnputv(void*, uvlong); 18 void hnputl(void*, uint); 19 void hnputs(void*, ushort); 20 uvlong nhgetv(void*); 21 uint nhgetl(void*); 22 ushort nhgets(void*); 23 24 int v6tov4(uchar*, uchar*); 25 void v4tov6(uchar*, uchar*); 26 27 #define ipcmp(x, y) memcmp(x, y, IPaddrlen) 28 #define ipmove(x, y) memmove(x, y, IPaddrlen) 29 30 extern uchar IPv4bcast[IPaddrlen]; 31 extern uchar IPv4bcastobs[IPaddrlen]; 32 extern uchar IPv4allsys[IPaddrlen]; 33 extern uchar IPv4allrouter[IPaddrlen]; 34 extern uchar IPnoaddr[IPaddrlen]; 35 extern uchar v4prefix[IPaddrlen]; 36 extern uchar IPallbits[IPaddrlen]; 37 38 #define CLASS(p) ((*(uchar*)(p))>>6) 39