Home | History | Annotate | Download | only in lib

Lines Matching full:addr

63 	inet_prefix addr;
69 if (!get_addr_1(&addr, arg, AF_INET) && addr.family == AF_INET) {
70 int b = mask2bits(addr.data[0]);
274 int get_addr_1(inet_prefix *addr, const char *name, int family)
276 memset(addr, 0, sizeof(*addr));
283 addr->family = family;
284 addr->bytelen = (family == AF_INET6 ? 16 : 4);
285 addr->bitlen = -1;
290 addr->family = AF_INET6;
293 if (inet_pton(AF_INET6, name, addr->data) <= 0)
295 addr->bytelen = 16;
296 addr->bitlen = -1;
303 addr->family = AF_DECnet;
306 memcpy(addr->data, dna.a_addr, 2);
307 addr->bytelen = 2;
308 addr->bitlen = -1;
313 addr->family = AF_INET;
317 if (get_addr_ipv4((__u8 *)addr->data, name) <= 0)
320 addr->bytelen = 4;
321 addr->bitlen = -1;
405 inet_prefix addr;
406 if (get_addr_1(&addr, name, AF_INET)) {
410 return addr.data[0];
518 const char *rt_addr_n2a(int af, int len, const void *addr, char *buf, int buflen)
523 return inet_ntop(af, addr, buf, buflen);
526 return ipx_ntop(af, addr, buf, buflen);
530 memcpy(dna.a_addr, addr, 2);
544 inet_prefix addr;
550 static const char *resolve_address(const void *addr, int len, int af)
558 if (af == AF_INET6 && ((__u32*)addr)[0] == 0 &&
559 ((__u32*)addr)[1] == 0 && ((__u32*)addr)[2] == htonl(0xffff)) {
561 addr += 12;
565 hash = *(__u32 *)(addr + len - 4) % NHASH;
568 if (n->addr.family == af &&
569 n->addr.bytelen == len &&
570 memcmp(n->addr.data, addr, len) == 0)
575 n->addr.family = af;
576 n->addr.bytelen = len;
578 memcpy(n->addr.data, addr, len);
585 if ((h_ent = gethostbyaddr(addr, len, af)) != NULL)
594 const char *format_host(int af, int len, const void *addr,
623 (n = resolve_address(addr, len, af)) != NULL)
627 return rt_addr_n2a(af, len, addr, buf, buflen);