order.h File Reference

#include <isc/lang.h>
#include <isc/types.h>
#include <dns/types.h>

Go to the source code of this file.

Defines

#define DNS_ORDER_H   1

Functions

ISC_LANG_BEGINDECLS isc_result_t dns_order_create (isc_mem_t *mctx, dns_order_t **orderp)
 Create a order object.
isc_result_t dns_order_add (dns_order_t *order, dns_name_t *name, dns_rdatatype_t rdtype, dns_rdataclass_t rdclass, unsigned int mode)
 Add a entry to the end of the order list.
unsigned int dns_order_find (dns_order_t *order, dns_name_t *name, dns_rdatatype_t rdtype, dns_rdataclass_t rdclass)
 Find the first matching entry on the list.
void dns_order_attach (dns_order_t *source, dns_order_t **target)
 Attach to the 'source' object.
void dns_order_detach (dns_order_t **orderp)
 Detach from the object. Clean up if last this was the last reference.


Detailed Description

Definition in file order.h.


Define Documentation

#define DNS_ORDER_H   1

Definition at line 21 of file order.h.


Function Documentation

ISC_LANG_BEGINDECLS isc_result_t dns_order_create ( isc_mem_t mctx,
dns_order_t **  orderp 
)

Create a order object.

Requires:

Returns:

Definition at line 56 of file order.c.

References DNS_ORDER_MAGIC, ISC_LIST_INIT, isc_mem_attach(), isc_mem_get, isc_mem_put, ISC_R_NOMEMORY, ISC_R_SUCCESS, isc_refcount_init(), dns_order::magic, dns_order::references, and REQUIRE.

Referenced by configure_view(), and dns_view_create().

isc_result_t dns_order_add ( dns_order_t order,
dns_name_t name,
dns_rdatatype_t  rdtype,
dns_rdataclass_t  rdclass,
unsigned int  mode 
)

Add a entry to the end of the order list.

Requires:

Returns:

Definition at line 83 of file order.c.

References dns_fixedname_init, dns_fixedname_name, dns_name_copy(), DNS_ORDER_VALID, DNS_RDATASETATTR_FIXEDORDER, DNS_RDATASETATTR_RANDOMIZE, ISC_LINK_INIT, ISC_LIST_INITANDAPPEND, isc_mem_get, ISC_R_NOMEMORY, ISC_R_SUCCESS, dns_order_ent::mode, dns_order_ent::name, dns_order_ent::rdclass, dns_order_ent::rdtype, REQUIRE, and RUNTIME_CHECK.

Referenced by configure_order().

unsigned int dns_order_find ( dns_order_t order,
dns_name_t name,
dns_rdatatype_t  rdtype,
dns_rdataclass_t  rdclass 
)

Find the first matching entry on the list.

Requires:

Returns the mode set by dns_order_add() or zero.

Definition at line 118 of file order.c.

References dns_fixedname_name, DNS_ORDER_VALID, ISC_LIST_HEAD, ISC_LIST_NEXT, match(), dns_order_ent::mode, dns_order_ent::name, dns_order_ent::rdclass, dns_order_ent::rdtype, and REQUIRE.

Referenced by query_addrdataset().

void dns_order_attach ( dns_order_t source,
dns_order_t **  target 
)

Attach to the 'source' object.

Requires:

Definition at line 139 of file order.c.

References DNS_ORDER_VALID, isc_refcount_increment, dns_order::references, and REQUIRE.

Referenced by configure_view().

void dns_order_detach ( dns_order_t **  orderp  ) 

Detach from the object. Clean up if last this was the last reference.

Requires:

Definition at line 147 of file order.c.

References DNS_ORDER_VALID, ISC_LIST_HEAD, ISC_LIST_UNLINK, isc_mem_put, isc_mem_putanddetach, isc_refcount_decrement, isc_refcount_destroy, dns_order::magic, dns_order::references, and REQUIRE.

Referenced by configure_view(), destroy(), and dns_view_create().


Generated on Tue Apr 28 17:41:10 2015 by Doxygen 1.5.4 for BIND9 Internals 9.11.0pre-alpha