Lines Matching defs:addr

36 	} addr;
114 struct cidr *addr = malloc(sizeof(struct cidr));
116 if (!addr || (strlen(s) >= sizeof(addr->buf.v4)))
119 snprintf(addr->buf.v4, sizeof(addr->buf.v4), "%s", s);
121 addr->family = AF_INET;
123 if ((p = strchr(addr->buf.v4, '/')) != NULL)
132 for (addr->prefix = 0; mask.s_addr; mask.s_addr >>= 1)
133 addr->prefix += (mask.s_addr & 1);
137 addr->prefix = strtoul(p, &r, 10);
139 if ((p == r) || (*r != 0) || (addr->prefix > 32))
145 addr->prefix = 32;
148 if (p == addr->buf.v4+1)
149 memset(&addr->addr.v4, 0, sizeof(addr->addr.v4));
150 else if (inet_pton(AF_INET, addr->buf.v4, &addr->addr.v4) != 1)
153 return addr;
156 if (addr)
157 free(addr);
164 uint32_t x = ntohl(a->addr.v4.s_addr);
165 uint32_t y = ntohl(b->addr.v4.s_addr);
178 n->addr.v4.s_addr = htonl(x + y);
184 uint32_t x = ntohl(a->addr.v4.s_addr);
185 uint32_t y = ntohl(b->addr.v4.s_addr);
198 n->addr.v4.s_addr = htonl(x - y);
206 n->addr.v4.s_addr &= htonl(~((1 << (32 - n->prefix)) - 1));
216 n->addr.v4.s_addr |= htonl(((1 << (32 - n->prefix)) - 1));
224 uint32_t net1 = a->addr.v4.s_addr & htonl(~((1 << (32 - a->prefix)) - 1));
225 uint32_t net2 = b->addr.v4.s_addr & htonl(~((1 << (32 - a->prefix)) - 1));
246 n->addr.v4.s_addr = htonl(~((1 << (32 - n->prefix)) - 1));
254 uint32_t x = ntohl(a->addr.v4.s_addr);
275 uint32_t x = ntohl(a->addr.v4.s_addr);
297 n->addr.v4.s_addr -= htonl(1 << (32 - b->prefix));
307 n->addr.v4.s_addr += htonl(1 << (32 - b->prefix));
315 uint32_t x = a->addr.v4.s_addr;
317 memset(&n->addr.v6.s6_addr, 0, sizeof(n->addr.v6.s6_addr));
322 n->addr.v6.s6_addr[0] = 0x20;
323 n->addr.v6.s6_addr[1] = 0x02;
324 n->addr.v6.s6_addr[2] = (x >> 24);
325 n->addr.v6.s6_addr[3] = (x >> 16) & 0xFF;
326 n->addr.v6.s6_addr[4] = (x >> 8) & 0xFF;
327 n->addr.v6.s6_addr[5] = x & 0xFF;
339 if (!(p = (char *)inet_ntop(AF_INET, &a->addr.v4, a->buf.v4, sizeof(a->buf.v4))))
359 struct cidr *addr = malloc(sizeof(struct cidr));
361 if (!addr || (strlen(s) >= sizeof(addr->buf.v6)))
364 snprintf(addr->buf.v4, sizeof(addr->buf.v6), "%s", s);
366 addr->family = AF_INET6;
368 if ((p = strchr(addr->buf.v4, '/')) != NULL)
372 addr->prefix = strtoul(p, &r, 10);
374 if ((p == r) || (*r != 0) || (addr->prefix > 128))
379 addr->prefix = 128;
382 if (p == addr->buf.v4+1)
383 memset(&addr->addr.v6, 0, sizeof(addr->addr.v6));
384 else if (inet_pton(AF_INET6, addr->buf.v4, &addr->addr.v6) != 1)
387 return addr;
390 if (addr)
391 free(addr);
401 struct in6_addr *x = &n->addr.v6;
402 struct in6_addr *y = &b->addr.v6;
428 struct in6_addr *x = &n->addr.v6;
429 struct in6_addr *y = &b->addr.v6;
454 struct in6_addr *x = &n->addr.v6;
486 struct in6_addr *x = &n->addr.v6;
520 n->addr.v6.s6_addr[15-i] = 0;
523 n->addr.v6.s6_addr[15-i] &= ~((1 << ((128 - n->prefix) % 8)) - 1);
531 struct in6_addr *x = &n->addr.v6;
532 struct in6_addr *y = &b->addr.v6;
559 if ((a->addr.v6.s6_addr[0] == 0xFE) &&
560 (a->addr.v6.s6_addr[1] >= 0x80) &&
561 (a->addr.v6.s6_addr[1] <= 0xBF))
578 if ((a->addr.v6.s6_addr[0] >= 0xFC) &&
579 (a->addr.v6.s6_addr[0] <= 0xFD))
598 if (!(p = (char *)inet_ntop(AF_INET6, &a->addr.v6, a->buf.v6, sizeof(a->buf.v6))))
634 a->addr.v4.s_addr = htonl(sum);
643 a->addr.v6.s6_addr[15-i] = sum % 256;