xref: /plan9/sys/src/cmd/unix/drawterm/include/ip.h (revision 58da3067adcdccaaa043d0bfde28ba83b7ced07d)
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