Lines Matching defs:list

93 ptrlist_init(ptrlist_t * list)
95 bzero(list, sizeof(*list));
100 ptrlist_free(ptrlist_t * list)
102 if (list->array)
103 my_free(list->array);
104 ptrlist_init(list);
109 ptrlist_count(ptrlist_t * list)
111 if (list == NULL || list->array == NULL)
114 return (list->count);
118 ptrlist_element(ptrlist_t * list, int i)
120 if (list->array == NULL)
122 if (i < list->count)
123 return (list->array[i]);
129 ptrlist_grow(ptrlist_t * list)
131 if (list->array == NULL) {
132 if (list->size == 0)
133 list->size = PTRLIST_NUMBER;
134 list->count = 0;
135 list->array = my_malloc(sizeof(*list->array) * list->size);
137 else if (list->size == list->count) {
138 dprintf(("doubling %d to %d\n", list->size, list->size * 2));
139 list->array = my_realloc(list->array,
140 sizeof(*list->array) * list->size,
141 sizeof(*list->array) * list->size * 2);
142 list->size *= 2;
144 if (list->array == NULL)
150 ptrlist_add(ptrlist_t * list, const void * element)
152 if (ptrlist_grow(list) == FALSE)
155 list->array[list->count++] = element;
159 /* concatenates extra onto list */
161 ptrlist_concat(ptrlist_t * list, ptrlist_t * extra)
166 if ((extra->count + list->count) > list->size) {
167 int old_size = list->size;
169 list->size = extra->count + list->count;
170 if (list->array == NULL)
171 list->array = my_malloc(sizeof(*list->array) * list->size);
173 list->array = my_realloc(list->array, old_size,
174 sizeof(*list->array) * list->size);
176 if (list->array == NULL)
178 bcopy(extra->array, list->array + list->count,
179 extra->count * sizeof(*list->array));
180 list->count += extra->count;
192 dhcpol_add(dhcpol_t * list, const void * element)
194 return (ptrlist_add((ptrlist_t *)list, element));
198 dhcpol_count(dhcpol_t * list)
200 return (ptrlist_count((ptrlist_t *)list));
204 dhcpol_element(dhcpol_t * list, int i)
206 return (ptrlist_element((ptrlist_t *)list, i));
210 dhcpol_init(dhcpol_t * list)
212 ptrlist_init((ptrlist_t *)list);
216 dhcpol_free(dhcpol_t * list)
218 ptrlist_free((ptrlist_t *)list);
222 dhcpol_concat(dhcpol_t * list, dhcpol_t * extra)
224 return (ptrlist_concat((ptrlist_t *)list, (ptrlist_t *)extra));
232 * list of option pointers in the given dhcpol_t.
237 dhcpol_parse_buffer(dhcpol_t * list, const void * buffer, int length)
243 dhcpol_init(list);
254 dhcpol_add(list, scan);
265 dhcpol_add(list, scan);
275 dhcpol_free(list);
294 dhcpol_find(dhcpol_t * list, int tag, int * len_p, int * start)
304 for (; i < dhcpol_count(list); i++) {
305 const uint8_t * option = dhcpol_element(list, i);
331 dhcpol_get(dhcpol_t * list, int tag, int * len_p)
340 for (i = 0; i < dhcpol_count(list); i++) {
341 const uint8_t * option = dhcpol_element(list, i);