Blob


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