Lines Matching refs:seg
414 struct v6addrseg *seg, *temp_seg;
420 seg = (struct v6addrseg *)malloc(sizeof(*seg));
421 if (seg == NULL) {
425 memset(seg, 0, sizeof(*seg));
427 seg->link = link;
429 seg->pool = pool;
447 memcpy(&seg->min, &$2, sizeof(seg->min));
448 memcpy(&seg->max, &$4, sizeof(seg->max));
450 memcpy(&seg->max, &$2, sizeof(seg->max));
451 memcpy(&seg->min, &$4, sizeof(seg->min));
454 if (IN6_IS_ADDR_RESERVED(&seg->max) || IN6_IS_ADDR_RESERVED(&seg->max)) {
459 memcpy(&seg->prefix, prefix1, sizeof(seg->prefix));
460 memcpy(&seg->free, &seg->min, sizeof(seg->free));
462 seg->pool = pool;
468 seg->next = NULL;
469 seg->prev = NULL;
470 link->seglist = seg;
475 temp_seg->next = seg;
476 seg->prev = temp_seg;
477 seg->next = NULL;
483 if (!(ipv6addrcmp(&seg->min, &temp_seg->max) > 0
484 || ipv6addrcmp(&seg->max, &temp_seg->min) < 0)) {
490 link->seglist = seg;
491 seg->prev = NULL;
493 temp_seg->prev->next = seg;
494 seg->prev = temp_seg->prev;
496 temp_seg->prev = seg;
497 seg->next = temp_seg;