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