12345678910111213141516171819202122232425 |
- #include <u.h>
- #include <libc.h>
- #include <ip.h>
- uchar classmask[4][16] = {
- 0xff,0xff,0xff,0xff, 0xff,0xff,0xff,0xff, 0xff,0xff,0xff,0xff, 0xff,0x00,0x00,0x00,
- 0xff,0xff,0xff,0xff, 0xff,0xff,0xff,0xff, 0xff,0xff,0xff,0xff, 0xff,0x00,0x00,0x00,
- 0xff,0xff,0xff,0xff, 0xff,0xff,0xff,0xff, 0xff,0xff,0xff,0xff, 0xff,0xff,0x00,0x00,
- 0xff,0xff,0xff,0xff, 0xff,0xff,0xff,0xff, 0xff,0xff,0xff,0xff, 0xff,0xff,0xff,0x00,
- };
- uchar*
- defmask(uchar *ip)
- {
- return classmask[ip[IPv4off]>>6];
- }
- void
- maskip(uchar *from, uchar *mask, uchar *to)
- {
- int i;
- for(i = 0; i < IPaddrlen; i++)
- to[i] = from[i] & mask[i];
- }
|