Lines Matching refs:option_list

172 	ldns_edns_option_list *option_list = LDNS_MALLOC(ldns_edns_option_list);  in ldns_edns_option_list_new()  local
173 if(!option_list) { in ldns_edns_option_list_new()
177 option_list->_option_count = 0; in ldns_edns_option_list_new()
178 option_list->_option_capacity = 0; in ldns_edns_option_list_new()
179 option_list->_options_size = 0; in ldns_edns_option_list_new()
180 option_list->_options = NULL; in ldns_edns_option_list_new()
181 return option_list; in ldns_edns_option_list_new()
216 ldns_edns_option_list_free(ldns_edns_option_list *option_list) in ldns_edns_option_list_free() argument
218 if (option_list) { in ldns_edns_option_list_free()
219 LDNS_FREE(option_list->_options); in ldns_edns_option_list_free()
220 LDNS_FREE(option_list); in ldns_edns_option_list_free()
225 ldns_edns_option_list_deep_free(ldns_edns_option_list *option_list) in ldns_edns_option_list_deep_free() argument
229 if (option_list) { in ldns_edns_option_list_deep_free()
230 for (i=0; i < ldns_edns_option_list_get_count(option_list); i++) { in ldns_edns_option_list_deep_free()
231 ldns_edns_deep_free(ldns_edns_option_list_get_option(option_list, i)); in ldns_edns_option_list_deep_free()
233 ldns_edns_option_list_free(option_list); in ldns_edns_option_list_deep_free()
238 ldns_edns_option_list_get_count(const ldns_edns_option_list *option_list) in ldns_edns_option_list_get_count() argument
240 if (option_list) { in ldns_edns_option_list_get_count()
241 return option_list->_option_count; in ldns_edns_option_list_get_count()
248 ldns_edns_option_list_get_option(const ldns_edns_option_list *option_list, size_t index) in ldns_edns_option_list_get_option() argument
250 if (option_list && index < ldns_edns_option_list_get_count(option_list)) { in ldns_edns_option_list_get_option()
251 assert(option_list->_options[index]); in ldns_edns_option_list_get_option()
252 return option_list->_options[index]; in ldns_edns_option_list_get_option()
259 ldns_edns_option_list_get_options_size(const ldns_edns_option_list *option_list) in ldns_edns_option_list_get_options_size() argument
261 if (option_list) { in ldns_edns_option_list_get_options_size()
262 return option_list->_options_size; in ldns_edns_option_list_get_options_size()
270 ldns_edns_option_list_set_option(ldns_edns_option_list *option_list, in ldns_edns_option_list_set_option() argument
275 assert(option_list != NULL); in ldns_edns_option_list_set_option()
277 if (index > ldns_edns_option_list_get_count(option_list)) { in ldns_edns_option_list_set_option()
285 old = ldns_edns_option_list_get_option(option_list, index); in ldns_edns_option_list_set_option()
289 option_list->_options_size -= (ldns_edns_get_size(old) + 4); in ldns_edns_option_list_set_option()
292 option_list->_options_size += (ldns_edns_get_size(option) + 4); in ldns_edns_option_list_set_option()
294 option_list->_options[index] = option; in ldns_edns_option_list_set_option()
299 ldns_edns_option_list_push(ldns_edns_option_list *option_list, in ldns_edns_option_list_push() argument
305 assert(option_list != NULL); in ldns_edns_option_list_push()
311 cap = option_list->_option_capacity; in ldns_edns_option_list_push()
312 option_count = ldns_edns_option_list_get_count(option_list); in ldns_edns_option_list_push()
325 new_list = LDNS_XREALLOC(option_list->_options, in ldns_edns_option_list_push()
332 option_list->_options = new_list; in ldns_edns_option_list_push()
333 option_list->_option_capacity = cap; in ldns_edns_option_list_push()
337 ldns_edns_option_list_set_option(option_list, option, in ldns_edns_option_list_push()
338 option_list->_option_count); in ldns_edns_option_list_push()
339 option_list->_option_count += 1; in ldns_edns_option_list_push()
345 ldns_edns_option_list_pop(ldns_edns_option_list *option_list) in ldns_edns_option_list_pop() argument
351 assert(option_list != NULL); in ldns_edns_option_list_pop()
353 cap = option_list->_option_capacity; in ldns_edns_option_list_pop()
354 count = ldns_edns_option_list_get_count(option_list); in ldns_edns_option_list_pop()
360 pop = ldns_edns_option_list_get_option(option_list, count-1); in ldns_edns_option_list_pop()
368 new_list = LDNS_XREALLOC(option_list->_options, in ldns_edns_option_list_pop()
371 option_list->_options = new_list; in ldns_edns_option_list_pop()
378 option_list->_options_size -= (ldns_edns_get_size(pop) + 4); in ldns_edns_option_list_pop()
381 option_list->_option_count = count - 1; in ldns_edns_option_list_pop()
387 ldns_edns_option_list2wireformat_buffer(const ldns_edns_option_list *option_list) in ldns_edns_option_list2wireformat_buffer() argument
394 if (!option_list) { in ldns_edns_option_list2wireformat_buffer()
399 list_size = ldns_edns_option_list_get_count(option_list); in ldns_edns_option_list2wireformat_buffer()
402 options_size = ldns_edns_option_list_get_options_size(option_list); in ldns_edns_option_list2wireformat_buffer()
411 edns = ldns_edns_option_list_get_option(option_list, i); in ldns_edns_option_list2wireformat_buffer()