Lines Matching refs:phn
19 #define phn(a_type) \ macro
171 a_type *phn = phn_next_get(a_type, a_field, a_ph->ph_root); \
172 if (phn != NULL) { \
175 phn_prev_set(a_type, a_field, phn, NULL); \
176 ph_merge_siblings(a_type, a_field, phn, a_cmp, phn); \
177 assert(phn_next_get(a_type, a_field, phn) == NULL); \
178 phn_merge(a_type, a_field, a_ph->ph_root, phn, a_cmp, \
202 a_attr void a_prefix##insert(a_ph_type *ph, a_type *phn); \
205 a_attr void a_prefix##remove(a_ph_type *ph, a_type *phn);
240 a_prefix##insert(a_ph_type *ph, a_type *phn) { \
241 memset(&phn->a_field, 0, sizeof(phn(a_type))); \
252 ph->ph_root = phn; \
254 phn_next_set(a_type, a_field, phn, phn_next_get(a_type, \
260 phn); \
262 phn_prev_set(a_type, a_field, phn, ph->ph_root); \
263 phn_next_set(a_type, a_field, ph->ph_root, phn); \
310 a_prefix##remove(a_ph_type *ph, a_type *phn) { \
313 if (ph->ph_root == phn) { \
319 if (phn_lchild_get(a_type, a_field, phn) == NULL) { \
321 phn); \
329 if (ph->ph_root == phn) { \
337 if ((parent = phn_prev_get(a_type, a_field, phn)) != NULL) { \
338 if (phn_lchild_get(a_type, a_field, parent) != phn) { \
343 ph_merge_children(a_type, a_field, phn, a_cmp, replace); \
352 phn_prev_get(a_type, a_field, phn)); \
353 if (phn_prev_get(a_type, a_field, phn) != \
356 phn_prev_get(a_type, a_field, phn), \
361 phn_next_get(a_type, a_field, phn)); \
362 if (phn_next_get(a_type, a_field, phn) != NULL) { \
364 phn_next_get(a_type, a_field, phn), \
370 phn); \
377 assert(phn_prev_get(a_type, a_field, phn) != \
380 phn_prev_get(a_type, a_field, phn), \
381 phn_next_get(a_type, a_field, phn)); \
383 if (phn_next_get(a_type, a_field, phn) != NULL) { \
385 phn_next_get(a_type, a_field, phn), \
386 phn_prev_get(a_type, a_field, phn)); \