Lines Matching +full:un +full:-
9 * or https://opensource.org/licenses/CDDL-1.0.
40 #define UNIQUE_MASK ((1ULL << UNIQUE_BITS) - 1)
48 return (TREE_CMP(una->un_value, unb->un_value)); in unique_compare()
78 unique_t *un = kmem_alloc(sizeof (unique_t), KM_SLEEP); in unique_insert() local
80 un->un_value = value; in unique_insert()
83 while (un->un_value == 0 || un->un_value & ~UNIQUE_MASK || in unique_insert()
84 avl_find(&unique_avl, un, &idx)) { in unique_insert()
86 (void) random_get_pseudo_bytes((void*)&un->un_value, in unique_insert()
87 sizeof (un->un_value)); in unique_insert()
88 un->un_value &= UNIQUE_MASK; in unique_insert()
92 avl_insert(&unique_avl, un, idx); in unique_insert()
95 return (un->un_value); in unique_insert()
102 unique_t *un; in unique_remove() local
106 un = avl_find(&unique_avl, &un_tofind, NULL); in unique_remove()
107 if (un != NULL) { in unique_remove()
108 avl_remove(&unique_avl, un); in unique_remove()
109 kmem_free(un, sizeof (unique_t)); in unique_remove()