unbound: Data Structures

unbound 0.1

Data Structures
Here are the data structures with brief descriptions:

C acl_addr | An address span with access control information
C acl_list | Access control storage structure
C addr_action |
C addr_data |
C addr_tree_node | Tree of IP addresses
C addredge |
C addrnode |
C addrtree |
C algo_needs | Storage for algorithm needs
C alloc_cache | Structure that provides allocation
C auth_addr | List of addresses
C auth_chunk | Auth zone master zone transfer data chunk
C auth_data | Auth data
C auth_master | Auth zone master upstream, and the config settings for it
C auth_nextprobe | The next probe task
C auth_probe | The probe task
C auth_rrset | A auth data RRset
C auth_transfer | The transfer task
C auth_xfer | Authoritative zone transfer structure
C auth_zone | Auth zone
C auth_zones | Authoritative zones, shared
C autr_global_data | Autotrust global metadata
C autr_point_data | Autotrust metadata for a trust point
C autr_ta | Autotrust metadata for one trust anchor key
C cachedb_backend | Backend call routines
C cachedb_env | The global variable environment contents for the cachedb Shared between threads, this represents long term information
C cachedb_qstate | Per query state for the cachedb module
C canon_rr | RR entries in a canonical sorted tree of RRs
C cb_pair |
C ce_response | Closest encloser (ce) proof results Contains the ce and the next-closer (nc) proof
C check_request_result | Structure holding the result of the worker_check_request function
C clientip_synthesized_rr |
C clientip_synthesized_rrset |
C codeline | The allocation statistics block
C comm_base | A communication point dispatcher
C comm_point | Communication point to the network These behaviours can be accomplished by setting the flags and passing return values from the callback
C comm_reply | Reply information for a communication point
C comm_signal | Structure only for signal events
C comm_timer | Structure only for making timeout events
C compress_tree_node | Data structure to help domain name compression in outgoing messages
C config_auth | Auth config options
C config_collate_arg | Collate func arg
C config_file | The configuration options
C config_parser_state | Used during options parsing
C config_str2list | List of two strings for config options
C config_str3list | List of three strings for config options
C config_strbytelist | List of string, bytestring for config options
C config_strlist | List of strings for config options
C config_strlist_head | List head for strlist processing, used for append operation
C config_stub | Stub config options
C config_view | View config options
C cookie_secret |
C cookie_secrets | The cookie secrets from the cookie-secret-file
C ctx_query | The queries outstanding for the libunbound resolver
C daemon | Structure holding worker list
C daemon_remote | The remote control tool state
C del_info | Local info for deletion functions
C delegpt | Delegation Point
C delegpt_addr | Address of target nameserver in delegation point
C delegpt_ns | Nameservers for a delegation point
C dns64_env | This structure contains module configuration information
C dns64_qstate | Per-query module-specific state
C dns_msg | Region allocated message reply
C domain_limit_data | Ratelimit settings for domains
C dt_frame_read_buf | Containing buffer and counter for reading DNSTAP frames
C dt_io_list_item | IO thread list of queues list item lists a worker queue that should be looked at and sent to the log server
C dt_io_thread | IO thread that reads from the queues and writes them
C dt_msg_entry | An entry in the dt_msg_queue
C dt_msg_queue | A message buffer with dnstap messages queued up
C dynlibmod_env |
C ecs_data | ECS option
C ecs_whitelist | Ecs_whitelist structure
C edns_data | EDNS data storage rdata is parsed in a list (has accessor functions)
C edns_known_option | Known edns option
C edns_option | EDNS option
C edns_string_addr | EDNS string
C edns_strings | Structure containing all EDNS strings
C entry | Data structure to keep the canned queries in
C errinf_strlist |
C ext_thr_info | Struct for extended thread info
C fake_commpoint | Fake commpoint, stores information
C fake_pending | Pending queries to network, fake replay version
C fake_timer | Timers with callbacks, fake replay version
C http2_session | HTTP2 session
C http2_stream | HTTP stream
C infra_arg | Structure for argument data for dump infra host
C infra_cache | Infra cache
C infra_data | Host information encompasses host capabilities and retransmission timeouts
C infra_key | Host information kept for every server, per zone
C inplace_cb | Inplace callback list of registered routines to be called
C internal_base | Internal base structure, so that every thread has its own events
C internal_event | The internal event structure for keeping ub_event info for the event
C internal_signal | Internal signal structure, to store signal event in
C internal_timer | Internal timer structure, to store timer event in
C ip_list | List of IP addresses
C ip_rate_key | Key for ip_ratelimit lookups, a source IP
C ipsecmod_env | The global variable environment contents for the ipsecmod Shared between threads, this represents long term information
C ipsecmod_qstate | Per query state for the ipsecmod module
C ipset_env |
C ipset_qstate |
C iter_donotq | Iterator donotqueryaddresses structure
C iter_env | Global state for the iterator
C iter_forward_zone | Iterator forward servers for a particular zone
C iter_forwards | Iterator forward zones structure
C iter_hints | Iterator hints structure
C iter_hints_stub | Iterator hints for a particular stub
C iter_prep_list | List of prepend items
C iter_priv | Iterator priv structure
C iter_qstate | Per query state for the iterator module
C key_cache | Key cache
C key_entry_data | Key entry for the validator
C key_entry_key | A key entry for the validator
C keysets | Key settings
C libworker | The library-worker status structure Internal to the worker
C listen_dnsport | Listening for queries structure
C listen_list | Single linked list to store event points
C listen_port | Single linked list to store shared ports that have been opened for use by all threads
C local_data | Local data
C local_rrset | A local data RRset
C local_zone | Local zone
C local_zone_override | Local zone override information
C local_zones | Authoritative local zones storage, shared
C lock_ref | Reference to a lock in a rbtree set
C lookinfo | Result list for the lookups
C lruhash | Hash table that keeps LRU list of entries
C lruhash_bin | A single bin with a linked list of entries in it
C lruhash_entry | An entry into the hash table
C main_tap_data | Main tap callback data
C matched_delegation_point |
C mesh_area | Mesh of query states
C mesh_cb | Callback to result routine
C mesh_reply | Reply to a client
C mesh_state | A mesh query state Unique per qname, qtype, qclass (from the qstate)
C mesh_state_ref | Rbtree reference to a mesh_state
C module_env | Module environment
C module_func_block | Module functionality block
C module_qstate | Module state, per query
C module_stack | Stack of modules
C msg_parse | Data stored in scratch pad memory during parsing
C msgreply_entry | Structure to keep hash table entry for message replies
C my_event |
C my_event_base |
C name_tree_node | Tree of domain names
C nonce_cache_key |
C nsec3_cache_table | Cache table for NSEC3 hashes
C nsec3_cached_hash | The NSEC3 hash result storage
C nsec3_filter | Filter conditions for NSEC3 proof Used to iterate over the applicable NSEC3 RRs
C order_id | Keep track of lock id in lock-verify application
C order_lock | Lock
C outbound_entry | Outbound list entry
C outbound_list | The outbound list
C outside_network | Send queries to outside servers and wait for answers from servers
C packed_rrset | An RRset can be represented using both key and data together
C packed_rrset_data | RRset data
C packed_rrset_key | The identifying information for an RRset
C packed_rrset_list | List of packed rrsets
C pending | A query that has an answer pending for it
C pending_tcp | Pending TCP query to server
C perfinfo | Global info for perf
C perfio | I/O port for perf
C port_comm | Outgoing commpoint for UDP port
C port_if | Outgoing interface
C pp2_header | PROXYv2 header
C proxy | List of proxy fds that return replies from the server to our clients
C proxy_protocol_data | Internal struct initialized with function pointers for writing uint16 and uint32
C proxy_protocol_lookup_table | Internal lookup table; could be further generic like sldns_lookup_table for all the future generic stuff
C pythonmod_env | Global state for the module
C pythonmod_qstate | Per query state for the iterator module
C q_ans | Struct for query and answer checks
C query_info | Structure to store query information that makes answers to queries different
C rate_data | Data for ratelimits per domain name It is incremented when a non-cache-lookup happens for that domain name
C rate_key | Key for ratelimit lookups, a domain name
C ratelimit_list_arg | Struct for user arg ratelimit list
C rbnode_type | The rbnode_type struct definition
C rbtree_type | Definition for tree struct
C rc_state | Busy control command connection, SSL state
C regional | Regional* is the first block*
C remote_stream | Connection to print to, either SSL or plain over fd
C replay_answer | An answer that is pending to happen
C replay_moment | A replay moment
C replay_range | Range of timesteps, and canned replies to matching queries
C replay_runtime | Replay storage of runtime information
C replay_scenario | A replay scenario
C replay_var | Replay macro variable
C reply_info | Structure to store DNS query and the reply packet
C reply_packet | Struct to keep a linked list of reply packets for a query
C resp_addr | An address span with response control information
C respip_action_info | Data items representing the result of response-ip processing
C respip_addr_info | Subset of resp_addr.node, used for inform-variant logging
C respip_client_info | Client-specific attributes that can affect IP-based actions
C respip_qstate | Per query state for the response-ip module
C respip_set | Conceptual set of IP addresses for response AAAA or A records that should trigger special actions
C reuse_tcp | Reuse TCP connection, still open can be used again
C ringbuf | The ring buffer
C rpz | RPZ containing policies
C rr_parse | Data stored for an RR during parsing
C rrset_cache | The rrset cache Thin wrapper around hashtable, like a typedef
C rrset_parse | Data stored for an rrset during parsing
C rrset_ref | Information to reference an rrset
C rtt_info | RTT information
C serve_expired_data | Struct to hold relevant data for serve expired
C service_callback | Callback to party interested in serviced query results
C serviced_query | Query service record
C shared_secret_cache_key |
C shm_main_info | The SHM info
C SignedCert |
C slab_test_thr | Structure to threaded test the lru hash table
C slabhash | Hash table formed from several smaller ones
C slabhash_testdata | Test structure contains test data
C slabhash_testkey | Test structure contains test key
C sldns_buffer | Implementation of buffers to ease operations
C sldns_file_parse_state | Wire parse state for parsing files
C sldns_struct_lookup_table | A general purpose lookup table
C sldns_struct_rr_descriptor | Contains all information about resource record types
C sock_list | Linked list of sockaddrs May be allocated such that only 'len' bytes of addr exist for the structure
C stop_flush_info | Structure to keep track of information during stop flush
C subnet_env | Global state for the subnet module
C subnet_msg_cache_data |
C subnet_qstate |
C ta_key | Trust anchor key
C tap_data | Tap callback variables
C tap_data_list |
C tap_socket | Tap socket
C tap_socket_list | List of sockets
C tcl_addr | An address span with connection limit information
C tcl_list | TCP connection limit storage structure
C tcp_proxy | List of TCP proxy fd pairs to TCP connect client to server
C tcp_req_done_item | List of done items in TCP channel
C tcp_req_info | TCP request info
C tcp_req_open_item | List of open items in TCP channel
C tcp_send_list | An item that has to be TCP relayed
C test_thr | Structure to threaded test the lru hash table
C th_buck | Bucket of time history information
C timehist | Keep histogram of time values
C tls_session_ticket_key |
C track_id | Keeping track of the async ids
C trust_anchor | A trust anchor in the trust anchor store
C tube | A pipe
C tube_res_list | List of results (arbitrary command serializations) to write back
C ub_ctx | The context structure
C ub_event | An "object" comprising a user defined pluggable event
C ub_event_base | A user defined pluggable event base is registered by providing a ub_event_base "object" with the ub_ctx_create_ub_event() function
C ub_event_base_vmt | The Virtual Method Table for and ub_event_base "object"
C ub_event_vmt | The Virtual Method Table for and ub_event "object"
C ub_packed_rrset_key | This structure contains an RRset
C ub_result | The validation and resolution results
C ub_server_stats | Per worker statistics
C ub_shm_stat_info | Some global statistics that are not in struct stats_info, this struct is shared on a shm segment (shm-key in unbound.conf)
C ub_stats_info | Statistics to send over the control pipe when asked This struct is made to be memcopied, sent in binary
C unbound_socket |
C val_anchors | Trust anchor store
C val_env | Global state for the validator
C val_neg_cache | The negative cache
C val_neg_data | Data element for aggressive negative caching
C val_neg_zone | Per Zone aggressive negative caching data
C val_qstate | Per query state for the validator module
C view | View
C views | Views storage, shared
C wait_limit_netblock_info | Data to store the configuration per netblock for the wait limit
C waiting_tcp | Query waiting for TCP buffer
C worker | Structure holding working information for unbound
C xml_data | XML parse private data during the parse