1 d7094239 2003-11-23 devnull #pragma src "/sys/src/libip"
2 d7094239 2003-11-23 devnull #pragma lib "libip.a"
6 d7094239 2003-11-23 devnull IPaddrlen= 16,
7 d7094239 2003-11-23 devnull IPv4addrlen= 4,
8 d7094239 2003-11-23 devnull IPv4off= 12,
9 d7094239 2003-11-23 devnull IPllen= 4,
13 d7094239 2003-11-23 devnull * for reading /net/ipifc
15 d7094239 2003-11-23 devnull typedef struct Ipifc Ipifc;
16 d7094239 2003-11-23 devnull typedef struct Ipifcs Ipifcs;
18 d7094239 2003-11-23 devnull struct Ipifc
20 d7094239 2003-11-23 devnull char dev[64];
21 d7094239 2003-11-23 devnull uchar ip[IPaddrlen];
22 d7094239 2003-11-23 devnull uchar mask[IPaddrlen];
23 d7094239 2003-11-23 devnull uchar net[IPaddrlen]; /* ip & mask */
24 d7094239 2003-11-23 devnull Ipifc *next;
27 d7094239 2003-11-23 devnull struct Ipifcs
29 d7094239 2003-11-23 devnull Ipifc *first;
30 d7094239 2003-11-23 devnull Ipifc *last;
34 d7094239 2003-11-23 devnull * user level udp headers
38 d7094239 2003-11-23 devnull Udphdrsize= 36, /* size of a Udphdr */
41 d7094239 2003-11-23 devnull typedef struct Udphdr Udphdr;
42 d7094239 2003-11-23 devnull struct Udphdr
44 d7094239 2003-11-23 devnull uchar raddr[IPaddrlen]; /* remote address and port */
45 d7094239 2003-11-23 devnull uchar laddr[IPaddrlen]; /* local address and port */
46 d7094239 2003-11-23 devnull uchar rport[2];
47 d7094239 2003-11-23 devnull uchar lport[2];
50 d7094239 2003-11-23 devnull uchar* defmask(uchar*);
51 d7094239 2003-11-23 devnull void maskip(uchar*, uchar*, uchar*);
52 d7094239 2003-11-23 devnull int eipconv(va_list*, Fconv*);
53 d7094239 2003-11-23 devnull ulong parseip(uchar*, char*);
54 d7094239 2003-11-23 devnull ulong parseipmask(uchar*, char*);
55 d7094239 2003-11-23 devnull int parseether(uchar*, char*);
56 d7094239 2003-11-23 devnull int myipaddr(uchar*, char*);
57 d7094239 2003-11-23 devnull int myetheraddr(uchar*, char*);
59 d7094239 2003-11-23 devnull void readipifc(char*, Ipifcs*);
61 d7094239 2003-11-23 devnull void hnputl(void*, uint);
62 d7094239 2003-11-23 devnull void hnputs(void*, ushort);
63 d7094239 2003-11-23 devnull uint nhgetl(void*);
64 d7094239 2003-11-23 devnull ushort nhgets(void*);
66 d7094239 2003-11-23 devnull #define ipcmp(x, y) memcmp(x, y, IPaddrlen)
67 d7094239 2003-11-23 devnull #define ipmove(x, y) memmove(x, y, IPaddrlen)
69 d7094239 2003-11-23 devnull extern uchar IPv4bcast[IPaddrlen];
70 d7094239 2003-11-23 devnull extern uchar IPv4bcastobs[IPaddrlen];
71 d7094239 2003-11-23 devnull extern uchar IPv4allsys[IPaddrlen];
72 d7094239 2003-11-23 devnull extern uchar IPv4allrouter[IPaddrlen];
73 d7094239 2003-11-23 devnull extern uchar IPnoaddr[IPaddrlen];
74 d7094239 2003-11-23 devnull extern uchar v4prefix[IPaddrlen];
75 d7094239 2003-11-23 devnull extern uchar IPallbits[IPaddrlen];
77 d7094239 2003-11-23 devnull #define CLASS(p) ((*(uchar*)(p))>>6)