Lines Matching defs:order
9 /* $Id: order.c,v 1.10 2007/06/19 23:47:16 tbox Exp $ */
23 #include <dns/order.h>
44 #define DNS_ORDER_VALID(order) ISC_MAGIC_VALID(order, DNS_ORDER_MAGIC)
48 dns_order_t *order;
53 order = isc_mem_get(mctx, sizeof(*order));
54 if (order == NULL)
57 ISC_LIST_INIT(order->ents);
60 result = isc_refcount_init(&order->references, 1);
62 isc_mem_put(mctx, order, sizeof(*order));
66 order->mctx = NULL;
67 isc_mem_attach(mctx, &order->mctx);
68 order->magic = DNS_ORDER_MAGIC;
69 *orderp = order;
74 dns_order_add(dns_order_t *order, dns_name_t *name,
80 REQUIRE(DNS_ORDER_VALID(order));
85 ent = isc_mem_get(order->mctx, sizeof(*ent));
96 ISC_LIST_INITANDAPPEND(order->ents, ent, link);
109 dns_order_find(dns_order_t *order, dns_name_t *name,
113 REQUIRE(DNS_ORDER_VALID(order));
115 for (ent = ISC_LIST_HEAD(order->ents);
139 dns_order_t *order;
144 order = *orderp;
145 REQUIRE(DNS_ORDER_VALID(order));
146 isc_refcount_decrement(&order->references, &references);
151 order->magic = 0;
152 while ((ent = ISC_LIST_HEAD(order->ents)) != NULL) {
153 ISC_LIST_UNLINK(order->ents, ent, link);
154 isc_mem_put(order->mctx, ent, sizeof(*ent));
156 isc_refcount_destroy(&order->references);
157 isc_mem_putanddetach(&order->mctx, order, sizeof(*order));