1 #pragma src "/sys/src/libip"
13 * for reading /net/ipifc
15 typedef struct Ipifc Ipifc;
16 typedef struct Ipifcs Ipifcs;
22 uchar mask[IPaddrlen];
23 uchar net[IPaddrlen]; /* ip & mask */
34 * user level udp headers
38 Udphdrsize= 36, /* size of a Udphdr */
41 typedef struct Udphdr Udphdr;
44 uchar raddr[IPaddrlen]; /* remote address and port */
45 uchar laddr[IPaddrlen]; /* local address and port */
50 uchar* defmask(uchar*);
51 void maskip(uchar*, uchar*, uchar*);
52 int eipconv(va_list*, Fconv*);
53 ulong parseip(uchar*, char*);
54 ulong parseipmask(uchar*, char*);
55 int parseether(uchar*, char*);
56 int myipaddr(uchar*, char*);
57 int myetheraddr(uchar*, char*);
59 void readipifc(char*, Ipifcs*);
61 void hnputl(void*, uint);
62 void hnputs(void*, ushort);
66 #define ipcmp(x, y) memcmp(x, y, IPaddrlen)
67 #define ipmove(x, y) memmove(x, y, IPaddrlen)
69 extern uchar IPv4bcast[IPaddrlen];
70 extern uchar IPv4bcastobs[IPaddrlen];
71 extern uchar IPv4allsys[IPaddrlen];
72 extern uchar IPv4allrouter[IPaddrlen];
73 extern uchar IPnoaddr[IPaddrlen];
74 extern uchar v4prefix[IPaddrlen];
75 extern uchar IPallbits[IPaddrlen];
77 #define CLASS(p) ((*(uchar*)(p))>>6)