Blame


1 d7094239 2003-11-23 devnull #include <u.h>
2 d7094239 2003-11-23 devnull #include <libc.h>
3 d7094239 2003-11-23 devnull #include <ip.h>
4 d7094239 2003-11-23 devnull
5 d7094239 2003-11-23 devnull uchar classmask[4][16] = {
6 d7094239 2003-11-23 devnull 0xff,0xff,0xff,0xff, 0xff,0xff,0xff,0xff, 0xff,0xff,0xff,0xff, 0xff,0x00,0x00,0x00,
7 d7094239 2003-11-23 devnull 0xff,0xff,0xff,0xff, 0xff,0xff,0xff,0xff, 0xff,0xff,0xff,0xff, 0xff,0x00,0x00,0x00,
8 d7094239 2003-11-23 devnull 0xff,0xff,0xff,0xff, 0xff,0xff,0xff,0xff, 0xff,0xff,0xff,0xff, 0xff,0xff,0x00,0x00,
9 d7094239 2003-11-23 devnull 0xff,0xff,0xff,0xff, 0xff,0xff,0xff,0xff, 0xff,0xff,0xff,0xff, 0xff,0xff,0xff,0x00,
10 d7094239 2003-11-23 devnull };
11 d7094239 2003-11-23 devnull
12 d7094239 2003-11-23 devnull uchar*
13 d7094239 2003-11-23 devnull defmask(uchar *ip)
14 d7094239 2003-11-23 devnull {
15 d7094239 2003-11-23 devnull return classmask[ip[IPv4off]>>6];
16 d7094239 2003-11-23 devnull }
17 d7094239 2003-11-23 devnull
18 d7094239 2003-11-23 devnull void
19 d7094239 2003-11-23 devnull maskip(uchar *from, uchar *mask, uchar *to)
20 d7094239 2003-11-23 devnull {
21 d7094239 2003-11-23 devnull int i;
22 d7094239 2003-11-23 devnull
23 d7094239 2003-11-23 devnull for(i = 0; i < IPaddrlen; i++)
24 d7094239 2003-11-23 devnull to[i] = from[i] & mask[i];
25 d7094239 2003-11-23 devnull }