#include "ipf.h" | |
int ntomask(v, nbits, ap) | |
int v, nbits; | |
u_32_t *ap; | |
{ | |
u_32_t mask; | |
if (nbits < 0) | |
return -1; | |
switch (v) | |
{ | |
case 4 : | |
if (nbits > 32 || use_inet6 == 1) | |
return -1; | |
if (nbits == 0) { | |
mask = 0; | |
} else { | |
mask = 0xffffffff; | |
mask <<= (32 - nbits); | |
} | |
*ap = htonl(mask); | |
break; | |
case 6 : | |
if ((nbits > 128) || (use_inet6 == -1)) | |
return -1; | |
fill6bits(nbits, ap); | |
break; | |
default : | |
return -1; | |
} | |
return 0; | |
} |