blob: 5932f878f0ed10027479542fbac99f6a88d22f34 [file] [log] [blame]
rscd7094232003-11-23 18:23:20 +00001#include <u.h>
2#include <libc.h>
3#include <ip.h>
4
5uchar 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};
11
12uchar*
13defmask(uchar *ip)
14{
15 return classmask[ip[IPv4off]>>6];
16}
17
18void
19maskip(uchar *from, uchar *mask, uchar *to)
20{
21 int i;
22
23 for(i = 0; i < IPaddrlen; i++)
24 to[i] = from[i] & mask[i];
25}