Lines Matching refs:head

78 	struct radish_head *head;  in rd_inithead()  local
83 int len = sizeof(*head) + sizeof(*new) + slen * num; in rd_inithead()
86 R_Malloc(head, struct radish_head *, len); in rd_inithead()
87 if (head == NULL) in rd_inithead()
89 Bzero(head, len); in rd_inithead()
90 new = (struct radish *)(head + 1); in rd_inithead()
92 *headp = head; in rd_inithead()
108 head->rdh_slen = slen; in rd_inithead()
109 head->rdh_offset = off; in rd_inithead()
110 head->rdh_alen = alen; in rd_inithead()
111 head->rdh_masks = masks; in rd_inithead()
112 head->rdh_match = match; in rd_inithead()
113 head->rdh_top = new; in rd_inithead()
124 rd_mask(struct sockaddr *m_arg, struct radish_head *head, int *maskp) in rd_mask() argument
126 u_char *mp, *masks = (u_char *)head->rdh_masks; in rd_mask()
127 int off = head->rdh_offset; in rd_mask()
128 int slen = head->rdh_slen; in rd_mask()
129 int alen = head->rdh_alen; in rd_mask()
159 struct radish_head *head, void *rt) in rd_insert() argument
161 struct radish *cur = head->rdh_top, *parent, *new; in rd_insert()
162 int off = head->rdh_offset; in rd_insert()
163 int slen = head->rdh_slen; in rd_insert()
164 int alen = head->rdh_alen; in rd_insert()
169 mask = rd_mask(m_arg, head, &masklen); in rd_insert()
214 return rd_glue(cur, new, i, head); in rd_insert()
244 return rd_glue(cur, new, i, head); in rd_insert()
252 return rd_glue(cur, new, lim, head); in rd_insert()
293 return rd_glue(cur, new, i, head); in rd_insert()
301 return rd_glue(cur, new, lim, head); in rd_insert()
335 struct radish_head *head) in rd_glue() argument
341 int off = head->rdh_offset, slen = head->rdh_slen; in rd_glue()
370 ((u_char *)head->rdh_masks + slen * glue->rd_masklen); in rd_glue()
413 rd_match(struct sockaddr *d_arg, struct radish_head *head, struct radish **rdp) in rd_match() argument
415 return rd_match_next(d_arg, head, rdp, NULL); in rd_match()
419 rd_match_next(struct sockaddr *d_arg, struct radish_head *head, in rd_match_next() argument
423 int off = head->rdh_offset, i, lim; in rd_match_next()
427 cur = head->rdh_top; in rd_match_next()
481 struct radish_head *head) in rd_lookup() argument
483 struct radish *cur = head->rdh_top; in rd_lookup()
484 int off = head->rdh_offset, i, lim, olim = 0, masklen; in rd_lookup()
487 rd_mask(m_arg, head, &masklen); in rd_lookup()
525 struct radish_head *head, void **item) in rd_delete() argument
527 struct radish *cur = head->rdh_top; in rd_delete()
528 int off = head->rdh_offset, i, lim, masklen; in rd_delete()
531 rd_mask(m_arg, head, &masklen); in rd_delete()
557 lim = head->rdh_alen; in rd_delete()
589 rd_unlink(cur, head->rdh_top); in rd_delete()