includes/dhcpd.h File Reference

#include "config.h"
#include <sys/types.h>
#include <netinet/in.h>
#include <sys/socket.h>
#include <sys/un.h>
#include <arpa/inet.h>
#include <errno.h>
#include <netdb.h>
#include <stddef.h>
#include <fcntl.h>
#include <stdio.h>
#include <unistd.h>
#include <string.h>
#include <stdlib.h>
#include <sys/stat.h>
#include <sys/mman.h>
#include <ctype.h>
#include <time.h>
#include <net/if.h>
#include <net/route.h>
#include <net/if_arp.h>
#include <setjmp.h>
#include "cdefs.h"
#include "osdep.h"
#include "arpa/nameser.h"
#include "minires.h"
#include <omapip/isclib.h>
#include <omapip/result.h>
#include "dhcp.h"
#include "dhcp6.h"
#include "statement.h"
#include "tree.h"
#include "inet.h"
#include "dhctoken.h"
#include <omapip/omapip_p.h>
#include "failover.h"
#include "ctrace.h"

Go to the source code of this file.

Data Structures

struct  ddns_fqdn_t
struct  parse
struct  string_list
struct  name_server
struct  domain_search_list
struct  option_tag
struct  agent_options
struct  option_cache
struct  option_state
struct  packet
struct  hardware
struct  dhcp_control_object_t
struct  on_star
struct  lease
struct  lease_state
struct  group_object
struct  group
struct  host_decl
struct  permit
struct  pool
struct  shared_network
struct  subnet
struct  collection
struct  class
struct  client_lease
struct  dhc6_addr
struct  dhc6_ia
struct  dhc6_lease
struct  client_config
struct  client_state
struct  envadd_state
struct  dns_update_state
struct  interface_info
struct  hardware_link
struct  leasequeue
struct  timeout
struct  eventqueue
struct  protocol
struct  dns_wakeup
struct  dns_question
struct  dns_answer
struct  dns_query
struct  dns_zone
struct  icmp_state
struct  iasubopt
struct  ia_xx
struct  ipv6_pool
 ipv6_pool structure More...
struct  ipv6_pond
 ipv6_pond structure More...
struct  dhcp_ddns_cb

Defines

#define EOL   '\n'
#define BYTE_NAME_HASH_SIZE   401
#define BYTE_CODE_HASH_SIZE   254
#define WORD_NAME_HASH_SIZE   20479
#define WORD_CODE_HASH_SIZE   16384
#define QUAD_NAME_HASH_SIZE   WORD_NAME_HASH_SIZE
#define QUAD_CODE_HASH_SIZE   WORD_CODE_HASH_SIZE
#define DNS_HASH_SIZE   0
#define DEFAULT_SPACE_HASH_SIZE   11
#define NWIP_HASH_SIZE   17
#define FQDN_HASH_SIZE   13
#define VIVCO_HASH_SIZE   127
#define VIVSO_HASH_SIZE   VIVCO_HASH_SIZE
#define VSIO_HASH_SIZE   VIVCO_HASH_SIZE
#define VIV_ISC_HASH_SIZE   3
#define UNIVERSE_HASH_SIZE   13
#define GROUP_HASH_SIZE   0
#define HOST_HASH_SIZE   22501
#define LEASE_HASH_SIZE   100003
#define SCLASS_HASH_SIZE   12007
#define AGENT_HASH_SIZE   11
#define SERVER_HASH_SIZE   (2*(sizeof(server_options) / sizeof(struct option)))
#define OPTION_HASH_SIZE   17
#define OPTION_HASH_PTWO   32
#define OPTION_HASH_EXP   5
#define compute_option_hash(x)
#define OPTION_HAD_NULLS   0x00000001
#define PACKET_MAX_CLASSES   5
#define HARDWARE_ADDR_LEN   20
#define FTS_FREE   1
#define FTS_ACTIVE   2
#define FTS_EXPIRED   3
#define FTS_RELEASED   4
#define FTS_ABANDONED   5
#define FTS_RESET   6
#define FTS_BACKUP   7
#define FTS_LAST   FTS_BACKUP
#define STATIC_LEASE   1
#define BOOTP_LEASE   2
#define RESERVED_LEASE   4
#define MS_NULL_TERMINATION   8
#define ON_UPDATE_QUEUE   16
#define ON_ACK_QUEUE   32
#define ON_QUEUE   (ON_UPDATE_QUEUE | ON_ACK_QUEUE)
#define UNICAST_BROADCAST_HACK   64
#define ON_DEFERRED_QUEUE   128
#define PERSISTENT_FLAGS   (ON_ACK_QUEUE | ON_UPDATE_QUEUE)
#define EPHEMERAL_FLAGS
#define ROOT_GROUP   0
#define HOST_DECL   1
#define SHARED_NET_DECL   2
#define SUBNET_DECL   3
#define CLASS_DECL   4
#define GROUP_DECL   5
#define POOL_DECL   6
#define DISCOVER_RUNNING   0
#define DISCOVER_SERVER   1
#define DISCOVER_UNCONFIGURED   2
#define DISCOVER_RELAY   3
#define DISCOVER_REQUESTED   4
#define DDNS_UPDATE_STYLE_NONE   0
#define DDNS_UPDATE_STYLE_AD_HOC   1
#define DDNS_UPDATE_STYLE_INTERIM   2
#define DDNS_UPDATE_STYLE_STANDARD   3
#define SV_DEFAULT_LEASE_TIME   1
#define SV_MAX_LEASE_TIME   2
#define SV_MIN_LEASE_TIME   3
#define SV_BOOTP_LEASE_CUTOFF   4
#define SV_BOOTP_LEASE_LENGTH   5
#define SV_BOOT_UNKNOWN_CLIENTS   6
#define SV_DYNAMIC_BOOTP   7
#define SV_ALLOW_BOOTP   8
#define SV_ALLOW_BOOTING   9
#define SV_ONE_LEASE_PER_CLIENT   10
#define SV_GET_LEASE_HOSTNAMES   11
#define SV_USE_HOST_DECL_NAMES   12
#define SV_USE_LEASE_ADDR_FOR_DEFAULT_ROUTE   13
#define SV_MIN_SECS   14
#define SV_FILENAME   15
#define SV_SERVER_NAME   16
#define SV_NEXT_SERVER   17
#define SV_AUTHORITATIVE   18
#define SV_VENDOR_OPTION_SPACE   19
#define SV_ALWAYS_REPLY_RFC1048   20
#define SV_SITE_OPTION_SPACE   21
#define SV_ALWAYS_BROADCAST   22
#define SV_DDNS_DOMAIN_NAME   23
#define SV_DDNS_HOST_NAME   24
#define SV_DDNS_REV_DOMAIN_NAME   25
#define SV_LEASE_FILE_NAME   26
#define SV_PID_FILE_NAME   27
#define SV_DUPLICATES   28
#define SV_DECLINES   29
#define SV_DDNS_UPDATES   30
#define SV_OMAPI_PORT   31
#define SV_LOCAL_PORT   32
#define SV_LIMITED_BROADCAST_ADDRESS   33
#define SV_REMOTE_PORT   34
#define SV_LOCAL_ADDRESS   35
#define SV_OMAPI_KEY   36
#define SV_STASH_AGENT_OPTIONS   37
#define SV_DDNS_TTL   38
#define SV_DDNS_UPDATE_STYLE   39
#define SV_CLIENT_UPDATES   40
#define SV_UPDATE_OPTIMIZATION   41
#define SV_PING_CHECKS   42
#define SV_UPDATE_STATIC_LEASES   43
#define SV_LOG_FACILITY   44
#define SV_DO_FORWARD_UPDATES   45
#define SV_PING_TIMEOUT   46
#define SV_RESERVE_INFINITE   47
#define SV_DDNS_CONFLICT_DETECT   48
#define SV_LEASEQUERY   49
#define SV_ADAPTIVE_LEASE_TIME_THRESHOLD   50
#define SV_DO_REVERSE_UPDATES   51
#define SV_FQDN_REPLY   52
#define SV_PREFER_LIFETIME   53
#define SV_DHCPV6_LEASE_FILE_NAME   54
#define SV_DHCPV6_PID_FILE_NAME   55
#define SV_LIMIT_ADDRS_PER_IA   56
#define SV_LIMIT_PREFS_PER_IA   57
#define SV_DELAYED_ACK   58
#define SV_MAX_ACK_DELAY   59
#define SV_CACHE_THRESHOLD   78
#define SV_DONT_USE_FSYNC   79
#define SV_DDNS_LOCAL_ADDRESS4   80
#define SV_DDNS_LOCAL_ADDRESS6   81
#define SV_IGNORE_CLIENT_UIDS   82
#define DEFAULT_PING_TIMEOUT   1
#define DEFAULT_DELAYED_ACK   28
#define DEFAULT_ACK_DELAY_SECS   0
#define DEFAULT_ACK_DELAY_USECS   250000
#define DEFAULT_MIN_ACK_DELAY_USECS   10000
#define DEFAULT_CACHE_THRESHOLD   25
#define DEFAULT_DEFAULT_LEASE_TIME   43200
#define DEFAULT_MIN_LEASE_TIME   300
#define DEFAULT_MAX_LEASE_TIME   86400
#define DEFAULT_DDNS_TTL   3600
#define MAX_DEFAULT_DDNS_TTL   3600
#define MIN_LEASE_WRITE   15
#define CL_TIMEOUT   1
#define CL_SELECT_INTERVAL   2
#define CL_REBOOT_TIMEOUT   3
#define CL_RETRY_INTERVAL   4
#define CL_BACKOFF_CUTOFF   5
#define CL_INITIAL_INTERVAL   6
#define CL_BOOTP_POLICY   7
#define CL_SCRIPT_NAME   8
#define CL_REQUESTED_OPTIONS   9
#define CL_REQUESTED_LEASE_TIME   10
#define CL_SEND_OPTIONS   11
#define CL_MEDIA   12
#define CL_REJECT_LIST   13
#define CL_DEFAULT_TIMEOUT   60
#define CL_DEFAULT_SELECT_INTERVAL   0
#define CL_DEFAULT_REBOOT_TIMEOUT   10
#define CL_DEFAULT_RETRY_INTERVAL   300
#define CL_DEFAULT_BACKOFF_CUTOFF   120
#define CL_DEFAULT_INITIAL_INTERVAL   10
#define CL_DEFAULT_BOOTP_POLICY   P_ACCEPT
#define CL_DEFAULT_REQUESTED_OPTIONS
#define GROUP_OBJECT_DELETED   1
#define GROUP_OBJECT_DYNAMIC   2
#define GROUP_OBJECT_STATIC   4
#define HOST_DECL_DELETED   1
#define HOST_DECL_DYNAMIC   2
#define HOST_DECL_STATIC   4
#define SHARED_IMPLICIT   1
#define CLASS_TYPE_VENDOR   0
#define CLASS_TYPE_USER   1
#define CLASS_TYPE_CLASS   2
#define CLASS_TYPE_SUBCLASS   3
#define CLASS_DECL_DELETED   1
#define CLASS_DECL_DYNAMIC   2
#define CLASS_DECL_STATIC   4
#define CLASS_DECL_SUBCLASS   8
#define DHC6_ADDR_DEPREFFED   0x01
#define DHC6_ADDR_EXPIRED   0x02
#define INTERFACE_REQUESTED   1
#define INTERFACE_AUTOMATIC   2
#define INTERFACE_RUNNING   4
#define INTERFACE_DOWNSTREAM   8
#define INTERFACE_UPSTREAM   16
#define INTERFACE_STREAMS   (INTERFACE_DOWNSTREAM | INTERFACE_UPSTREAM)
#define DNS_ZONE_ACTIVE   0
#define DNS_ZONE_INACTIVE   1
#define OPTION_ZERO(mask)   (memset (mask, 0, 16))
#define OPTION_SET(mask, bit)   (mask [bit >> 8] |= (1 << (bit & 7)))
#define OPTION_CLR(mask, bit)   (mask [bit >> 8] &= ~(1 << (bit & 7)))
#define OPTION_ISSET(mask, bit)   (mask [bit >> 8] & (1 << (bit & 7)))
#define OPTION_ISCLR(mask, bit)   (!OPTION_ISSET (mask, bit))
#define OPTION_SPACE(x)   ((x) + 2 * ((x) / 255 + 1))
#define _PATH_DHCPD_CONF   "/etc/dhcp/dhcpd.conf"
#define _PATH_DHCLIENT_CONF   "/etc/dhcp/dhclient.conf"
#define _PATH_DHCLIENT_SCRIPT   "/usr/sbin/dhclient-script"
#define _PATH_RESOLV_CONF   "/etc/resolv.conf"
#define _PATH_DHCRELAY6_PID   LOCALSTATEDIR"/run/dhcrelay6.pid"
#define DHCPD_LOG_FACILITY   LOG_DAEMON
#define MAX_TIME   0x7fffffff
#define MIN_TIME   0
#define EXPIRED_IPV6_CLEANUP_TIME   (60*60)
#define DDNS_UPDATE_ADDR   0x01
#define DDNS_UPDATE_PTR   0x02
#define DDNS_INCLUDE_RRSET   0x04
#define DDNS_CONFLICT_OVERRIDE   0x08
#define DDNS_CLIENT_DID_UPDATE   0x10
#define DDNS_EXECUTE_NEXT   0x20
#define DDNS_ABORT   0x40
#define DDNS_STATIC_LEASE   0x80
#define DDNS_ACTIVE_LEASE   0x100
#define DDNS_STATE_CLEANUP   0
#define DDNS_STATE_ADD_FW_NXDOMAIN   1
#define DDNS_STATE_ADD_FW_YXDHCID   2
#define DDNS_STATE_ADD_PTR   3
#define DDNS_STATE_REM_FW_YXDHCID   17
#define DDNS_STATE_REM_FW_NXRR   18
#define DDNS_STATE_REM_PTR   19
#define DDNS_PRINT_INBOUND   1
#define DDNS_PRINT_OUTBOUND   0
#define cur_time   cur_tv.tv_sec
#define skip_token(a, b, c)   ((void) next_token((a),(b),(c)))
#define DEFAULT_TIME_FORMAT   0
#define LOCAL_TIME_FORMAT   1
#define print_hex_1(len, data, limit)   print_hex(len, data, limit, 0)
#define print_hex_2(len, data, limit)   print_hex(len, data, limit, 1)
#define print_hex_3(len, data, limit)   print_hex(len, data, limit, 2)
#define MAX_ADDRESS_STRING_LEN   (sizeof("ffff:ffff:ffff:ffff:ffff:ffff:255.255.255.255"))

Typedefs

typedef struct hash_table group_hash_t
typedef struct hash_table universe_hash_t
typedef struct hash_table option_name_hash_t
typedef struct hash_table option_code_hash_t
typedef struct hash_table dns_zone_hash_t
typedef struct hash_table lease_ip_hash_t
typedef struct hash_table lease_id_hash_t
typedef struct hash_table host_hash_t
typedef struct hash_table class_hash_t
typedef time_t TIME
typedef u_int8_t binding_state_t
typedef void(* tvref_t )(void *, void *, const char *, int)
typedef void(* tvunref_t )(void *, const char *, int)
typedef unsigned char option_mask [16]
typedef struct hash_table ia_hash_t
typedef struct hash_table iasubopt_hash_t
typedef void(* ddns_action_t )(struct dhcp_ddns_cb *ddns_cb, isc_result_t result)
typedef struct dhcp_ddns_cb dhcp_ddns_cb_t

Enumerations

enum  dhcp_shutdown_state {
  shutdown_listeners, shutdown_omapi_connections, shutdown_drop_omapi_connections, shutdown_dhcp,
  shutdown_done
}
enum  control_object_state_t {
  server_startup = 0, server_running = 1, server_shutdown = 2, server_hibernate = 3,
  server_awaken = 4
}
enum  dhcp_state {
  S_REBOOTING = 1, S_INIT = 2, S_SELECTING = 3, S_REQUESTING = 4,
  S_BOUND = 5, S_RENEWING = 6, S_REBINDING = 7, S_STOPPED = 8,
  S_DECLINED = 9
}
enum  policy {
  P_IGNORE, P_ACCEPT, P_PREFER, P_REQUIRE,
  P_DONT
}

Functions

 HASH_FUNCTIONS_DECL (option_name, const char *, struct option, option_name_hash_t) HASH_FUNCTIONS_DECL(option_code
option_code_hash_t HASH_FUNCTIONS_DECL (lease_ip, const unsigned char *, struct lease, lease_ip_hash_t) HASH_FUNCTIONS_DECL(lease_id
int parse_options (struct packet *)
int parse_option_buffer (struct option_state *, const unsigned char *, unsigned, struct universe *)
struct universefind_option_universe (struct option *, const char *)
int parse_encapsulated_suboptions (struct option_state *, struct option *, const unsigned char *, unsigned, struct universe *, const char *)
int cons_options (struct packet *, struct dhcp_packet *, struct lease *, struct client_state *, int, struct option_state *, struct option_state *, struct binding_scope **, int, int, int, struct data_string *, const char *)
int fqdn_universe_decode (struct option_state *, const unsigned char *, unsigned, struct universe *)
struct option_cachelookup_fqdn6_option (struct universe *universe, struct option_state *options, unsigned code)
void save_fqdn6_option (struct universe *universe, struct option_state *options, struct option_cache *oc, isc_boolean_t appendp)
void delete_fqdn6_option (struct universe *universe, struct option_state *options, int code)
void fqdn6_option_space_foreach (struct packet *packet, struct lease *lease, struct client_state *client_state, struct option_state *in_options, struct option_state *cfg_options, struct binding_scope **scope, struct universe *u, void *stuff, void(*func)(struct option_cache *, struct packet *, struct lease *, struct client_state *, struct option_state *, struct option_state *, struct binding_scope **, struct universe *, void *))
int fqdn6_option_space_encapsulate (struct data_string *result, struct packet *packet, struct lease *lease, struct client_state *client_state, struct option_state *in_options, struct option_state *cfg_options, struct binding_scope **scope, struct universe *universe)
int fqdn6_universe_decode (struct option_state *options, const unsigned char *buffer, unsigned length, struct universe *u)
int append_option (struct data_string *dst, struct universe *universe, struct option *option, struct data_string *src)
int store_options (int *ocount, unsigned char *buffer, unsigned buflen, unsigned index, struct packet *packet, struct lease *lease, struct client_state *client_state, struct option_state *in_options, struct option_state *cfg_options, struct binding_scope **scope, unsigned *priority_list, int priority_len, unsigned first_cutoff, int second_cutoff, int terminate, const char *vuname)
int store_options6 (char *, int, struct option_state *, struct packet *, const int *, struct data_string *)
int format_has_text (const char *)
int format_min_length (const char *, struct option_cache *)
const char * pretty_print_option (struct option *, const unsigned char *, unsigned, int, int)
int pretty_escape (char **, char *, const unsigned char **, const unsigned char *)
int get_option (struct data_string *, struct universe *, struct packet *, struct lease *, struct client_state *, struct option_state *, struct option_state *, struct option_state *, struct binding_scope **, unsigned, const char *, int)
void set_option (struct universe *, struct option_state *, struct option_cache *, enum statement_op)
struct option_cachelookup_option (struct universe *, struct option_state *, unsigned)
struct option_cachelookup_hashed_option (struct universe *, struct option_state *, unsigned)
struct option_cachenext_hashed_option (struct universe *, struct option_state *, struct option_cache *)
int save_option_buffer (struct universe *, struct option_state *, struct buffer *, unsigned char *, unsigned, unsigned, int)
int append_option_buffer (struct universe *, struct option_state *, struct buffer *, unsigned char *, unsigned, unsigned, int)
void build_server_oro (struct data_string *, struct option_state *, const char *, int)
void save_option (struct universe *, struct option_state *, struct option_cache *)
void also_save_option (struct universe *, struct option_state *, struct option_cache *)
void save_hashed_option (struct universe *, struct option_state *, struct option_cache *, isc_boolean_t appendp)
void delete_option (struct universe *, struct option_state *, int)
void delete_hashed_option (struct universe *, struct option_state *, int)
int option_cache_dereference (struct option_cache **, const char *, int)
int hashed_option_state_dereference (struct universe *, struct option_state *, const char *, int)
int store_option (struct data_string *, struct universe *, struct packet *, struct lease *, struct client_state *, struct option_state *, struct option_state *, struct binding_scope **, struct option_cache *)
int option_space_encapsulate (struct data_string *, struct packet *, struct lease *, struct client_state *, struct option_state *, struct option_state *, struct binding_scope **, struct data_string *)
int hashed_option_space_encapsulate (struct data_string *, struct packet *, struct lease *, struct client_state *, struct option_state *, struct option_state *, struct binding_scope **, struct universe *)
int nwip_option_space_encapsulate (struct data_string *, struct packet *, struct lease *, struct client_state *, struct option_state *, struct option_state *, struct binding_scope **, struct universe *)
int fqdn_option_space_encapsulate (struct data_string *, struct packet *, struct lease *, struct client_state *, struct option_state *, struct option_state *, struct binding_scope **, struct universe *)
void suboption_foreach (struct packet *, struct lease *, struct client_state *, struct option_state *, struct option_state *, struct binding_scope **, struct universe *, void *, void(*)(struct option_cache *, struct packet *, struct lease *, struct client_state *, struct option_state *, struct option_state *, struct binding_scope **, struct universe *, void *), struct option_cache *, const char *)
void option_space_foreach (struct packet *, struct lease *, struct client_state *, struct option_state *, struct option_state *, struct binding_scope **, struct universe *, void *, void(*)(struct option_cache *, struct packet *, struct lease *, struct client_state *, struct option_state *, struct option_state *, struct binding_scope **, struct universe *, void *))
void hashed_option_space_foreach (struct packet *, struct lease *, struct client_state *, struct option_state *, struct option_state *, struct binding_scope **, struct universe *, void *, void(*)(struct option_cache *, struct packet *, struct lease *, struct client_state *, struct option_state *, struct option_state *, struct binding_scope **, struct universe *, void *))
int linked_option_get (struct data_string *, struct universe *, struct packet *, struct lease *, struct client_state *, struct option_state *, struct option_state *, struct option_state *, struct binding_scope **, unsigned)
int linked_option_state_dereference (struct universe *, struct option_state *, const char *, int)
void save_linked_option (struct universe *, struct option_state *, struct option_cache *, isc_boolean_t appendp)
void linked_option_space_foreach (struct packet *, struct lease *, struct client_state *, struct option_state *, struct option_state *, struct binding_scope **, struct universe *, void *, void(*)(struct option_cache *, struct packet *, struct lease *, struct client_state *, struct option_state *, struct option_state *, struct binding_scope **, struct universe *, void *))
int linked_option_space_encapsulate (struct data_string *, struct packet *, struct lease *, struct client_state *, struct option_state *, struct option_state *, struct binding_scope **, struct universe *)
void delete_linked_option (struct universe *, struct option_state *, int)
struct option_cachelookup_linked_option (struct universe *, struct option_state *, unsigned)
void do_packet (struct interface_info *, struct dhcp_packet *, unsigned, unsigned int, struct iaddr, struct hardware *)
void do_packet6 (struct interface_info *, const char *, int, int, const struct iaddr *, isc_boolean_t)
int packet6_len_okay (const char *, int)
int validate_packet (struct packet *)
int add_option (struct option_state *options, unsigned int option_num, void *data, unsigned int data_len)
int main (int, char **)
void postconf_initialization (int)
void postdb_startup (void)
void cleanup (void)
void lease_pinged (struct iaddr, u_int8_t *, int)
void lease_ping_timeout (void *)
int dhcpd_interface_setup_hook (struct interface_info *ip, struct iaddr *ia)
isc_result_t dhcp_io_shutdown (omapi_object_t *, void *)
isc_result_t dhcp_set_control_state (control_object_state_t oldstate, control_object_state_t newstate)
isc_result_t new_parse (struct parse **, int, char *, unsigned, const char *, int)
isc_result_t end_parse (struct parse **)
isc_result_t save_parse_state (struct parse *cfile)
isc_result_t restore_parse_state (struct parse *cfile)
enum dhcp_token next_token (const char **, unsigned *, struct parse *)
enum dhcp_token peek_token (const char **, unsigned *, struct parse *)
enum dhcp_token next_raw_token (const char **rval, unsigned *rlen, struct parse *cfile)
enum dhcp_token peek_raw_token (const char **rval, unsigned *rlen, struct parse *cfile)
void parse_trace_setup (void)
isc_result_t readconf (void)
isc_result_t read_conf_file (const char *, struct group *, int, int)
void trace_conf_input (trace_type_t *, unsigned, char *)
void trace_conf_stop (trace_type_t *ttype)
isc_result_t conf_file_subparse (struct parse *, struct group *, int)
isc_result_t lease_file_subparse (struct parse *)
int parse_statement (struct parse *, struct group *, int, struct host_decl *, int)
void parse_failover_peer (struct parse *, struct group *, int)
void parse_failover_state_declaration (struct parse *, dhcp_failover_state_t *)
void parse_failover_state (struct parse *, enum failover_state *, TIME *)
int permit_list_match (struct permit *, struct permit *)
void parse_pool_statement (struct parse *, struct group *, int)
 Parse a pool statement.
int parse_lbrace (struct parse *)
void parse_host_declaration (struct parse *, struct group *)
int parse_class_declaration (struct class **, struct parse *, struct group *, int)
void parse_shared_net_declaration (struct parse *, struct group *)
void parse_subnet_declaration (struct parse *, struct shared_network *)
void parse_subnet6_declaration (struct parse *, struct shared_network *)
void parse_group_declaration (struct parse *, struct group *)
int parse_fixed_addr_param (struct option_cache **, struct parse *, enum dhcp_token)
int parse_lease_declaration (struct lease **, struct parse *)
int parse_ip6_addr (struct parse *, struct iaddr *)
int parse_ip6_addr_expr (struct expression **, struct parse *)
int parse_ip6_prefix (struct parse *, struct iaddr *, u_int8_t *)
void parse_address_range (struct parse *, struct group *, int, struct pool *, struct lease **)
void parse_address_range6 (struct parse *cfile, struct group *group, struct ipv6_pond *)
void parse_prefix6 (struct parse *cfile, struct group *group, struct ipv6_pond *)
void parse_fixed_prefix6 (struct parse *cfile, struct host_decl *host_decl)
void parse_ia_na_declaration (struct parse *)
void parse_ia_ta_declaration (struct parse *)
void parse_ia_pd_declaration (struct parse *)
void parse_server_duid (struct parse *cfile)
void parse_server_duid_conf (struct parse *cfile)
void parse_pool6_statement (struct parse *, struct group *, int)
 Parse a pool6 statement.
int ddns_updates (struct packet *, struct lease *, struct lease *, struct iasubopt *, struct iasubopt *, struct option_state *)
isc_result_t ddns_removals (struct lease *, struct iasubopt *, struct dhcp_ddns_cb *, isc_boolean_t)
void trace_ddns_init (void)
void add_enumeration (struct enumeration *)
struct enumerationfind_enumeration (const char *, int)
struct enumeration_valuefind_enumeration_value (const char *, int, unsigned *, const char *)
void skip_to_semi (struct parse *)
void skip_to_rbrace (struct parse *, int)
int parse_semi (struct parse *)
int parse_string (struct parse *, char **, unsigned *)
char * parse_host_name (struct parse *)
int parse_ip_addr_or_hostname (struct expression **, struct parse *, int)
void parse_hardware_param (struct parse *, struct hardware *)
void parse_lease_time (struct parse *, TIME *)
unsigned char * parse_numeric_aggregate (struct parse *, unsigned char *, unsigned *, int, int, unsigned)
void convert_num (struct parse *, unsigned char *, const char *, int, unsigned)
TIME parse_date (struct parse *)
TIME parse_date_core (struct parse *)
isc_result_t parse_option_name (struct parse *, int, int *, struct option **)
void parse_option_space_decl (struct parse *)
int parse_option_code_definition (struct parse *, struct option *)
int parse_base64 (struct data_string *, struct parse *)
int parse_cshl (struct data_string *, struct parse *)
int parse_executable_statement (struct executable_statement **, struct parse *, int *, enum expression_context)
int parse_executable_statements (struct executable_statement **, struct parse *, int *, enum expression_context)
int parse_zone (struct dns_zone *, struct parse *)
int parse_key (struct parse *)
int parse_on_statement (struct executable_statement **, struct parse *, int *)
int parse_switch_statement (struct executable_statement **, struct parse *, int *)
int parse_case_statement (struct executable_statement **, struct parse *, int *, enum expression_context)
int parse_if_statement (struct executable_statement **, struct parse *, int *)
int parse_boolean_expression (struct expression **, struct parse *, int *)
int parse_boolean (struct parse *)
int parse_data_expression (struct expression **, struct parse *, int *)
int parse_numeric_expression (struct expression **, struct parse *, int *)
int parse_dns_expression (struct expression **, struct parse *, int *)
int parse_non_binary (struct expression **, struct parse *, int *, enum expression_context)
int parse_expression (struct expression **, struct parse *, int *, enum expression_context, struct expression **, enum expr_op)
int parse_option_data (struct expression **expr, struct parse *cfile, int lookups, struct option *option)
int parse_option_statement (struct executable_statement **, struct parse *, int, struct option *, enum statement_op)
int parse_option_token (struct expression **, struct parse *, const char **, struct expression *, int, int)
int parse_allow_deny (struct option_cache **, struct parse *, int)
int parse_auth_key (struct data_string *, struct parse *)
int parse_warn (struct parse *, const char *,...) __attribute__((__format__(__printf__
int struct expressionparse_domain_list (struct parse *cfile, int)
pair cons (caddr_t, pair)
int make_const_option_cache (struct option_cache **, struct buffer **, u_int8_t *, unsigned, struct option *, const char *, int)
int make_host_lookup (struct expression **, const char *)
int enter_dns_host (struct dns_host_entry **, const char *)
int make_const_data (struct expression **, const unsigned char *, unsigned, int, int, const char *, int)
int make_const_int (struct expression **, unsigned long)
int make_concat (struct expression **, struct expression *, struct expression *)
int make_encapsulation (struct expression **, struct data_string *)
int make_substring (struct expression **, struct expression *, struct expression *, struct expression *)
int make_limit (struct expression **, struct expression *, int)
int make_let (struct executable_statement **, const char *)
int option_cache (struct option_cache **, struct data_string *, struct expression *, struct option *, const char *, int)
int evaluate_expression (struct binding_value **, struct packet *, struct lease *, struct client_state *, struct option_state *, struct option_state *, struct binding_scope **, struct expression *, const char *, int)
int binding_value_dereference (struct binding_value **, const char *, int)
int evaluate_boolean_expression (int *, struct packet *, struct lease *, struct client_state *, struct option_state *, struct option_state *, struct binding_scope **, struct expression *)
int evaluate_data_expression (struct data_string *, struct packet *, struct lease *, struct client_state *, struct option_state *, struct option_state *, struct binding_scope **, struct expression *, const char *, int)
int evaluate_numeric_expression (unsigned long *, struct packet *, struct lease *, struct client_state *, struct option_state *, struct option_state *, struct binding_scope **, struct expression *)
int evaluate_option_cache (struct data_string *, struct packet *, struct lease *, struct client_state *, struct option_state *, struct option_state *, struct binding_scope **, struct option_cache *, const char *, int)
int evaluate_boolean_option_cache (int *, struct packet *, struct lease *, struct client_state *, struct option_state *, struct option_state *, struct binding_scope **, struct option_cache *, const char *, int)
int evaluate_boolean_expression_result (int *, struct packet *, struct lease *, struct client_state *, struct option_state *, struct option_state *, struct binding_scope **, struct expression *)
void expression_dereference (struct expression **, const char *, int)
int is_dns_expression (struct expression *)
int is_boolean_expression (struct expression *)
int is_data_expression (struct expression *)
int is_numeric_expression (struct expression *)
int is_compound_expression (struct expression *)
int op_precedence (enum expr_op, enum expr_op)
enum expression_context expression_context (struct expression *)
enum expression_context op_context (enum expr_op)
int write_expression (FILE *, struct expression *, int, int, int)
struct bindingfind_binding (struct binding_scope *, const char *)
int free_bindings (struct binding_scope *, const char *, int)
int binding_scope_dereference (struct binding_scope **, const char *, int)
int fundef_dereference (struct fundef **, const char *, int)
int data_subexpression_length (int *, struct expression *)
int expr_valid_for_context (struct expression *, enum expression_context)
struct bindingcreate_binding (struct binding_scope **, const char *)
int bind_ds_value (struct binding_scope **, const char *, struct data_string *)
int find_bound_string (struct data_string *, struct binding_scope *, const char *)
int unset (struct binding_scope *, const char *)
int data_string_sprintfa (struct data_string *ds, const char *fmt,...)
void dhcp (struct packet *)
void dhcpdiscover (struct packet *, int)
void dhcprequest (struct packet *, int, struct lease *)
void dhcprelease (struct packet *, int)
void dhcpdecline (struct packet *, int)
void dhcpinform (struct packet *, int)
void nak_lease (struct packet *, struct iaddr *cip)
void ack_lease (struct packet *, struct lease *, unsigned int, TIME, char *, int, struct host_decl *)
void delayed_ack_enqueue (struct lease *)
void commit_leases_readerdry (void *)
void flush_ackqueue (void *)
void dhcp_reply (struct lease *)
int find_lease (struct lease **, struct packet *, struct shared_network *, int *, int *, struct lease *, const char *, int)
int mockup_lease (struct lease **, struct packet *, struct shared_network *, struct host_decl *)
void static_lease_dereference (struct lease *, const char *, int)
int allocate_lease (struct lease **, struct packet *, struct pool *, int *)
int permitted (struct packet *, struct permit *)
int locate_network (struct packet *)
int parse_agent_information_option (struct packet *, int, u_int8_t *)
unsigned cons_agent_information_options (struct option_state *, struct dhcp_packet *, unsigned, unsigned)
void get_server_source_address (struct in_addr *from, struct option_state *options, struct option_state *out_options, struct packet *packet)
void setup_server_source_address (struct in_addr *from, struct option_state *options, struct packet *packet)
void dhcpleasequery (struct packet *, int)
void dhcpv6_leasequery (struct data_string *, struct packet *)
isc_boolean_t server_duid_isset (void)
void copy_server_duid (struct data_string *ds, const char *file, int line)
void set_server_duid (struct data_string *new_duid)
isc_result_t set_server_duid_from_option (void)
void set_server_duid_type (int type)
isc_result_t generate_new_server_duid (void)
isc_result_t get_client_id (struct packet *, struct data_string *)
void dhcpv6 (struct packet *)
void bootp (struct packet *)
isc_result_t delete_group (struct group_object *, int)
isc_result_t supersede_group (struct group_object *, int)
int clone_group (struct group **, struct group *, const char *, int)
int write_group (struct group_object *)
void relinquish_lease_hunks (void)
struct leasenew_leases (unsigned, const char *, int)
 OMAPI_OBJECT_ALLOC_DECL (shared_network, struct shared_network, dhcp_type_shared_network) OMAPI_OBJECT_ALLOC_DECL(dhcp_control
dhcp_type_control int option_chain_head_allocate (struct option_chain_head **, const char *, int)
int option_chain_head_reference (struct option_chain_head **, struct option_chain_head *, const char *, int)
int option_chain_head_dereference (struct option_chain_head **, const char *, int)
int group_allocate (struct group **, const char *, int)
int group_reference (struct group **, struct group *, const char *, int)
int group_dereference (struct group **, const char *, int)
struct dhcp_packetnew_dhcp_packet (const char *, int)
struct protocolnew_protocol (const char *, int)
struct lease_statenew_lease_state (const char *, int)
struct domain_search_listnew_domain_search_list (const char *, int)
struct name_servernew_name_server (const char *, int)
void free_name_server (struct name_server *, const char *, int)
struct optionnew_option (const char *, const char *, int)
int option_reference (struct option **dest, struct option *src, const char *file, int line)
int option_dereference (struct option **dest, const char *file, int line)
struct universenew_universe (const char *, int)
void free_universe (struct universe *, const char *, int)
void free_domain_search_list (struct domain_search_list *, const char *, int)
void free_lease_state (struct lease_state *, const char *, int)
void free_protocol (struct protocol *, const char *, int)
void free_dhcp_packet (struct dhcp_packet *, const char *, int)
struct client_leasenew_client_lease (const char *, int)
void free_client_lease (struct client_lease *, const char *, int)
struct permitnew_permit (const char *, int)
void free_permit (struct permit *, const char *, int)
pair new_pair (const char *, int)
void free_pair (pair, const char *, int)
int expression_allocate (struct expression **, const char *, int)
int expression_reference (struct expression **, struct expression *, const char *, int)
void free_expression (struct expression *, const char *, int)
int binding_value_allocate (struct binding_value **, const char *, int)
int binding_value_reference (struct binding_value **, struct binding_value *, const char *, int)
void free_binding_value (struct binding_value *, const char *, int)
int fundef_allocate (struct fundef **, const char *, int)
int fundef_reference (struct fundef **, struct fundef *, const char *, int)
int option_cache_allocate (struct option_cache **, const char *, int)
int option_cache_reference (struct option_cache **, struct option_cache *, const char *, int)
int buffer_allocate (struct buffer **, unsigned, const char *, int)
int buffer_reference (struct buffer **, struct buffer *, const char *, int)
int buffer_dereference (struct buffer **, const char *, int)
int dns_host_entry_allocate (struct dns_host_entry **, const char *, const char *, int)
int dns_host_entry_reference (struct dns_host_entry **, struct dns_host_entry *, const char *, int)
int dns_host_entry_dereference (struct dns_host_entry **, const char *, int)
int option_state_allocate (struct option_state **, const char *, int)
int option_state_reference (struct option_state **, struct option_state *, const char *, int)
int option_state_dereference (struct option_state **, const char *, int)
void data_string_copy (struct data_string *, const struct data_string *, const char *, int)
void data_string_forget (struct data_string *, const char *, int)
void data_string_truncate (struct data_string *, int)
int executable_statement_allocate (struct executable_statement **, const char *, int)
int executable_statement_reference (struct executable_statement **, struct executable_statement *, const char *, int)
int packet_allocate (struct packet **, const char *, int)
int packet_reference (struct packet **, struct packet *, const char *, int)
int packet_dereference (struct packet **, const char *, int)
int binding_scope_allocate (struct binding_scope **, const char *, int)
int binding_scope_reference (struct binding_scope **, struct binding_scope *, const char *, int)
int dns_zone_allocate (struct dns_zone **, const char *, int)
int dns_zone_reference (struct dns_zone **, struct dns_zone *, const char *, int)
char * quotify_string (const char *, const char *, int)
char * quotify_buf (const unsigned char *, unsigned, const char *, int)
char * print_base64 (const unsigned char *, unsigned, const char *, int)
char * print_hw_addr (const int, const int, const unsigned char *)
void print_lease (struct lease *)
void dump_raw (const unsigned char *, unsigned)
void dump_packet_option (struct option_cache *, struct packet *, struct lease *, struct client_state *, struct option_state *, struct option_state *, struct binding_scope **, struct universe *, void *)
void dump_packet (struct packet *)
void hash_dump (struct hash_table *)
char * print_hex (unsigned, const u_int8_t *, unsigned, unsigned)
void print_hex_only (unsigned, const u_int8_t *, unsigned, char *)
void print_hex_or_string (unsigned, const u_int8_t *, unsigned, char *)
char * print_dotted_quads (unsigned, const u_int8_t *)
char * print_dec_1 (unsigned long)
char * print_dec_2 (unsigned long)
void print_expression (const char *, struct expression *)
int token_print_indent_concat (FILE *, int, int, const char *, const char *,...)
int token_indent_data_string (FILE *, int, int, const char *, const char *, struct data_string *)
int token_print_indent (FILE *, int, int, const char *, const char *, const char *)
void indent_spaces (FILE *, int)
const char * print_time (TIME)
void get_hw_addr (struct interface_info *info)
ssize_t send_packet6 (struct interface_info *, const unsigned char *, size_t, struct sockaddr_in6 *)
void if_register6 (struct interface_info *info, int do_multicast)
void if_register_linklocal6 (struct interface_info *info)
ssize_t receive_packet6 (struct interface_info *interface, unsigned char *buf, size_t len, struct sockaddr_in6 *from, struct in6_addr *to_addr, unsigned int *if_index)
void if_deregister6 (struct interface_info *info)
isc_result_t interface_setup (void)
void interface_trace_setup (void)
isc_result_t interface_initialize (omapi_object_t *, const char *, int)
void discover_interfaces (int)
int setup_fallback (struct interface_info **, const char *, int)
int if_readsocket (omapi_object_t *)
void reinitialize_interfaces (void)
void set_time (TIME)
struct timeval * process_outstanding_timeouts (struct timeval *)
void dispatch (void)
isc_result_t got_one (omapi_object_t *)
isc_result_t got_one_v6 (omapi_object_t *)
isc_result_t interface_set_value (omapi_object_t *, omapi_object_t *, omapi_data_string_t *, omapi_typed_data_t *)
isc_result_t interface_get_value (omapi_object_t *, omapi_object_t *, omapi_data_string_t *, omapi_value_t **)
isc_result_t interface_destroy (omapi_object_t *, const char *, int)
isc_result_t interface_signal_handler (omapi_object_t *, const char *, va_list)
isc_result_t interface_stuff_values (omapi_object_t *, omapi_object_t *, omapi_object_t *)
void add_timeout (struct timeval *, void(*)(void *), void *, tvref_t, tvunref_t)
void cancel_timeout (void(*)(void *), void *)
void cancel_all_timeouts (void)
void relinquish_timeouts (void)
 OMAPI_OBJECT_ALLOC_DECL (interface, struct interface_info, dhcp_type_interface) extern char *default_option_format
void initialize_common_option_spaces (void)
void initialize_server_option_spaces (void)
struct iaddr subnet_number (struct iaddr, struct iaddr)
struct iaddr ip_addr (struct iaddr, struct iaddr, u_int32_t)
struct iaddr broadcast_addr (struct iaddr, struct iaddr)
u_int32_t host_addr (struct iaddr, struct iaddr)
int addr_eq (struct iaddr, struct iaddr)
int addr_match (struct iaddr *, struct iaddrmatch *)
int addr_cmp (const struct iaddr *a1, const struct iaddr *a2)
int addr_or (struct iaddr *result, const struct iaddr *a1, const struct iaddr *a2)
int addr_and (struct iaddr *result, const struct iaddr *a1, const struct iaddr *a2)
isc_boolean_t is_cidr_mask_valid (const struct iaddr *addr, int bits)
isc_result_t range2cidr (struct iaddrcidrnetlist **result, const struct iaddr *lo, const struct iaddr *hi)
isc_result_t free_iaddrcidrnetlist (struct iaddrcidrnetlist **result)
const char * piaddr (struct iaddr)
const char * pdestdesc (struct iaddr)
char * piaddrmask (struct iaddr *, struct iaddr *)
char * piaddrcidr (const struct iaddr *, unsigned int)
u_int16_t validate_port (char *)
void dhcpoffer (struct packet *)
void dhcpack (struct packet *)
void dhcpnak (struct packet *)
void send_discover (void *)
void send_request (void *)
void send_release (void *)
void send_decline (void *)
void state_reboot (void *)
void state_init (void *)
void state_selecting (void *)
void state_requesting (void *)
void state_bound (void *)
void state_stop (void *)
void state_panic (void *)
void bind_lease (struct client_state *, struct in_addr *)
void make_client_options (struct client_state *, struct client_lease *, u_int8_t *, struct option_cache *, struct iaddr *, struct option **, struct option_state **)
void make_discover (struct client_state *, struct client_lease *)
void make_request (struct client_state *, struct client_lease *)
void make_decline (struct client_state *, struct client_lease *)
void make_release (struct client_state *, struct client_lease *)
void destroy_client_lease (struct client_lease *)
void rewrite_client_leases (void)
void write_lease_option (struct option_cache *, struct packet *, struct lease *, struct client_state *, struct option_state *, struct option_state *, struct binding_scope **, struct universe *, void *)
int write_client_lease (struct client_state *, struct client_lease *, int, int)
isc_result_t write_client6_lease (struct client_state *client, struct dhc6_lease *lease, int rewrite, int sync)
int dhcp_option_ev_name (char *, size_t, struct option *)
void script_init (struct client_state *, const char *, struct string_list *)
void client_option_envadd (struct option_cache *, struct packet *, struct lease *, struct client_state *, struct option_state *, struct option_state *, struct binding_scope **, struct universe *, void *)
void script_write_params (struct client_state *, const char *, struct client_lease *)
void script_write_requested (struct client_state *)
int script_go (struct client_state *)
void client_envadd (struct client_state *, const char *, const char *, const char *,...) __attribute__((__format__(__printf__
void struct client_leasepacket_to_lease (struct packet *, struct client_state *)
void go_daemon (void)
void write_client_pid_file (void)
void client_location_changed (void)
void do_release (struct client_state *)
int dhclient_interface_shutdown_hook (struct interface_info *)
int dhclient_interface_discovery_hook (struct interface_info *)
isc_result_t dhclient_interface_startup_hook (struct interface_info *)
void dhclient_schedule_updates (struct client_state *client, struct iaddr *addr, int offset)
void client_dns_update_timeout (void *cp)
isc_result_t client_dns_update (struct client_state *client, dhcp_ddns_cb_t *ddns_cb)
void client_dns_remove (struct client_state *client, struct iaddr *addr)
void dhcpv4_client_assignments (void)
void dhcpv6_client_assignments (void)
isc_result_t form_duid (struct data_string *duid, const char *file, int line)
void dhc6_lease_destroy (struct dhc6_lease **src, const char *file, int line)
void start_init6 (struct client_state *client)
void start_info_request6 (struct client_state *client)
void start_confirm6 (struct client_state *client)
void start_release6 (struct client_state *client)
void start_selecting6 (struct client_state *client)
void unconfigure6 (struct client_state *client, const char *reason)
int write_lease (struct lease *)
int write_host (struct host_decl *)
int write_server_duid (void)
int write_failover_state (dhcp_failover_state_t *)
int db_printable (const unsigned char *)
int db_printable_len (const unsigned char *, unsigned)
isc_result_t write_named_billing_class (const void *, unsigned, void *)
void write_billing_classes (void)
int write_billing_class (struct class *)
void commit_leases_timeout (void *)
int commit_leases (void)
int commit_leases_timed (void)
void db_startup (int, uid_t, gid_t)
int new_lease_file (void)
int group_writer (struct group_object *)
int write_ia (const struct ia_xx *)
u_int32_t checksum (unsigned char *, unsigned, u_int32_t)
u_int32_t wrapsum (u_int32_t)
void assemble_hw_header (struct interface_info *, unsigned char *, unsigned *, struct hardware *)
void assemble_udp_ip_header (struct interface_info *, unsigned char *, unsigned *, u_int32_t, u_int32_t, u_int32_t, unsigned char *, unsigned)
ssize_t decode_hw_header (struct interface_info *, unsigned char *, unsigned, struct hardware *)
ssize_t decode_udp_ip_header (struct interface_info *, unsigned char *, unsigned, struct sockaddr_in *, unsigned, unsigned *, int)
void assemble_ethernet_header (struct interface_info *, unsigned char *, unsigned *, struct hardware *)
ssize_t decode_ethernet_header (struct interface_info *, unsigned char *, unsigned, struct hardware *)
void assemble_tr_header (struct interface_info *, unsigned char *, unsigned *, struct hardware *)
ssize_t decode_tr_header (struct interface_info *, unsigned char *, unsigned, struct hardware *)
void convert_statement (struct parse *)
void convert_host_statement (struct parse *, jrefproto)
void convert_host_name (struct parse *, jrefproto)
void convert_class_statement (struct parse *, jrefproto, int)
void convert_class_decl (struct parse *, jrefproto)
void convert_lease_time (struct parse *, jrefproto, char *)
void convert_shared_net_statement (struct parse *, jrefproto)
void convert_subnet_statement (struct parse *, jrefproto)
void convert_subnet_decl (struct parse *, jrefproto)
void convert_host_decl (struct parse *, jrefproto)
void convert_hardware_decl (struct parse *, jrefproto)
void convert_hardware_addr (struct parse *, jrefproto)
void convert_filename_decl (struct parse *, jrefproto)
void convert_servername_decl (struct parse *, jrefproto)
void convert_ip_addr_or_hostname (struct parse *, jrefproto, int)
void convert_fixed_addr_decl (struct parse *, jrefproto)
void convert_option_decl (struct parse *, jrefproto)
void convert_lease_statement (struct parse *, jrefproto)
void convert_address_range (struct parse *, jrefproto)
void convert_date (struct parse *, jrefproto, char *)
void convert_numeric_aggregate (struct parse *, jrefproto, int, int, int, int)
void indent (int)
void add_route_direct (struct interface_info *, struct in_addr)
void add_route_net (struct interface_info *, struct in_addr, struct in_addr)
void add_route_default_gateway (struct interface_info *, struct in_addr)
void remove_routes (struct in_addr)
void remove_if_route (struct interface_info *, struct in_addr)
void remove_all_if_routes (struct interface_info *)
void set_netmask (struct interface_info *, struct in_addr)
void set_broadcast_addr (struct interface_info *, struct in_addr)
void set_ip_address (struct interface_info *, struct in_addr)
isc_result_t read_client_conf (void)
int read_client_conf_file (const char *, struct interface_info *, struct client_config *)
void read_client_leases (void)
void parse_client_statement (struct parse *, struct interface_info *, struct client_config *)
int parse_X (struct parse *, u_int8_t *, unsigned)
int parse_option_list (struct parse *, struct option ***)
void parse_interface_declaration (struct parse *, struct client_config *, char *)
int interface_or_dummy (struct interface_info **, const char *)
void make_client_state (struct client_state **)
void make_client_config (struct client_state *, struct client_config *)
void parse_client_lease_statement (struct parse *, int)
void parse_client_lease_declaration (struct parse *, struct client_lease *, struct interface_info **, struct client_state **)
int parse_option_decl (struct option_cache **, struct parse *)
void parse_string_list (struct parse *, struct string_list **, int)
int parse_ip_addr (struct parse *, struct iaddr *)
int parse_destination_descriptor (struct parse *, struct iaddr *)
int parse_ip_addr_with_subnet (struct parse *, struct iaddrmatch *)
void parse_reject_statement (struct parse *, struct client_config *)
void icmp_startup (int, void(*)(struct iaddr, u_int8_t *, int))
int icmp_readsocket (omapi_object_t *)
int icmp_echorequest (struct iaddr *)
isc_result_t icmp_echoreply (omapi_object_t *)
isc_result_t enter_dns_zone (struct dns_zone *)
isc_result_t dns_zone_lookup (struct dns_zone **, const char *)
int dns_zone_dereference (struct dns_zone **, const char *, int)
dhcp_ddns_cb_tddns_cb_alloc (const char *file, int line)
void ddns_cb_free (dhcp_ddns_cb_t *ddns_cb, const char *file, int line)
void ddns_cb_forget_zone (dhcp_ddns_cb_t *ddns_cb)
isc_result_t ddns_modify_fwd (dhcp_ddns_cb_t *ddns_cb, const char *file, int line)
isc_result_t ddns_modify_ptr (dhcp_ddns_cb_t *ddns_cb, const char *file, int line)
void ddns_cancel (dhcp_ddns_cb_t *ddns_cb, const char *file, int line)
void read_resolv_conf (TIME)
struct name_serverfirst_name_server (void)
void classification_setup (void)
void classify_client (struct packet *)
int check_collection (struct packet *, struct lease *, struct collection *)
void classify (struct packet *, struct class *)
isc_result_t unlink_class (struct class **class)
isc_result_t find_class (struct class **, const char *, const char *, int)
int unbill_class (struct lease *, struct class *)
int bill_class (struct lease *, struct class *)
int execute_statements (struct binding_value **result, struct packet *, struct lease *, struct client_state *, struct option_state *, struct option_state *, struct binding_scope **, struct executable_statement *, struct on_star *)
void execute_statements_in_scope (struct binding_value **result, struct packet *, struct lease *, struct client_state *, struct option_state *, struct option_state *, struct binding_scope **, struct group *, struct group *, struct on_star *)
int executable_statement_dereference (struct executable_statement **, const char *, int)
void write_statements (FILE *, struct executable_statement *, int)
int find_matching_case (struct executable_statement **, struct packet *, struct lease *, struct client_state *, struct option_state *, struct option_state *, struct binding_scope **, struct expression *, struct executable_statement *)
int executable_statement_foreach (struct executable_statement *, int(*)(struct executable_statement *, void *, int), void *, int)
void dhcp_common_objects_setup (void)
isc_result_t dhcp_group_set_value (omapi_object_t *, omapi_object_t *, omapi_data_string_t *, omapi_typed_data_t *)
isc_result_t dhcp_group_get_value (omapi_object_t *, omapi_object_t *, omapi_data_string_t *, omapi_value_t **)
isc_result_t dhcp_group_destroy (omapi_object_t *, const char *, int)
isc_result_t dhcp_group_signal_handler (omapi_object_t *, const char *, va_list)
isc_result_t dhcp_group_stuff_values (omapi_object_t *, omapi_object_t *, omapi_object_t *)
isc_result_t dhcp_group_lookup (omapi_object_t **, omapi_object_t *, omapi_object_t *)
isc_result_t dhcp_group_create (omapi_object_t **, omapi_object_t *)
isc_result_t dhcp_group_remove (omapi_object_t *, omapi_object_t *)
isc_result_t dhcp_control_set_value (omapi_object_t *, omapi_object_t *, omapi_data_string_t *, omapi_typed_data_t *)
isc_result_t dhcp_control_get_value (omapi_object_t *, omapi_object_t *, omapi_data_string_t *, omapi_value_t **)
isc_result_t dhcp_control_destroy (omapi_object_t *, const char *, int)
isc_result_t dhcp_control_signal_handler (omapi_object_t *, const char *, va_list)
isc_result_t dhcp_control_stuff_values (omapi_object_t *, omapi_object_t *, omapi_object_t *)
isc_result_t dhcp_control_lookup (omapi_object_t **, omapi_object_t *, omapi_object_t *)
isc_result_t dhcp_control_create (omapi_object_t **, omapi_object_t *)
isc_result_t dhcp_control_remove (omapi_object_t *, omapi_object_t *)
isc_result_t dhcp_subnet_set_value (omapi_object_t *, omapi_object_t *, omapi_data_string_t *, omapi_typed_data_t *)
isc_result_t dhcp_subnet_get_value (omapi_object_t *, omapi_object_t *, omapi_data_string_t *, omapi_value_t **)
isc_result_t dhcp_subnet_destroy (omapi_object_t *, const char *, int)
isc_result_t dhcp_subnet_signal_handler (omapi_object_t *, const char *, va_list)
isc_result_t dhcp_subnet_stuff_values (omapi_object_t *, omapi_object_t *, omapi_object_t *)
isc_result_t dhcp_subnet_lookup (omapi_object_t **, omapi_object_t *, omapi_object_t *)
isc_result_t dhcp_subnet_create (omapi_object_t **, omapi_object_t *)
isc_result_t dhcp_subnet_remove (omapi_object_t *, omapi_object_t *)
isc_result_t dhcp_shared_network_set_value (omapi_object_t *, omapi_object_t *, omapi_data_string_t *, omapi_typed_data_t *)
isc_result_t dhcp_shared_network_get_value (omapi_object_t *, omapi_object_t *, omapi_data_string_t *, omapi_value_t **)
isc_result_t dhcp_shared_network_destroy (omapi_object_t *, const char *, int)
isc_result_t dhcp_shared_network_signal_handler (omapi_object_t *, const char *, va_list)
isc_result_t dhcp_shared_network_stuff_values (omapi_object_t *, omapi_object_t *, omapi_object_t *)
isc_result_t dhcp_shared_network_lookup (omapi_object_t **, omapi_object_t *, omapi_object_t *)
isc_result_t dhcp_shared_network_create (omapi_object_t **, omapi_object_t *)
isc_result_t dhcp_shared_network_remove (omapi_object_t *, omapi_object_t *)
void dhcp_db_objects_setup (void)
isc_result_t dhcp_lease_set_value (omapi_object_t *, omapi_object_t *, omapi_data_string_t *, omapi_typed_data_t *)
isc_result_t dhcp_lease_get_value (omapi_object_t *, omapi_object_t *, omapi_data_string_t *, omapi_value_t **)
isc_result_t dhcp_lease_destroy (omapi_object_t *, const char *, int)
isc_result_t dhcp_lease_signal_handler (omapi_object_t *, const char *, va_list)
isc_result_t dhcp_lease_stuff_values (omapi_object_t *, omapi_object_t *, omapi_object_t *)
isc_result_t dhcp_lease_lookup (omapi_object_t **, omapi_object_t *, omapi_object_t *)
isc_result_t dhcp_lease_create (omapi_object_t **, omapi_object_t *)
isc_result_t dhcp_lease_remove (omapi_object_t *, omapi_object_t *)
isc_result_t dhcp_host_set_value (omapi_object_t *, omapi_object_t *, omapi_data_string_t *, omapi_typed_data_t *)
isc_result_t dhcp_host_get_value (omapi_object_t *, omapi_object_t *, omapi_data_string_t *, omapi_value_t **)
isc_result_t dhcp_host_destroy (omapi_object_t *, const char *, int)
isc_result_t dhcp_host_signal_handler (omapi_object_t *, const char *, va_list)
isc_result_t dhcp_host_stuff_values (omapi_object_t *, omapi_object_t *, omapi_object_t *)
isc_result_t dhcp_host_lookup (omapi_object_t **, omapi_object_t *, omapi_object_t *)
isc_result_t dhcp_host_create (omapi_object_t **, omapi_object_t *)
isc_result_t dhcp_host_remove (omapi_object_t *, omapi_object_t *)
isc_result_t dhcp_pool_set_value (omapi_object_t *, omapi_object_t *, omapi_data_string_t *, omapi_typed_data_t *)
isc_result_t dhcp_pool_get_value (omapi_object_t *, omapi_object_t *, omapi_data_string_t *, omapi_value_t **)
isc_result_t dhcp_pool_destroy (omapi_object_t *, const char *, int)
isc_result_t dhcp_pool_signal_handler (omapi_object_t *, const char *, va_list)
isc_result_t dhcp_pool_stuff_values (omapi_object_t *, omapi_object_t *, omapi_object_t *)
isc_result_t dhcp_pool_lookup (omapi_object_t **, omapi_object_t *, omapi_object_t *)
isc_result_t dhcp_pool_create (omapi_object_t **, omapi_object_t *)
isc_result_t dhcp_pool_remove (omapi_object_t *, omapi_object_t *)
isc_result_t dhcp_class_set_value (omapi_object_t *, omapi_object_t *, omapi_data_string_t *, omapi_typed_data_t *)
isc_result_t dhcp_class_get_value (omapi_object_t *, omapi_object_t *, omapi_data_string_t *, omapi_value_t **)
isc_result_t dhcp_class_destroy (omapi_object_t *, const char *, int)
isc_result_t dhcp_class_signal_handler (omapi_object_t *, const char *, va_list)
isc_result_t dhcp_class_stuff_values (omapi_object_t *, omapi_object_t *, omapi_object_t *)
isc_result_t dhcp_class_lookup (omapi_object_t **, omapi_object_t *, omapi_object_t *)
isc_result_t dhcp_class_create (omapi_object_t **, omapi_object_t *)
isc_result_t dhcp_class_remove (omapi_object_t *, omapi_object_t *)
isc_result_t dhcp_subclass_set_value (omapi_object_t *, omapi_object_t *, omapi_data_string_t *, omapi_typed_data_t *)
isc_result_t dhcp_subclass_get_value (omapi_object_t *, omapi_object_t *, omapi_data_string_t *, omapi_value_t **)
isc_result_t dhcp_subclass_destroy (omapi_object_t *, const char *, int)
isc_result_t dhcp_subclass_signal_handler (omapi_object_t *, const char *, va_list)
isc_result_t dhcp_subclass_stuff_values (omapi_object_t *, omapi_object_t *, omapi_object_t *)
isc_result_t dhcp_subclass_lookup (omapi_object_t **, omapi_object_t *, omapi_object_t *)
isc_result_t dhcp_subclass_create (omapi_object_t **, omapi_object_t *)
isc_result_t dhcp_subclass_remove (omapi_object_t *, omapi_object_t *)
isc_result_t dhcp_interface_set_value (omapi_object_t *, omapi_object_t *, omapi_data_string_t *, omapi_typed_data_t *)
isc_result_t dhcp_interface_get_value (omapi_object_t *, omapi_object_t *, omapi_data_string_t *, omapi_value_t **)
isc_result_t dhcp_interface_destroy (omapi_object_t *, const char *, int)
isc_result_t dhcp_interface_signal_handler (omapi_object_t *, const char *, va_list ap)
isc_result_t dhcp_interface_stuff_values (omapi_object_t *, omapi_object_t *, omapi_object_t *)
isc_result_t dhcp_interface_lookup (omapi_object_t **, omapi_object_t *, omapi_object_t *)
isc_result_t dhcp_interface_create (omapi_object_t **, omapi_object_t *)
isc_result_t dhcp_interface_remove (omapi_object_t *, omapi_object_t *)
void interface_stash (struct interface_info *)
void interface_snorf (struct interface_info *, int)
isc_result_t binding_scope_set_value (struct binding_scope *, int, omapi_data_string_t *, omapi_typed_data_t *)
isc_result_t binding_scope_get_value (omapi_value_t **, struct binding_scope *, omapi_data_string_t *)
isc_result_t binding_scope_stuff_values (omapi_object_t *, struct binding_scope *)
void register_eventhandler (struct eventqueue **, void(*handler)(void *))
void unregister_eventhandler (struct eventqueue **, void(*handler)(void *))
void trigger_event (struct eventqueue **)
isc_result_t enter_class (struct class *, int, int)
isc_result_t delete_class (struct class *, int)
isc_result_t enter_host (struct host_decl *, int, int)
isc_result_t delete_host (struct host_decl *, int)
void change_host_uid (struct host_decl *host, const char *data, int len)
int find_hosts_by_haddr (struct host_decl **, int, const unsigned char *, unsigned, const char *, int)
int find_hosts_by_uid (struct host_decl **, const unsigned char *, unsigned, const char *, int)
int find_hosts_by_option (struct host_decl **, struct packet *, struct option_state *, const char *, int)
int find_host_for_network (struct subnet **, struct host_decl **, struct iaddr *, struct shared_network *)
void new_address_range (struct parse *, struct iaddr, struct iaddr, struct subnet *, struct pool *, struct lease **)
isc_result_t dhcp_lease_free (omapi_object_t *, const char *, int)
isc_result_t dhcp_lease_get (omapi_object_t **, const char *, int)
int find_grouped_subnet (struct subnet **, struct shared_network *, struct iaddr, const char *, int)
int find_subnet (struct subnet **, struct iaddr, const char *, int)
void enter_shared_network (struct shared_network *)
void new_shared_network_interface (struct parse *, struct shared_network *, const char *)
int subnet_inner_than (const struct subnet *, const struct subnet *, int)
void enter_subnet (struct subnet *)
void enter_lease (struct lease *)
int supersede_lease (struct lease *, struct lease *, int, int, int)
void make_binding_state_transition (struct lease *)
int lease_copy (struct lease **, struct lease *, const char *, int)
void release_lease (struct lease *, struct packet *)
void abandon_lease (struct lease *, const char *)
void pool_timer (void *)
int find_lease_by_uid (struct lease **, const unsigned char *, unsigned, const char *, int)
int find_lease_by_hw_addr (struct lease **, const unsigned char *, unsigned, const char *, int)
int find_lease_by_ip_addr (struct lease **, struct iaddr, const char *, int)
void uid_hash_add (struct lease *)
void uid_hash_delete (struct lease *)
void hw_hash_add (struct lease *)
void hw_hash_delete (struct lease *)
int write_leases (void)
int write_leases6 (void)
int lease_enqueue (struct lease *)
isc_result_t lease_instantiate (const void *, unsigned, void *)
void expire_all_pools (void)
void dump_subnets (void)
void dhcp_failover_startup (void)
int dhcp_failover_write_all_states (void)
isc_result_t enter_failover_peer (dhcp_failover_state_t *)
isc_result_t find_failover_peer (dhcp_failover_state_t **, const char *, const char *, int)
isc_result_t dhcp_failover_link_initiate (omapi_object_t *)
isc_result_t dhcp_failover_link_signal (omapi_object_t *, const char *, va_list)
isc_result_t dhcp_failover_link_set_value (omapi_object_t *, omapi_object_t *, omapi_data_string_t *, omapi_typed_data_t *)
isc_result_t dhcp_failover_link_get_value (omapi_object_t *, omapi_object_t *, omapi_data_string_t *, omapi_value_t **)
isc_result_t dhcp_failover_link_destroy (omapi_object_t *, const char *, int)
isc_result_t dhcp_failover_link_stuff_values (omapi_object_t *, omapi_object_t *, omapi_object_t *)
isc_result_t dhcp_failover_listen (omapi_object_t *)
isc_result_t dhcp_failover_listener_signal (omapi_object_t *, const char *, va_list)
isc_result_t dhcp_failover_listener_set_value (omapi_object_t *, omapi_object_t *, omapi_data_string_t *, omapi_typed_data_t *)
isc_result_t dhcp_failover_listener_get_value (omapi_object_t *, omapi_object_t *, omapi_data_string_t *, omapi_value_t **)
isc_result_t dhcp_failover_listener_destroy (omapi_object_t *, const char *, int)
isc_result_t dhcp_failover_listener_stuff (omapi_object_t *, omapi_object_t *, omapi_object_t *)
isc_result_t dhcp_failover_register (omapi_object_t *)
isc_result_t dhcp_failover_state_signal (omapi_object_t *, const char *, va_list)
isc_result_t dhcp_failover_state_transition (dhcp_failover_state_t *, const char *)
isc_result_t dhcp_failover_set_service_state (dhcp_failover_state_t *state)
isc_result_t dhcp_failover_set_state (dhcp_failover_state_t *, enum failover_state)
isc_result_t dhcp_failover_peer_state_changed (dhcp_failover_state_t *, failover_message_t *)
void dhcp_failover_pool_rebalance (void *)
void dhcp_failover_pool_check (struct pool *)
int dhcp_failover_state_pool_check (dhcp_failover_state_t *)
void dhcp_failover_timeout (void *)
void dhcp_failover_send_contact (void *)
isc_result_t dhcp_failover_send_state (dhcp_failover_state_t *)
isc_result_t dhcp_failover_send_updates (dhcp_failover_state_t *)
int dhcp_failover_queue_update (struct lease *, int)
int dhcp_failover_send_acks (dhcp_failover_state_t *)
void dhcp_failover_toack_queue_timeout (void *)
int dhcp_failover_queue_ack (dhcp_failover_state_t *, failover_message_t *msg)
void dhcp_failover_ack_queue_remove (dhcp_failover_state_t *, struct lease *)
isc_result_t dhcp_failover_state_set_value (omapi_object_t *, omapi_object_t *, omapi_data_string_t *, omapi_typed_data_t *)
void dhcp_failover_keepalive (void *)
void dhcp_failover_reconnect (void *)
void dhcp_failover_startup_timeout (void *)
void dhcp_failover_link_startup_timeout (void *)
void dhcp_failover_listener_restart (void *)
void dhcp_failover_auto_partner_down (void *vs)
isc_result_t dhcp_failover_state_get_value (omapi_object_t *, omapi_object_t *, omapi_data_string_t *, omapi_value_t **)
isc_result_t dhcp_failover_state_destroy (omapi_object_t *, const char *, int)
isc_result_t dhcp_failover_state_stuff (omapi_object_t *, omapi_object_t *, omapi_object_t *)
isc_result_t dhcp_failover_state_lookup (omapi_object_t **, omapi_object_t *, omapi_object_t *)
isc_result_t dhcp_failover_state_create (omapi_object_t **, omapi_object_t *)
isc_result_t dhcp_failover_state_remove (omapi_object_t *, omapi_object_t *)
int dhcp_failover_state_match (dhcp_failover_state_t *, u_int8_t *, unsigned)
int dhcp_failover_state_match_by_name (dhcp_failover_state_t *, failover_option_t *)
const char * dhcp_failover_reject_reason_print (int)
const char * dhcp_failover_state_name_print (enum failover_state)
const char * dhcp_failover_message_name (unsigned)
const char * dhcp_failover_option_name (unsigned)
failover_option_tdhcp_failover_option_printf (unsigned, char *, unsigned *, unsigned, const char *,...) __attribute__((__format__(__printf__
failover_option_t
failover_option_t
dhcp_failover_make_option (unsigned, char *, unsigned *, unsigned,...)
isc_result_t dhcp_failover_put_message (dhcp_failover_link_t *, omapi_object_t *, int, u_int32_t,...)
isc_result_t dhcp_failover_send_connect (omapi_object_t *)
isc_result_t dhcp_failover_send_connectack (omapi_object_t *, dhcp_failover_state_t *, int, const char *)
isc_result_t dhcp_failover_send_disconnect (omapi_object_t *, int, const char *)
isc_result_t dhcp_failover_send_bind_update (dhcp_failover_state_t *, struct lease *)
isc_result_t dhcp_failover_send_bind_ack (dhcp_failover_state_t *, failover_message_t *, int, const char *)
isc_result_t dhcp_failover_send_poolreq (dhcp_failover_state_t *)
isc_result_t dhcp_failover_send_poolresp (dhcp_failover_state_t *, int)
isc_result_t dhcp_failover_send_update_request (dhcp_failover_state_t *)
isc_result_t dhcp_failover_send_update_request_all (dhcp_failover_state_t *)
isc_result_t dhcp_failover_send_update_done (dhcp_failover_state_t *)
isc_result_t dhcp_failover_process_bind_update (dhcp_failover_state_t *, failover_message_t *)
isc_result_t dhcp_failover_process_bind_ack (dhcp_failover_state_t *, failover_message_t *)
isc_result_t dhcp_failover_generate_update_queue (dhcp_failover_state_t *, int)
isc_result_t dhcp_failover_process_update_request (dhcp_failover_state_t *, failover_message_t *)
isc_result_t dhcp_failover_process_update_request_all (dhcp_failover_state_t *, failover_message_t *)
isc_result_t dhcp_failover_process_update_done (dhcp_failover_state_t *, failover_message_t *)
void ia_remove_all_lease (struct ia_xx *ia, const char *file, int line)
void dhcp_failover_recover_done (void *)
void failover_print (char *, unsigned *, unsigned, const char *)
void update_partner (struct lease *)
int load_balance_mine (struct packet *, dhcp_failover_state_t *)
int peer_wants_lease (struct lease *)
binding_state_t normal_binding_state_transition_check (struct lease *, dhcp_failover_state_t *, binding_state_t, u_int32_t)
binding_state_t conflict_binding_state_transition_check (struct lease *, dhcp_failover_state_t *, binding_state_t, u_int32_t)
int lease_mine_to_reallocate (struct lease *)
 OMAPI_OBJECT_ALLOC_DECL (dhcp_failover_state, dhcp_failover_state_t, dhcp_type_failover_state) OMAPI_OBJECT_ALLOC_DECL(dhcp_failover_listener
dhcp_type_failover_listener OMAPI_OBJECT_ALLOC_DECL (dhcp_failover_link, dhcp_failover_link_t, dhcp_type_failover_link) const char *binding_state_print(enum failover_state)
 HASH_FUNCTIONS_DECL (iasubopt, struct in6_addr *, struct iasubopt, iasubopt_hash_t) isc_result_t iasubopt_allocate(struct iasubopt **iasubopt
isc_result_t iasubopt_reference (struct iasubopt **iasubopt, struct iasubopt *src, const char *file, int line)
isc_result_t iasubopt_dereference (struct iasubopt **iasubopt, const char *file, int line)
isc_result_t ia_make_key (struct data_string *key, u_int32_t iaid, const char *duid, unsigned int duid_len, const char *file, int line)
isc_result_t ia_allocate (struct ia_xx **ia, u_int32_t iaid, const char *duid, unsigned int duid_len, const char *file, int line)
isc_result_t ia_reference (struct ia_xx **ia, struct ia_xx *src, const char *file, int line)
isc_result_t ia_dereference (struct ia_xx **ia, const char *file, int line)
isc_result_t ia_add_iasubopt (struct ia_xx *ia, struct iasubopt *iasubopt, const char *file, int line)
void ia_remove_iasubopt (struct ia_xx *ia, struct iasubopt *iasubopt, const char *file, int line)
isc_boolean_t ia_equal (const struct ia_xx *a, const struct ia_xx *b)
isc_result_t ipv6_pool_allocate (struct ipv6_pool **pool, u_int16_t type, const struct in6_addr *start_addr, int bits, int units, const char *file, int line)
 Create a new IPv6 lease pool structure.
isc_result_t ipv6_pool_reference (struct ipv6_pool **pool, struct ipv6_pool *src, const char *file, int line)
 reference an IPv6 pool structure.
isc_result_t ipv6_pool_dereference (struct ipv6_pool **pool, const char *file, int line)
 de-reference an IPv6 pool structure.
isc_result_t create_lease6 (struct ipv6_pool *pool, struct iasubopt **addr, unsigned int *attempts, const struct data_string *uid, time_t soft_lifetime_end_time)
isc_result_t add_lease6 (struct ipv6_pool *pool, struct iasubopt *lease, time_t valid_lifetime_end_time)
isc_result_t renew_lease6 (struct ipv6_pool *pool, struct iasubopt *lease)
 Renew a lease in the pool.
isc_result_t expire_lease6 (struct iasubopt **leasep, struct ipv6_pool *pool, time_t now)
isc_result_t release_lease6 (struct ipv6_pool *pool, struct iasubopt *lease)
isc_result_t decline_lease6 (struct ipv6_pool *pool, struct iasubopt *lease)
isc_boolean_t lease6_exists (const struct ipv6_pool *pool, const struct in6_addr *addr)
isc_boolean_t lease6_usable (struct iasubopt *lease)
 Check if address is available to a lease.
isc_result_t cleanup_lease6 (ia_hash_t *ia_table, struct ipv6_pool *pool, struct iasubopt *lease, struct ia_xx *ia)
 Cleans up leases when reading from a lease file.
isc_result_t mark_lease_unavailble (struct ipv6_pool *pool, const struct in6_addr *addr)
isc_result_t create_prefix6 (struct ipv6_pool *pool, struct iasubopt **pref, unsigned int *attempts, const struct data_string *uid, time_t soft_lifetime_end_time)
isc_boolean_t prefix6_exists (const struct ipv6_pool *pool, const struct in6_addr *pref, u_int8_t plen)
isc_result_t add_ipv6_pool (struct ipv6_pool *pool)
isc_result_t find_ipv6_pool (struct ipv6_pool **pool, u_int16_t type, const struct in6_addr *addr)
isc_boolean_t ipv6_in_pool (const struct in6_addr *addr, const struct ipv6_pool *pool)
isc_result_t ipv6_pond_allocate (struct ipv6_pond **pond, const char *file, int line)
 Create a new IPv6 pond structure.
isc_result_t ipv6_pond_reference (struct ipv6_pond **pond, struct ipv6_pond *src, const char *file, int line)
 reference an IPv6 pond structure.
isc_result_t ipv6_pond_dereference (struct ipv6_pond **pond, const char *file, int line)
 de-reference an IPv6 pond structure.
isc_result_t renew_leases (struct ia_xx *ia)
isc_result_t release_leases (struct ia_xx *ia)
isc_result_t decline_leases (struct ia_xx *ia)
void schedule_lease_timeout (struct ipv6_pool *pool)
void schedule_all_ipv6_lease_timeouts ()
void mark_hosts_unavailable (void)
void mark_phosts_unavailable (void)
void mark_interfaces_unavailable (void)

Variables

ia_hash_tia_na_active
ia_hash_tia_ta_active
ia_hash_tia_pd_active
struct ipv6_pool ** pools
int num_pools
lease_id_hash_t extern struct
option
vendor_cfg_option
struct timeval cur_tv
int ddns_update_style
int dont_use_fsync
const char * path_dhcpd_conf
const char * path_dhcpd_db
const char * path_dhcpd_pid
int dhcp_max_agent_option_packet_length
struct eventqueuerw_queue_empty
enum dhcp_shutdown_state shutdown_state
struct binding_scopeglobal_scope
int outstanding_pings
int max_outstanding_acks
int max_ack_delay_secs
int max_ack_delay_usecs
int(* group_write_hook )(struct group_object *)
struct grouproot_group
group_hash_tgroup_name_hash
 dhcp_control_object_t
int db_time_format
struct interface_infointerfaces
struct interface_infodummy_interfaces
struct interface_infofallback_interface
struct protocolprotocols
int quiet_interface_discovery
struct in_addr limited_broadcast
int local_family
struct in_addr local_address
u_int16_t local_port
u_int16_t remote_port
int(* dhcp_interface_setup_hook )(struct interface_info *, struct iaddr *)
int(* dhcp_interface_discovery_hook )(struct interface_info *)
isc_result_t(* dhcp_interface_startup_hook )(struct interface_info *)
void(* bootp_packet_handler )(struct interface_info *, struct dhcp_packet *, unsigned, unsigned int, struct iaddr, struct hardware *)
void(* dhcpv6_packet_handler )(struct interface_info *, const char *, int, int, const struct iaddr *, isc_boolean_t)
struct timeouttimeouts
omapi_object_type_tdhcp_type_interface
trace_type_tinterface_trace
trace_type_tinpacket_trace
trace_type_toutpacket_trace
struct interface_info ** interface_vector
int interface_count
int interface_max
struct universe dhcp_universe
struct universe dhcpv6_universe
struct universe nwip_universe
struct universe fqdn_universe
struct universe vsio_universe
int dhcp_option_default_priority_list []
int dhcp_option_default_priority_list_count
const char * hardware_types [256]
int universe_count
int universe_max
struct universe ** universes
universe_hash_tuniverse_hash
struct universeconfig_universe
failover_option_t null_failover_option
failover_option_t skip_failover_option
struct failover_option_info ft_options []
u_int32_t fto_allowed []
int ft_sizes []
const char * dhcp_flink_state_names []
const char * binding_state_names []
struct universe agent_universe
struct universe server_universe
struct enumeration ddns_styles
struct enumeration syslog_enum
int nowait
int wanted_ia_na
int wanted_ia_ta
int wanted_ia_pd
const char * path_dhclient_conf
const char * path_dhclient_db
const char * path_dhclient_pid
char * path_dhclient_script
int interfaces_requested
struct data_string default_duid
int duid_type
struct client_config top_level_config
struct icmp_stateicmp_state
char path_resolv_conf []
struct name_servername_servers
struct domain_search_listdomains
int have_billing_classes
struct class unknown_class
struct class known_class
struct collection default_collection
struct collectioncollections
struct executable_statementdefault_classification_rules
omapi_object_type_tdhcp_type_group
omapi_object_type_tdhcp_type_shared_network
omapi_object_type_tdhcp_type_subnet
omapi_object_type_tdhcp_type_control
dhcp_control_object_tdhcp_control_object
int(* dhcp_interface_shutdown_hook )(struct interface_info *)
omapi_object_type_tdhcp_type_lease
omapi_object_type_tdhcp_type_pool
omapi_object_type_tdhcp_type_class
omapi_object_type_tdhcp_type_subclass
omapi_object_type_tdhcp_type_failover_state
omapi_object_type_tdhcp_type_failover_link
omapi_object_type_tdhcp_type_failover_listener
struct subnetsubnets
struct shared_networkshared_networks
host_hash_thost_hw_addr_hash
host_hash_thost_uid_hash
host_hash_thost_name_hash
lease_id_hash_tlease_uid_hash
lease_ip_hash_tlease_ip_addr_hash
lease_id_hash_tlease_hw_addr_hash
omapi_object_type_tdhcp_type_host
int numclasseswritten
dhcp_failover_state_tfailover_states
 dhcp_failover_listener_t
const char * file
const char int line

Detailed Description

Definition in file dhcpd.h.


Define Documentation

#define _PATH_DHCLIENT_CONF   "/etc/dhcp/dhclient.conf"

Definition at line 1449 of file dhcpd.h.

#define _PATH_DHCLIENT_SCRIPT   "/usr/sbin/dhclient-script"

Definition at line 1453 of file dhcpd.h.

#define _PATH_DHCPD_CONF   "/etc/dhcp/dhcpd.conf"

Definition at line 1427 of file dhcpd.h.

#define _PATH_DHCRELAY6_PID   LOCALSTATEDIR"/run/dhcrelay6.pid"

Definition at line 1481 of file dhcpd.h.

#define _PATH_RESOLV_CONF   "/etc/resolv.conf"

Definition at line 1473 of file dhcpd.h.

#define AGENT_HASH_SIZE   11

Definition at line 207 of file dhcpd.h.

#define BOOTP_LEASE   2

Definition at line 533 of file dhcpd.h.

#define BYTE_CODE_HASH_SIZE   254

Definition at line 112 of file dhcpd.h.

#define BYTE_NAME_HASH_SIZE   401

Definition at line 109 of file dhcpd.h.

#define CL_BACKOFF_CUTOFF   5

Definition at line 787 of file dhcpd.h.

#define CL_BOOTP_POLICY   7

Definition at line 789 of file dhcpd.h.

#define CL_DEFAULT_BACKOFF_CUTOFF   120

Definition at line 814 of file dhcpd.h.

#define CL_DEFAULT_BOOTP_POLICY   P_ACCEPT

Definition at line 822 of file dhcpd.h.

#define CL_DEFAULT_INITIAL_INTERVAL   10

Definition at line 818 of file dhcpd.h.

#define CL_DEFAULT_REBOOT_TIMEOUT   10

Definition at line 806 of file dhcpd.h.

#define CL_DEFAULT_REQUESTED_OPTIONS
#define CL_DEFAULT_RETRY_INTERVAL   300

Definition at line 810 of file dhcpd.h.

#define CL_DEFAULT_SELECT_INTERVAL   0

Definition at line 802 of file dhcpd.h.

#define CL_DEFAULT_TIMEOUT   60

Definition at line 798 of file dhcpd.h.

#define CL_INITIAL_INTERVAL   6

Definition at line 788 of file dhcpd.h.

#define CL_MEDIA   12

Definition at line 794 of file dhcpd.h.

#define CL_REBOOT_TIMEOUT   3

Definition at line 785 of file dhcpd.h.

#define CL_REJECT_LIST   13

Definition at line 795 of file dhcpd.h.

#define CL_REQUESTED_LEASE_TIME   10

Definition at line 792 of file dhcpd.h.

#define CL_REQUESTED_OPTIONS   9

Definition at line 791 of file dhcpd.h.

#define CL_RETRY_INTERVAL   4

Definition at line 786 of file dhcpd.h.

#define CL_SCRIPT_NAME   8

Definition at line 790 of file dhcpd.h.

#define CL_SELECT_INTERVAL   2

Definition at line 784 of file dhcpd.h.

#define CL_SEND_OPTIONS   11

Definition at line 793 of file dhcpd.h.

#define CL_TIMEOUT   1

Definition at line 783 of file dhcpd.h.

#define CLASS_DECL   4

Definition at line 627 of file dhcpd.h.

#define CLASS_DECL_DELETED   1

Definition at line 1007 of file dhcpd.h.

#define CLASS_DECL_DYNAMIC   2

Definition at line 1008 of file dhcpd.h.

#define CLASS_DECL_STATIC   4

Definition at line 1009 of file dhcpd.h.

#define CLASS_DECL_SUBCLASS   8

Definition at line 1010 of file dhcpd.h.

#define CLASS_TYPE_CLASS   2

Definition at line 971 of file dhcpd.h.

#define CLASS_TYPE_SUBCLASS   3

Definition at line 972 of file dhcpd.h.

#define CLASS_TYPE_USER   1

Definition at line 970 of file dhcpd.h.

#define CLASS_TYPE_VENDOR   0

Definition at line 969 of file dhcpd.h.

#define compute_option_hash (  ) 
Value:
(((x) & (OPTION_HASH_PTWO - 1)) + \
         (((x) >> OPTION_HASH_EXP) & \
          (OPTION_HASH_PTWO - 1))) % OPTION_HASH_SIZE;

Definition at line 228 of file dhcpd.h.

#define cur_time   cur_tv.tv_sec

Definition at line 1926 of file dhcpd.h.

#define DDNS_ABORT   0x40

Definition at line 1616 of file dhcpd.h.

#define DDNS_ACTIVE_LEASE   0x100

Definition at line 1618 of file dhcpd.h.

#define DDNS_CLIENT_DID_UPDATE   0x10

Definition at line 1614 of file dhcpd.h.

#define DDNS_CONFLICT_OVERRIDE   0x08

Definition at line 1613 of file dhcpd.h.

#define DDNS_EXECUTE_NEXT   0x20

Definition at line 1615 of file dhcpd.h.

#define DDNS_INCLUDE_RRSET   0x04

Definition at line 1612 of file dhcpd.h.

#define DDNS_PRINT_INBOUND   1

Definition at line 1636 of file dhcpd.h.

#define DDNS_PRINT_OUTBOUND   0

Definition at line 1637 of file dhcpd.h.

#define DDNS_STATE_ADD_FW_NXDOMAIN   1

Definition at line 1625 of file dhcpd.h.

#define DDNS_STATE_ADD_FW_YXDHCID   2

Definition at line 1626 of file dhcpd.h.

#define DDNS_STATE_ADD_PTR   3

Definition at line 1627 of file dhcpd.h.

#define DDNS_STATE_CLEANUP   0

Definition at line 1623 of file dhcpd.h.

#define DDNS_STATE_REM_FW_NXRR   18

Definition at line 1630 of file dhcpd.h.

#define DDNS_STATE_REM_FW_YXDHCID   17

Definition at line 1629 of file dhcpd.h.

#define DDNS_STATE_REM_PTR   19

Definition at line 1631 of file dhcpd.h.

#define DDNS_STATIC_LEASE   0x80

Definition at line 1617 of file dhcpd.h.

#define DDNS_UPDATE_ADDR   0x01

Definition at line 1610 of file dhcpd.h.

#define DDNS_UPDATE_PTR   0x02

Definition at line 1611 of file dhcpd.h.

#define DDNS_UPDATE_STYLE_AD_HOC   1

Definition at line 641 of file dhcpd.h.

#define DDNS_UPDATE_STYLE_INTERIM   2

Definition at line 642 of file dhcpd.h.

#define DDNS_UPDATE_STYLE_NONE   0

Definition at line 640 of file dhcpd.h.

#define DDNS_UPDATE_STYLE_STANDARD   3

Definition at line 643 of file dhcpd.h.

#define DEFAULT_ACK_DELAY_SECS   0

Definition at line 743 of file dhcpd.h.

#define DEFAULT_ACK_DELAY_USECS   250000

Definition at line 747 of file dhcpd.h.

#define DEFAULT_CACHE_THRESHOLD   25

Definition at line 755 of file dhcpd.h.

#define DEFAULT_DDNS_TTL   3600

Definition at line 771 of file dhcpd.h.

#define DEFAULT_DEFAULT_LEASE_TIME   43200

Definition at line 759 of file dhcpd.h.

#define DEFAULT_DELAYED_ACK   28

Definition at line 739 of file dhcpd.h.

#define DEFAULT_MAX_LEASE_TIME   86400

Definition at line 767 of file dhcpd.h.

#define DEFAULT_MIN_ACK_DELAY_USECS   10000

Definition at line 751 of file dhcpd.h.

#define DEFAULT_MIN_LEASE_TIME   300

Definition at line 763 of file dhcpd.h.

#define DEFAULT_PING_TIMEOUT   1

Definition at line 735 of file dhcpd.h.

#define DEFAULT_SPACE_HASH_SIZE   11

Definition at line 145 of file dhcpd.h.

#define DEFAULT_TIME_FORMAT   0

Definition at line 2386 of file dhcpd.h.

#define DHC6_ADDR_DEPREFFED   0x01

Definition at line 1038 of file dhcpd.h.

#define DHC6_ADDR_EXPIRED   0x02

Definition at line 1039 of file dhcpd.h.

#define DHCPD_LOG_FACILITY   LOG_DAEMON

Definition at line 1485 of file dhcpd.h.

#define DISCOVER_RELAY   3

Definition at line 636 of file dhcpd.h.

#define DISCOVER_REQUESTED   4

Definition at line 637 of file dhcpd.h.

#define DISCOVER_RUNNING   0

Definition at line 633 of file dhcpd.h.

#define DISCOVER_SERVER   1

Definition at line 634 of file dhcpd.h.

#define DISCOVER_UNCONFIGURED   2

Definition at line 635 of file dhcpd.h.

#define DNS_HASH_SIZE   0

Definition at line 140 of file dhcpd.h.

#define DNS_ZONE_ACTIVE   0

Definition at line 1376 of file dhcpd.h.

#define DNS_ZONE_INACTIVE   1

Definition at line 1377 of file dhcpd.h.

#define EOL   '\n'

Definition at line 88 of file dhcpd.h.

#define EPHEMERAL_FLAGS
Value:

Definition at line 545 of file dhcpd.h.

#define EXPIRED_IPV6_CLEANUP_TIME   (60*60)

Definition at line 1513 of file dhcpd.h.

#define FQDN_HASH_SIZE   13

Definition at line 153 of file dhcpd.h.

#define FTS_ABANDONED   5

Definition at line 488 of file dhcpd.h.

#define FTS_ACTIVE   2

Definition at line 485 of file dhcpd.h.

#define FTS_BACKUP   7

Definition at line 490 of file dhcpd.h.

#define FTS_EXPIRED   3

Definition at line 486 of file dhcpd.h.

#define FTS_FREE   1

Definition at line 484 of file dhcpd.h.

#define FTS_LAST   FTS_BACKUP

Definition at line 494 of file dhcpd.h.

#define FTS_RELEASED   4

Definition at line 487 of file dhcpd.h.

#define FTS_RESET   6

Definition at line 489 of file dhcpd.h.

#define GROUP_DECL   5

Definition at line 628 of file dhcpd.h.

#define GROUP_HASH_SIZE   0

Definition at line 180 of file dhcpd.h.

#define GROUP_OBJECT_DELETED   1

Definition at line 843 of file dhcpd.h.

#define GROUP_OBJECT_DYNAMIC   2

Definition at line 844 of file dhcpd.h.

#define GROUP_OBJECT_STATIC   4

Definition at line 845 of file dhcpd.h.

#define HARDWARE_ADDR_LEN   20

Definition at line 437 of file dhcpd.h.

#define HOST_DECL   1

Definition at line 624 of file dhcpd.h.

#define HOST_DECL_DELETED   1

Definition at line 879 of file dhcpd.h.

#define HOST_DECL_DYNAMIC   2

Definition at line 880 of file dhcpd.h.

#define HOST_DECL_STATIC   4

Definition at line 881 of file dhcpd.h.

#define HOST_HASH_SIZE   22501

Definition at line 186 of file dhcpd.h.

#define INTERFACE_AUTOMATIC   2

Definition at line 1283 of file dhcpd.h.

#define INTERFACE_DOWNSTREAM   8

Definition at line 1285 of file dhcpd.h.

#define INTERFACE_REQUESTED   1

Definition at line 1282 of file dhcpd.h.

#define INTERFACE_RUNNING   4

Definition at line 1284 of file dhcpd.h.

#define INTERFACE_STREAMS   (INTERFACE_DOWNSTREAM | INTERFACE_UPSTREAM)

Definition at line 1287 of file dhcpd.h.

#define INTERFACE_UPSTREAM   16

Definition at line 1286 of file dhcpd.h.

#define LEASE_HASH_SIZE   100003

Definition at line 196 of file dhcpd.h.

#define LOCAL_TIME_FORMAT   1

Definition at line 2387 of file dhcpd.h.

#define MAX_ADDRESS_STRING_LEN   (sizeof("ffff:ffff:ffff:ffff:ffff:ffff:255.255.255.255"))

Definition at line 3620 of file dhcpd.h.

#define MAX_DEFAULT_DDNS_TTL   3600

Definition at line 774 of file dhcpd.h.

#define MAX_TIME   0x7fffffff

Definition at line 1488 of file dhcpd.h.

#define MIN_LEASE_WRITE   15

Definition at line 778 of file dhcpd.h.

#define MIN_TIME   0

Definition at line 1489 of file dhcpd.h.

#define MS_NULL_TERMINATION   8

Definition at line 535 of file dhcpd.h.

#define NWIP_HASH_SIZE   17

Definition at line 149 of file dhcpd.h.

#define ON_ACK_QUEUE   32

Definition at line 537 of file dhcpd.h.

#define ON_DEFERRED_QUEUE   128

Definition at line 540 of file dhcpd.h.

#define ON_QUEUE   (ON_UPDATE_QUEUE | ON_ACK_QUEUE)

Definition at line 538 of file dhcpd.h.

#define ON_UPDATE_QUEUE   16

Definition at line 536 of file dhcpd.h.

#define OPTION_CLR ( mask,
bit   )     (mask [bit >> 8] &= ~(1 << (bit & 7)))

Definition at line 1404 of file dhcpd.h.

#define OPTION_HAD_NULLS   0x00000001

Definition at line 356 of file dhcpd.h.

#define OPTION_HASH_EXP   5

Definition at line 225 of file dhcpd.h.

#define OPTION_HASH_PTWO   32

Definition at line 224 of file dhcpd.h.

#define OPTION_HASH_SIZE   17

Definition at line 223 of file dhcpd.h.

#define OPTION_ISCLR ( mask,
bit   )     (!OPTION_ISSET (mask, bit))

Definition at line 1406 of file dhcpd.h.

#define OPTION_ISSET ( mask,
bit   )     (mask [bit >> 8] & (1 << (bit & 7)))

Definition at line 1405 of file dhcpd.h.

#define OPTION_SET ( mask,
bit   )     (mask [bit >> 8] |= (1 << (bit & 7)))

Definition at line 1403 of file dhcpd.h.

#define OPTION_SPACE (  )     ((x) + 2 * ((x) / 255 + 1))

Definition at line 1410 of file dhcpd.h.

#define OPTION_ZERO ( mask   )     (memset (mask, 0, 16))

Definition at line 1402 of file dhcpd.h.

#define PACKET_MAX_CLASSES   5

Definition at line 410 of file dhcpd.h.

#define PERSISTENT_FLAGS   (ON_ACK_QUEUE | ON_UPDATE_QUEUE)

Definition at line 543 of file dhcpd.h.

#define POOL_DECL   6

Definition at line 629 of file dhcpd.h.

#define print_hex_1 ( len,
data,
limit   )     print_hex(len, data, limit, 0)

Definition at line 2404 of file dhcpd.h.

#define print_hex_2 ( len,
data,
limit   )     print_hex(len, data, limit, 1)

Definition at line 2405 of file dhcpd.h.

#define print_hex_3 ( len,
data,
limit   )     print_hex(len, data, limit, 2)

Definition at line 2406 of file dhcpd.h.

#define QUAD_CODE_HASH_SIZE   WORD_CODE_HASH_SIZE

Definition at line 136 of file dhcpd.h.

#define QUAD_NAME_HASH_SIZE   WORD_NAME_HASH_SIZE

Definition at line 133 of file dhcpd.h.

#define RESERVED_LEASE   4

Definition at line 534 of file dhcpd.h.

#define ROOT_GROUP   0

Definition at line 623 of file dhcpd.h.

#define SCLASS_HASH_SIZE   12007

Definition at line 203 of file dhcpd.h.

#define SERVER_HASH_SIZE   (2*(sizeof(server_options) / sizeof(struct option)))

Definition at line 217 of file dhcpd.h.

#define SHARED_IMPLICIT   1

Definition at line 935 of file dhcpd.h.

#define SHARED_NET_DECL   2

Definition at line 625 of file dhcpd.h.

#define skip_token ( a,
b,
 )     ((void) next_token((a),(b),(c)))

Definition at line 1969 of file dhcpd.h.

#define STATIC_LEASE   1

Definition at line 532 of file dhcpd.h.

#define SUBNET_DECL   3

Definition at line 626 of file dhcpd.h.

#define SV_ADAPTIVE_LEASE_TIME_THRESHOLD   50

Definition at line 696 of file dhcpd.h.

#define SV_ALLOW_BOOTING   9

Definition at line 655 of file dhcpd.h.

#define SV_ALLOW_BOOTP   8

Definition at line 654 of file dhcpd.h.

#define SV_ALWAYS_BROADCAST   22

Definition at line 668 of file dhcpd.h.

#define SV_ALWAYS_REPLY_RFC1048   20

Definition at line 666 of file dhcpd.h.

#define SV_AUTHORITATIVE   18

Definition at line 664 of file dhcpd.h.

#define SV_BOOT_UNKNOWN_CLIENTS   6

Definition at line 652 of file dhcpd.h.

#define SV_BOOTP_LEASE_CUTOFF   4

Definition at line 650 of file dhcpd.h.

#define SV_BOOTP_LEASE_LENGTH   5

Definition at line 651 of file dhcpd.h.

#define SV_CACHE_THRESHOLD   78

Definition at line 728 of file dhcpd.h.

#define SV_CLIENT_UPDATES   40

Definition at line 686 of file dhcpd.h.

#define SV_DDNS_CONFLICT_DETECT   48

Definition at line 694 of file dhcpd.h.

#define SV_DDNS_DOMAIN_NAME   23

Definition at line 669 of file dhcpd.h.

#define SV_DDNS_HOST_NAME   24

Definition at line 670 of file dhcpd.h.

#define SV_DDNS_LOCAL_ADDRESS4   80

Definition at line 730 of file dhcpd.h.

#define SV_DDNS_LOCAL_ADDRESS6   81

Definition at line 731 of file dhcpd.h.

#define SV_DDNS_REV_DOMAIN_NAME   25

Definition at line 671 of file dhcpd.h.

#define SV_DDNS_TTL   38

Definition at line 684 of file dhcpd.h.

#define SV_DDNS_UPDATE_STYLE   39

Definition at line 685 of file dhcpd.h.

#define SV_DDNS_UPDATES   30

Definition at line 676 of file dhcpd.h.

#define SV_DECLINES   29

Definition at line 675 of file dhcpd.h.

#define SV_DEFAULT_LEASE_TIME   1

Definition at line 647 of file dhcpd.h.

#define SV_DELAYED_ACK   58

Definition at line 704 of file dhcpd.h.

#define SV_DHCPV6_LEASE_FILE_NAME   54

Definition at line 700 of file dhcpd.h.

#define SV_DHCPV6_PID_FILE_NAME   55

Definition at line 701 of file dhcpd.h.

#define SV_DO_FORWARD_UPDATES   45

Definition at line 691 of file dhcpd.h.

#define SV_DO_REVERSE_UPDATES   51

Definition at line 697 of file dhcpd.h.

#define SV_DONT_USE_FSYNC   79

Definition at line 729 of file dhcpd.h.

#define SV_DUPLICATES   28

Definition at line 674 of file dhcpd.h.

#define SV_DYNAMIC_BOOTP   7

Definition at line 653 of file dhcpd.h.

#define SV_FILENAME   15

Definition at line 661 of file dhcpd.h.

#define SV_FQDN_REPLY   52

Definition at line 698 of file dhcpd.h.

#define SV_GET_LEASE_HOSTNAMES   11

Definition at line 657 of file dhcpd.h.

#define SV_IGNORE_CLIENT_UIDS   82

Definition at line 732 of file dhcpd.h.

#define SV_LEASE_FILE_NAME   26

Definition at line 672 of file dhcpd.h.

#define SV_LEASEQUERY   49

Definition at line 695 of file dhcpd.h.

#define SV_LIMIT_ADDRS_PER_IA   56

Definition at line 702 of file dhcpd.h.

#define SV_LIMIT_PREFS_PER_IA   57

Definition at line 703 of file dhcpd.h.

#define SV_LIMITED_BROADCAST_ADDRESS   33

Definition at line 679 of file dhcpd.h.

#define SV_LOCAL_ADDRESS   35

Definition at line 681 of file dhcpd.h.

#define SV_LOCAL_PORT   32

Definition at line 678 of file dhcpd.h.

#define SV_LOG_FACILITY   44

Definition at line 690 of file dhcpd.h.

#define SV_MAX_ACK_DELAY   59

Definition at line 705 of file dhcpd.h.

#define SV_MAX_LEASE_TIME   2

Definition at line 648 of file dhcpd.h.

#define SV_MIN_LEASE_TIME   3

Definition at line 649 of file dhcpd.h.

#define SV_MIN_SECS   14

Definition at line 660 of file dhcpd.h.

#define SV_NEXT_SERVER   17

Definition at line 663 of file dhcpd.h.

#define SV_OMAPI_KEY   36

Definition at line 682 of file dhcpd.h.

#define SV_OMAPI_PORT   31

Definition at line 677 of file dhcpd.h.

#define SV_ONE_LEASE_PER_CLIENT   10

Definition at line 656 of file dhcpd.h.

#define SV_PID_FILE_NAME   27

Definition at line 673 of file dhcpd.h.

#define SV_PING_CHECKS   42

Definition at line 688 of file dhcpd.h.

#define SV_PING_TIMEOUT   46

Definition at line 692 of file dhcpd.h.

#define SV_PREFER_LIFETIME   53

Definition at line 699 of file dhcpd.h.

#define SV_REMOTE_PORT   34

Definition at line 680 of file dhcpd.h.

#define SV_RESERVE_INFINITE   47

Definition at line 693 of file dhcpd.h.

#define SV_SERVER_NAME   16

Definition at line 662 of file dhcpd.h.

#define SV_SITE_OPTION_SPACE   21

Definition at line 667 of file dhcpd.h.

#define SV_STASH_AGENT_OPTIONS   37

Definition at line 683 of file dhcpd.h.

#define SV_UPDATE_OPTIMIZATION   41

Definition at line 687 of file dhcpd.h.

#define SV_UPDATE_STATIC_LEASES   43

Definition at line 689 of file dhcpd.h.

#define SV_USE_HOST_DECL_NAMES   12

Definition at line 658 of file dhcpd.h.

#define SV_USE_LEASE_ADDR_FOR_DEFAULT_ROUTE   13

Definition at line 659 of file dhcpd.h.

#define SV_VENDOR_OPTION_SPACE   19

Definition at line 665 of file dhcpd.h.

#define UNICAST_BROADCAST_HACK   64

Definition at line 539 of file dhcpd.h.

#define UNIVERSE_HASH_SIZE   13

Definition at line 176 of file dhcpd.h.

#define VIV_ISC_HASH_SIZE   3

Definition at line 172 of file dhcpd.h.

#define VIVCO_HASH_SIZE   127

Definition at line 160 of file dhcpd.h.

#define VIVSO_HASH_SIZE   VIVCO_HASH_SIZE

Definition at line 164 of file dhcpd.h.

#define VSIO_HASH_SIZE   VIVCO_HASH_SIZE

Definition at line 168 of file dhcpd.h.

#define WORD_CODE_HASH_SIZE   16384

Definition at line 124 of file dhcpd.h.

#define WORD_NAME_HASH_SIZE   20479

Definition at line 121 of file dhcpd.h.


Typedef Documentation

typedef u_int8_t binding_state_t

Definition at line 491 of file dhcpd.h.

typedef struct hash_table class_hash_t

Definition at line 83 of file dhcpd.h.

typedef void(* ddns_action_t)(struct dhcp_ddns_cb *ddns_cb, isc_result_t result)

Definition at line 1641 of file dhcpd.h.

typedef struct dhcp_ddns_cb dhcp_ddns_cb_t
typedef struct hash_table dns_zone_hash_t

Definition at line 79 of file dhcpd.h.

typedef struct hash_table group_hash_t

Definition at line 75 of file dhcpd.h.

typedef struct hash_table host_hash_t

Definition at line 82 of file dhcpd.h.

typedef struct hash_table ia_hash_t

Definition at line 1492 of file dhcpd.h.

typedef struct hash_table iasubopt_hash_t

Definition at line 1493 of file dhcpd.h.

typedef struct hash_table lease_id_hash_t

Definition at line 81 of file dhcpd.h.

typedef struct hash_table lease_ip_hash_t

Definition at line 80 of file dhcpd.h.

Definition at line 78 of file dhcpd.h.

typedef unsigned char option_mask[16]

Definition at line 1399 of file dhcpd.h.

Definition at line 77 of file dhcpd.h.

typedef time_t TIME

Definition at line 85 of file dhcpd.h.

typedef void(* tvref_t)(void *, void *, const char *, int)

Definition at line 1311 of file dhcpd.h.

typedef void(* tvunref_t)(void *, const char *, int)

Definition at line 1312 of file dhcpd.h.

typedef struct hash_table universe_hash_t

Definition at line 76 of file dhcpd.h.


Enumeration Type Documentation

Enumerator:
server_startup 
server_running 
server_shutdown 
server_hibernate 
server_awaken 

Definition at line 470 of file dhcpd.h.

Enumerator:
shutdown_listeners 
shutdown_omapi_connections 
shutdown_drop_omapi_connections 
shutdown_dhcp 
shutdown_done 

Definition at line 233 of file dhcpd.h.

enum dhcp_state
Enumerator:
S_REBOOTING 
S_INIT 
S_SELECTING 
S_REQUESTING 
S_BOUND 
S_RENEWING 
S_REBINDING 
S_STOPPED 
S_DECLINED 

Definition at line 1077 of file dhcpd.h.

enum policy
Enumerator:
P_IGNORE 
P_ACCEPT 
P_PREFER 
P_REQUIRE 
P_DONT 

Definition at line 1091 of file dhcpd.h.


Function Documentation

void abandon_lease ( struct lease ,
const char *   
)

Definition at line 1789 of file mdb.c.

void ack_lease ( struct packet ,
struct lease ,
unsigned  int,
TIME  ,
char *  ,
int  ,
struct host_decl  
)

Definition at line 1792 of file dhcp.c.

void add_enumeration ( struct enumeration  ) 

Definition at line 37 of file parse.c.

isc_result_t add_ipv6_pool ( struct ipv6_pool pool  ) 

Definition at line 1798 of file mdb6.c.

isc_result_t add_lease6 ( struct ipv6_pool pool,
struct iasubopt lease,
time_t  valid_lifetime_end_time 
)

Definition at line 1226 of file mdb6.c.

int add_option ( struct option_state options,
unsigned int  option_num,
void *  data,
unsigned int  data_len 
)

Definition at line 4145 of file options.c.

void add_route_default_gateway ( struct interface_info ,
struct in_addr   
)
void add_route_direct ( struct interface_info ,
struct in_addr   
)
void add_route_net ( struct interface_info ,
struct in_addr  ,
struct in_addr   
)
void add_timeout ( struct timeval *  ,
void(*)(void *)  ,
void *  ,
tvref_t  ,
tvunref_t   
)

Definition at line 198 of file dispatch.c.

int addr_and ( struct iaddr result,
const struct iaddr a1,
const struct iaddr a2 
)

Definition at line 269 of file inet.c.

int addr_cmp ( const struct iaddr a1,
const struct iaddr a2 
)

Definition at line 213 of file inet.c.

int addr_eq ( struct iaddr  ,
struct iaddr   
)

Definition at line 168 of file inet.c.

int addr_match ( struct iaddr ,
struct iaddrmatch  
)

Definition at line 186 of file inet.c.

int addr_or ( struct iaddr result,
const struct iaddr a1,
const struct iaddr a2 
)

Definition at line 240 of file inet.c.

int allocate_lease ( struct lease **  ,
struct packet ,
struct pool ,
int  
)

Definition at line 4453 of file dhcp.c.

void also_save_option ( struct universe ,
struct option_state ,
struct option_cache  
)

Definition at line 2575 of file options.c.

int append_option ( struct data_string dst,
struct universe universe,
struct option option,
struct data_string src 
)

Definition at line 2787 of file options.c.

int append_option_buffer ( struct universe ,
struct option_state ,
struct buffer ,
unsigned char *  ,
unsigned  ,
unsigned  ,
int   
)

Definition at line 2315 of file options.c.

void assemble_ethernet_header ( struct interface_info ,
unsigned char *  ,
unsigned *  ,
struct hardware  
)
void assemble_hw_header ( struct interface_info ,
unsigned char *  ,
unsigned *  ,
struct hardware  
)
void assemble_tr_header ( struct interface_info ,
unsigned char *  ,
unsigned *  ,
struct hardware  
)
void assemble_udp_ip_header ( struct interface_info ,
unsigned char *  ,
unsigned *  ,
u_int32_t  ,
u_int32_t  ,
u_int32_t  ,
unsigned char *  ,
unsigned   
)
int bill_class ( struct lease ,
struct class  
)

Definition at line 274 of file class.c.

int bind_ds_value ( struct binding_scope **  ,
const char *  ,
struct data_string  
)

Definition at line 4016 of file tree.c.

void bind_lease ( struct client_state ,
struct in_addr *   
)

Definition at line 1638 of file dhclient.c.

int binding_scope_allocate ( struct binding_scope **  ,
const char *  ,
int   
)

Definition at line 1195 of file alloc.c.

int binding_scope_dereference ( struct binding_scope **  ,
const char *  ,
int   
)

Definition at line 3722 of file tree.c.

isc_result_t binding_scope_get_value ( omapi_value_t **  ,
struct binding_scope ,
omapi_data_string_t  
)

Definition at line 2405 of file omapi.c.

int binding_scope_reference ( struct binding_scope **  ,
struct binding_scope ,
const char *  ,
int   
)

Definition at line 1228 of file alloc.c.

isc_result_t binding_scope_set_value ( struct binding_scope ,
int  ,
omapi_data_string_t ,
omapi_typed_data_t  
)

Definition at line 2329 of file omapi.c.

isc_result_t binding_scope_stuff_values ( omapi_object_t ,
struct binding_scope  
)

Definition at line 2475 of file omapi.c.

int binding_value_allocate ( struct binding_value **  ,
const char *  ,
int   
)

Definition at line 501 of file alloc.c.

int binding_value_dereference ( struct binding_value **  ,
const char *  ,
int   
)

Definition at line 653 of file tree.c.

int binding_value_reference ( struct binding_value **  ,
struct binding_value ,
const char *  ,
int   
)

Definition at line 521 of file alloc.c.

void bootp ( struct packet  ) 

Definition at line 1804 of file dhclient.c.

struct iaddr broadcast_addr ( struct iaddr  ,
struct iaddr   
) [read]

Definition at line 114 of file inet.c.

int buffer_allocate ( struct buffer **  ,
unsigned  ,
const char *  ,
int   
)

Definition at line 680 of file alloc.c.

int buffer_dereference ( struct buffer **  ,
const char *  ,
int   
)

Definition at line 727 of file alloc.c.

int buffer_reference ( struct buffer **  ,
struct buffer ,
const char *  ,
int   
)

Definition at line 699 of file alloc.c.

void build_server_oro ( struct data_string ,
struct option_state ,
const char *  ,
int   
)

Definition at line 2499 of file options.c.

void cancel_all_timeouts ( void   ) 
void cancel_timeout ( void(*)(void *)  ,
void *   
)

Definition at line 390 of file dispatch.c.

void change_host_uid ( struct host_decl host,
const char *  data,
int  len 
)

Definition at line 184 of file mdb.c.

int check_collection ( struct packet ,
struct lease ,
struct collection  
)

Definition at line 1226 of file dhclient.c.

u_int32_t checksum ( unsigned char *  ,
unsigned  ,
u_int32_t   
)

Definition at line 45 of file packet.c.

void classification_setup ( void   ) 

Definition at line 45 of file class.c.

void classify ( struct packet ,
struct class  
)

Definition at line 1234 of file dhclient.c.

void classify_client ( struct packet  ) 

Definition at line 63 of file class.c.

void cleanup ( void   ) 
isc_result_t cleanup_lease6 ( ia_hash_t ia_table,
struct ipv6_pool pool,
struct iasubopt lease,
struct ia_xx ia 
)

Cleans up leases when reading from a lease file.

This function is only expected to be run when reading leases in from a file. It checks to see if a lease already exists for the new leases's address. We don't add expired leases to the structures when reading a lease file which limits what can happen. We have two variables the owners of the leases being the same or different and the new lease being active or non-active: Owners active same no remove old lease and its connections same yes nothing to do, other code will update the structures. diff no nothing to do diff yes this combination shouldn't happen, we should only have a single active lease per address at a time and that lease should move to non-active before any other lease can become active for that address. Currently we delete the previous lease and pass an error to the caller who should log an error.

When we remove a lease we remove it from the hash table and active heap (remember only active leases are in the structures at this time) for the pool, and from the IA's array. If, after we've removed the pointer from IA's array to the lease, the IA has no more pointers we remove it from the appropriate hash table as well.

Parameters:
[in] ia_table = the hash table for the IA
[in] pool = the pool to update
[in] lease = the new lease we want to add
[in] ia = the new ia we are building
Returns:
ISC_R_SUCCESS = the incoming lease and any previous lease were in an expected state - one of the first 3 options above. If necessary the old lease was removed. ISC_R_FAILURE = there is already an active lease for the address in the incoming lease. This shouldn't happen if it does flag an error for the caller to log.

Definition at line 1124 of file mdb6.c.

void client_dns_remove ( struct client_state client,
struct iaddr addr 
)
isc_result_t client_dns_update ( struct client_state client,
dhcp_ddns_cb_t ddns_cb 
)
void client_dns_update_timeout ( void *  cp  ) 
void client_envadd ( struct client_state ,
const char *  ,
const char *  ,
const char *  ,
  ... 
)
void client_location_changed ( void   ) 

Definition at line 4116 of file dhclient.c.

void client_option_envadd ( struct option_cache ,
struct packet ,
struct lease ,
struct client_state ,
struct option_state ,
struct option_state ,
struct binding_scope **  ,
struct universe ,
void *   
)

Definition at line 3720 of file dhclient.c.

int clone_group ( struct group **  ,
struct group ,
const char *  ,
int   
)

Definition at line 130 of file memory.c.

int commit_leases ( void   ) 

Definition at line 1787 of file dhclient.c.

void commit_leases_readerdry ( void *   ) 
int commit_leases_timed ( void   ) 

Definition at line 1046 of file db.c.

void commit_leases_timeout ( void *   ) 

Definition at line 1003 of file db.c.

isc_result_t conf_file_subparse ( struct parse ,
struct group ,
int   
)

Definition at line 239 of file confpars.c.

binding_state_t conflict_binding_state_transition_check ( struct lease ,
dhcp_failover_state_t ,
binding_state_t  ,
u_int32_t   
)

Definition at line 6138 of file failover.c.

pair cons ( caddr_t  ,
pair   
)

Definition at line 138 of file tree.c.

unsigned cons_agent_information_options ( struct option_state ,
struct dhcp_packet ,
unsigned  ,
unsigned   
)

Definition at line 4326 of file dhclient.c.

int cons_options ( struct packet ,
struct dhcp_packet ,
struct lease ,
struct client_state ,
int  ,
struct option_state ,
struct option_state ,
struct binding_scope **  ,
int  ,
int  ,
int  ,
struct data_string ,
const char *   
)

Definition at line 523 of file options.c.

void convert_address_range ( struct parse ,
jrefproto   
)
void convert_class_decl ( struct parse ,
jrefproto   
)
void convert_class_statement ( struct parse ,
jrefproto  ,
int   
)
void convert_date ( struct parse ,
jrefproto  ,
char *   
)
void convert_filename_decl ( struct parse ,
jrefproto   
)
void convert_fixed_addr_decl ( struct parse ,
jrefproto   
)
void convert_hardware_addr ( struct parse ,
jrefproto   
)
void convert_hardware_decl ( struct parse ,
jrefproto   
)
void convert_host_decl ( struct parse ,
jrefproto   
)
void convert_host_name ( struct parse ,
jrefproto   
)
void convert_host_statement ( struct parse ,
jrefproto   
)
void convert_ip_addr_or_hostname ( struct parse ,
jrefproto  ,
int   
)
void convert_lease_statement ( struct parse ,
jrefproto   
)
void convert_lease_time ( struct parse ,
jrefproto  ,
char *   
)
void convert_num ( struct parse ,
unsigned char *  ,
const char *  ,
int  ,
unsigned   
)

Definition at line 829 of file parse.c.

void convert_numeric_aggregate ( struct parse ,
jrefproto  ,
int  ,
int  ,
int  ,
int   
)
void convert_option_decl ( struct parse ,
jrefproto   
)
void convert_servername_decl ( struct parse ,
jrefproto   
)
void convert_shared_net_statement ( struct parse ,
jrefproto   
)
void convert_statement ( struct parse  ) 
void convert_subnet_decl ( struct parse ,
jrefproto   
)
void convert_subnet_statement ( struct parse ,
jrefproto   
)
void copy_server_duid ( struct data_string ds,
const char *  file,
int  line 
)

Definition at line 201 of file dhcpv6.c.

struct binding* create_binding ( struct binding_scope **  ,
const char *   
) [read]

Definition at line 3985 of file tree.c.

isc_result_t create_lease6 ( struct ipv6_pool pool,
struct iasubopt **  addr,
unsigned int attempts,
const struct data_string uid,
time_t  soft_lifetime_end_time 
)

Definition at line 953 of file mdb6.c.

isc_result_t create_prefix6 ( struct ipv6_pool pool,
struct iasubopt **  pref,
unsigned int attempts,
const struct data_string uid,
time_t  soft_lifetime_end_time 
)

Definition at line 1668 of file mdb6.c.

void data_string_copy ( struct data_string ,
const struct data_string ,
const char *  ,
int   
)

Definition at line 1260 of file alloc.c.

void data_string_forget ( struct data_string ,
const char *  ,
int   
)

Definition at line 1276 of file alloc.c.

int data_string_sprintfa ( struct data_string ds,
const char *  fmt,
  ... 
)

Definition at line 57 of file tree.c.

void data_string_truncate ( struct data_string ,
int   
)

Definition at line 1289 of file alloc.c.

int data_subexpression_length ( int ,
struct expression  
)
int db_printable ( const unsigned char *   ) 
int db_printable_len ( const unsigned char *  ,
unsigned   
)
void db_startup ( int  ,
uid_t  ,
gid_t   
)

Definition at line 1055 of file db.c.

void ddns_cancel ( dhcp_ddns_cb_t ddns_cb,
const char *  file,
int  line 
)
dhcp_ddns_cb_t* ddns_cb_alloc ( const char *  file,
int  line 
)
void ddns_cb_forget_zone ( dhcp_ddns_cb_t ddns_cb  ) 
void ddns_cb_free ( dhcp_ddns_cb_t ddns_cb,
const char *  file,
int  line 
)
isc_result_t ddns_modify_fwd ( dhcp_ddns_cb_t ddns_cb,
const char *  file,
int  line 
)
isc_result_t ddns_modify_ptr ( dhcp_ddns_cb_t ddns_cb,
const char *  file,
int  line 
)
isc_result_t ddns_removals ( struct lease ,
struct iasubopt ,
struct dhcp_ddns_cb ,
isc_boolean_t   
)

Definition at line 1698 of file ddns.c.

int ddns_updates ( struct packet ,
struct lease ,
struct lease ,
struct iasubopt ,
struct iasubopt ,
struct option_state  
)

Definition at line 69 of file ddns.c.

isc_result_t decline_lease6 ( struct ipv6_pool pool,
struct iasubopt lease 
)

Definition at line 1555 of file mdb6.c.

isc_result_t decline_leases ( struct ia_xx ia  ) 

Definition at line 2142 of file mdb6.c.

ssize_t decode_ethernet_header ( struct interface_info ,
unsigned char *  ,
unsigned  ,
struct hardware  
)
ssize_t decode_hw_header ( struct interface_info ,
unsigned char *  ,
unsigned  ,
struct hardware  
)
ssize_t decode_tr_header ( struct interface_info ,
unsigned char *  ,
unsigned  ,
struct hardware  
)
ssize_t decode_udp_ip_header ( struct interface_info ,
unsigned char *  ,
unsigned  ,
struct sockaddr_in *  ,
unsigned  ,
unsigned *  ,
int   
)
void delayed_ack_enqueue ( struct lease  ) 

Definition at line 3282 of file dhcp.c.

isc_result_t delete_class ( struct class ,
int   
)

Definition at line 436 of file mdb.c.

void delete_fqdn6_option ( struct universe universe,
struct option_state options,
int  code 
)

Definition at line 3302 of file options.c.

isc_result_t delete_group ( struct group_object ,
int   
)

Definition at line 35 of file memory.c.

void delete_hashed_option ( struct universe ,
struct option_state ,
int   
)

Definition at line 2664 of file options.c.

isc_result_t delete_host ( struct host_decl ,
int   
)

Definition at line 468 of file mdb.c.

void delete_linked_option ( struct universe ,
struct option_state ,
int   
)

Definition at line 3693 of file options.c.

void delete_option ( struct universe ,
struct option_state ,
int   
)

Definition at line 2652 of file options.c.

void destroy_client_lease ( struct client_lease  ) 

Definition at line 3166 of file dhclient.c.

void dhc6_lease_destroy ( struct dhc6_lease **  src,
const char *  file,
int  line 
)
int dhclient_interface_discovery_hook ( struct interface_info  ) 

Definition at line 4221 of file dhclient.c.

int dhclient_interface_shutdown_hook ( struct interface_info  ) 

Definition at line 4214 of file dhclient.c.

isc_result_t dhclient_interface_startup_hook ( struct interface_info  ) 

Definition at line 4264 of file dhclient.c.

void dhclient_schedule_updates ( struct client_state client,
struct iaddr addr,
int  offset 
)
void dhcp ( struct packet  ) 

Definition at line 1837 of file dhclient.c.

isc_result_t dhcp_class_create ( omapi_object_t **  ,
omapi_object_t  
)

Definition at line 2188 of file omapi.c.

isc_result_t dhcp_class_destroy ( omapi_object_t ,
const char *  ,
int   
)

Definition at line 1922 of file omapi.c.

isc_result_t dhcp_class_get_value ( omapi_object_t ,
omapi_object_t ,
omapi_data_string_t ,
omapi_value_t **   
)

Definition at line 1897 of file omapi.c.

isc_result_t dhcp_class_lookup ( omapi_object_t **  ,
omapi_object_t ,
omapi_object_t  
)

Definition at line 2182 of file omapi.c.

isc_result_t dhcp_class_remove ( omapi_object_t ,
omapi_object_t  
)

Definition at line 2205 of file omapi.c.

isc_result_t dhcp_class_set_value ( omapi_object_t ,
omapi_object_t ,
omapi_data_string_t ,
omapi_typed_data_t  
)

Definition at line 1886 of file omapi.c.

isc_result_t dhcp_class_signal_handler ( omapi_object_t ,
const char *  ,
va_list   
)

Definition at line 2038 of file omapi.c.

isc_result_t dhcp_class_stuff_values ( omapi_object_t ,
omapi_object_t ,
omapi_object_t  
)

Definition at line 2084 of file omapi.c.

void dhcp_common_objects_setup ( void   ) 
isc_result_t dhcp_control_create ( omapi_object_t **  ,
omapi_object_t  
)

Definition at line 590 of file comapi.c.

isc_result_t dhcp_control_destroy ( omapi_object_t ,
const char *  ,
int   
)

Definition at line 496 of file comapi.c.

isc_result_t dhcp_control_get_value ( omapi_object_t ,
omapi_object_t ,
omapi_data_string_t ,
omapi_value_t **   
)

Definition at line 471 of file comapi.c.

isc_result_t dhcp_control_lookup ( omapi_object_t **  ,
omapi_object_t ,
omapi_object_t  
)

Definition at line 559 of file comapi.c.

isc_result_t dhcp_control_remove ( omapi_object_t ,
omapi_object_t  
)

Definition at line 597 of file comapi.c.

isc_result_t dhcp_control_set_value ( omapi_object_t ,
omapi_object_t ,
omapi_data_string_t ,
omapi_typed_data_t  
)

Definition at line 436 of file comapi.c.

isc_result_t dhcp_control_signal_handler ( omapi_object_t ,
const char *  ,
va_list   
)

Definition at line 506 of file comapi.c.

isc_result_t dhcp_control_stuff_values ( omapi_object_t ,
omapi_object_t ,
omapi_object_t  
)

Definition at line 526 of file comapi.c.

void dhcp_db_objects_setup ( void   ) 

Definition at line 55 of file omapi.c.

void dhcp_failover_ack_queue_remove ( dhcp_failover_state_t ,
struct lease  
)

Definition at line 2901 of file failover.c.

void dhcp_failover_auto_partner_down ( void *  vs  ) 

Definition at line 3113 of file failover.c.

isc_result_t dhcp_failover_generate_update_queue ( dhcp_failover_state_t ,
int   
)

Definition at line 5578 of file failover.c.

void dhcp_failover_keepalive ( void *   ) 

Definition at line 3025 of file failover.c.

isc_result_t dhcp_failover_link_destroy ( omapi_object_t ,
const char *  ,
int   
)

Definition at line 907 of file failover.c.

isc_result_t dhcp_failover_link_get_value ( omapi_object_t ,
omapi_object_t ,
omapi_data_string_t ,
omapi_value_t **   
)

Definition at line 877 of file failover.c.

isc_result_t dhcp_failover_link_initiate ( omapi_object_t  ) 

Definition at line 176 of file failover.c.

isc_result_t dhcp_failover_link_set_value ( omapi_object_t ,
omapi_object_t ,
omapi_data_string_t ,
omapi_typed_data_t  
)

Definition at line 857 of file failover.c.

isc_result_t dhcp_failover_link_signal ( omapi_object_t ,
const char *  ,
va_list   
)

Definition at line 278 of file failover.c.

void dhcp_failover_link_startup_timeout ( void *   ) 

Definition at line 3069 of file failover.c.

isc_result_t dhcp_failover_link_stuff_values ( omapi_object_t ,
omapi_object_t ,
omapi_object_t  
)

Definition at line 928 of file failover.c.

isc_result_t dhcp_failover_listen ( omapi_object_t  ) 

Definition at line 969 of file failover.c.

isc_result_t dhcp_failover_listener_destroy ( omapi_object_t ,
const char *  ,
int   
)

Definition at line 1162 of file failover.c.

isc_result_t dhcp_failover_listener_get_value ( omapi_object_t ,
omapi_object_t ,
omapi_data_string_t ,
omapi_value_t **   
)

Definition at line 1148 of file failover.c.

void dhcp_failover_listener_restart ( void *   ) 

Definition at line 3085 of file failover.c.

isc_result_t dhcp_failover_listener_set_value ( omapi_object_t ,
omapi_object_t ,
omapi_data_string_t ,
omapi_typed_data_t  
)

Definition at line 1134 of file failover.c.

isc_result_t dhcp_failover_listener_signal ( omapi_object_t ,
const char *  ,
va_list   
)

Definition at line 1062 of file failover.c.

isc_result_t dhcp_failover_listener_stuff ( omapi_object_t ,
omapi_object_t ,
omapi_object_t  
)

Definition at line 1179 of file failover.c.

failover_option_t failover_option_t* dhcp_failover_make_option ( unsigned  ,
char *  ,
unsigned *  ,
unsigned  ,
  ... 
)

Definition at line 3904 of file failover.c.

const char* dhcp_failover_message_name ( unsigned   ) 

Definition at line 3727 of file failover.c.

const char* dhcp_failover_option_name ( unsigned   ) 

Definition at line 3777 of file failover.c.

failover_option_t* dhcp_failover_option_printf ( unsigned  ,
char *  ,
unsigned *  ,
unsigned  ,
const char *  ,
  ... 
)
isc_result_t dhcp_failover_peer_state_changed ( dhcp_failover_state_t ,
failover_message_t  
)

Definition at line 1947 of file failover.c.

void dhcp_failover_pool_check ( struct pool  ) 

Definition at line 2603 of file failover.c.

void dhcp_failover_pool_rebalance ( void *   ) 

Definition at line 2362 of file failover.c.

isc_result_t dhcp_failover_process_bind_ack ( dhcp_failover_state_t ,
failover_message_t  
)

Definition at line 5414 of file failover.c.

isc_result_t dhcp_failover_process_bind_update ( dhcp_failover_state_t ,
failover_message_t  
)

Definition at line 5056 of file failover.c.

isc_result_t dhcp_failover_process_update_done ( dhcp_failover_state_t ,
failover_message_t  
)

Definition at line 5691 of file failover.c.

isc_result_t dhcp_failover_process_update_request ( dhcp_failover_state_t ,
failover_message_t  
)

Definition at line 5624 of file failover.c.

isc_result_t dhcp_failover_process_update_request_all ( dhcp_failover_state_t ,
failover_message_t  
)

Definition at line 5659 of file failover.c.

isc_result_t dhcp_failover_put_message ( dhcp_failover_link_t ,
omapi_object_t ,
int  ,
u_int32_t  ,
  ... 
)

Definition at line 4143 of file failover.c.

int dhcp_failover_queue_ack ( dhcp_failover_state_t ,
failover_message_t msg 
)

Definition at line 2861 of file failover.c.

int dhcp_failover_queue_update ( struct lease ,
int   
)

Definition at line 2775 of file failover.c.

void dhcp_failover_reconnect ( void *   ) 

Definition at line 3029 of file failover.c.

void dhcp_failover_recover_done ( void *   ) 

Definition at line 5769 of file failover.c.

isc_result_t dhcp_failover_register ( omapi_object_t  ) 

Definition at line 1194 of file failover.c.

const char* dhcp_failover_reject_reason_print ( int   ) 

Definition at line 3600 of file failover.c.

int dhcp_failover_send_acks ( dhcp_failover_state_t  ) 

Definition at line 2817 of file failover.c.

isc_result_t dhcp_failover_send_bind_ack ( dhcp_failover_state_t ,
failover_message_t ,
int  ,
const char *   
)

Definition at line 4683 of file failover.c.

isc_result_t dhcp_failover_send_bind_update ( dhcp_failover_state_t ,
struct lease  
)

Definition at line 4555 of file failover.c.

isc_result_t dhcp_failover_send_connect ( omapi_object_t  ) 

Definition at line 4379 of file failover.c.

isc_result_t dhcp_failover_send_connectack ( omapi_object_t ,
dhcp_failover_state_t ,
int  ,
const char *   
)

Definition at line 4435 of file failover.c.

void dhcp_failover_send_contact ( void *   ) 

Definition at line 4282 of file failover.c.

isc_result_t dhcp_failover_send_disconnect ( omapi_object_t ,
int  ,
const char *   
)

Definition at line 4506 of file failover.c.

isc_result_t dhcp_failover_send_poolreq ( dhcp_failover_state_t  ) 

Definition at line 4769 of file failover.c.

isc_result_t dhcp_failover_send_poolresp ( dhcp_failover_state_t ,
int   
)

Definition at line 4807 of file failover.c.

isc_result_t dhcp_failover_send_state ( dhcp_failover_state_t  ) 

Definition at line 4327 of file failover.c.

isc_result_t dhcp_failover_send_update_done ( dhcp_failover_state_t  ) 

Definition at line 4940 of file failover.c.

isc_result_t dhcp_failover_send_update_request ( dhcp_failover_state_t  ) 

Definition at line 4848 of file failover.c.

isc_result_t dhcp_failover_send_update_request_all ( dhcp_failover_state_t  ) 

Definition at line 4893 of file failover.c.

isc_result_t dhcp_failover_send_updates ( dhcp_failover_state_t  ) 

Definition at line 2708 of file failover.c.

isc_result_t dhcp_failover_set_service_state ( dhcp_failover_state_t state  ) 

Definition at line 1608 of file failover.c.

isc_result_t dhcp_failover_set_state ( dhcp_failover_state_t ,
enum  failover_state 
)

Definition at line 1699 of file failover.c.

void dhcp_failover_startup ( void   ) 

Definition at line 55 of file failover.c.

void dhcp_failover_startup_timeout ( void *   ) 

Definition at line 3058 of file failover.c.

isc_result_t dhcp_failover_state_create ( omapi_object_t **  ,
omapi_object_t  
)

Definition at line 3550 of file failover.c.

isc_result_t dhcp_failover_state_destroy ( omapi_object_t ,
const char *  ,
int   
)

Definition at line 3223 of file failover.c.

isc_result_t dhcp_failover_state_get_value ( omapi_object_t ,
omapi_object_t ,
omapi_data_string_t ,
omapi_value_t **   
)

Definition at line 3124 of file failover.c.

isc_result_t dhcp_failover_state_lookup ( omapi_object_t **  ,
omapi_object_t ,
omapi_object_t  
)

Definition at line 3489 of file failover.c.

int dhcp_failover_state_match ( dhcp_failover_state_t ,
u_int8_t *  ,
unsigned   
)

Definition at line 3562 of file failover.c.

int dhcp_failover_state_match_by_name ( dhcp_failover_state_t ,
failover_option_t  
)

Definition at line 3589 of file failover.c.

const char* dhcp_failover_state_name_print ( enum  failover_state  ) 

Definition at line 3682 of file failover.c.

int dhcp_failover_state_pool_check ( dhcp_failover_state_t  ) 

Definition at line 2693 of file failover.c.

isc_result_t dhcp_failover_state_remove ( omapi_object_t ,
omapi_object_t  
)

Definition at line 3556 of file failover.c.

isc_result_t dhcp_failover_state_set_value ( omapi_object_t ,
omapi_object_t ,
omapi_data_string_t ,
omapi_typed_data_t  
)

Definition at line 2961 of file failover.c.

isc_result_t dhcp_failover_state_signal ( omapi_object_t ,
const char *  ,
va_list   
)

Definition at line 1238 of file failover.c.

isc_result_t dhcp_failover_state_stuff ( omapi_object_t ,
omapi_object_t ,
omapi_object_t  
)

Definition at line 3268 of file failover.c.

isc_result_t dhcp_failover_state_transition ( dhcp_failover_state_t ,
const char *   
)

Definition at line 1491 of file failover.c.

void dhcp_failover_timeout ( void *   ) 

Definition at line 4258 of file failover.c.

void dhcp_failover_toack_queue_timeout ( void *   ) 

Definition at line 2847 of file failover.c.

int dhcp_failover_write_all_states ( void   ) 

Definition at line 110 of file failover.c.

isc_result_t dhcp_group_create ( omapi_object_t **  ,
omapi_object_t  
)

Definition at line 400 of file comapi.c.

isc_result_t dhcp_group_destroy ( omapi_object_t ,
const char *  ,
int   
)

Definition at line 228 of file comapi.c.

isc_result_t dhcp_group_get_value ( omapi_object_t ,
omapi_object_t ,
omapi_data_string_t ,
omapi_value_t **   
)

Definition at line 203 of file comapi.c.

isc_result_t dhcp_group_lookup ( omapi_object_t **  ,
omapi_object_t ,
omapi_object_t  
)

Definition at line 335 of file comapi.c.

isc_result_t dhcp_group_remove ( omapi_object_t ,
omapi_object_t  
)

Definition at line 416 of file comapi.c.

isc_result_t dhcp_group_set_value ( omapi_object_t ,
omapi_object_t ,
omapi_data_string_t ,
omapi_typed_data_t  
)

Definition at line 129 of file comapi.c.

isc_result_t dhcp_group_signal_handler ( omapi_object_t ,
const char *  ,
va_list   
)

Definition at line 258 of file comapi.c.

isc_result_t dhcp_group_stuff_values ( omapi_object_t ,
omapi_object_t ,
omapi_object_t  
)

Definition at line 303 of file comapi.c.

isc_result_t dhcp_host_create ( omapi_object_t **  ,
omapi_object_t  
)

Definition at line 1500 of file omapi.c.

isc_result_t dhcp_host_destroy ( omapi_object_t ,
const char *  ,
int   
)

Definition at line 1124 of file omapi.c.

isc_result_t dhcp_host_get_value ( omapi_object_t ,
omapi_object_t ,
omapi_data_string_t ,
omapi_value_t **   
)

Definition at line 1055 of file omapi.c.

isc_result_t dhcp_host_lookup ( omapi_object_t **  ,
omapi_object_t ,
omapi_object_t  
)

Definition at line 1293 of file omapi.c.

isc_result_t dhcp_host_remove ( omapi_object_t ,
omapi_object_t  
)

Definition at line 1516 of file omapi.c.

isc_result_t dhcp_host_set_value ( omapi_object_t ,
omapi_object_t ,
omapi_data_string_t ,
omapi_typed_data_t  
)

Definition at line 860 of file omapi.c.

isc_result_t dhcp_host_signal_handler ( omapi_object_t ,
const char *  ,
va_list   
)

Definition at line 1152 of file omapi.c.

isc_result_t dhcp_host_stuff_values ( omapi_object_t ,
omapi_object_t ,
omapi_object_t  
)

Definition at line 1200 of file omapi.c.

isc_result_t dhcp_interface_create ( omapi_object_t **  ,
omapi_object_t  
)

Definition at line 1366 of file discover.c.

isc_result_t dhcp_interface_destroy ( omapi_object_t ,
const char *  ,
int   
)

Definition at line 1183 of file discover.c.

isc_result_t dhcp_interface_get_value ( omapi_object_t ,
omapi_object_t ,
omapi_data_string_t ,
omapi_value_t **   
)

Definition at line 1175 of file discover.c.

isc_result_t dhcp_interface_lookup ( omapi_object_t **  ,
omapi_object_t ,
omapi_object_t  
)

Definition at line 1282 of file discover.c.

isc_result_t dhcp_interface_remove ( omapi_object_t ,
omapi_object_t  
)

Definition at line 1382 of file discover.c.

isc_result_t dhcp_interface_set_value ( omapi_object_t ,
omapi_object_t ,
omapi_data_string_t ,
omapi_typed_data_t  
)

Definition at line 1138 of file discover.c.

isc_result_t dhcp_interface_signal_handler ( omapi_object_t ,
const char *  ,
va_list  ap 
)

Definition at line 1212 of file discover.c.

isc_result_t dhcp_interface_stuff_values ( omapi_object_t ,
omapi_object_t ,
omapi_object_t  
)

Definition at line 1248 of file discover.c.

isc_result_t dhcp_io_shutdown ( omapi_object_t ,
void *   
)

Definition at line 1259 of file dhcpd.c.

isc_result_t dhcp_lease_create ( omapi_object_t **  ,
omapi_object_t  
)

Definition at line 848 of file omapi.c.

isc_result_t dhcp_lease_destroy ( omapi_object_t ,
const char *  ,
int   
)

Definition at line 401 of file omapi.c.

isc_result_t dhcp_lease_free ( omapi_object_t ,
const char *  ,
int   
)

Definition at line 106 of file salloc.c.

isc_result_t dhcp_lease_get ( omapi_object_t **  ,
const char *  ,
int   
)

Definition at line 119 of file salloc.c.

isc_result_t dhcp_lease_get_value ( omapi_object_t ,
omapi_object_t ,
omapi_data_string_t ,
omapi_value_t **   
)

Definition at line 325 of file omapi.c.

isc_result_t dhcp_lease_lookup ( omapi_object_t **  ,
omapi_object_t ,
omapi_object_t  
)

Definition at line 682 of file omapi.c.

isc_result_t dhcp_lease_remove ( omapi_object_t ,
omapi_object_t  
)

Definition at line 854 of file omapi.c.

isc_result_t dhcp_lease_set_value ( omapi_object_t ,
omapi_object_t ,
omapi_data_string_t ,
omapi_typed_data_t  
)

Definition at line 198 of file omapi.c.

isc_result_t dhcp_lease_signal_handler ( omapi_object_t ,
const char *  ,
va_list   
)

Definition at line 475 of file omapi.c.

isc_result_t dhcp_lease_stuff_values ( omapi_object_t ,
omapi_object_t ,
omapi_object_t  
)

Definition at line 497 of file omapi.c.

int dhcp_option_ev_name ( char *  ,
size_t  ,
struct option  
)

Definition at line 4007 of file dhclient.c.

isc_result_t dhcp_pool_create ( omapi_object_t **  ,
omapi_object_t  
)

Definition at line 1708 of file omapi.c.

isc_result_t dhcp_pool_destroy ( omapi_object_t ,
const char *  ,
int   
)

Definition at line 1578 of file omapi.c.

isc_result_t dhcp_pool_get_value ( omapi_object_t ,
omapi_object_t ,
omapi_data_string_t ,
omapi_value_t **   
)

Definition at line 1556 of file omapi.c.

isc_result_t dhcp_pool_lookup ( omapi_object_t **  ,
omapi_object_t ,
omapi_object_t  
)

Definition at line 1696 of file omapi.c.

isc_result_t dhcp_pool_remove ( omapi_object_t ,
omapi_object_t  
)

Definition at line 1714 of file omapi.c.

isc_result_t dhcp_pool_set_value ( omapi_object_t ,
omapi_object_t ,
omapi_data_string_t ,
omapi_typed_data_t  
)

Definition at line 1531 of file omapi.c.

isc_result_t dhcp_pool_signal_handler ( omapi_object_t ,
const char *  ,
va_list   
)

Definition at line 1628 of file omapi.c.

isc_result_t dhcp_pool_stuff_values ( omapi_object_t ,
omapi_object_t ,
omapi_object_t  
)

Definition at line 1650 of file omapi.c.

void dhcp_reply ( struct lease  ) 

Definition at line 3404 of file dhcp.c.

isc_result_t dhcp_set_control_state ( control_object_state_t  oldstate,
control_object_state_t  newstate 
)

Definition at line 4410 of file dhclient.c.

isc_result_t dhcp_shared_network_create ( omapi_object_t **  ,
omapi_object_t  
)

Definition at line 910 of file comapi.c.

isc_result_t dhcp_shared_network_destroy ( omapi_object_t ,
const char *  ,
int   
)

Definition at line 805 of file comapi.c.

isc_result_t dhcp_shared_network_get_value ( omapi_object_t ,
omapi_object_t ,
omapi_data_string_t ,
omapi_value_t **   
)

Definition at line 781 of file comapi.c.

isc_result_t dhcp_shared_network_lookup ( omapi_object_t **  ,
omapi_object_t ,
omapi_object_t  
)

Definition at line 897 of file comapi.c.

isc_result_t dhcp_shared_network_remove ( omapi_object_t ,
omapi_object_t  
)

Definition at line 916 of file comapi.c.

isc_result_t dhcp_shared_network_set_value ( omapi_object_t ,
omapi_object_t ,
omapi_data_string_t ,
omapi_typed_data_t  
)

Definition at line 755 of file comapi.c.

isc_result_t dhcp_shared_network_signal_handler ( omapi_object_t ,
const char *  ,
va_list   
)

Definition at line 849 of file comapi.c.

isc_result_t dhcp_shared_network_stuff_values ( omapi_object_t ,
omapi_object_t ,
omapi_object_t  
)

Definition at line 873 of file comapi.c.

isc_result_t dhcp_subclass_create ( omapi_object_t **  ,
omapi_object_t  
)

Definition at line 2294 of file omapi.c.

isc_result_t dhcp_subclass_destroy ( omapi_object_t ,
const char *  ,
int   
)
isc_result_t dhcp_subclass_get_value ( omapi_object_t ,
omapi_object_t ,
omapi_data_string_t ,
omapi_value_t **   
)

Definition at line 2233 of file omapi.c.

isc_result_t dhcp_subclass_lookup ( omapi_object_t **  ,
omapi_object_t ,
omapi_object_t  
)

Definition at line 2285 of file omapi.c.

isc_result_t dhcp_subclass_remove ( omapi_object_t ,
omapi_object_t  
)

Definition at line 2312 of file omapi.c.

isc_result_t dhcp_subclass_set_value ( omapi_object_t ,
omapi_object_t ,
omapi_data_string_t ,
omapi_typed_data_t  
)

Definition at line 2221 of file omapi.c.

isc_result_t dhcp_subclass_signal_handler ( omapi_object_t ,
const char *  ,
va_list   
)

Definition at line 2258 of file omapi.c.

isc_result_t dhcp_subclass_stuff_values ( omapi_object_t ,
omapi_object_t ,
omapi_object_t  
)

Definition at line 2268 of file omapi.c.

isc_result_t dhcp_subnet_create ( omapi_object_t **  ,
omapi_object_t  
)

Definition at line 743 of file comapi.c.

isc_result_t dhcp_subnet_destroy ( omapi_object_t ,
const char *  ,
int   
)

Definition at line 654 of file comapi.c.

isc_result_t dhcp_subnet_get_value ( omapi_object_t ,
omapi_object_t ,
omapi_data_string_t ,
omapi_value_t **   
)

Definition at line 631 of file comapi.c.

isc_result_t dhcp_subnet_lookup ( omapi_object_t **  ,
omapi_object_t ,
omapi_object_t  
)

Definition at line 730 of file comapi.c.

isc_result_t dhcp_subnet_remove ( omapi_object_t ,
omapi_object_t  
)

Definition at line 749 of file comapi.c.

isc_result_t dhcp_subnet_set_value ( omapi_object_t ,
omapi_object_t ,
omapi_data_string_t ,
omapi_typed_data_t  
)

Definition at line 605 of file comapi.c.

isc_result_t dhcp_subnet_signal_handler ( omapi_object_t ,
const char *  ,
va_list   
)

Definition at line 683 of file comapi.c.

isc_result_t dhcp_subnet_stuff_values ( omapi_object_t ,
omapi_object_t ,
omapi_object_t  
)

Definition at line 706 of file comapi.c.

void dhcpack ( struct packet  ) 

Definition at line 1469 of file dhclient.c.

int dhcpd_interface_setup_hook ( struct interface_info ip,
struct iaddr ia 
)

Definition at line 1199 of file dhcpd.c.

void dhcpdecline ( struct packet ,
int   
)

Definition at line 879 of file dhcp.c.

void dhcpdiscover ( struct packet ,
int   
)

Definition at line 293 of file dhcp.c.

void dhcpinform ( struct packet ,
int   
)

Definition at line 1006 of file dhcp.c.

void dhcpleasequery ( struct packet ,
int   
)

Definition at line 129 of file dhcpleasequery.c.

void dhcpnak ( struct packet  ) 

Definition at line 2197 of file dhclient.c.

void dhcpoffer ( struct packet  ) 

Definition at line 1943 of file dhclient.c.

void dhcprelease ( struct packet ,
int   
)

Definition at line 743 of file dhcp.c.

void dhcprequest ( struct packet ,
int  ,
struct lease  
)

Definition at line 434 of file dhcp.c.

void dhcpv4_client_assignments ( void   ) 

Definition at line 4803 of file dhclient.c.

void dhcpv6 ( struct packet  ) 

Definition at line 1687 of file dhcrelay.c.

void dhcpv6_client_assignments ( void   ) 
void dhcpv6_leasequery ( struct data_string ,
struct packet  
)

Definition at line 1054 of file dhcpleasequery.c.

void discover_interfaces ( int   ) 

Definition at line 552 of file discover.c.

void dispatch ( void   ) 

Definition at line 109 of file dispatch.c.

int dns_host_entry_allocate ( struct dns_host_entry **  ,
const char *  ,
const char *  ,
int   
)

Definition at line 769 of file alloc.c.

int dns_host_entry_dereference ( struct dns_host_entry **  ,
const char *  ,
int   
)

Definition at line 814 of file alloc.c.

int dns_host_entry_reference ( struct dns_host_entry **  ,
struct dns_host_entry ,
const char *  ,
int   
)

Definition at line 786 of file alloc.c.

int dns_zone_allocate ( struct dns_zone **  ,
const char *  ,
int   
)

Definition at line 1135 of file alloc.c.

int dns_zone_dereference ( struct dns_zone **  ,
const char *  ,
int   
)

Definition at line 736 of file dns.c.

isc_result_t dns_zone_lookup ( struct dns_zone **  ,
const char *   
)

Definition at line 703 of file dns.c.

int dns_zone_reference ( struct dns_zone **  ,
struct dns_zone ,
const char *  ,
int   
)

Definition at line 1167 of file alloc.c.

void do_packet ( struct interface_info ,
struct dhcp_packet ,
unsigned  ,
unsigned  int,
struct iaddr  ,
struct hardware  
)

Definition at line 3789 of file options.c.

void do_packet6 ( struct interface_info ,
const char *  ,
int  ,
int  ,
const struct iaddr ,
isc_boolean_t   
)
void do_release ( struct client_state  ) 

Definition at line 4150 of file dhclient.c.

void dump_packet ( struct packet  ) 
void dump_packet_option ( struct option_cache ,
struct packet ,
struct lease ,
struct client_state ,
struct option_state ,
struct option_state ,
struct binding_scope **  ,
struct universe ,
void *   
)
void dump_raw ( const unsigned char *  ,
unsigned   
)
void dump_subnets ( void   ) 

Definition at line 2738 of file mdb.c.

isc_result_t end_parse ( struct parse **   ) 

Definition at line 103 of file conflex.c.

isc_result_t enter_class ( struct class ,
int  ,
int   
)

Definition at line 73 of file mdb.c.

int enter_dns_host ( struct dns_host_entry **  ,
const char *   
)

Definition at line 205 of file tree.c.

isc_result_t enter_dns_zone ( struct dns_zone  ) 

Definition at line 678 of file dns.c.

isc_result_t enter_failover_peer ( dhcp_failover_state_t  ) 

Definition at line 121 of file failover.c.

isc_result_t enter_host ( struct host_decl ,
int  ,
int   
)

Definition at line 221 of file mdb.c.

void enter_lease ( struct lease  ) 

Definition at line 1051 of file mdb.c.

void enter_shared_network ( struct shared_network  ) 

Definition at line 994 of file mdb.c.

void enter_subnet ( struct subnet  ) 

Definition at line 947 of file mdb.c.

int evaluate_boolean_expression ( int ,
struct packet ,
struct lease ,
struct client_state ,
struct option_state ,
struct option_state ,
struct binding_scope **  ,
struct expression  
)

Definition at line 695 of file tree.c.

int evaluate_boolean_expression_result ( int ,
struct packet ,
struct lease ,
struct client_state ,
struct option_state ,
struct option_state ,
struct binding_scope **  ,
struct expression  
)

Definition at line 2718 of file tree.c.

int evaluate_boolean_option_cache ( int ,
struct packet ,
struct lease ,
struct client_state ,
struct option_state ,
struct option_state ,
struct binding_scope **  ,
struct option_cache ,
const char *  ,
int   
)

Definition at line 2670 of file tree.c.

int evaluate_data_expression ( struct data_string ,
struct packet ,
struct lease ,
struct client_state ,
struct option_state ,
struct option_state ,
struct binding_scope **  ,
struct expression ,
const char *  ,
int   
)

Definition at line 1114 of file tree.c.

int evaluate_expression ( struct binding_value **  ,
struct packet ,
struct lease ,
struct client_state ,
struct option_state ,
struct option_state ,
struct binding_scope **  ,
struct expression ,
const char *  ,
int   
)

Definition at line 501 of file tree.c.

int evaluate_numeric_expression ( unsigned long *  ,
struct packet ,
struct lease ,
struct client_state ,
struct option_state ,
struct option_state ,
struct binding_scope **  ,
struct expression  
)

Definition at line 2173 of file tree.c.

int evaluate_option_cache ( struct data_string ,
struct packet ,
struct lease ,
struct client_state ,
struct option_state ,
struct option_state ,
struct binding_scope **  ,
struct option_cache ,
const char *  ,
int   
)

Definition at line 2643 of file tree.c.

int executable_statement_allocate ( struct executable_statement **  ,
const char *  ,
int   
)

Definition at line 959 of file alloc.c.

int executable_statement_dereference ( struct executable_statement **  ,
const char *  ,
int   
)

Definition at line 615 of file execute.c.

int executable_statement_foreach ( struct executable_statement ,
int(*)(struct executable_statement *, void *, int ,
void *  ,
int   
)
int executable_statement_reference ( struct executable_statement **  ,
struct executable_statement ,
const char *  ,
int   
)

Definition at line 973 of file alloc.c.

int execute_statements ( struct binding_value **  result,
struct packet ,
struct lease ,
struct client_state ,
struct option_state ,
struct option_state ,
struct binding_scope **  ,
struct executable_statement ,
struct on_star  
)

Definition at line 35 of file execute.c.

void execute_statements_in_scope ( struct binding_value **  result,
struct packet ,
struct lease ,
struct client_state ,
struct option_state ,
struct option_state ,
struct binding_scope **  ,
struct group ,
struct group ,
struct on_star  
)

Definition at line 555 of file execute.c.

void expire_all_pools ( void   ) 

Definition at line 2666 of file mdb.c.

isc_result_t expire_lease6 ( struct iasubopt **  leasep,
struct ipv6_pool pool,
time_t  now 
)

Definition at line 1521 of file mdb6.c.

int expr_valid_for_context ( struct expression ,
enum  expression_context 
)
int expression_allocate ( struct expression **  ,
const char *  ,
int   
)

Definition at line 427 of file alloc.c.

Definition at line 3143 of file tree.c.

void expression_dereference ( struct expression **  ,
const char *  ,
int   
)

Definition at line 2751 of file tree.c.

int expression_reference ( struct expression **  ,
struct expression ,
const char *  ,
int   
)

Definition at line 447 of file alloc.c.

void failover_print ( char *  ,
unsigned *  ,
unsigned  ,
const char *   
)
struct binding* find_binding ( struct binding_scope ,
const char *   
) [read]

Definition at line 3691 of file tree.c.

int find_bound_string ( struct data_string ,
struct binding_scope ,
const char *   
)

Definition at line 4039 of file tree.c.

isc_result_t find_class ( struct class **  ,
const char *  ,
const char *  ,
int   
)

Definition at line 1220 of file dhclient.c.

struct enumeration* find_enumeration ( const char *  ,
int   
) [read]

Definition at line 43 of file parse.c.

struct enumeration_value* find_enumeration_value ( const char *  ,
int  ,
unsigned *  ,
const char *   
) [read]

Definition at line 54 of file parse.c.

isc_result_t find_failover_peer ( dhcp_failover_state_t **  ,
const char *  ,
const char *  ,
int   
)

Definition at line 144 of file failover.c.

int find_grouped_subnet ( struct subnet **  ,
struct shared_network ,
struct iaddr  ,
const char *  ,
int   
)

Definition at line 900 of file mdb.c.

int find_host_for_network ( struct subnet **  ,
struct host_decl **  ,
struct iaddr ,
struct shared_network  
)

Definition at line 709 of file mdb.c.

int find_hosts_by_haddr ( struct host_decl **  ,
int  ,
const unsigned char *  ,
unsigned  ,
const char *  ,
int   
)

Definition at line 610 of file mdb.c.

int find_hosts_by_option ( struct host_decl **  ,
struct packet ,
struct option_state ,
const char *  ,
int   
)

Definition at line 638 of file mdb.c.

int find_hosts_by_uid ( struct host_decl **  ,
const unsigned char *  ,
unsigned  ,
const char *  ,
int   
)

Definition at line 630 of file mdb.c.

isc_result_t find_ipv6_pool ( struct ipv6_pool **  pool,
u_int16_t  type,
const struct in6_addr *  addr 
)

Definition at line 2065 of file mdb6.c.

int find_lease ( struct lease **  ,
struct packet ,
struct shared_network ,
int ,
int ,
struct lease ,
const char *  ,
int   
)

Definition at line 3649 of file dhcp.c.

int find_lease_by_hw_addr ( struct lease **  ,
const unsigned char *  ,
unsigned  ,
const char *  ,
int   
)

Definition at line 2006 of file mdb.c.

int find_lease_by_ip_addr ( struct lease **  ,
struct iaddr  ,
const char *  ,
int   
)

Definition at line 1991 of file mdb.c.

int find_lease_by_uid ( struct lease **  ,
const unsigned char *  ,
unsigned  ,
const char *  ,
int   
)

Definition at line 1998 of file mdb.c.

int find_matching_case ( struct executable_statement **  ,
struct packet ,
struct lease ,
struct client_state ,
struct option_state ,
struct option_state ,
struct binding_scope **  ,
struct expression ,
struct executable_statement  
)

Definition at line 1015 of file execute.c.

struct universe* find_option_universe ( struct option ,
const char *   
) [read]

Definition at line 277 of file options.c.

int find_subnet ( struct subnet **  ,
struct iaddr  ,
const char *  ,
int   
)

Definition at line 1247 of file dhclient.c.

struct name_server* first_name_server ( void   )  [read]

Definition at line 170 of file resolv.c.

void flush_ackqueue ( void *   ) 

Definition at line 3364 of file dhcp.c.

isc_result_t form_duid ( struct data_string duid,
const char *  file,
int  line 
)

Definition at line 3313 of file dhclient.c.

int format_has_text ( const char *   ) 
int format_min_length ( const char *  ,
struct option_cache  
)
int fqdn6_option_space_encapsulate ( struct data_string result,
struct packet packet,
struct lease lease,
struct client_state client_state,
struct option_state in_options,
struct option_state cfg_options,
struct binding_scope **  scope,
struct universe universe 
)

Definition at line 3338 of file options.c.

void fqdn6_option_space_foreach ( struct packet packet,
struct lease lease,
struct client_state client_state,
struct option_state in_options,
struct option_state cfg_options,
struct binding_scope **  scope,
struct universe u,
void *  stuff,
void(*)(struct option_cache *, struct packet *, struct lease *, struct client_state *, struct option_state *, struct option_state *, struct binding_scope **, struct universe *, void *)  func 
)

Definition at line 3316 of file options.c.

int fqdn6_universe_decode ( struct option_state options,
const unsigned char *  buffer,
unsigned  length,
struct universe u 
)

Definition at line 3438 of file options.c.

int fqdn_option_space_encapsulate ( struct data_string ,
struct packet ,
struct lease ,
struct client_state ,
struct option_state ,
struct option_state ,
struct binding_scope **  ,
struct universe  
)

Definition at line 3163 of file options.c.

int fqdn_universe_decode ( struct option_state ,
const unsigned char *  ,
unsigned  ,
struct universe  
)

Definition at line 351 of file options.c.

void free_binding_value ( struct binding_value ,
const char *  ,
int   
)

Definition at line 549 of file alloc.c.

int free_bindings ( struct binding_scope ,
const char *  ,
int   
)

Definition at line 3706 of file tree.c.

void free_client_lease ( struct client_lease ,
const char *  ,
int   
)

Definition at line 370 of file alloc.c.

void free_dhcp_packet ( struct dhcp_packet ,
const char *  ,
int   
)

Definition at line 354 of file alloc.c.

void free_domain_search_list ( struct domain_search_list ,
const char *  ,
int   
)

Definition at line 338 of file alloc.c.

void free_expression ( struct expression ,
const char *  ,
int   
)

Definition at line 475 of file alloc.c.

isc_result_t free_iaddrcidrnetlist ( struct iaddrcidrnetlist **  result  ) 

Definition at line 505 of file inet.c.

void free_lease_state ( struct lease_state ,
const char *  ,
int   
)

Definition at line 196 of file salloc.c.

void free_name_server ( struct name_server ,
const char *  ,
int   
)

Definition at line 293 of file alloc.c.

void free_pair ( pair  ,
const char *  ,
int   
)

Definition at line 401 of file alloc.c.

void free_permit ( struct permit ,
const char *  ,
int   
)

Definition at line 243 of file salloc.c.

void free_protocol ( struct protocol ,
const char *  ,
int   
)

Definition at line 346 of file alloc.c.

void free_universe ( struct universe ,
const char *  ,
int   
)

Definition at line 330 of file alloc.c.

int fundef_allocate ( struct fundef **  ,
const char *  ,
int   
)

Definition at line 573 of file alloc.c.

int fundef_dereference ( struct fundef **  ,
const char *  ,
int   
)

Definition at line 3765 of file tree.c.

int fundef_reference ( struct fundef **  ,
struct fundef ,
const char *  ,
int   
)

Definition at line 587 of file alloc.c.

isc_result_t generate_new_server_duid ( void   ) 

Definition at line 289 of file dhcpv6.c.

isc_result_t get_client_id ( struct packet ,
struct data_string  
)

Definition at line 405 of file dhcpv6.c.

void get_hw_addr ( struct interface_info info  ) 
int get_option ( struct data_string ,
struct universe ,
struct packet ,
struct lease ,
struct client_state ,
struct option_state ,
struct option_state ,
struct option_state ,
struct binding_scope **  ,
unsigned  ,
const char *  ,
int   
)

Definition at line 2144 of file options.c.

void get_server_source_address ( struct in_addr *  from,
struct option_state options,
struct option_state out_options,
struct packet packet 
)

Definition at line 4784 of file dhcp.c.

void go_daemon ( void   ) 

Definition at line 4047 of file dhclient.c.

isc_result_t got_one ( omapi_object_t  ) 

Definition at line 1006 of file discover.c.

isc_result_t got_one_v6 ( omapi_object_t  ) 
int group_allocate ( struct group **  ,
const char *  ,
int   
)

Definition at line 146 of file alloc.c.

int group_dereference ( struct group **  ,
const char *  ,
int   
)

Definition at line 206 of file alloc.c.

int group_reference ( struct group **  ,
struct group ,
const char *  ,
int   
)

Definition at line 178 of file alloc.c.

int group_writer ( struct group_object  ) 

Definition at line 1237 of file db.c.

void hash_dump ( struct hash_table  ) 

Definition at line 333 of file print.c.

HASH_FUNCTIONS_DECL ( iasubopt  ,
struct in6_addr *  ,
struct iasubopt  ,
iasubopt_hash_t   
)
option_code_hash_t HASH_FUNCTIONS_DECL ( lease_ip  ,
const unsigned char *  ,
struct lease  ,
lease_ip_hash_t   
)
HASH_FUNCTIONS_DECL ( option_name  ,
const char *  ,
struct option  ,
option_name_hash_t   
)
int hashed_option_space_encapsulate ( struct data_string ,
struct packet ,
struct lease ,
struct client_state ,
struct option_state ,
struct option_state ,
struct binding_scope **  ,
struct universe  
)

Definition at line 2995 of file options.c.

void hashed_option_space_foreach ( struct packet ,
struct lease ,
struct client_state ,
struct option_state ,
struct option_state ,
struct binding_scope **  ,
struct universe ,
void *  ,
void(*)(struct option_cache *, struct packet *, struct lease *, struct client_state *, struct option_state *, struct option_state *, struct binding_scope **, struct universe *, void *)   
)

Definition at line 3576 of file options.c.

int hashed_option_state_dereference ( struct universe ,
struct option_state ,
const char *  ,
int   
)

Definition at line 2749 of file options.c.

u_int32_t host_addr ( struct iaddr  ,
struct iaddr   
)

Definition at line 140 of file inet.c.

void hw_hash_add ( struct lease  ) 

Definition at line 2190 of file mdb.c.

void hw_hash_delete ( struct lease  ) 

Definition at line 2270 of file mdb.c.

isc_result_t ia_add_iasubopt ( struct ia_xx ia,
struct iasubopt iasubopt,
const char *  file,
int  line 
)

Definition at line 438 of file mdb6.c.

isc_result_t ia_allocate ( struct ia_xx **  ia,
u_int32_t  iaid,
const char *  duid,
unsigned int  duid_len,
const char *  file,
int  line 
)

Definition at line 338 of file mdb6.c.

isc_result_t ia_dereference ( struct ia_xx **  ia,
const char *  file,
int  line 
)

Definition at line 402 of file mdb6.c.

isc_boolean_t ia_equal ( const struct ia_xx a,
const struct ia_xx b 
)

Definition at line 517 of file mdb6.c.

isc_result_t ia_make_key ( struct data_string key,
u_int32_t  iaid,
const char *  duid,
unsigned int  duid_len,
const char *  file,
int  line 
)

Definition at line 310 of file mdb6.c.

isc_result_t ia_reference ( struct ia_xx **  ia,
struct ia_xx src,
const char *  file,
int  line 
)

Definition at line 376 of file mdb6.c.

void ia_remove_all_lease ( struct ia_xx ia,
const char *  file,
int  line 
)

Definition at line 503 of file mdb6.c.

void ia_remove_iasubopt ( struct ia_xx ia,
struct iasubopt iasubopt,
const char *  file,
int  line 
)

Definition at line 475 of file mdb6.c.

isc_result_t iasubopt_dereference ( struct iasubopt **  iasubopt,
const char *  file,
int  line 
)

Definition at line 260 of file mdb6.c.

isc_result_t iasubopt_reference ( struct iasubopt **  iasubopt,
struct iasubopt src,
const char *  file,
int  line 
)

Definition at line 233 of file mdb6.c.

isc_result_t icmp_echoreply ( omapi_object_t  ) 

Definition at line 205 of file icmp.c.

int icmp_echorequest ( struct iaddr  ) 

Definition at line 129 of file icmp.c.

int icmp_readsocket ( omapi_object_t  ) 

Definition at line 120 of file icmp.c.

void icmp_startup ( int  ,
void(*)(struct iaddr, u_int8_t *, int  
)
void if_deregister6 ( struct interface_info info  ) 
int if_readsocket ( omapi_object_t  ) 

Definition at line 961 of file discover.c.

void if_register6 ( struct interface_info info,
int  do_multicast 
)
void if_register_linklocal6 ( struct interface_info info  ) 
void indent ( int   ) 
void indent_spaces ( FILE *  ,
int   
)

Definition at line 1277 of file print.c.

void initialize_common_option_spaces ( void   ) 

Definition at line 1003 of file tables.c.

void initialize_server_option_spaces ( void   ) 

Definition at line 411 of file stables.c.

isc_result_t interface_destroy ( omapi_object_t ,
const char *  ,
int   
)
isc_result_t interface_get_value ( omapi_object_t ,
omapi_object_t ,
omapi_data_string_t ,
omapi_value_t **   
)
isc_result_t interface_initialize ( omapi_object_t ,
const char *  ,
int   
)

Definition at line 118 of file discover.c.

int interface_or_dummy ( struct interface_info **  ,
const char *   
)

Definition at line 963 of file clparse.c.

isc_result_t interface_set_value ( omapi_object_t ,
omapi_object_t ,
omapi_data_string_t ,
omapi_typed_data_t  
)
isc_result_t interface_setup ( void   ) 

Definition at line 80 of file discover.c.

isc_result_t interface_signal_handler ( omapi_object_t ,
const char *  ,
va_list   
)
void interface_snorf ( struct interface_info ,
int   
)

Definition at line 1482 of file discover.c.

void interface_stash ( struct interface_info  ) 

Definition at line 1444 of file discover.c.

isc_result_t interface_stuff_values ( omapi_object_t ,
omapi_object_t ,
omapi_object_t  
)
void interface_trace_setup ( void   ) 
struct iaddr ip_addr ( struct iaddr  ,
struct iaddr  ,
u_int32_t   
) [read]

Definition at line 65 of file inet.c.

isc_boolean_t ipv6_in_pool ( const struct in6_addr *  addr,
const struct ipv6_pool pool 
)

Definition at line 2047 of file mdb6.c.

isc_result_t ipv6_pond_allocate ( struct ipv6_pond **  pond,
const char *  file,
int  line 
)

Create a new IPv6 pond structure.

Allocate space for a new ipv6_pond structure and return a reference to it, includes setting the reference count to 1.

Parameters:
pond = space for returning a referenced pointer to the pond. This must point to a space that has been initialzied to NULL by the caller.
Returns:
ISC_R_SUCCESS = The pond was successfully created, pond points to it. DHCP_R_INVALIDARG = One of the arugments was invalid, pond has not been modified ISC_R_NOMEMORY = The system wasn't able to allocate memory, pond has not been modified.

Definition at line 2344 of file mdb6.c.

isc_result_t ipv6_pond_dereference ( struct ipv6_pond **  pond,
const char *  file,
int  line 
)

de-reference an IPv6 pond structure.

This function decrements the reference count in an ipv6_pond structure. If this was the last reference then the memory for the structure is freed.

Parameters:
[in] pond = A pointer to the pointer to the pond that should be de-referenced. On success the pointer to the pond is cleared. It must not be NULL and must not point to NULL.
Returns:
ISC_R_SUCCESS = The pond was successfully de-referenced, pond now points to NULL DHCP_R_INVALIDARG = One of the arugments was invalid, pond has not been modified.

Definition at line 2427 of file mdb6.c.

isc_result_t ipv6_pond_reference ( struct ipv6_pond **  pond,
struct ipv6_pond src,
const char *  file,
int  line 
)

reference an IPv6 pond structure.

This function genreates a reference to an ipv6_pond structure and increments the reference count on the structure.

Parameters:
[out] pond = space for returning a referenced pointer to the pond. This must point to a space that has been initialzied to NULL by the caller.
[in] src = A pointer to the pond to reference. This must not be NULL.
Returns:
ISC_R_SUCCESS = The pond was successfully referenced, pond now points to src. DHCP_R_INVALIDARG = One of the arugments was invalid, pond has not been modified.

Definition at line 2387 of file mdb6.c.

isc_result_t ipv6_pool_allocate ( struct ipv6_pool **  pool,
u_int16_t  type,
const struct in6_addr *  start_addr,
int  bits,
int  units,
const char *  file,
int  line 
)

Create a new IPv6 lease pool structure.

Allocate space for a new ipv6_pool structure and return a reference to it, includes setting the reference count to 1.

Parameters:
pool = space for returning a referenced pointer to the pool. This must point to a space that has been initialzied to NULL by the caller.
[in] type = The type of the pool NA, TA or PD
[in] start_addr = The first address in the range for the pool
[in] bits = The contiguous bits of the pool
Returns:
ISC_R_SUCCESS = The pool was successfully created, pool points to it. DHCP_R_INVALIDARG = One of the arugments was invalid, pool has not been modified ISC_R_NOMEMORY = The system wasn't able to allocate memory, pool has not been modified.

Definition at line 635 of file mdb6.c.

isc_result_t ipv6_pool_dereference ( struct ipv6_pool **  pool,
const char *  file,
int  line 
)

de-reference an IPv6 pool structure.

This function decrements the reference count in an ipv6_pool structure. If this was the last reference then the memory for the structure is freed.

Parameters:
[in] pool = A pointer to the pointer to the pool that should be de-referenced. On success the pointer to the pool is cleared. It must not be NULL and must not point to NULL.
Returns:
ISC_R_SUCCESS = The pool was successfully de-referenced, pool now points to NULL DHCP_R_INVALIDARG = One of the arugments was invalid, pool has not been modified.

Definition at line 772 of file mdb6.c.

isc_result_t ipv6_pool_reference ( struct ipv6_pool **  pool,
struct ipv6_pool src,
const char *  file,
int  line 
)

reference an IPv6 pool structure.

This function genreates a reference to an ipv6_pool structure and increments the reference count on the structure.

Parameters:
[out] pool = space for returning a referenced pointer to the pool. This must point to a space that has been initialzied to NULL by the caller.
[in] src = A pointer to the pool to reference. This must not be NULL.
Returns:
ISC_R_SUCCESS = The pool was successfully referenced, pool now points to src. DHCP_R_INVALIDARG = One of the arugments was invalid, pool has not been modified.

Definition at line 701 of file mdb6.c.

int is_boolean_expression ( struct expression  ) 

Definition at line 2969 of file tree.c.

isc_boolean_t is_cidr_mask_valid ( const struct iaddr addr,
int  bits 
)

Definition at line 305 of file inet.c.

int is_compound_expression ( struct expression  ) 

Definition at line 3035 of file tree.c.

int is_data_expression ( struct expression  ) 

Definition at line 2986 of file tree.c.

int is_dns_expression ( struct expression  ) 
int is_numeric_expression ( struct expression  ) 

Definition at line 3016 of file tree.c.

isc_boolean_t lease6_exists ( const struct ipv6_pool pool,
const struct in6_addr *  addr 
)

Definition at line 1318 of file mdb6.c.

isc_boolean_t lease6_usable ( struct iasubopt lease  ) 

Check if address is available to a lease.

Determine if the address in the lease is available to that lease. Either the address isn't in use or it is in use but by that lease.

Parameters:
[in] lease = lease to check
Returns:
ISC_TRUE = The lease is allowed to use that address ISC_FALSE = The lease isn't allowed to use that address

Definition at line 1346 of file mdb6.c.

int lease_copy ( struct lease **  ,
struct lease ,
const char *  ,
int   
)

Definition at line 1640 of file mdb.c.

int lease_enqueue ( struct lease  ) 

Definition at line 2489 of file mdb.c.

isc_result_t lease_file_subparse ( struct parse  ) 

Definition at line 266 of file confpars.c.

isc_result_t lease_instantiate ( const void *  ,
unsigned  ,
void *   
)

Definition at line 2612 of file mdb.c.

int lease_mine_to_reallocate ( struct lease  ) 

Definition at line 6225 of file failover.c.

void lease_ping_timeout ( void *   ) 

Definition at line 1176 of file dhcpd.c.

void lease_pinged ( struct iaddr  ,
u_int8_t *  ,
int   
)

Definition at line 1127 of file dhcpd.c.

int linked_option_get ( struct data_string ,
struct universe ,
struct packet ,
struct lease ,
struct client_state ,
struct option_state ,
struct option_state ,
struct option_state ,
struct binding_scope **  ,
unsigned   
)
int linked_option_space_encapsulate ( struct data_string ,
struct packet ,
struct lease ,
struct client_state ,
struct option_state ,
struct option_state ,
struct binding_scope **  ,
struct universe  
)

Definition at line 3657 of file options.c.

void linked_option_space_foreach ( struct packet ,
struct lease ,
struct client_state ,
struct option_state ,
struct option_state ,
struct binding_scope **  ,
struct universe ,
void *  ,
void(*)(struct option_cache *, struct packet *, struct lease *, struct client_state *, struct option_state *, struct option_state *, struct binding_scope **, struct universe *, void *)   
)

Definition at line 3758 of file options.c.

int linked_option_state_dereference ( struct universe ,
struct option_state ,
const char *  ,
int   
)

Definition at line 3747 of file options.c.

int load_balance_mine ( struct packet ,
dhcp_failover_state_t  
)

Definition at line 5845 of file failover.c.

int locate_network ( struct packet  ) 

Definition at line 4669 of file dhcp.c.

struct option_cache* lookup_fqdn6_option ( struct universe universe,
struct option_state options,
unsigned  code 
) [read]

Definition at line 3281 of file options.c.

struct option_cache* lookup_hashed_option ( struct universe ,
struct option_state ,
unsigned   
) [read]

Definition at line 2264 of file options.c.

struct option_cache* lookup_linked_option ( struct universe ,
struct option_state ,
unsigned   
) [read]

Definition at line 3722 of file options.c.

struct option_cache* lookup_option ( struct universe ,
struct option_state ,
unsigned   
) [read]

Definition at line 2249 of file options.c.

int main ( int  ,
char **   
)

Definition at line 119 of file dhclient.c.

void make_binding_state_transition ( struct lease  ) 

Definition at line 1462 of file mdb.c.

void make_client_config ( struct client_state ,
struct client_config  
)

Definition at line 1026 of file clparse.c.

void make_client_options ( struct client_state ,
struct client_lease ,
u_int8_t *  ,
struct option_cache ,
struct iaddr ,
struct option **  ,
struct option_state **   
)

Definition at line 2750 of file dhclient.c.

void make_client_state ( struct client_state **   ) 

Definition at line 1017 of file clparse.c.

int make_concat ( struct expression **  ,
struct expression ,
struct expression  
)

Definition at line 269 of file tree.c.

int make_const_data ( struct expression **  ,
const unsigned char *  ,
unsigned  ,
int  ,
int  ,
const char *  ,
int   
)

Definition at line 220 of file tree.c.

int make_const_int ( struct expression **  ,
unsigned  long 
)

Definition at line 255 of file tree.c.

int make_const_option_cache ( struct option_cache **  ,
struct buffer **  ,
u_int8_t *  ,
unsigned  ,
struct option ,
const char *  ,
int   
)

Definition at line 150 of file tree.c.

void make_decline ( struct client_state ,
struct client_lease  
)

Definition at line 3051 of file dhclient.c.

void make_discover ( struct client_state ,
struct client_lease  
)

Definition at line 2898 of file dhclient.c.

int make_encapsulation ( struct expression **  ,
struct data_string  
)

Definition at line 299 of file tree.c.

int make_host_lookup ( struct expression **  ,
const char *   
)

Definition at line 189 of file tree.c.

int make_let ( struct executable_statement **  ,
const char *   
)

Definition at line 378 of file tree.c.

int make_limit ( struct expression **  ,
struct expression ,
int   
)

Definition at line 332 of file tree.c.

void make_release ( struct client_state ,
struct client_lease  
)

Definition at line 3110 of file dhclient.c.

void make_request ( struct client_state ,
struct client_lease  
)

Definition at line 2962 of file dhclient.c.

int make_substring ( struct expression **  ,
struct expression ,
struct expression ,
struct expression  
)

Definition at line 314 of file tree.c.

void mark_hosts_unavailable ( void   ) 

Definition at line 2245 of file mdb6.c.

void mark_interfaces_unavailable ( void   ) 

Definition at line 2300 of file mdb6.c.

isc_result_t mark_lease_unavailble ( struct ipv6_pool pool,
const struct in6_addr *  addr 
)
void mark_phosts_unavailable ( void   ) 

Definition at line 2295 of file mdb6.c.

int mockup_lease ( struct lease **  ,
struct packet ,
struct shared_network ,
struct host_decl  
)

Definition at line 4403 of file dhcp.c.

void nak_lease ( struct packet ,
struct iaddr cip 
)

Definition at line 1609 of file dhcp.c.

void new_address_range ( struct parse ,
struct iaddr  ,
struct iaddr  ,
struct subnet ,
struct pool ,
struct lease **   
)

Definition at line 755 of file mdb.c.

struct client_lease* new_client_lease ( const char *  ,
int   
) [read]
struct dhcp_packet* new_dhcp_packet ( const char *  ,
int   
) [read]
struct domain_search_list* new_domain_search_list ( const char *  ,
int   
) [read]
int new_lease_file ( void   ) 

Definition at line 1115 of file db.c.

struct lease_state* new_lease_state ( const char *  ,
int   
) [read]
struct lease* new_leases ( unsigned  ,
const char *  ,
int   
) [read]

Definition at line 84 of file salloc.c.

struct name_server* new_name_server ( const char *  ,
int   
) [read]
struct option* new_option ( const char *  ,
const char *  ,
int   
) [read]
pair new_pair ( const char *  ,
int   
)
isc_result_t new_parse ( struct parse **  ,
int  ,
char *  ,
unsigned  ,
const char *  ,
int   
)

Definition at line 41 of file conflex.c.

struct permit* new_permit ( const char *  ,
int   
) [read]
struct protocol* new_protocol ( const char *  ,
int   
) [read]
void new_shared_network_interface ( struct parse ,
struct shared_network ,
const char *   
)

Definition at line 1005 of file mdb.c.

struct universe* new_universe ( const char *  ,
int   
) [read]
struct option_cache* next_hashed_option ( struct universe ,
struct option_state ,
struct option_cache  
) [read]
enum dhcp_token next_raw_token ( const char **  rval,
unsigned *  rlen,
struct parse cfile 
)

Definition at line 366 of file conflex.c.

enum dhcp_token next_token ( const char **  ,
unsigned *  ,
struct parse  
)

Definition at line 355 of file conflex.c.

binding_state_t normal_binding_state_transition_check ( struct lease ,
dhcp_failover_state_t ,
binding_state_t  ,
u_int32_t   
)

Definition at line 5948 of file failover.c.

int nwip_option_space_encapsulate ( struct data_string ,
struct packet ,
struct lease ,
struct client_state ,
struct option_state ,
struct option_state ,
struct binding_scope **  ,
struct universe  
)

Definition at line 3038 of file options.c.

dhcp_type_failover_listener OMAPI_OBJECT_ALLOC_DECL ( dhcp_failover_link  ,
dhcp_failover_link_t  ,
dhcp_type_failover_link   
) const
Type Constraints
OMAPI_OBJECT_ALLOC_DECL ( dhcp_failover_state  ,
dhcp_failover_state_t  ,
dhcp_type_failover_state   
)
OMAPI_OBJECT_ALLOC_DECL ( interface  ,
struct interface_info  ,
dhcp_type_interface   
)
OMAPI_OBJECT_ALLOC_DECL ( shared_network  ,
struct shared_network  ,
dhcp_type_shared_network   
)
enum expression_context op_context ( enum  expr_op  ) 

Definition at line 3154 of file tree.c.

int op_precedence ( enum  expr_op,
enum  expr_op 
)

Definition at line 3137 of file tree.c.

int option_cache ( struct option_cache **  ,
struct data_string ,
struct expression ,
struct option ,
const char *  ,
int   
)

Definition at line 364 of file tree.c.

int option_cache_allocate ( struct option_cache **  ,
const char *  ,
int   
)

Definition at line 631 of file alloc.c.

int option_cache_dereference ( struct option_cache **  ,
const char *  ,
int   
)

Definition at line 2699 of file options.c.

int option_cache_reference ( struct option_cache **  ,
struct option_cache ,
const char *  ,
int   
)

Definition at line 652 of file alloc.c.

dhcp_type_control int option_chain_head_allocate ( struct option_chain_head **  ,
const char *  ,
int   
)
Type Constraints

Definition at line 36 of file alloc.c.

int option_chain_head_dereference ( struct option_chain_head **  ,
const char *  ,
int   
)

Definition at line 96 of file alloc.c.

int option_chain_head_reference ( struct option_chain_head **  ,
struct option_chain_head ,
const char *  ,
int   
)

Definition at line 68 of file alloc.c.

int option_dereference ( struct option **  dest,
const char *  file,
int  line 
)

Definition at line 956 of file tables.c.

int option_reference ( struct option **  dest,
struct option src,
const char *  file,
int  line 
)

Definition at line 934 of file tables.c.

int option_space_encapsulate ( struct data_string ,
struct packet ,
struct lease ,
struct client_state ,
struct option_state ,
struct option_state ,
struct binding_scope **  ,
struct data_string  
)

Definition at line 2907 of file options.c.

void option_space_foreach ( struct packet ,
struct lease ,
struct client_state ,
struct option_state ,
struct option_state ,
struct binding_scope **  ,
struct universe ,
void *  ,
void(*)(struct option_cache *, struct packet *, struct lease *, struct client_state *, struct option_state *, struct option_state *, struct binding_scope **, struct universe *, void *)   
)

Definition at line 3533 of file options.c.

int option_state_allocate ( struct option_state **  ,
const char *  ,
int   
)

Definition at line 847 of file alloc.c.

int option_state_dereference ( struct option_state **  ,
const char *  ,
int   
)

Definition at line 912 of file alloc.c.

int option_state_reference ( struct option_state **  ,
struct option_state ,
const char *  ,
int   
)

Definition at line 884 of file alloc.c.

int packet6_len_okay ( const char *  ,
int   
)

Definition at line 3875 of file options.c.

int packet_allocate ( struct packet **  ,
const char *  ,
int   
)

Definition at line 1016 of file alloc.c.

int packet_dereference ( struct packet **  ,
const char *  ,
int   
)

Definition at line 1082 of file alloc.c.

int packet_reference ( struct packet **  ,
struct packet ,
const char *  ,
int   
)

Definition at line 1054 of file alloc.c.

void struct client_lease* packet_to_lease ( struct packet ,
struct client_state  
) [read]

Definition at line 2078 of file dhclient.c.

void parse_address_range ( struct parse ,
struct group ,
int  ,
struct pool ,
struct lease **   
)

Definition at line 3611 of file confpars.c.

void parse_address_range6 ( struct parse cfile,
struct group group,
struct ipv6_pond  
)

Definition at line 3940 of file confpars.c.

int parse_agent_information_option ( struct packet ,
int  ,
u_int8_t *   
)

Definition at line 4316 of file dhclient.c.

int parse_allow_deny ( struct option_cache **  ,
struct parse ,
int   
)

Definition at line 2269 of file clparse.c.

int parse_auth_key ( struct data_string ,
struct parse  
)
int parse_base64 ( struct data_string ,
struct parse  
)

Definition at line 1881 of file parse.c.

int parse_boolean ( struct parse  ) 

Definition at line 3463 of file parse.c.

int parse_boolean_expression ( struct expression **  ,
struct parse ,
int  
)

Definition at line 3440 of file parse.c.

int parse_case_statement ( struct executable_statement **  ,
struct parse ,
int ,
enum  expression_context 
)

Definition at line 3257 of file parse.c.

int parse_class_declaration ( struct class **  ,
struct parse ,
struct group ,
int   
)

Definition at line 2081 of file confpars.c.

void parse_client_lease_declaration ( struct parse ,
struct client_lease ,
struct interface_info **  ,
struct client_state **   
)

Definition at line 1180 of file clparse.c.

void parse_client_lease_statement ( struct parse ,
int   
)

Definition at line 1051 of file clparse.c.

void parse_client_statement ( struct parse ,
struct interface_info ,
struct client_config  
)

Definition at line 355 of file clparse.c.

int parse_cshl ( struct data_string ,
struct parse  
)

Definition at line 2022 of file parse.c.

int parse_data_expression ( struct expression **  ,
struct parse ,
int  
)

Definition at line 3507 of file parse.c.

TIME parse_date ( struct parse  ) 

Definition at line 1170 of file parse.c.

TIME parse_date_core ( struct parse  ) 

Definition at line 967 of file parse.c.

int parse_destination_descriptor ( struct parse ,
struct iaddr  
)

Definition at line 344 of file parse.c.

int parse_dns_expression ( struct expression **  ,
struct parse ,
int  
)
int struct expression* parse_domain_list ( struct parse cfile,
int   
) [read]

Definition at line 5647 of file parse.c.

int parse_encapsulated_suboptions ( struct option_state ,
struct option ,
const unsigned char *  ,
unsigned  ,
struct universe ,
const char *   
)

Definition at line 322 of file options.c.

int parse_executable_statement ( struct executable_statement **  ,
struct parse ,
int ,
enum  expression_context 
)

Definition at line 2115 of file parse.c.

int parse_executable_statements ( struct executable_statement **  ,
struct parse ,
int ,
enum  expression_context 
)

Definition at line 2099 of file parse.c.

int parse_expression ( struct expression **  ,
struct parse ,
int ,
enum  expression_context,
struct expression **  ,
enum  expr_op 
)

Definition at line 4466 of file parse.c.

void parse_failover_peer ( struct parse ,
struct group ,
int   
)

Definition at line 870 of file confpars.c.

void parse_failover_state ( struct parse ,
enum failover_state ,
TIME  
)

Definition at line 1299 of file confpars.c.

void parse_failover_state_declaration ( struct parse ,
dhcp_failover_state_t  
)

Definition at line 1194 of file confpars.c.

int parse_fixed_addr_param ( struct option_cache **  ,
struct parse ,
enum  dhcp_token 
)

Definition at line 2903 of file confpars.c.

void parse_fixed_prefix6 ( struct parse cfile,
struct host_decl host_decl 
)

Definition at line 4201 of file confpars.c.

void parse_group_declaration ( struct parse ,
struct group  
)

Definition at line 2810 of file confpars.c.

void parse_hardware_param ( struct parse ,
struct hardware  
)

Definition at line 604 of file parse.c.

void parse_host_declaration ( struct parse ,
struct group  
)

Definition at line 1817 of file confpars.c.

char* parse_host_name ( struct parse  ) 

Definition at line 186 of file parse.c.

void parse_ia_na_declaration ( struct parse  ) 

Definition at line 4487 of file confpars.c.

void parse_ia_pd_declaration ( struct parse  ) 

Definition at line 5371 of file confpars.c.

void parse_ia_ta_declaration ( struct parse  ) 

Definition at line 4929 of file confpars.c.

int parse_if_statement ( struct executable_statement **  ,
struct parse ,
int  
)

Definition at line 3304 of file parse.c.

void parse_interface_declaration ( struct parse ,
struct client_config ,
char *   
)

Definition at line 900 of file clparse.c.

int parse_ip6_addr ( struct parse ,
struct iaddr  
)

Definition at line 395 of file parse.c.

int parse_ip6_addr_expr ( struct expression **  ,
struct parse  
)

Definition at line 454 of file parse.c.

int parse_ip6_prefix ( struct parse ,
struct iaddr ,
u_int8_t *   
)

Definition at line 468 of file parse.c.

int parse_ip_addr ( struct parse ,
struct iaddr  
)

Definition at line 326 of file parse.c.

int parse_ip_addr_or_hostname ( struct expression **  ,
struct parse ,
int   
)

Definition at line 258 of file parse.c.

int parse_ip_addr_with_subnet ( struct parse ,
struct iaddrmatch  
)

Definition at line 511 of file parse.c.

int parse_key ( struct parse  ) 

Definition at line 2961 of file parse.c.

int parse_lbrace ( struct parse  ) 

Definition at line 1799 of file confpars.c.

int parse_lease_declaration ( struct lease **  ,
struct parse  
)

Definition at line 2974 of file confpars.c.

void parse_lease_time ( struct parse ,
TIME  
)

Definition at line 679 of file parse.c.

int parse_non_binary ( struct expression **  ,
struct parse ,
int ,
enum  expression_context 
)

Definition at line 3557 of file parse.c.

unsigned char* parse_numeric_aggregate ( struct parse ,
unsigned char *  ,
unsigned *  ,
int  ,
int  ,
unsigned   
)

Definition at line 723 of file parse.c.

int parse_numeric_expression ( struct expression **  ,
struct parse ,
int  
)

Definition at line 3534 of file parse.c.

int parse_on_statement ( struct executable_statement **  ,
struct parse ,
int  
)

Definition at line 3109 of file parse.c.

int parse_option_buffer ( struct option_state ,
const unsigned char *  ,
unsigned  ,
struct universe  
)

Definition at line 123 of file options.c.

int parse_option_code_definition ( struct parse ,
struct option  
)

Definition at line 1554 of file parse.c.

int parse_option_data ( struct expression **  expr,
struct parse cfile,
int  lookups,
struct option option 
)

Definition at line 4785 of file parse.c.

int parse_option_decl ( struct option_cache **  ,
struct parse  
)

Definition at line 5240 of file parse.c.

int parse_option_list ( struct parse ,
struct option ***   
)

Definition at line 826 of file clparse.c.

isc_result_t parse_option_name ( struct parse ,
int  ,
int ,
struct option **   
)

Definition at line 1190 of file parse.c.

void parse_option_space_decl ( struct parse  ) 

Definition at line 1331 of file parse.c.

int parse_option_statement ( struct executable_statement **  ,
struct parse ,
int  ,
struct option ,
enum  statement_op 
)

Definition at line 4892 of file parse.c.

int parse_option_token ( struct expression **  ,
struct parse ,
const char **  ,
struct expression ,
int  ,
int   
)

Definition at line 4951 of file parse.c.

int parse_options ( struct packet  ) 

Definition at line 47 of file options.c.

void parse_pool6_statement ( struct parse cfile,
struct group group,
int  type 
)

Parse a pool6 statement.

Pool statements are used to group declarations and permit & deny information with a specific address range. They must be declared within a shared network or subnet and there may be multiple pools withing a shared network or subnet. Each pool may have a different set of permit or deny options.

Parameters:
[in] cfile = the configuration file being parsed
[in] group = the group structure for this pool
[in] type = the type of the enclosing statement. This must be SUBNET_DECL for this function.
Returns:
void - This function either parses the statement and updates the structures or it generates an error message and possible halts the program if it encounters a problem.

Definition at line 4298 of file confpars.c.

void parse_pool_statement ( struct parse cfile,
struct group group,
int  type 
)

Parse a pool statement.

Pool statements are used to group declarations and permit & deny information with a specific address range. They must be declared within a shared network or subnet and there may be multiple pools withing a shared network or subnet. Each pool may have a different set of permit or deny options.

Parameters:
[in] cfile = the configuration file being parsed
[in] group = the group structure for this pool
[in] type = the type of the enclosing statement. This must be SHARED_NET_DECL or SUBNET_DECL for this function.
Returns:
void - This function either parses the statement and updates the structures or it generates an error message and possible halts the program if it encounters a problem.

Definition at line 1598 of file confpars.c.

void parse_prefix6 ( struct parse cfile,
struct group group,
struct ipv6_pond  
)

Definition at line 4095 of file confpars.c.

void parse_reject_statement ( struct parse ,
struct client_config  
)

Definition at line 2205 of file clparse.c.

int parse_semi ( struct parse  ) 

Definition at line 129 of file parse.c.

void parse_server_duid ( struct parse cfile  ) 

Definition at line 5823 of file confpars.c.

void parse_server_duid_conf ( struct parse cfile  ) 

Definition at line 5868 of file confpars.c.

void parse_shared_net_declaration ( struct parse ,
struct group  
)

Definition at line 2459 of file confpars.c.

int parse_statement ( struct parse ,
struct group ,
int  ,
struct host_decl ,
int   
)

Definition at line 351 of file confpars.c.

int parse_string ( struct parse ,
char **  ,
unsigned *   
)

Definition at line 146 of file parse.c.

void parse_string_list ( struct parse ,
struct string_list **  ,
int   
)

Definition at line 2155 of file clparse.c.

void parse_subnet6_declaration ( struct parse ,
struct shared_network  
)

Definition at line 2698 of file confpars.c.

void parse_subnet_declaration ( struct parse ,
struct shared_network  
)

Definition at line 2616 of file confpars.c.

int parse_switch_statement ( struct executable_statement **  ,
struct parse ,
int  
)

Definition at line 3189 of file parse.c.

void parse_trace_setup ( void   ) 

Definition at line 42 of file confpars.c.

int parse_warn ( struct parse ,
const char *  ,
  ... 
)
int parse_X ( struct parse ,
u_int8_t *  ,
unsigned   
)

Definition at line 5543 of file parse.c.

int parse_zone ( struct dns_zone ,
struct parse  
)

Definition at line 2782 of file parse.c.

const char* pdestdesc ( struct iaddr   ) 

Definition at line 559 of file inet.c.

enum dhcp_token peek_raw_token ( const char **  rval,
unsigned *  rlen,
struct parse cfile 
)

Definition at line 440 of file conflex.c.

enum dhcp_token peek_token ( const char **  ,
unsigned *  ,
struct parse  
)

Definition at line 429 of file conflex.c.

int peer_wants_lease ( struct lease  ) 

Definition at line 5905 of file failover.c.

int permit_list_match ( struct permit ,
struct permit  
)

Definition at line 1554 of file confpars.c.

int permitted ( struct packet ,
struct permit  
)

Definition at line 4610 of file dhcp.c.

const char* piaddr ( struct iaddr   ) 

Definition at line 581 of file inet.c.

char* piaddrcidr ( const struct iaddr ,
unsigned  int 
)

Definition at line 639 of file inet.c.

char* piaddrmask ( struct iaddr ,
struct iaddr  
)

Definition at line 608 of file inet.c.

void pool_timer ( void *   ) 

Definition at line 1863 of file mdb.c.

void postconf_initialization ( int   ) 

Definition at line 806 of file dhcpd.c.

void postdb_startup ( void   ) 

Definition at line 1082 of file dhcpd.c.

isc_boolean_t prefix6_exists ( const struct ipv6_pool pool,
const struct in6_addr *  pref,
u_int8_t  plen 
)

Definition at line 1757 of file mdb6.c.

int pretty_escape ( char **  ,
char *  ,
const unsigned char **  ,
const unsigned char *   
)

Definition at line 4002 of file options.c.

const char* pretty_print_option ( struct option ,
const unsigned char *  ,
unsigned  ,
int  ,
int   
)

Definition at line 1670 of file options.c.

char* print_base64 ( const unsigned char *  ,
unsigned  ,
const char *  ,
int   
)

Definition at line 110 of file print.c.

char* print_dec_1 ( unsigned  long  ) 

Definition at line 501 of file print.c.

char* print_dec_2 ( unsigned  long  ) 

Definition at line 509 of file print.c.

char* print_dotted_quads ( unsigned  ,
const u_int8_t *   
)

Definition at line 470 of file print.c.

void print_expression ( const char *  ,
struct expression  
)
char* print_hex ( unsigned  ,
const u_int8_t *  ,
unsigned  ,
unsigned   
)

Definition at line 433 of file print.c.

void print_hex_only ( unsigned  ,
const u_int8_t *  ,
unsigned  ,
char *   
)

Definition at line 369 of file print.c.

void print_hex_or_string ( unsigned  ,
const u_int8_t *  ,
unsigned  ,
char *   
)

Definition at line 396 of file print.c.

char* print_hw_addr ( const   int,
const   int,
const unsigned char *   
)
void print_lease ( struct lease  ) 

Definition at line 183 of file print.c.

const char* print_time ( TIME   ) 

Definition at line 1474 of file print.c.

struct timeval* process_outstanding_timeouts ( struct timeval *   )  [read]

Definition at line 46 of file dispatch.c.

char* quotify_buf ( const unsigned char *  ,
unsigned  ,
const char *  ,
int   
)

Definition at line 72 of file print.c.

char* quotify_string ( const char *  ,
const char *  ,
int   
)

Definition at line 34 of file print.c.

isc_result_t range2cidr ( struct iaddrcidrnetlist **  result,
const struct iaddr lo,
const struct iaddr hi 
)

Definition at line 362 of file inet.c.

isc_result_t read_client_conf ( void   ) 

Definition at line 52 of file clparse.c.

int read_client_conf_file ( const char *  ,
struct interface_info ,
struct client_config  
)

Definition at line 250 of file clparse.c.

void read_client_leases ( void   ) 

Definition at line 286 of file clparse.c.

isc_result_t read_conf_file ( const char *  ,
struct group ,
int  ,
int   
)

Definition at line 72 of file confpars.c.

void read_resolv_conf ( TIME   ) 

Definition at line 36 of file resolv.c.

isc_result_t readconf ( void   ) 

Definition at line 57 of file confpars.c.

ssize_t receive_packet6 ( struct interface_info interface,
unsigned char *  buf,
size_t  len,
struct sockaddr_in6 *  from,
struct in6_addr *  to_addr,
unsigned int if_index 
)
void register_eventhandler ( struct eventqueue **  ,
void(*)(void *)  handler 
)
void reinitialize_interfaces ( void   ) 

Definition at line 991 of file discover.c.

void release_lease ( struct lease ,
struct packet  
)

Definition at line 1714 of file mdb.c.

isc_result_t release_lease6 ( struct ipv6_pool pool,
struct iasubopt lease 
)

Definition at line 1575 of file mdb6.c.

isc_result_t release_leases ( struct ia_xx ia  ) 

Definition at line 2134 of file mdb6.c.

void relinquish_lease_hunks ( void   ) 
void relinquish_timeouts ( void   ) 
void remove_all_if_routes ( struct interface_info  ) 
void remove_if_route ( struct interface_info ,
struct in_addr   
)
void remove_routes ( struct in_addr   ) 
isc_result_t renew_lease6 ( struct ipv6_pool pool,
struct iasubopt lease 
)

Renew a lease in the pool.

The hard_lifetime_end_time of the lease should be set to the current expiration time. The soft_lifetime_end_time of the lease should be set to the desired expiration time.

This routine will compare the two and call the correct heap routine to move the lease. If the lease is active and the new expiration time is greater (the normal case) then we call isc_heap_decreased() as a larger time is a lower priority. If the new expiration time is less then we call isc_heap_increased().

If the lease is abandoned then it will be on the active list and we will always call isc_heap_increased() as the previous expiration would have been all 1s (as close as we can get to infinite).

If the lease is moving to active we call that routine which will move it from the inactive list to the active list.

Parameters:
pool = a pool the lease belongs to
lease = the lease to be renewed
Returns:
result of the renew operation (ISC_R_SUCCESS if successful, ISC_R_NOMEMORY when run out of memory)

Definition at line 1415 of file mdb6.c.

isc_result_t renew_leases ( struct ia_xx ia  ) 

Definition at line 2126 of file mdb6.c.

isc_result_t restore_parse_state ( struct parse cfile  ) 

Definition at line 155 of file conflex.c.

void rewrite_client_leases ( void   ) 

Definition at line 3180 of file dhclient.c.

void save_fqdn6_option ( struct universe universe,
struct option_state options,
struct option_cache oc,
isc_boolean_t  appendp 
)

Definition at line 3292 of file options.c.

void save_hashed_option ( struct universe ,
struct option_state ,
struct option_cache ,
isc_boolean_t  appendp 
)

Definition at line 2585 of file options.c.

void save_linked_option ( struct universe ,
struct option_state ,
struct option_cache ,
isc_boolean_t  appendp 
)

Definition at line 3613 of file options.c.

void save_option ( struct universe ,
struct option_state ,
struct option_cache  
)

Definition at line 2564 of file options.c.

int save_option_buffer ( struct universe ,
struct option_state ,
struct buffer ,
unsigned char *  ,
unsigned  ,
unsigned  ,
int   
)

Definition at line 2291 of file options.c.

isc_result_t save_parse_state ( struct parse cfile  ) 

Definition at line 128 of file conflex.c.

void schedule_all_ipv6_lease_timeouts (  ) 

Definition at line 1982 of file mdb6.c.

void schedule_lease_timeout ( struct ipv6_pool pool  ) 

Definition at line 1939 of file mdb6.c.

int script_go ( struct client_state  ) 

Definition at line 3893 of file dhclient.c.

void script_init ( struct client_state ,
const char *  ,
struct string_list  
)

Definition at line 3689 of file dhclient.c.

void script_write_params ( struct client_state ,
const char *  ,
struct client_lease  
)

Definition at line 3761 of file dhclient.c.

void script_write_requested ( struct client_state  ) 

Definition at line 3874 of file dhclient.c.

void send_decline ( void *   ) 

Definition at line 2666 of file dhclient.c.

void send_discover ( void *   ) 

Definition at line 2276 of file dhclient.c.

ssize_t send_packet6 ( struct interface_info ,
const unsigned char *  ,
size_t  ,
struct sockaddr_in6 *   
)
void send_release ( void *   ) 

Definition at line 2689 of file dhclient.c.

void send_request ( void *   ) 

Definition at line 2499 of file dhclient.c.

isc_boolean_t server_duid_isset ( void   ) 

Definition at line 193 of file dhcpv6.c.

void set_broadcast_addr ( struct interface_info ,
struct in_addr   
)
void set_ip_address ( struct interface_info ,
struct in_addr   
)
void set_netmask ( struct interface_info ,
struct in_addr   
)
void set_option ( struct universe ,
struct option_state ,
struct option_cache ,
enum  statement_op 
)

Definition at line 2173 of file options.c.

void set_server_duid ( struct data_string new_duid  ) 

Definition at line 211 of file dhcpv6.c.

isc_result_t set_server_duid_from_option ( void   ) 

Definition at line 228 of file dhcpv6.c.

void set_server_duid_type ( int  type  ) 

Definition at line 280 of file dhcpv6.c.

void set_time ( TIME   ) 

Definition at line 36 of file dispatch.c.

int setup_fallback ( struct interface_info **  ,
const char *  ,
int   
)

Definition at line 972 of file discover.c.

void setup_server_source_address ( struct in_addr *  from,
struct option_state options,
struct packet packet 
)

Definition at line 4862 of file dhcp.c.

void skip_to_rbrace ( struct parse ,
int   
)

Definition at line 94 of file parse.c.

void skip_to_semi ( struct parse  ) 

Definition at line 88 of file parse.c.

void start_confirm6 ( struct client_state client  ) 
void start_info_request6 ( struct client_state client  ) 
void start_init6 ( struct client_state client  ) 
void start_release6 ( struct client_state client  ) 
void start_selecting6 ( struct client_state client  ) 
void state_bound ( void *   ) 

Definition at line 1723 of file dhclient.c.

void state_init ( void *   ) 

Definition at line 1347 of file dhclient.c.

void state_panic ( void *   ) 

Definition at line 2389 of file dhclient.c.

void state_reboot ( void *   ) 

Definition at line 1305 of file dhclient.c.

void state_requesting ( void *   ) 
void state_selecting ( void *   ) 

Definition at line 1384 of file dhclient.c.

void state_stop ( void *   ) 

Definition at line 1765 of file dhclient.c.

void static_lease_dereference ( struct lease ,
const char *  ,
int   
)
int store_option ( struct data_string ,
struct universe ,
struct packet ,
struct lease ,
struct client_state ,
struct option_state ,
struct option_state ,
struct binding_scope **  ,
struct option_cache  
)

Definition at line 2837 of file options.c.

int store_options ( int ocount,
unsigned char *  buffer,
unsigned  buflen,
unsigned  index,
struct packet packet,
struct lease lease,
struct client_state client_state,
struct option_state in_options,
struct option_state cfg_options,
struct binding_scope **  scope,
unsigned *  priority_list,
int  priority_len,
unsigned  first_cutoff,
int  second_cutoff,
int  terminate,
const char *  vuname 
)

Definition at line 1117 of file options.c.

int store_options6 ( char *  ,
int  ,
struct option_state ,
struct packet ,
const int ,
struct data_string  
)

Definition at line 925 of file options.c.

int subnet_inner_than ( const struct subnet ,
const struct subnet ,
int   
)

Definition at line 919 of file mdb.c.

struct iaddr subnet_number ( struct iaddr  ,
struct iaddr   
) [read]

Definition at line 36 of file inet.c.

void suboption_foreach ( struct packet ,
struct lease ,
struct client_state ,
struct option_state ,
struct option_state ,
struct binding_scope **  ,
struct universe ,
void *  ,
void(*)(struct option_cache *, struct packet *, struct lease *, struct client_state *, struct option_state *, struct option_state *, struct binding_scope **, struct universe *, void *)  ,
struct option_cache ,
const char *   
)

Definition at line 3552 of file options.c.

isc_result_t supersede_group ( struct group_object ,
int   
)

Definition at line 74 of file memory.c.

int supersede_lease ( struct lease ,
struct lease ,
int  ,
int  ,
int   
)

Definition at line 1094 of file mdb.c.

int token_indent_data_string ( FILE *  ,
int  ,
int  ,
const char *  ,
const char *  ,
struct data_string  
)

Definition at line 1196 of file print.c.

int token_print_indent ( FILE *  ,
int  ,
int  ,
const char *  ,
const char *  ,
const char *   
)

Definition at line 1239 of file print.c.

int token_print_indent_concat ( FILE *  ,
int  ,
int  ,
const char *  ,
const char *  ,
  ... 
)

Definition at line 1158 of file print.c.

void trace_conf_input ( trace_type_t ,
unsigned  ,
char *   
)

Definition at line 185 of file confpars.c.

void trace_conf_stop ( trace_type_t ttype  ) 

Definition at line 232 of file confpars.c.

void trace_ddns_init ( void   ) 
void trigger_event ( struct eventqueue **   ) 

Definition at line 91 of file dispatch.c.

void uid_hash_add ( struct lease  ) 

Definition at line 2073 of file mdb.c.

void uid_hash_delete ( struct lease  ) 

Definition at line 2140 of file mdb.c.

int unbill_class ( struct lease ,
struct class  
)

Definition at line 1240 of file dhclient.c.

void unconfigure6 ( struct client_state client,
const char *  reason 
)
isc_result_t unlink_class ( struct class **  class  ) 

Definition at line 217 of file class.c.

void unregister_eventhandler ( struct eventqueue **  ,
void(*)(void *)  handler 
)

Definition at line 70 of file dispatch.c.

int unset ( struct binding_scope ,
const char *   
)

Definition at line 4070 of file tree.c.

void update_partner ( struct lease  ) 
int validate_packet ( struct packet packet  ) 

Checks if received BOOTP/DHCPv4 packet is sane

Parameters:
packet received, decoded packet
Returns:
1 if packet is sane, 0 if it is not

Definition at line 4196 of file options.c.

u_int16_t validate_port ( char *   ) 

Definition at line 661 of file inet.c.

u_int32_t wrapsum ( u_int32_t   ) 

Definition at line 84 of file packet.c.

int write_billing_class ( struct class  ) 

Definition at line 970 of file db.c.

void write_billing_classes ( void   ) 

Definition at line 954 of file db.c.

isc_result_t write_client6_lease ( struct client_state client,
struct dhc6_lease lease,
int  rewrite,
int  sync 
)

Definition at line 3418 of file dhclient.c.

int write_client_lease ( struct client_state ,
struct client_lease ,
int  ,
int   
)

Definition at line 3545 of file dhclient.c.

void write_client_pid_file ( void   ) 

Definition at line 4089 of file dhclient.c.

int write_expression ( FILE *  ,
struct expression ,
int  ,
int  ,
int   
)

Definition at line 3234 of file tree.c.

int write_failover_state ( dhcp_failover_state_t  ) 

Definition at line 745 of file db.c.

int write_group ( struct group_object  ) 

Definition at line 450 of file db.c.

int write_host ( struct host_decl  ) 

Definition at line 1798 of file dhclient.c.

int write_ia ( const struct ia_xx  ) 

Definition at line 519 of file db.c.

int write_lease ( struct lease  ) 

Definition at line 1792 of file dhclient.c.

void write_lease_option ( struct option_cache ,
struct packet ,
struct lease ,
struct client_state ,
struct option_state ,
struct option_state ,
struct binding_scope **  ,
struct universe ,
void *   
)

Definition at line 3242 of file dhclient.c.

int write_leases ( void   ) 

Definition at line 2371 of file mdb.c.

int write_leases6 ( void   ) 

Definition at line 2168 of file mdb6.c.

isc_result_t write_named_billing_class ( const void *  ,
unsigned  ,
void *   
)

Definition at line 858 of file db.c.

int write_server_duid ( void   ) 

Definition at line 689 of file db.c.

void write_statements ( FILE *  ,
struct executable_statement ,
int   
)

Definition at line 744 of file execute.c.


Variable Documentation

Definition at line 165 of file stables.c.

const char* binding_state_names[]

Definition at line 161 of file stables.c.

void(* bootp_packet_handler)(struct interface_info *, struct dhcp_packet *, unsigned, unsigned int, struct iaddr, struct hardware *)

Definition at line 3005 of file dhcpd.h.

Definition at line 924 of file tables.c.

struct timeval cur_tv

Definition at line 35 of file dispatch.c.

Definition at line 32 of file print.c.

Definition at line 335 of file stables.c.

Definition at line 76 of file dhcpd.c.

Definition at line 39 of file class.c.

Definition at line 3004 of file dhcpd.h.

Definition at line 73 of file dhclient.c.

Definition at line 2287 of file dhcpd.h.

Definition at line 3506 of file dhcpd.h.

const char* dhcp_flink_state_names[]

Definition at line 150 of file stables.c.

isc_result_t(* dhcp_interface_startup_hook)(struct interface_info *)

Definition at line 64 of file dhclient.c.

Definition at line 46 of file omapi.c.

Definition at line 51 of file omapi.c.

Definition at line 52 of file omapi.c.

Definition at line 50 of file omapi.c.

Definition at line 71 of file mdb.c.

Definition at line 68 of file discover.c.

Definition at line 44 of file omapi.c.

Definition at line 45 of file omapi.c.

Definition at line 47 of file omapi.c.

void(* dhcpv6_packet_handler)(struct interface_info *, const char *, int, int, const struct iaddr *, isc_boolean_t)

Definition at line 328 of file tables.c.

Definition at line 33 of file resolv.c.

Definition at line 77 of file dhcpd.c.

Definition at line 74 of file dhclient.c.

Definition at line 40 of file discover.c.

Definition at line 36 of file failover.c.

Definition at line 40 of file discover.c.

const char* file

Definition at line 3535 of file dhcpd.h.

Definition at line 295 of file tables.c.

Definition at line 41 of file stables.c.

Definition at line 135 of file stables.c.

u_int32_t fto_allowed[]

Definition at line 108 of file stables.c.

Definition at line 39 of file tree.c.

Definition at line 32 of file memory.c.

const char* hardware_types[256]

Definition at line 658 of file tables.c.

Definition at line 41 of file class.c.

Definition at line 35 of file mdb.c.

Definition at line 37 of file mdb.c.

Definition at line 36 of file mdb.c.

Definition at line 35 of file icmp.c.

Definition at line 75 of file discover.c.

Definition at line 76 of file discover.c.

Definition at line 74 of file discover.c.

Definition at line 40 of file discover.c.

Definition at line 66 of file dhclient.c.

Definition at line 3003 of file dhcpd.h.

Definition at line 40 of file mdb.c.

Definition at line 39 of file mdb.c.

Definition at line 38 of file mdb.c.

struct in_addr limited_broadcast

Definition at line 50 of file discover.c.

const char int line

Definition at line 3535 of file dhcpd.h.

struct in_addr local_address

Definition at line 53 of file discover.c.

Definition at line 52 of file discover.c.

u_int16_t local_port

Definition at line 87 of file dhclient.c.

Definition at line 46 of file dhcp.c.

Definition at line 47 of file dhcp.c.

Definition at line 45 of file dhcp.c.

Definition at line 32 of file resolv.c.

Definition at line 94 of file dhclient.c.

Definition at line 36 of file stables.c.

Definition at line 69 of file mdb.c.

Definition at line 267 of file tables.c.

Definition at line 38 of file dhcp.c.

const char* path_dhclient_conf

Definition at line 55 of file dhclient.c.

const char* path_dhclient_db

Definition at line 56 of file dhclient.c.

const char* path_dhclient_pid

Definition at line 57 of file dhclient.c.

Definition at line 59 of file dhclient.c.

const char* path_dhcpd_conf

Definition at line 79 of file dhcpd.c.

const char* path_dhcpd_db

Definition at line 80 of file dhcpd.c.

const char* path_dhcpd_pid

Definition at line 81 of file dhcpd.c.

Definition at line 34 of file resolv.c.

struct ipv6_pool** pools

Definition at line 42 of file discover.c.

u_int16_t remote_port

Definition at line 88 of file dhclient.c.

struct group* root_group

Definition at line 31 of file memory.c.

Definition at line 37 of file dispatch.c.

Definition at line 175 of file stables.c.

Definition at line 34 of file mdb.c.

Definition at line 1257 of file dhcpd.c.

Definition at line 37 of file stables.c.

struct subnet* subnets

Definition at line 33 of file mdb.c.

Definition at line 405 of file stables.c.

struct timeout* timeouts

Definition at line 33 of file dispatch.c.

Definition at line 32 of file clparse.c.

Definition at line 918 of file tables.c.

Definition at line 916 of file tables.c.

Definition at line 918 of file tables.c.

struct universe** universes

Definition at line 917 of file tables.c.

Definition at line 3002 of file dhcpd.h.

Definition at line 1698 of file dhcpd.h.

Definition at line 645 of file tables.c.

Definition at line 96 of file dhclient.c.

Definition at line 98 of file dhclient.c.

Definition at line 97 of file dhclient.c.


Generated on 5 Apr 2014 for ISC DHCP by  doxygen 1.6.1