Lines Matching refs:prefixlen
146 for (i = 0; i < p->prefixlen / 8; i++)
154 new->prefixlen = i * 8;
156 if (new->prefixlen != p->prefixlen)
160 while (new->prefixlen < p->prefixlen && !(mask & diff))
163 new->prefixlen++;
165 newp[i] = np[i] & maskbit[new->prefixlen % 8];
174 check_bit (u_char *prefix, u_char prefixlen)
180 assert (prefixlen <= 128);
182 offset = prefixlen / 8;
183 shift = 7 - (prefixlen % 8);
189 #define SET_LINK(X,Y) (X)->link[CHECK_BIT(&(Y)->prefix,(X)->prefixlen)] = (Y);\
197 bit = check_bit (&new->p.u.prefix, node->p.prefixlen);
236 node->p.prefixlen);
252 while (node && node->p.prefixlen <= p->prefixlen &&
257 node = node->link[check_bit(&p->u.prefix, node->p.prefixlen)];
274 p.prefixlen = IPV4_MAX_PREFIXLEN;
288 p.prefixlen = IPV6_MAX_PREFIXLEN;
303 while (node && node->p.prefixlen <= p->prefixlen &&
306 if (node->p.prefixlen == p->prefixlen && node->info)
309 node = node->link[check_bit(&p->u.prefix, node->p.prefixlen)];
325 while (node && node->p.prefixlen <= p->prefixlen &&
328 if (node->p.prefixlen == p->prefixlen)
334 node = node->link[check_bit(&p->u.prefix, node->p.prefixlen)];
358 if (new->p.prefixlen != p->prefixlen)