Lines Matching defs:pp

57 				    (pp)->uap_nodeoffset))
59 #define POOL_TO_MARKER(pp) (((uintptr_t)(pp) | 1))
67 uu_avl_pool_t *pp, *next, *prev;
82 pp = uu_zalloc(sizeof (uu_avl_pool_t));
83 if (pp == NULL) {
88 (void) strlcpy(pp->uap_name, name, sizeof (pp->uap_name));
89 pp->uap_nodeoffset = nodeoffset;
90 pp->uap_objsize = objsize;
91 pp->uap_cmp = compare_func;
93 pp->uap_debug = 1;
94 pp->uap_last_index = 0;
96 (void) pthread_mutex_init(&pp->uap_lock, NULL);
98 pp->uap_null_avl.ua_next_enc = UU_PTR_ENCODE(&pp->uap_null_avl);
99 pp->uap_null_avl.ua_prev_enc = UU_PTR_ENCODE(&pp->uap_null_avl);
102 pp->uap_next = next = &uu_null_apool;
103 pp->uap_prev = prev = next->uap_prev;
104 next->uap_prev = pp;
105 prev->uap_next = pp;
108 return (pp);
112 uu_avl_pool_destroy(uu_avl_pool_t *pp)
114 if (pp->uap_debug) {
115 if (pp->uap_null_avl.ua_next_enc !=
116 UU_PTR_ENCODE(&pp->uap_null_avl) ||
117 pp->uap_null_avl.ua_prev_enc !=
118 UU_PTR_ENCODE(&pp->uap_null_avl)) {
121 (int)sizeof (pp->uap_name), pp->uap_name,
122 (void *)pp);
126 pp->uap_next->uap_prev = pp->uap_prev;
127 pp->uap_prev->uap_next = pp->uap_next;
129 (void) pthread_mutex_destroy(&pp->uap_lock);
130 pp->uap_prev = NULL;
131 pp->uap_next = NULL;
132 uu_free(pp);
136 uu_avl_node_init(void *base, uu_avl_node_t *np, uu_avl_pool_t *pp)
140 if (pp->uap_debug) {
142 if (offset + sizeof (*np) > pp->uap_objsize) {
145 base, (void *)np, (void *)pp, pp->uap_name,
146 (long)offset, (long)pp->uap_objsize);
148 if (offset != pp->uap_nodeoffset) {
151 base, (void *)np, (void *)pp, pp->uap_name,
152 (long)offset, (long)pp->uap_objsize);
156 na[0] = POOL_TO_MARKER(pp);
161 uu_avl_node_fini(void *base, uu_avl_node_t *np, uu_avl_pool_t *pp)
165 if (pp->uap_debug) {
169 base, (void *)np, (void *)pp, pp->uap_name);
171 if (na[0] != POOL_TO_MARKER(pp) || na[1] != 0) {
174 base, (void *)np, (void *)pp, pp->uap_name);
209 uu_avl_create(uu_avl_pool_t *pp, void *parent, uint32_t flags)
224 ap->ua_pool = pp;
226 ap->ua_debug = pp->uap_debug || (flags & UU_AVL_DEBUG);
227 ap->ua_index = (pp->uap_last_index = INDEX_NEXT(pp->uap_last_index));
229 avl_create(&ap->ua_tree, &uu_avl_node_compare, pp->uap_objsize,
230 pp->uap_nodeoffset);
235 (void) pthread_mutex_lock(&pp->uap_lock);
236 next = &pp->uap_null_avl;
242 (void) pthread_mutex_unlock(&pp->uap_lock);
250 uu_avl_pool_t *pp = ap->ua_pool;
263 (void) pthread_mutex_lock(&pp->uap_lock);
266 (void) pthread_mutex_unlock(&pp->uap_lock);
423 uu_avl_pool_t *pp = ap->ua_pool;
424 uintptr_t *na = NODE_ARRAY(pp, elem);
451 na[0] = POOL_TO_MARKER(pp);
461 uu_avl_pool_t *pp = ap->ua_pool;
462 uintptr_t *na = NODE_ARRAY(pp, elem);
464 na[0] = POOL_TO_MARKER(pp);
495 uu_avl_pool_t *pp = ap->ua_pool;
496 uintptr_t *na = NODE_ARRAY(pp, elem);
506 if (na[0] != POOL_TO_MARKER(pp))
551 uu_avl_pool_t *pp;
554 for (pp = uu_null_apool.uap_next; pp != &uu_null_apool;
555 pp = pp->uap_next)
556 (void) pthread_mutex_lock(&pp->uap_lock);
562 uu_avl_pool_t *pp;
564 for (pp = uu_null_apool.uap_next; pp != &uu_null_apool;
565 pp = pp->uap_next)
566 (void) pthread_mutex_unlock(&pp->uap_lock);