|
|
|
@ -1,6 +1,7 @@
|
|
|
|
#include <stdlib.h>
|
|
|
|
#include <stdlib.h>
|
|
|
|
#include <stdio.h>
|
|
|
|
#include <stdio.h>
|
|
|
|
#include <string.h>
|
|
|
|
#include <string.h>
|
|
|
|
|
|
|
|
#include <arpa/inet.h>
|
|
|
|
|
|
|
|
|
|
|
|
static u_int32_t cidrs[33];
|
|
|
|
static u_int32_t cidrs[33];
|
|
|
|
|
|
|
|
|
|
|
|
@ -9,11 +10,13 @@ void CIDRInit(void) {
|
|
|
|
|
|
|
|
|
|
|
|
for (i = 0; i < 33; i++) {
|
|
|
|
for (i = 0; i < 33; i++) {
|
|
|
|
cidrs[i] = htonl(0xFFFFFFFF << (32 - i));
|
|
|
|
cidrs[i] = htonl(0xFFFFFFFF << (32 - i));
|
|
|
|
printf("CIDRInit: cidrs[%02d] = 0x%08X\n", i, cidrs[i]);
|
|
|
|
//printf("CIDRInit: cidrs[%02d] = 0x%08X\n", i, cidrs[i]);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
u_int32_t CIDRGet(int cidr) {
|
|
|
|
u_int32_t CIDRGet(int cidr) {
|
|
|
|
|
|
|
|
if (cidr < 0 || cidr > 32)
|
|
|
|
|
|
|
|
return 0;
|
|
|
|
return cidrs[cidr];
|
|
|
|
return cidrs[cidr];
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|