ISC DHCP  4.3.2
A reference DHCPv4 and DHCPv6 implementation
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
 

Macros

#define EOL   '\n'
 
#define BYTE_NAME_HASH_SIZE   401 /* Default would be ridiculous. */
 
#define BYTE_CODE_HASH_SIZE   254 /* Default would be ridiculous. */
 
#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 /* Default. */
 
#define DEFAULT_SPACE_HASH_SIZE   11
 
#define NWIP_HASH_SIZE   17 /* A really small table. */
 
#define FQDN_HASH_SIZE   13 /* A ridiculously small table. */
 
#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 /* An incredulously small table. */
 
#define UNIVERSE_HASH_SIZE   13 /* A really small table. */
 
#define GROUP_HASH_SIZE   0 /* Default. */
 
#define HOST_HASH_SIZE   22501
 
#define LEASE_HASH_SIZE   100003
 
#define SCLASS_HASH_SIZE   12007
 
#define AGENT_HASH_SIZE   11 /* A really small table. */
 
#define SERVER_HASH_SIZE   (2*(sizeof(server_options) / sizeof(struct option)))
 
#define OPTION_HASH_SIZE   17
 
#define OPTION_HASH_PTWO   32 /* Next power of two above option hash. */
 
#define OPTION_HASH_EXP   5 /* The exponent for that power of two. */
 
#define compute_option_hash(x)
 
#define OPTION_HAD_NULLS   0x00000001
 
#define PACKET_MAX_CLASSES   5
 
#define HARDWARE_ADDR_LEN   20
 
#define HARDWARE_ADDR_LEN_IOCTL   8
 
#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 SV_LOG_THRESHOLD_LOW   83
 
#define SV_LOG_THRESHOLD_HIGH   84
 
#define SV_ECHO_CLIENT_ID   85
 
#define SV_SERVER_ID_CHECK   86
 
#define SV_PREFIX_LEN_MODE   87
 
#define DEFAULT_PING_TIMEOUT   1
 
#define DEFAULT_DELAYED_ACK   28 /* default SO_SNDBUF size / 576 bytes */
 
#define DEFAULT_ACK_DELAY_SECS   0
 
#define DEFAULT_ACK_DELAY_USECS   250000 /* 1/4 of a second */
 
#define DEFAULT_MIN_ACK_DELAY_USECS   10000 /* 1/100 second */
 
#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 PLM_IGNORE   0
 
#define PLM_PREFER   1
 
#define PLM_EXACT   2
 
#define PLM_MINIMUM   3
 
#define PLM_MAXIMUM   4
 
#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 /* This network was synthesized. */
 
#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 DHCP_LOG_OPTIONS   LOG_NDELAY | LOG_PID
 
#define EXPIRED_IPV6_CLEANUP_TIME   (60*60)
 
#define POND_TRACK_MAX   ISC_UINT64_MAX
 
#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 FIND_FORWARD   0
 
#define FIND_REVERSE   1
 
#define MAX_ADDRESS_STRING_LEN   (sizeof("ffff:ffff:ffff:ffff:ffff:ffff:255.255.255.255"))
 
#define FIND_PERCENT(count, percent)
 
#define FIND_POND6_PERCENT(count, percent)
 

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)
 
int get_option_int (int *, 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. More...
 
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)
 
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,...)
 
int concat_dclists (struct data_string *, struct data_string *, struct data_string *)
 Adds two Dc-formatted lists into a single Dc-formatted list. More...
 
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, struct group *)
 Constructs and sends a DHCP Nak. More...
 
void ack_lease (struct packet *, struct lease *, unsigned int, TIME, char *, int, struct host_decl *)
 
void echo_client_id (struct packet *, struct lease *, struct option_state *, struct option_state *)
 Adds a dhcp-client-id option to a set of options Given a set of input options, it searches for echo-client-id. If it is defined and enabled, the given packet is searched for dhcp-client-id. If the option is found it is replicated into the given set of output options. This allows us to provide compliance with RFC 6842. It is called when we ack or nak a lease. In the latter case we may or may not have created the requisite scope to lookup echo-client-id. More...
 
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 eval_network_statements (struct option_state **options, struct packet *packet, struct group *network_group)
 Builds option set from statements at the global and network scope. More...
 
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 *)
 
void use_host_decl_name (struct packet *, struct lease *, struct option_state *)
 Adds hostname option when use-host-decl-names is enabled. More...
 
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)
 
int data_string_new (struct data_string *, const char *, unsigned int, const char *, int)
 Constructs a null-terminated data_string from a char* and length. More...
 
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)
 
void print_dns_status (int, struct dhcp_ddns_cb *, isc_result_t)
 
const char * print_time (TIME)
 
void get_hw_addr (struct interface_info *info)
 
int if_register_socket (struct interface_info *, int, int *, struct in6_addr *)
 
void set_multicast_hop_limit (struct interface_info *info, int hop_limit)
 
void if_reinitialize_fallback (struct interface_info *)
 
void if_register_fallback (struct interface_info *)
 
ssize_t send_fallback (struct interface_info *, struct packet *, struct dhcp_packet *, size_t, struct in_addr, struct sockaddr_in *, struct hardware *)
 
ssize_t send_fallback6 (struct interface_info *, struct packet *, struct dhcp_packet *, size_t, struct in6_addr *, struct sockaddr_in6 *, struct hardware *)
 
ssize_t send_packet6 (struct interface_info *, const unsigned char *, size_t, struct sockaddr_in6 *)
 
isc_result_t fallback_discard (omapi_object_t *)
 
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)
 
int if_register_lpf (struct interface_info *)
 
void if_reinitialize_send (struct interface_info *)
 
void if_register_send (struct interface_info *)
 
void if_deregister_send (struct interface_info *)
 
ssize_t send_packet (struct interface_info *, struct packet *, struct dhcp_packet *, size_t, struct in_addr, struct sockaddr_in *, struct hardware *)
 
void if_reinitialize_receive (struct interface_info *)
 
void if_register_receive (struct interface_info *)
 
void if_deregister_receive (struct interface_info *)
 
ssize_t receive_packet (struct interface_info *, unsigned char *, size_t, struct sockaddr_in *, struct hardware *)
 
int can_unicast_without_arp (struct interface_info *)
 
int can_receive_unicast_unconfigured (struct interface_info *)
 
int supports_multiple_interfaces (struct interface_info *)
 
void maybe_setup_fallback (void)
 
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 *)
 
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 read_client_duid (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)
 
isc_result_t find_tsig_key (ns_tsig_key **, const char *, struct dns_zone *)
 
void tkey_free (ns_tsig_key **)
 
isc_result_t find_cached_zone (dhcp_ddns_cb_t *, int)
 
void forget_zone (struct dns_zone **)
 
void repudiate_zone (struct dns_zone **)
 
int get_dhcid (dhcp_ddns_cb_t *, int, const u_int8_t *, unsigned)
 
void dhcid_tolease (struct data_string *, struct data_string *)
 
isc_result_t dhcid_fromlease (struct data_string *, struct data_string *)
 
isc_result_t ddns_update_fwd (struct data_string *, struct iaddr, struct data_string *, unsigned long, unsigned, unsigned)
 
isc_result_t ddns_remove_fwd (struct data_string *, struct iaddr, struct data_string *)
 
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, 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)
 
void dhcp_failover_rescind_updates (dhcp_failover_state_t *)
 
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_t * dhcp_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. More...
 
isc_result_t ipv6_pool_reference (struct ipv6_pool **pool, struct ipv6_pool *src, const char *file, int line)
 reference an IPv6 pool structure. More...
 
isc_result_t ipv6_pool_dereference (struct ipv6_pool **pool, const char *file, int line)
 de-reference an IPv6 pool structure. More...
 
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. More...
 
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. More...
 
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. More...
 
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. More...
 
isc_result_t ipv6_pond_reference (struct ipv6_pond **pond, struct ipv6_pond *src, const char *file, int line)
 reference an IPv6 pond structure. More...
 
isc_result_t ipv6_pond_dereference (struct ipv6_pond **pond, const char *file, int line)
 de-reference an IPv6 pond structure. More...
 
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)
 
void report_jumbo_ranges ()
 

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 optionvendor_cfg_option
 
struct timeval cur_tv
 
int ddns_update_style
 
int dont_use_fsync
 
int server_id_check
 
int prefix_length_mode
 
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
 
struct enumeration prefix_length_modes
 
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
 
const char * path_dhclient_duid
 
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_t * failover_states
 
 dhcp_failover_listener_t
 
const char * file
 
const char int line
 

Macro Definition Documentation

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

Definition at line 1487 of file dhcpd.h.

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

Definition at line 1491 of file dhcpd.h.

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

Definition at line 1465 of file dhcpd.h.

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

Definition at line 1519 of file dhcpd.h.

#define _PATH_RESOLV_CONF   "/etc/resolv.conf"

Definition at line 1511 of file dhcpd.h.

#define AGENT_HASH_SIZE   11 /* A really small table. */

Definition at line 214 of file dhcpd.h.

#define BOOTP_LEASE   2

Definition at line 547 of file dhcpd.h.

#define BYTE_CODE_HASH_SIZE   254 /* Default would be ridiculous. */

Definition at line 119 of file dhcpd.h.

#define BYTE_NAME_HASH_SIZE   401 /* Default would be ridiculous. */

Definition at line 116 of file dhcpd.h.

#define CL_BACKOFF_CUTOFF   5

Definition at line 822 of file dhcpd.h.

#define CL_BOOTP_POLICY   7

Definition at line 824 of file dhcpd.h.

#define CL_DEFAULT_BACKOFF_CUTOFF   120

Definition at line 849 of file dhcpd.h.

#define CL_DEFAULT_BOOTP_POLICY   P_ACCEPT

Definition at line 857 of file dhcpd.h.

#define CL_DEFAULT_INITIAL_INTERVAL   10

Definition at line 853 of file dhcpd.h.

#define CL_DEFAULT_REBOOT_TIMEOUT   10

Definition at line 841 of file dhcpd.h.

#define CL_DEFAULT_REQUESTED_OPTIONS
Value:
DHO_HOST_NAME }
#define DHO_TIME_OFFSET
Definition: dhcp.h:94
#define DHO_SUBNET_MASK
Definition: dhcp.h:93
#define DHO_DOMAIN_NAME_SERVERS
Definition: dhcp.h:98
#define DHO_DOMAIN_NAME
Definition: dhcp.h:107
#define DHO_BROADCAST_ADDRESS
Definition: dhcp.h:120
#define DHO_ROUTERS
Definition: dhcp.h:95

Definition at line 861 of file dhcpd.h.

#define CL_DEFAULT_RETRY_INTERVAL   300

Definition at line 845 of file dhcpd.h.

#define CL_DEFAULT_SELECT_INTERVAL   0

Definition at line 837 of file dhcpd.h.

#define CL_DEFAULT_TIMEOUT   60

Definition at line 833 of file dhcpd.h.

#define CL_INITIAL_INTERVAL   6

Definition at line 823 of file dhcpd.h.

#define CL_MEDIA   12

Definition at line 829 of file dhcpd.h.

#define CL_REBOOT_TIMEOUT   3

Definition at line 820 of file dhcpd.h.

#define CL_REJECT_LIST   13

Definition at line 830 of file dhcpd.h.

#define CL_REQUESTED_LEASE_TIME   10

Definition at line 827 of file dhcpd.h.

#define CL_REQUESTED_OPTIONS   9

Definition at line 826 of file dhcpd.h.

#define CL_RETRY_INTERVAL   4

Definition at line 821 of file dhcpd.h.

#define CL_SCRIPT_NAME   8

Definition at line 825 of file dhcpd.h.

#define CL_SELECT_INTERVAL   2

Definition at line 819 of file dhcpd.h.

#define CL_SEND_OPTIONS   11

Definition at line 828 of file dhcpd.h.

#define CL_TIMEOUT   1

Definition at line 818 of file dhcpd.h.

#define CLASS_DECL   4

Definition at line 644 of file dhcpd.h.

#define CLASS_DECL_DELETED   1

Definition at line 1044 of file dhcpd.h.

#define CLASS_DECL_DYNAMIC   2

Definition at line 1045 of file dhcpd.h.

#define CLASS_DECL_STATIC   4

Definition at line 1046 of file dhcpd.h.

#define CLASS_DECL_SUBCLASS   8

Definition at line 1047 of file dhcpd.h.

#define CLASS_TYPE_CLASS   2

Definition at line 1008 of file dhcpd.h.

#define CLASS_TYPE_SUBCLASS   3

Definition at line 1009 of file dhcpd.h.

#define CLASS_TYPE_USER   1

Definition at line 1007 of file dhcpd.h.

#define CLASS_TYPE_VENDOR   0

Definition at line 1006 of file dhcpd.h.

#define compute_option_hash (   x)
Value:
(((x) & (OPTION_HASH_PTWO - 1)) + \
(((x) >> OPTION_HASH_EXP) & \
#define OPTION_HASH_PTWO
Definition: dhcpd.h:231
#define OPTION_HASH_SIZE
Definition: dhcpd.h:230
#define OPTION_HASH_EXP
Definition: dhcpd.h:232

Definition at line 235 of file dhcpd.h.

#define cur_time   cur_tv.tv_sec

Definition at line 1988 of file dhcpd.h.

#define DDNS_ABORT   0x40

Definition at line 1673 of file dhcpd.h.

#define DDNS_ACTIVE_LEASE   0x100

Definition at line 1675 of file dhcpd.h.

#define DDNS_CLIENT_DID_UPDATE   0x10

Definition at line 1671 of file dhcpd.h.

#define DDNS_CONFLICT_OVERRIDE   0x08

Definition at line 1670 of file dhcpd.h.

#define DDNS_EXECUTE_NEXT   0x20

Definition at line 1672 of file dhcpd.h.

#define DDNS_INCLUDE_RRSET   0x04

Definition at line 1669 of file dhcpd.h.

#define DDNS_PRINT_INBOUND   1

Definition at line 1693 of file dhcpd.h.

#define DDNS_PRINT_OUTBOUND   0

Definition at line 1694 of file dhcpd.h.

#define DDNS_STATE_ADD_FW_NXDOMAIN   1

Definition at line 1682 of file dhcpd.h.

#define DDNS_STATE_ADD_FW_YXDHCID   2

Definition at line 1683 of file dhcpd.h.

#define DDNS_STATE_ADD_PTR   3

Definition at line 1684 of file dhcpd.h.

#define DDNS_STATE_CLEANUP   0

Definition at line 1680 of file dhcpd.h.

#define DDNS_STATE_REM_FW_NXRR   18

Definition at line 1687 of file dhcpd.h.

#define DDNS_STATE_REM_FW_YXDHCID   17

Definition at line 1686 of file dhcpd.h.

#define DDNS_STATE_REM_PTR   19

Definition at line 1688 of file dhcpd.h.

#define DDNS_STATIC_LEASE   0x80

Definition at line 1674 of file dhcpd.h.

#define DDNS_UPDATE_ADDR   0x01

Definition at line 1667 of file dhcpd.h.

#define DDNS_UPDATE_PTR   0x02

Definition at line 1668 of file dhcpd.h.

#define DDNS_UPDATE_STYLE_AD_HOC   1

Definition at line 658 of file dhcpd.h.

#define DDNS_UPDATE_STYLE_INTERIM   2

Definition at line 659 of file dhcpd.h.

#define DDNS_UPDATE_STYLE_NONE   0

Definition at line 657 of file dhcpd.h.

#define DDNS_UPDATE_STYLE_STANDARD   3

Definition at line 660 of file dhcpd.h.

#define DEFAULT_ACK_DELAY_SECS   0

Definition at line 772 of file dhcpd.h.

#define DEFAULT_ACK_DELAY_USECS   250000 /* 1/4 of a second */

Definition at line 776 of file dhcpd.h.

#define DEFAULT_CACHE_THRESHOLD   25

Definition at line 784 of file dhcpd.h.

#define DEFAULT_DDNS_TTL   3600

Definition at line 800 of file dhcpd.h.

#define DEFAULT_DEFAULT_LEASE_TIME   43200

Definition at line 788 of file dhcpd.h.

#define DEFAULT_DELAYED_ACK   28 /* default SO_SNDBUF size / 576 bytes */

Definition at line 768 of file dhcpd.h.

#define DEFAULT_MAX_LEASE_TIME   86400

Definition at line 796 of file dhcpd.h.

#define DEFAULT_MIN_ACK_DELAY_USECS   10000 /* 1/100 second */

Definition at line 780 of file dhcpd.h.

#define DEFAULT_MIN_LEASE_TIME   300

Definition at line 792 of file dhcpd.h.

#define DEFAULT_PING_TIMEOUT   1

Definition at line 764 of file dhcpd.h.

#define DEFAULT_SPACE_HASH_SIZE   11

Definition at line 152 of file dhcpd.h.

#define DEFAULT_TIME_FORMAT   0

Definition at line 2459 of file dhcpd.h.

#define DHC6_ADDR_DEPREFFED   0x01

Definition at line 1076 of file dhcpd.h.

#define DHC6_ADDR_EXPIRED   0x02

Definition at line 1077 of file dhcpd.h.

#define DHCP_LOG_OPTIONS   LOG_NDELAY | LOG_PID

Definition at line 1531 of file dhcpd.h.

#define DHCPD_LOG_FACILITY   LOG_DAEMON

Definition at line 1523 of file dhcpd.h.

#define DISCOVER_RELAY   3

Definition at line 653 of file dhcpd.h.

#define DISCOVER_REQUESTED   4

Definition at line 654 of file dhcpd.h.

#define DISCOVER_RUNNING   0

Definition at line 650 of file dhcpd.h.

#define DISCOVER_SERVER   1

Definition at line 651 of file dhcpd.h.

#define DISCOVER_UNCONFIGURED   2

Definition at line 652 of file dhcpd.h.

#define DNS_HASH_SIZE   0 /* Default. */

Definition at line 147 of file dhcpd.h.

#define DNS_ZONE_ACTIVE   0

Definition at line 1414 of file dhcpd.h.

#define DNS_ZONE_INACTIVE   1

Definition at line 1415 of file dhcpd.h.

#define EOL   '\n'

Definition at line 88 of file dhcpd.h.

#define EPHEMERAL_FLAGS
Value:
#define MS_NULL_TERMINATION
Definition: dhcpd.h:549
#define RESERVED_LEASE
Definition: dhcpd.h:548
#define UNICAST_BROADCAST_HACK
Definition: dhcpd.h:553
#define BOOTP_LEASE
Definition: dhcpd.h:547

Definition at line 559 of file dhcpd.h.

#define EXPIRED_IPV6_CLEANUP_TIME   (60*60)

Definition at line 1557 of file dhcpd.h.

#define FIND_FORWARD   0

Definition at line 3039 of file dhcpd.h.

#define FIND_PERCENT (   count,
  percent 
)
Value:
((count) > (INT_MAX / 100) ? \
((count) / 100) * (percent) : ((count) * (percent)) / 100)

Definition at line 3707 of file dhcpd.h.

#define FIND_POND6_PERCENT (   count,
  percent 
)
Value:
((count) > (POND_TRACK_MAX / 100) ? \
((count) / 100) * (percent) : ((count) * (percent)) / 100)
#define POND_TRACK_MAX
Definition: dhcpd.h:1664

Definition at line 3711 of file dhcpd.h.

#define FIND_REVERSE   1

Definition at line 3040 of file dhcpd.h.

#define FQDN_HASH_SIZE   13 /* A ridiculously small table. */

Definition at line 160 of file dhcpd.h.

#define FTS_ABANDONED   5

Definition at line 502 of file dhcpd.h.

#define FTS_ACTIVE   2

Definition at line 499 of file dhcpd.h.

#define FTS_BACKUP   7

Definition at line 504 of file dhcpd.h.

#define FTS_EXPIRED   3

Definition at line 500 of file dhcpd.h.

#define FTS_FREE   1

Definition at line 498 of file dhcpd.h.

#define FTS_LAST   FTS_BACKUP

Definition at line 508 of file dhcpd.h.

#define FTS_RELEASED   4

Definition at line 501 of file dhcpd.h.

#define FTS_RESET   6

Definition at line 503 of file dhcpd.h.

#define GROUP_DECL   5

Definition at line 645 of file dhcpd.h.

#define GROUP_HASH_SIZE   0 /* Default. */

Definition at line 187 of file dhcpd.h.

#define GROUP_OBJECT_DELETED   1

Definition at line 878 of file dhcpd.h.

#define GROUP_OBJECT_DYNAMIC   2

Definition at line 879 of file dhcpd.h.

#define GROUP_OBJECT_STATIC   4

Definition at line 880 of file dhcpd.h.

#define HARDWARE_ADDR_LEN   20

Definition at line 448 of file dhcpd.h.

#define HARDWARE_ADDR_LEN_IOCTL   8

Definition at line 451 of file dhcpd.h.

#define HOST_DECL   1

Definition at line 641 of file dhcpd.h.

#define HOST_DECL_DELETED   1

Definition at line 914 of file dhcpd.h.

#define HOST_DECL_DYNAMIC   2

Definition at line 915 of file dhcpd.h.

#define HOST_DECL_STATIC   4

Definition at line 916 of file dhcpd.h.

#define HOST_HASH_SIZE   22501

Definition at line 193 of file dhcpd.h.

#define INTERFACE_AUTOMATIC   2

Definition at line 1321 of file dhcpd.h.

#define INTERFACE_DOWNSTREAM   8

Definition at line 1323 of file dhcpd.h.

#define INTERFACE_REQUESTED   1

Definition at line 1320 of file dhcpd.h.

#define INTERFACE_RUNNING   4

Definition at line 1322 of file dhcpd.h.

#define INTERFACE_STREAMS   (INTERFACE_DOWNSTREAM | INTERFACE_UPSTREAM)

Definition at line 1325 of file dhcpd.h.

#define INTERFACE_UPSTREAM   16

Definition at line 1324 of file dhcpd.h.

#define LEASE_HASH_SIZE   100003

Definition at line 203 of file dhcpd.h.

#define LOCAL_TIME_FORMAT   1

Definition at line 2460 of file dhcpd.h.

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

Definition at line 3701 of file dhcpd.h.

#define MAX_DEFAULT_DDNS_TTL   3600

Definition at line 803 of file dhcpd.h.

#define MAX_TIME   0x7fffffff

Definition at line 1526 of file dhcpd.h.

#define MIN_LEASE_WRITE   15

Definition at line 807 of file dhcpd.h.

#define MIN_TIME   0

Definition at line 1527 of file dhcpd.h.

#define MS_NULL_TERMINATION   8

Definition at line 549 of file dhcpd.h.

#define NWIP_HASH_SIZE   17 /* A really small table. */

Definition at line 156 of file dhcpd.h.

#define ON_ACK_QUEUE   32

Definition at line 551 of file dhcpd.h.

#define ON_DEFERRED_QUEUE   128

Definition at line 554 of file dhcpd.h.

#define ON_QUEUE   (ON_UPDATE_QUEUE | ON_ACK_QUEUE)

Definition at line 552 of file dhcpd.h.

#define ON_UPDATE_QUEUE   16

Definition at line 550 of file dhcpd.h.

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

Definition at line 1442 of file dhcpd.h.

#define OPTION_HAD_NULLS   0x00000001

Definition at line 363 of file dhcpd.h.

#define OPTION_HASH_EXP   5 /* The exponent for that power of two. */

Definition at line 232 of file dhcpd.h.

#define OPTION_HASH_PTWO   32 /* Next power of two above option hash. */

Definition at line 231 of file dhcpd.h.

#define OPTION_HASH_SIZE   17

Definition at line 230 of file dhcpd.h.

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

Definition at line 1444 of file dhcpd.h.

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

Definition at line 1443 of file dhcpd.h.

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

Definition at line 1441 of file dhcpd.h.

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

Definition at line 1448 of file dhcpd.h.

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

Definition at line 1440 of file dhcpd.h.

#define PACKET_MAX_CLASSES   5

Definition at line 417 of file dhcpd.h.

#define PERSISTENT_FLAGS   (ON_ACK_QUEUE | ON_UPDATE_QUEUE)

Definition at line 557 of file dhcpd.h.

#define PLM_EXACT   2

Definition at line 812 of file dhcpd.h.

#define PLM_IGNORE   0

Definition at line 810 of file dhcpd.h.

#define PLM_MAXIMUM   4

Definition at line 814 of file dhcpd.h.

#define PLM_MINIMUM   3

Definition at line 813 of file dhcpd.h.

#define PLM_PREFER   1

Definition at line 811 of file dhcpd.h.

#define POND_TRACK_MAX   ISC_UINT64_MAX

Definition at line 1664 of file dhcpd.h.

#define POOL_DECL   6

Definition at line 646 of file dhcpd.h.

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

Definition at line 2477 of file dhcpd.h.

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

Definition at line 2478 of file dhcpd.h.

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

Definition at line 2479 of file dhcpd.h.

#define QUAD_CODE_HASH_SIZE   WORD_CODE_HASH_SIZE

Definition at line 143 of file dhcpd.h.

#define QUAD_NAME_HASH_SIZE   WORD_NAME_HASH_SIZE

Definition at line 140 of file dhcpd.h.

#define RESERVED_LEASE   4

Definition at line 548 of file dhcpd.h.

#define ROOT_GROUP   0

Definition at line 640 of file dhcpd.h.

#define SCLASS_HASH_SIZE   12007

Definition at line 210 of file dhcpd.h.

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

Definition at line 224 of file dhcpd.h.

#define SHARED_IMPLICIT   1 /* This network was synthesized. */

Definition at line 972 of file dhcpd.h.

#define SHARED_NET_DECL   2

Definition at line 642 of file dhcpd.h.

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

Definition at line 2034 of file dhcpd.h.

#define STATIC_LEASE   1

Definition at line 546 of file dhcpd.h.

#define SUBNET_DECL   3

Definition at line 643 of file dhcpd.h.

#define SV_ADAPTIVE_LEASE_TIME_THRESHOLD   50

Definition at line 713 of file dhcpd.h.

#define SV_ALLOW_BOOTING   9

Definition at line 672 of file dhcpd.h.

#define SV_ALLOW_BOOTP   8

Definition at line 671 of file dhcpd.h.

#define SV_ALWAYS_BROADCAST   22

Definition at line 685 of file dhcpd.h.

#define SV_ALWAYS_REPLY_RFC1048   20

Definition at line 683 of file dhcpd.h.

#define SV_AUTHORITATIVE   18

Definition at line 681 of file dhcpd.h.

#define SV_BOOT_UNKNOWN_CLIENTS   6

Definition at line 669 of file dhcpd.h.

#define SV_BOOTP_LEASE_CUTOFF   4

Definition at line 667 of file dhcpd.h.

#define SV_BOOTP_LEASE_LENGTH   5

Definition at line 668 of file dhcpd.h.

#define SV_CACHE_THRESHOLD   78

Definition at line 745 of file dhcpd.h.

#define SV_CLIENT_UPDATES   40

Definition at line 703 of file dhcpd.h.

#define SV_DDNS_CONFLICT_DETECT   48

Definition at line 711 of file dhcpd.h.

#define SV_DDNS_DOMAIN_NAME   23

Definition at line 686 of file dhcpd.h.

#define SV_DDNS_HOST_NAME   24

Definition at line 687 of file dhcpd.h.

#define SV_DDNS_LOCAL_ADDRESS4   80

Definition at line 747 of file dhcpd.h.

#define SV_DDNS_LOCAL_ADDRESS6   81

Definition at line 748 of file dhcpd.h.

#define SV_DDNS_REV_DOMAIN_NAME   25

Definition at line 688 of file dhcpd.h.

#define SV_DDNS_TTL   38

Definition at line 701 of file dhcpd.h.

#define SV_DDNS_UPDATE_STYLE   39

Definition at line 702 of file dhcpd.h.

#define SV_DDNS_UPDATES   30

Definition at line 693 of file dhcpd.h.

#define SV_DECLINES   29

Definition at line 692 of file dhcpd.h.

#define SV_DEFAULT_LEASE_TIME   1

Definition at line 664 of file dhcpd.h.

#define SV_DELAYED_ACK   58

Definition at line 721 of file dhcpd.h.

#define SV_DHCPV6_LEASE_FILE_NAME   54

Definition at line 717 of file dhcpd.h.

#define SV_DHCPV6_PID_FILE_NAME   55

Definition at line 718 of file dhcpd.h.

#define SV_DO_FORWARD_UPDATES   45

Definition at line 708 of file dhcpd.h.

#define SV_DO_REVERSE_UPDATES   51

Definition at line 714 of file dhcpd.h.

#define SV_DONT_USE_FSYNC   79

Definition at line 746 of file dhcpd.h.

#define SV_DUPLICATES   28

Definition at line 691 of file dhcpd.h.

#define SV_DYNAMIC_BOOTP   7

Definition at line 670 of file dhcpd.h.

#define SV_ECHO_CLIENT_ID   85

Definition at line 752 of file dhcpd.h.

#define SV_FILENAME   15

Definition at line 678 of file dhcpd.h.

#define SV_FQDN_REPLY   52

Definition at line 715 of file dhcpd.h.

#define SV_GET_LEASE_HOSTNAMES   11

Definition at line 674 of file dhcpd.h.

#define SV_IGNORE_CLIENT_UIDS   82

Definition at line 749 of file dhcpd.h.

#define SV_LEASE_FILE_NAME   26

Definition at line 689 of file dhcpd.h.

#define SV_LEASEQUERY   49

Definition at line 712 of file dhcpd.h.

#define SV_LIMIT_ADDRS_PER_IA   56

Definition at line 719 of file dhcpd.h.

#define SV_LIMIT_PREFS_PER_IA   57

Definition at line 720 of file dhcpd.h.

#define SV_LIMITED_BROADCAST_ADDRESS   33

Definition at line 696 of file dhcpd.h.

#define SV_LOCAL_ADDRESS   35

Definition at line 698 of file dhcpd.h.

#define SV_LOCAL_PORT   32

Definition at line 695 of file dhcpd.h.

#define SV_LOG_FACILITY   44

Definition at line 707 of file dhcpd.h.

#define SV_LOG_THRESHOLD_HIGH   84

Definition at line 751 of file dhcpd.h.

#define SV_LOG_THRESHOLD_LOW   83

Definition at line 750 of file dhcpd.h.

#define SV_MAX_ACK_DELAY   59

Definition at line 722 of file dhcpd.h.

#define SV_MAX_LEASE_TIME   2

Definition at line 665 of file dhcpd.h.

#define SV_MIN_LEASE_TIME   3

Definition at line 666 of file dhcpd.h.

#define SV_MIN_SECS   14

Definition at line 677 of file dhcpd.h.

#define SV_NEXT_SERVER   17

Definition at line 680 of file dhcpd.h.

#define SV_OMAPI_KEY   36

Definition at line 699 of file dhcpd.h.

#define SV_OMAPI_PORT   31

Definition at line 694 of file dhcpd.h.

#define SV_ONE_LEASE_PER_CLIENT   10

Definition at line 673 of file dhcpd.h.

#define SV_PID_FILE_NAME   27

Definition at line 690 of file dhcpd.h.

#define SV_PING_CHECKS   42

Definition at line 705 of file dhcpd.h.

#define SV_PING_TIMEOUT   46

Definition at line 709 of file dhcpd.h.

#define SV_PREFER_LIFETIME   53

Definition at line 716 of file dhcpd.h.

#define SV_PREFIX_LEN_MODE   87

Definition at line 754 of file dhcpd.h.

#define SV_REMOTE_PORT   34

Definition at line 697 of file dhcpd.h.

#define SV_RESERVE_INFINITE   47

Definition at line 710 of file dhcpd.h.

#define SV_SERVER_ID_CHECK   86

Definition at line 753 of file dhcpd.h.

#define SV_SERVER_NAME   16

Definition at line 679 of file dhcpd.h.

#define SV_SITE_OPTION_SPACE   21

Definition at line 684 of file dhcpd.h.

#define SV_STASH_AGENT_OPTIONS   37

Definition at line 700 of file dhcpd.h.

#define SV_UPDATE_OPTIMIZATION   41

Definition at line 704 of file dhcpd.h.

#define SV_UPDATE_STATIC_LEASES   43

Definition at line 706 of file dhcpd.h.

#define SV_USE_HOST_DECL_NAMES   12

Definition at line 675 of file dhcpd.h.

#define SV_USE_LEASE_ADDR_FOR_DEFAULT_ROUTE   13

Definition at line 676 of file dhcpd.h.

#define SV_VENDOR_OPTION_SPACE   19

Definition at line 682 of file dhcpd.h.

#define UNICAST_BROADCAST_HACK   64

Definition at line 553 of file dhcpd.h.

#define UNIVERSE_HASH_SIZE   13 /* A really small table. */

Definition at line 183 of file dhcpd.h.

#define VIV_ISC_HASH_SIZE   3 /* An incredulously small table. */

Definition at line 179 of file dhcpd.h.

#define VIVCO_HASH_SIZE   127

Definition at line 167 of file dhcpd.h.

#define VIVSO_HASH_SIZE   VIVCO_HASH_SIZE

Definition at line 171 of file dhcpd.h.

#define VSIO_HASH_SIZE   VIVCO_HASH_SIZE

Definition at line 175 of file dhcpd.h.

#define WORD_CODE_HASH_SIZE   16384

Definition at line 131 of file dhcpd.h.

#define WORD_NAME_HASH_SIZE   20479

Definition at line 128 of file dhcpd.h.

Typedef Documentation

typedef u_int8_t binding_state_t

Definition at line 505 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 1698 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 1536 of file dhcpd.h.

typedef struct hash_table iasubopt_hash_t

Definition at line 1537 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 1437 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 1349 of file dhcpd.h.

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

Definition at line 1350 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 484 of file dhcpd.h.

Enumerator
shutdown_listeners 
shutdown_omapi_connections 
shutdown_drop_omapi_connections 
shutdown_dhcp 
shutdown_done 

Definition at line 240 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 1115 of file dhcpd.h.

enum policy
Enumerator
P_IGNORE 
P_ACCEPT 
P_PREFER 
P_REQUIRE 
P_DONT 

Definition at line 1129 of file dhcpd.h.

Function Documentation

void abandon_lease ( struct lease ,
const char *   
)

Definition at line 1793 of file mdb.c.

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

Definition at line 1992 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 1845 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 1234 of file mdb6.c.

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

Definition at line 4247 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 4621 of file dhcp.c.

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

Definition at line 2674 of file options.c.

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

Definition at line 2886 of file options.c.

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

Definition at line 2414 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 4069 of file tree.c.

void bind_lease ( struct client_state )

Definition at line 1671 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 3775 of file tree.c.

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

Definition at line 2400 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 2324 of file omapi.c.

isc_result_t binding_scope_stuff_values ( omapi_object_t ,
struct binding_scope  
)

Definition at line 2470 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 1827 of file dhclient.c.

struct iaddr broadcast_addr ( struct iaddr  ,
struct iaddr   
)

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 2598 of file options.c.

int can_receive_unicast_unconfigured ( struct interface_info )
int can_unicast_without_arp ( struct interface_info )
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 185 of file mdb.c.

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

Definition at line 1259 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 1267 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 4185 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 3782 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 1810 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.

int concat_dclists ( struct data_string result,
struct data_string list1,
struct data_string list2 
)

Adds two Dc-formatted lists into a single Dc-formatted list.

Given two data_strings containing compressed lists, it constructs a third data_string containing a single compressed list:

  1. Decompressing the first list into a buffer
  2. Decompressing the second list onto the end of the buffer
  3. Compressing the buffer into the result

If either list is empty, the result will be the equal to the compressed content of the non-empty list. If both lists are empty, the result will be an "empty" list: a 1 byte buffer containing 0x00.

It relies on two functions to decompress and compress:

  • MRns_name_uncompress_list() - produces a null-terminated string of comma-separated domain-names from a buffer containing "Dc" formatted data
  • MRns_name_compress_list() - produces a buffer containing "Dc" formatted data from a null-terminated string containing comma-separated domain-names
Parameters
resultdata_string which will contain the combined list in Dc format
list1data_string containing first Dc formatted list
list2data_string containing second Dc formatted list
Returns
0 if there is an error, the length of the new list when successful

Definition at line 4166 of file tree.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   
)
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 4395 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 517 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 835 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 
)
struct binding* create_binding ( struct binding_scope **  ,
const char *   
)

Definition at line 4038 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 1715 of file mdb6.c.

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

Definition at line 1324 of file alloc.c.

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

Definition at line 1340 of file alloc.c.

int data_string_new ( struct data_string new_string,
const char *  src,
unsigned int  len,
const char *  file,
int  line 
)

Constructs a null-terminated data_string from a char* and length.

Allocates a data_string and copies into it the given length of bytes from the given source, adding a terminating null if not present in the source at length-1.

Parameters
new_stringpointer to the data_string to construct. Cannot be NULL. Note that its contents will be overwritten. Passing in the address of an allocated data_string will result in memory leaks.
srcdata to be copied. Cannot be NULL.
lenlength of the data to copied
Returns
1 - if the data_string is constructed successfully, 0 if target data_struct is NULL or the buffer allocation fails.

Definition at line 1273 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 1353 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   
)
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   
)
isc_result_t ddns_remove_fwd ( struct data_string ,
struct iaddr  ,
struct data_string  
)
isc_result_t ddns_update_fwd ( struct data_string ,
struct iaddr  ,
struct data_string ,
unsigned  long,
unsigned  ,
unsigned   
)
int ddns_updates ( struct packet ,
struct lease ,
struct lease ,
struct iasubopt ,
struct iasubopt ,
struct option_state  
)
isc_result_t decline_lease6 ( struct ipv6_pool pool,
struct iasubopt lease 
)

Definition at line 1597 of file mdb6.c.

isc_result_t decline_leases ( struct ia_xx ia)

Definition at line 2189 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 3447 of file dhcp.c.

isc_result_t delete_class ( struct class ,
int   
)

Definition at line 437 of file mdb.c.

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

Definition at line 3401 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 2763 of file options.c.

isc_result_t delete_host ( struct host_decl ,
int   
)

Definition at line 469 of file mdb.c.

void delete_linked_option ( struct universe ,
struct option_state ,
int   
)

Definition at line 3792 of file options.c.

void delete_option ( struct universe ,
struct option_state ,
int   
)

Definition at line 2751 of file options.c.

void destroy_client_lease ( struct client_lease )

Definition at line 3225 of file dhclient.c.

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

Definition at line 4290 of file dhclient.c.

int dhclient_interface_shutdown_hook ( struct interface_info )

Definition at line 4283 of file dhclient.c.

isc_result_t dhclient_interface_startup_hook ( struct interface_info )

Definition at line 4333 of file dhclient.c.

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

Definition at line 1860 of file dhclient.c.

isc_result_t dhcp_class_create ( omapi_object_t **  ,
omapi_object_t  
)

Definition at line 2181 of file omapi.c.

isc_result_t dhcp_class_destroy ( omapi_object_t ,
const char *  ,
int   
)

Definition at line 1915 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 1890 of file omapi.c.

isc_result_t dhcp_class_lookup ( omapi_object_t **  ,
omapi_object_t ,
omapi_object_t  
)

Definition at line 2175 of file omapi.c.

isc_result_t dhcp_class_remove ( omapi_object_t ,
omapi_object_t  
)

Definition at line 2200 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 1879 of file omapi.c.

isc_result_t dhcp_class_signal_handler ( omapi_object_t ,
const char *  ,
va_list   
)

Definition at line 2031 of file omapi.c.

isc_result_t dhcp_class_stuff_values ( omapi_object_t ,
omapi_object_t ,
omapi_object_t  
)

Definition at line 2077 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  
)
void dhcp_failover_auto_partner_down ( void *  vs)
isc_result_t dhcp_failover_generate_update_queue ( dhcp_failover_state_t *  ,
int   
)
void dhcp_failover_keepalive ( void *  )
isc_result_t dhcp_failover_link_destroy ( omapi_object_t ,
const char *  ,
int   
)
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_initiate ( omapi_object_t )
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_signal ( omapi_object_t ,
const char *  ,
va_list   
)
void dhcp_failover_link_startup_timeout ( void *  )
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_destroy ( omapi_object_t ,
const char *  ,
int   
)
isc_result_t dhcp_failover_listener_get_value ( omapi_object_t ,
omapi_object_t ,
omapi_data_string_t ,
omapi_value_t **   
)
void dhcp_failover_listener_restart ( void *  )
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_signal ( omapi_object_t ,
const char *  ,
va_list   
)
isc_result_t dhcp_failover_listener_stuff ( omapi_object_t ,
omapi_object_t ,
omapi_object_t  
)
failover_option_t failover_option_t* dhcp_failover_make_option ( unsigned  ,
char *  ,
unsigned *  ,
unsigned  ,
  ... 
)
const char* dhcp_failover_message_name ( unsigned  )
const char* dhcp_failover_option_name ( unsigned  )
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 *   
)
void dhcp_failover_pool_check ( struct pool )
void dhcp_failover_pool_rebalance ( void *  )
isc_result_t dhcp_failover_process_bind_ack ( dhcp_failover_state_t *  ,
failover_message_t *   
)
isc_result_t dhcp_failover_process_bind_update ( dhcp_failover_state_t *  ,
failover_message_t *   
)
isc_result_t dhcp_failover_process_update_done ( dhcp_failover_state_t *  ,
failover_message_t *   
)
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_put_message ( dhcp_failover_link_t *  ,
omapi_object_t ,
int  ,
u_int32_t  ,
  ... 
)
int dhcp_failover_queue_ack ( dhcp_failover_state_t *  ,
failover_message_t *  msg 
)
int dhcp_failover_queue_update ( struct lease ,
int   
)
void dhcp_failover_reconnect ( void *  )
void dhcp_failover_recover_done ( void *  )
isc_result_t dhcp_failover_register ( omapi_object_t )
const char* dhcp_failover_reject_reason_print ( int  )
void dhcp_failover_rescind_updates ( dhcp_failover_state_t *  )
int dhcp_failover_send_acks ( dhcp_failover_state_t *  )
isc_result_t dhcp_failover_send_bind_ack ( dhcp_failover_state_t *  ,
failover_message_t *  ,
int  ,
const char *   
)
isc_result_t dhcp_failover_send_bind_update ( dhcp_failover_state_t *  ,
struct lease  
)
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 *   
)
void dhcp_failover_send_contact ( void *  )
isc_result_t dhcp_failover_send_disconnect ( omapi_object_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_state ( dhcp_failover_state_t *  )
isc_result_t dhcp_failover_send_update_done ( dhcp_failover_state_t *  )
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_updates ( dhcp_failover_state_t *  )
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 
)
void dhcp_failover_startup ( void  )
void dhcp_failover_startup_timeout ( void *  )
isc_result_t dhcp_failover_state_create ( omapi_object_t **  ,
omapi_object_t  
)
isc_result_t dhcp_failover_state_destroy ( omapi_object_t ,
const char *  ,
int   
)
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_lookup ( omapi_object_t **  ,
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_state_name_print ( enum  failover_state)
int dhcp_failover_state_pool_check ( dhcp_failover_state_t *  )
isc_result_t dhcp_failover_state_remove ( omapi_object_t ,
omapi_object_t  
)
isc_result_t dhcp_failover_state_set_value ( omapi_object_t ,
omapi_object_t ,
omapi_data_string_t ,
omapi_typed_data_t  
)
isc_result_t dhcp_failover_state_signal ( omapi_object_t ,
const char *  ,
va_list   
)
isc_result_t dhcp_failover_state_stuff ( omapi_object_t ,
omapi_object_t ,
omapi_object_t  
)
isc_result_t dhcp_failover_state_transition ( dhcp_failover_state_t *  ,
const char *   
)
void dhcp_failover_timeout ( void *  )
void dhcp_failover_toack_queue_timeout ( void *  )
int dhcp_failover_write_all_states ( void  )
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 1369 of file discover.c.

isc_result_t dhcp_interface_destroy ( omapi_object_t ,
const char *  ,
int   
)

Definition at line 1186 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 1178 of file discover.c.

isc_result_t dhcp_interface_lookup ( omapi_object_t **  ,
omapi_object_t ,
omapi_object_t  
)

Definition at line 1285 of file discover.c.

isc_result_t dhcp_interface_remove ( omapi_object_t ,
omapi_object_t  
)

Definition at line 1385 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 1141 of file discover.c.

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

Definition at line 1215 of file discover.c.

isc_result_t dhcp_interface_stuff_values ( omapi_object_t ,
omapi_object_t ,
omapi_object_t  
)

Definition at line 1251 of file discover.c.

isc_result_t dhcp_io_shutdown ( omapi_object_t ,
void *   
)

Definition at line 1318 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   
)
isc_result_t dhcp_lease_get ( omapi_object_t **  ,
const char *  ,
int   
)
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 4076 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 3569 of file dhcp.c.

isc_result_t dhcp_set_control_state ( control_object_state_t  oldstate,
control_object_state_t  newstate 
)

Definition at line 4482 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 2289 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 2228 of file omapi.c.

isc_result_t dhcp_subclass_lookup ( omapi_object_t **  ,
omapi_object_t ,
omapi_object_t  
)

Definition at line 2280 of file omapi.c.

isc_result_t dhcp_subclass_remove ( omapi_object_t ,
omapi_object_t  
)

Definition at line 2307 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 2216 of file omapi.c.

isc_result_t dhcp_subclass_signal_handler ( omapi_object_t ,
const char *  ,
va_list   
)

Definition at line 2253 of file omapi.c.

isc_result_t dhcp_subclass_stuff_values ( omapi_object_t ,
omapi_object_t ,
omapi_object_t  
)

Definition at line 2263 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 1502 of file dhclient.c.

int dhcpd_interface_setup_hook ( struct interface_info ip,
struct iaddr ia 
)

Definition at line 1258 of file dhcpd.c.

void dhcpdecline ( struct packet ,
int   
)

Definition at line 891 of file dhcp.c.

void dhcpdiscover ( struct packet ,
int   
)

Definition at line 300 of file dhcp.c.

void dhcpinform ( struct packet ,
int   
)

Definition at line 1018 of file dhcp.c.

void dhcpleasequery ( struct packet ,
int   
)

Definition at line 129 of file dhcpleasequery.c.

void dhcpnak ( struct packet )

Definition at line 2224 of file dhclient.c.

void dhcpoffer ( struct packet )

Definition at line 1966 of file dhclient.c.

void dhcprelease ( struct packet ,
int   
)

Definition at line 752 of file dhcp.c.

void dhcprequest ( struct packet ,
int  ,
struct lease  
)

Definition at line 441 of file dhcp.c.

void dhcpv4_client_assignments ( void  )

Definition at line 4875 of file dhclient.c.

void dhcpv6 ( struct packet )
void dhcpv6_client_assignments ( void  )
void dhcpv6_leasequery ( struct data_string ,
struct packet  
)
void discover_interfaces ( int  )

Definition at line 555 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 3888 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 4219 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 2766 of file mdb.c.

void echo_client_id ( struct packet packet,
struct lease lease,
struct option_state in_options,
struct option_state out_options 
)

Adds a dhcp-client-id option to a set of options Given a set of input options, it searches for echo-client-id. If it is defined and enabled, the given packet is searched for dhcp-client-id. If the option is found it is replicated into the given set of output options. This allows us to provide compliance with RFC 6842. It is called when we ack or nak a lease. In the latter case we may or may not have created the requisite scope to lookup echo-client-id.

Note the flag packet.sv_echo_client_id is set to reflect the configuration option. This bypases inaccessiblity of server_universe in cons_options() which must amend the PRL (when not empty) if echoing is enabled.

Parameters
packetinbound packet received from the client
leaselease associated with this client (if one)
in_optionsoptions in which to search for echo-client-id
out_optionsoptions to which to save the client-id

Definition at line 1849 of file dhcp.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 *  )
isc_result_t enter_host ( struct host_decl ,
int  ,
int   
)

Definition at line 222 of file mdb.c.

void enter_lease ( struct lease )

Definition at line 1052 of file mdb.c.

void enter_shared_network ( struct shared_network )

Definition at line 995 of file mdb.c.

void enter_subnet ( struct subnet )

Definition at line 948 of file mdb.c.

void eval_network_statements ( struct option_state **  network_options,
struct packet packet,
struct group network_group 
)

Builds option set from statements at the global and network scope.

Set up an option state list based on the global and network scopes. These are primarily used by NAK logic to locate dhcp-server-id and echo-client-id.

We don't go through all possible options - in particualr we skip the hosts and we don't include the lease to avoid making changes to it. This means that using these, we won't get the correct server id if the admin puts them on hosts or builds the server id with information from the lease.

As this is a fallback function (used to handle NAKs or sort out server id mismatch in failover) and requires configuration by the admin, it should be okay.

Parameters
network_optionsoption_state to which options will be added. If it refers to NULL, it will be allocated. Caller is responsible to delete it.
packetinbound packet
network_groupscope group to use if packet->shared_network is null.

Definition at line 5038 of file dhcp.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 2769 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 2722 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 1115 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 2218 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 2688 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 2694 of file mdb.c.

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

Definition at line 1563 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 3195 of file tree.c.

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

Definition at line 2802 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 *   
)
isc_result_t fallback_discard ( omapi_object_t )
struct binding* find_binding ( struct binding_scope ,
const char *   
)

Definition at line 3744 of file tree.c.

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

Definition at line 4092 of file tree.c.

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

Definition at line 1253 of file dhclient.c.

struct enumeration* find_enumeration ( const char *  ,
int   
)

Definition at line 43 of file parse.c.

struct enumeration_value* find_enumeration_value ( const char *  ,
int  ,
unsigned *  ,
const char *   
)

Definition at line 54 of file parse.c.

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

Definition at line 901 of file mdb.c.

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

Definition at line 710 of file mdb.c.

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

Definition at line 611 of file mdb.c.

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

Definition at line 639 of file mdb.c.

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

Definition at line 631 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 2112 of file mdb6.c.

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

Definition at line 3814 of file dhcp.c.

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

Definition at line 2018 of file mdb.c.

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

Definition at line 2003 of file mdb.c.

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

Definition at line 2010 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 *   
)

Definition at line 271 of file options.c.

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

Definition at line 1280 of file dhclient.c.

isc_result_t find_tsig_key ( ns_tsig_key **  ,
const char *  ,
struct dns_zone  
)
struct name_server* first_name_server ( void  )

Definition at line 170 of file resolv.c.

void flush_ackqueue ( void *  )

Definition at line 3529 of file dhcp.c.

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

Definition at line 3372 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 3437 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 3415 of file options.c.

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

Definition at line 3537 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 3262 of file options.c.

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

Definition at line 345 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 3759 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 3818 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  )
isc_result_t get_client_id ( struct packet ,
struct data_string  
)
int get_dhcid ( dhcp_ddns_cb_t ,
int  ,
const u_int8_t *  ,
unsigned   
)
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 2168 of file options.c.

int get_option_int ( int ,
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 2203 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 4952 of file dhcp.c.

void go_daemon ( void  )

Definition at line 4116 of file dhclient.c.

isc_result_t got_one ( omapi_object_t )

Definition at line 1009 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 ( option_name  ,
const char *  ,
struct option  ,
option_name_hash_t   
)
option_code_hash_t HASH_FUNCTIONS_DECL ( lease_ip  ,
const unsigned char *  ,
struct lease  ,
lease_ip_hash_t   
)
HASH_FUNCTIONS_DECL ( iasubopt  ,
struct in6_addr *  ,
struct iasubopt  ,
iasubopt_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 3094 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 *)   
)
int hashed_option_state_dereference ( struct universe ,
struct option_state ,
const char *  ,
int   
)

Definition at line 2848 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 2202 of file mdb.c.

void hw_hash_delete ( struct lease )

Definition at line 2282 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)
void if_deregister_receive ( struct interface_info )
void if_deregister_send ( struct interface_info )
int if_readsocket ( omapi_object_t )

Definition at line 964 of file discover.c.

void if_register6 ( struct interface_info info,
int  do_multicast 
)
void if_register_fallback ( struct interface_info )
void if_register_linklocal6 ( struct interface_info info)
int if_register_lpf ( struct interface_info )
void if_register_receive ( struct interface_info )
void if_register_send ( struct interface_info )
int if_register_socket ( struct interface_info ,
int  ,
int ,
struct in6_addr *   
)
void if_reinitialize_fallback ( struct interface_info )
void if_reinitialize_receive ( struct interface_info )
void if_reinitialize_send ( struct interface_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 1004 of file tables.c.

void initialize_server_option_spaces ( void  )

Definition at line 435 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 121 of file discover.c.

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

Definition at line 1002 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 83 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 1485 of file discover.c.

void interface_stash ( struct interface_info )

Definition at line 1447 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   
)

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 2094 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 2391 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 2474 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 2434 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 3020 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 3086 of file tree.c.

int is_data_expression ( struct expression )

Definition at line 3037 of file tree.c.

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

Definition at line 3067 of file tree.c.

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

Definition at line 1344 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 1372 of file mdb6.c.

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

Definition at line 1644 of file mdb.c.

int lease_enqueue ( struct lease )

Definition at line 2501 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 2624 of file mdb.c.

int lease_mine_to_reallocate ( struct lease )
void lease_ping_timeout ( void *  )

Definition at line 1235 of file dhcpd.c.

void lease_pinged ( struct iaddr  ,
u_int8_t *  ,
int   
)

Definition at line 1186 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 3756 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 *)   
)
int linked_option_state_dereference ( struct universe ,
struct option_state ,
const char *  ,
int   
)

Definition at line 3846 of file options.c.

int load_balance_mine ( struct packet ,
dhcp_failover_state_t *   
)
int locate_network ( struct packet )

Definition at line 4837 of file dhcp.c.

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

Definition at line 3380 of file options.c.

struct option_cache* lookup_hashed_option ( struct universe ,
struct option_state ,
unsigned   
)

Definition at line 2363 of file options.c.

struct option_cache* lookup_linked_option ( struct universe ,
struct option_state ,
unsigned   
)

Definition at line 3821 of file options.c.

struct option_cache* lookup_option ( struct universe ,
struct option_state ,
unsigned   
)

Definition at line 2348 of file options.c.

int main ( int  ,
char **   
)

Definition at line 121 of file dhclient.c.

void make_binding_state_transition ( struct lease )

Definition at line 1466 of file mdb.c.

void make_client_config ( struct client_state ,
struct client_config  
)

Definition at line 1065 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 2807 of file dhclient.c.

void make_client_state ( struct client_state **  )

Definition at line 1056 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 3110 of file dhclient.c.

void make_discover ( struct client_state ,
struct client_lease  
)

Definition at line 2957 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 3169 of file dhclient.c.

void make_request ( struct client_state ,
struct client_lease  
)

Definition at line 3021 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 2292 of file mdb6.c.

void mark_interfaces_unavailable ( void  )

Definition at line 2347 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 2342 of file mdb6.c.

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

Definition at line 4571 of file dhcp.c.

void nak_lease ( struct packet packet,
struct iaddr cip,
struct group network_group 
)

Constructs and sends a DHCP Nak.

In order to populate options such as dhcp-server-id and dhcp-client-identifier, the function creates a temporary option cache and evaluates options based on the packet's shared-network or the network_group in its absence, as well as the packet->clasess (if any).

Parameters
packetinbound packet received from the client
cipaddress requested by the client
network_groupoptional scope for use in setting up options

Definition at line 1634 of file dhcp.c.

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

Definition at line 756 of file mdb.c.

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

Definition at line 1115 of file db.c.

struct lease_state* new_lease_state ( const char *  ,
int   
)
struct lease* new_leases ( unsigned  ,
const char *  ,
int   
)
struct name_server* new_name_server ( const char *  ,
int   
)
struct option* new_option ( const char *  ,
const char *  ,
int   
)
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   
)
struct protocol* new_protocol ( const char *  ,
int   
)
void new_shared_network_interface ( struct parse ,
struct shared_network ,
const char *   
)

Definition at line 1006 of file mdb.c.

struct universe* new_universe ( const char *  ,
int   
)
struct option_cache* next_hashed_option ( struct universe ,
struct option_state ,
struct option_cache  
)
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   
)
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 3137 of file options.c.

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

Definition at line 3206 of file tree.c.

int op_precedence ( enum  expr_op,
enum  expr_op 
)

Definition at line 3189 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 2798 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   
)

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 957 of file tables.c.

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

Definition at line 935 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 3006 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 *)   
)
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 3977 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  
)

Definition at line 2101 of file dhclient.c.

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

Definition at line 3616 of file confpars.c.

void parse_address_range6 ( struct parse cfile,
struct group group,
struct ipv6_pond  
)
int parse_agent_information_option ( struct packet ,
int  ,
u_int8_t *   
)

Definition at line 4385 of file dhclient.c.

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

Definition at line 2308 of file clparse.c.

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

Definition at line 1887 of file parse.c.

int parse_boolean ( struct parse )

Definition at line 3470 of file parse.c.

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

Definition at line 3447 of file parse.c.

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

Definition at line 3264 of file parse.c.

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

Definition at line 2086 of file confpars.c.

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

Definition at line 1219 of file clparse.c.

void parse_client_lease_statement ( struct parse ,
int   
)

Definition at line 1090 of file clparse.c.

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

Definition at line 394 of file clparse.c.

int parse_cshl ( struct data_string ,
struct parse  
)

Definition at line 2028 of file parse.c.

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

Definition at line 3514 of file parse.c.

TIME parse_date ( struct parse )

Definition at line 1176 of file parse.c.

TIME parse_date_core ( struct parse )

Definition at line 973 of file parse.c.

int parse_destination_descriptor ( struct parse ,
struct iaddr  
)

Definition at line 350 of file parse.c.

int parse_dns_expression ( struct expression **  ,
struct parse ,
int  
)
int struct expression* parse_domain_list ( struct parse cfile,
int   
)

Definition at line 5646 of file parse.c.

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

Definition at line 316 of file options.c.

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

Definition at line 2121 of file parse.c.

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

Definition at line 2105 of file parse.c.

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

Definition at line 4473 of file parse.c.

void parse_failover_peer ( struct parse ,
struct group ,
int   
)
void parse_failover_state ( struct parse ,
enum failover_state ,
TIME  
)
void parse_failover_state_declaration ( struct parse ,
dhcp_failover_state_t *   
)
int parse_fixed_addr_param ( struct option_cache **  ,
struct parse ,
enum  dhcp_token 
)

Definition at line 2908 of file confpars.c.

void parse_fixed_prefix6 ( struct parse cfile,
struct host_decl host_decl 
)
void parse_group_declaration ( struct parse ,
struct group  
)

Definition at line 2815 of file confpars.c.

void parse_hardware_param ( struct parse ,
struct hardware  
)

Definition at line 610 of file parse.c.

void parse_host_declaration ( struct parse ,
struct group  
)

Definition at line 1822 of file confpars.c.

char* parse_host_name ( struct parse )

Definition at line 192 of file parse.c.

void parse_ia_na_declaration ( struct parse )

Definition at line 4558 of file confpars.c.

void parse_ia_pd_declaration ( struct parse )

Definition at line 5442 of file confpars.c.

void parse_ia_ta_declaration ( struct parse )

Definition at line 5000 of file confpars.c.

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

Definition at line 3311 of file parse.c.

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

Definition at line 939 of file clparse.c.

int parse_ip6_addr ( struct parse ,
struct iaddr  
)

Definition at line 401 of file parse.c.

int parse_ip6_addr_expr ( struct expression **  ,
struct parse  
)

Definition at line 460 of file parse.c.

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

Definition at line 474 of file parse.c.

int parse_ip_addr ( struct parse ,
struct iaddr  
)

Definition at line 332 of file parse.c.

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

Definition at line 264 of file parse.c.

int parse_ip_addr_with_subnet ( struct parse ,
struct iaddrmatch  
)

Definition at line 517 of file parse.c.

int parse_key ( struct parse )

Definition at line 2968 of file parse.c.

int parse_lbrace ( struct parse )

Definition at line 1804 of file confpars.c.

int parse_lease_declaration ( struct lease **  ,
struct parse  
)

Definition at line 2979 of file confpars.c.

void parse_lease_time ( struct parse ,
TIME  
)

Definition at line 685 of file parse.c.

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

Definition at line 3564 of file parse.c.

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

Definition at line 729 of file parse.c.

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

Definition at line 3541 of file parse.c.

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

Definition at line 3116 of file parse.c.

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

Definition at line 117 of file options.c.

int parse_option_code_definition ( struct parse ,
struct option  
)

Definition at line 1560 of file parse.c.

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

Definition at line 4784 of file parse.c.

int parse_option_decl ( struct option_cache **  ,
struct parse  
)

Definition at line 5239 of file parse.c.

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

Definition at line 865 of file clparse.c.

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

Definition at line 1196 of file parse.c.

void parse_option_space_decl ( struct parse )

Definition at line 1337 of file parse.c.

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

Definition at line 4891 of file parse.c.

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

Definition at line 4950 of file parse.c.

int parse_options ( struct packet )

Definition at line 47 of file options.c.

void parse_pool6_statement ( struct parse ,
struct group ,
int   
)
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 1603 of file confpars.c.

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

Definition at line 2244 of file clparse.c.

int parse_semi ( struct parse )

Definition at line 135 of file parse.c.

void parse_server_duid ( struct parse cfile)
void parse_server_duid_conf ( struct parse cfile)
void parse_shared_net_declaration ( struct parse ,
struct group  
)

Definition at line 2464 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 152 of file parse.c.

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

Definition at line 2194 of file clparse.c.

void parse_subnet6_declaration ( struct parse ,
struct shared_network  
)

Definition at line 2703 of file confpars.c.

void parse_subnet_declaration ( struct parse ,
struct shared_network  
)

Definition at line 2621 of file confpars.c.

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

Definition at line 3196 of file parse.c.

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

Definition at line 5542 of file parse.c.

int parse_zone ( struct dns_zone ,
struct parse  
)

Definition at line 2788 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 )
int permit_list_match ( struct permit ,
struct permit  
)

Definition at line 1559 of file confpars.c.

int permitted ( struct packet ,
struct permit  
)

Definition at line 4778 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 1867 of file mdb.c.

void postconf_initialization ( int  )

Definition at line 841 of file dhcpd.c.

void postdb_startup ( void  )

Definition at line 1141 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 1804 of file mdb6.c.

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

Definition at line 4104 of file options.c.

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

Definition at line 1676 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.

void print_dns_status ( int  ,
struct dhcp_ddns_cb ,
isc_result_t   
)
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 *  )

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_duid ( void  )

Definition at line 289 of file clparse.c.

void read_client_leases ( void  )

Definition at line 325 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_packet ( struct interface_info ,
unsigned char *  ,
size_t  ,
struct sockaddr_in *  ,
struct hardware  
)
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 994 of file discover.c.

void release_lease ( struct lease ,
struct packet  
)

Definition at line 1718 of file mdb.c.

isc_result_t release_lease6 ( struct ipv6_pool pool,
struct iasubopt lease 
)

Definition at line 1622 of file mdb6.c.

isc_result_t release_leases ( struct ia_xx ia)

Definition at line 2181 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 1444 of file mdb6.c.

isc_result_t renew_leases ( struct ia_xx ia)

Definition at line 2173 of file mdb6.c.

void report_jumbo_ranges ( )

Definition at line 2510 of file mdb6.c.

void repudiate_zone ( struct dns_zone **  )
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 3239 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 3391 of file options.c.

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

Definition at line 2684 of file options.c.

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

Definition at line 3712 of file options.c.

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

Definition at line 2663 of file options.c.

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

Definition at line 2390 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 2029 of file mdb6.c.

void schedule_lease_timeout ( struct ipv6_pool pool)

Definition at line 1986 of file mdb6.c.

int script_go ( struct client_state )

Definition at line 3962 of file dhclient.c.

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

Definition at line 3751 of file dhclient.c.

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

Definition at line 3823 of file dhclient.c.

void script_write_requested ( struct client_state )

Definition at line 3943 of file dhclient.c.

void send_decline ( void *  )

Definition at line 2708 of file dhclient.c.

void send_discover ( void *  )

Definition at line 2303 of file dhclient.c.

ssize_t send_fallback ( struct interface_info ,
struct packet ,
struct dhcp_packet ,
size_t  ,
struct in_addr  ,
struct sockaddr_in *  ,
struct hardware  
)
ssize_t send_fallback6 ( struct interface_info ,
struct packet ,
struct dhcp_packet ,
size_t  ,
struct in6_addr *  ,
struct sockaddr_in6 *  ,
struct hardware  
)
ssize_t send_packet ( struct interface_info ,
struct packet ,
struct dhcp_packet ,
size_t  ,
struct in_addr  ,
struct sockaddr_in *  ,
struct hardware  
)
ssize_t send_packet6 ( struct interface_info ,
const unsigned char *  ,
size_t  ,
struct sockaddr_in6 *   
)
void send_release ( void *  )

Definition at line 2731 of file dhclient.c.

void send_request ( void *  )

Definition at line 2526 of file dhclient.c.

isc_boolean_t server_duid_isset ( void  )
void set_broadcast_addr ( struct interface_info ,
struct in_addr   
)
void set_ip_address ( struct interface_info ,
struct in_addr   
)
void set_multicast_hop_limit ( struct interface_info info,
int  hop_limit 
)
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 2248 of file options.c.

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)
void set_time ( TIME  )

Definition at line 36 of file dispatch.c.

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

Definition at line 975 of file discover.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 77 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 1746 of file dhclient.c.

void state_init ( void *  )

Definition at line 1380 of file dhclient.c.

void state_panic ( void *  )

Definition at line 2416 of file dhclient.c.

void state_reboot ( void *  )

Definition at line 1338 of file dhclient.c.

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

Definition at line 1417 of file dhclient.c.

void state_stop ( void *  )

Definition at line 1788 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 2936 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 1123 of file options.c.

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

Definition at line 931 of file options.c.

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

Definition at line 920 of file mdb.c.

struct iaddr subnet_number ( struct iaddr  ,
struct iaddr   
)

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 *   
)
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  ,
int   
)

Definition at line 1095 of file mdb.c.

int supports_multiple_interfaces ( struct interface_info )
void tkey_free ( ns_tsig_key **  )
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 *   
)
void trace_conf_stop ( trace_type_t ttype)
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 2085 of file mdb.c.

void uid_hash_delete ( struct lease )

Definition at line 2152 of file mdb.c.

int unbill_class ( struct lease ,
struct class  
)

Definition at line 1273 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 4123 of file tree.c.

void update_partner ( struct lease )
void use_host_decl_name ( struct packet packet,
struct lease lease,
struct option_state options 
)

Adds hostname option when use-host-decl-names is enabled.

Constructs a hostname option from the name of the host declaration if there is one and no hostname has otherwise been provided and the use-host-decl-names flag is set, then adds the new option to the given option_state. This funciton is used for both bootp and dhcp.

Parameters
packetinbound packet received from the client
leaselease associated with the client
optionsoption state to search and update

Definition at line 5197 of file dhcp.c.

int validate_packet ( struct packet packet)

Checks if received BOOTP/DHCPv4 packet is sane

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

Definition at line 4298 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 3480 of file dhclient.c.

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

Definition at line 3607 of file dhclient.c.

void write_client_pid_file ( void  )

Definition at line 4158 of file dhclient.c.

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

Definition at line 3287 of file tree.c.

int write_failover_state ( dhcp_failover_state_t *  )
int write_group ( struct group_object )

Definition at line 450 of file db.c.

int write_host ( struct host_decl )

Definition at line 1821 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 1815 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 3301 of file dhclient.c.

int write_leases ( void  )

Definition at line 2383 of file mdb.c.

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

Definition at line 858 of file db.c.

int write_server_duid ( void  )
void write_statements ( FILE *  ,
struct executable_statement ,
int   
)

Definition at line 744 of file execute.c.

Variable Documentation

struct universe agent_universe

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 58 of file discover.c.

struct collection* collections

Definition at line 3084 of file dhcpd.h.

struct universe* config_universe

Definition at line 925 of file tables.c.

struct timeval cur_tv

Definition at line 35 of file dispatch.c.

int db_time_format

Definition at line 32 of file print.c.

struct enumeration ddns_styles

Definition at line 344 of file stables.c.

int ddns_update_style

Definition at line 79 of file dhcpd.c.

struct executable_statement* default_classification_rules

Definition at line 39 of file class.c.

struct collection default_collection

Definition at line 3083 of file dhcpd.h.

struct data_string default_duid

Definition at line 74 of file dhclient.c.

dhcp_control_object_t* dhcp_control_object

Definition at line 2358 of file dhcpd.h.

dhcp_failover_listener_t

Definition at line 3586 of file dhcpd.h.

const char* dhcp_flink_state_names[]
int(* dhcp_interface_discovery_hook) (struct interface_info *)

Definition at line 49 of file discover.c.

int(* dhcp_interface_setup_hook) (struct interface_info *, struct iaddr *)

Definition at line 48 of file discover.c.

int(* dhcp_interface_shutdown_hook) (struct interface_info *)

Definition at line 51 of file discover.c.

isc_result_t(* dhcp_interface_startup_hook) (struct interface_info *)

Definition at line 50 of file discover.c.

int dhcp_max_agent_option_packet_length

Definition at line 65 of file dhclient.c.

int dhcp_option_default_priority_list[]
int dhcp_option_default_priority_list_count
omapi_object_type_t* dhcp_type_class

Definition at line 46 of file omapi.c.

omapi_object_type_t* dhcp_type_control
omapi_object_type_t* dhcp_type_failover_link
omapi_object_type_t* dhcp_type_failover_listener
omapi_object_type_t* dhcp_type_failover_state
omapi_object_type_t* dhcp_type_group
omapi_object_type_t* dhcp_type_host

Definition at line 71 of file mdb.c.

omapi_object_type_t* dhcp_type_interface

Definition at line 71 of file discover.c.

omapi_object_type_t* dhcp_type_lease

Definition at line 44 of file omapi.c.

omapi_object_type_t* dhcp_type_pool

Definition at line 45 of file omapi.c.

omapi_object_type_t* dhcp_type_shared_network
omapi_object_type_t* dhcp_type_subclass

Definition at line 47 of file omapi.c.

omapi_object_type_t* dhcp_type_subnet
struct universe dhcp_universe
void(* dhcpv6_packet_handler) (struct interface_info *, const char *, int, int, const struct iaddr *, isc_boolean_t)
struct universe dhcpv6_universe

Definition at line 329 of file tables.c.

struct domain_search_list* domains

Definition at line 33 of file resolv.c.

int dont_use_fsync

Definition at line 80 of file dhcpd.c.

int duid_type

Definition at line 75 of file dhclient.c.

struct interface_info * dummy_interfaces

Definition at line 43 of file discover.c.

dhcp_failover_state_t* failover_states
struct interface_info * fallback_interface

Definition at line 43 of file discover.c.

const char* file

Definition at line 3615 of file dhcpd.h.

struct universe fqdn_universe

Definition at line 296 of file tables.c.

struct failover_option_info ft_options[]
int ft_sizes[]
u_int32_t fto_allowed[]
struct binding_scope* global_scope

Definition at line 39 of file tree.c.

group_hash_t* group_name_hash

Definition at line 32 of file memory.c.

int(* group_write_hook) (struct group_object *)

Definition at line 33 of file memory.c.

const char* hardware_types[256]

Definition at line 659 of file tables.c.

int have_billing_classes

Definition at line 41 of file class.c.

host_hash_t* host_hw_addr_hash

Definition at line 35 of file mdb.c.

host_hash_t* host_name_hash

Definition at line 37 of file mdb.c.

host_hash_t* host_uid_hash

Definition at line 36 of file mdb.c.

ia_hash_t* ia_na_active
ia_hash_t* ia_pd_active
ia_hash_t* ia_ta_active

Definition at line 35 of file icmp.c.

trace_type_t* inpacket_trace
int interface_count

Definition at line 78 of file discover.c.

int interface_max

Definition at line 79 of file discover.c.

trace_type_t* interface_trace
struct interface_info** interface_vector

Definition at line 77 of file discover.c.

struct interface_info* interfaces

Definition at line 43 of file discover.c.

int interfaces_requested

Definition at line 67 of file dhclient.c.

struct class known_class

Definition at line 3082 of file dhcpd.h.

lease_id_hash_t* lease_hw_addr_hash

Definition at line 40 of file mdb.c.

lease_ip_hash_t* lease_ip_addr_hash

Definition at line 39 of file mdb.c.

lease_id_hash_t* lease_uid_hash

Definition at line 38 of file mdb.c.

struct in_addr limited_broadcast

Definition at line 53 of file discover.c.

const char int line

Definition at line 3615 of file dhcpd.h.

struct in_addr local_address

Definition at line 56 of file discover.c.

int local_family

Definition at line 55 of file discover.c.

u_int16_t local_port

Definition at line 88 of file dhclient.c.

int max_ack_delay_secs

Definition at line 49 of file dhcp.c.

int max_ack_delay_usecs

Definition at line 50 of file dhcp.c.

int max_outstanding_acks

Definition at line 48 of file dhcp.c.

struct name_server* name_servers

Definition at line 32 of file resolv.c.

int nowait

Definition at line 95 of file dhclient.c.

failover_option_t null_failover_option
int num_pools
int numclasseswritten

Definition at line 69 of file mdb.c.

struct universe nwip_universe

Definition at line 268 of file tables.c.

trace_type_t* outpacket_trace
int outstanding_pings

Definition at line 41 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_duid

Definition at line 60 of file dhclient.c.

const char* path_dhclient_pid

Definition at line 57 of file dhclient.c.

char* path_dhclient_script

Definition at line 59 of file dhclient.c.

const char* path_dhcpd_conf

Definition at line 84 of file dhcpd.c.

const char* path_dhcpd_db

Definition at line 85 of file dhcpd.c.

const char* path_dhcpd_pid

Definition at line 86 of file dhcpd.c.

char path_resolv_conf[]

Definition at line 34 of file resolv.c.

struct ipv6_pool** pools
int prefix_length_mode

Definition at line 82 of file dhcpd.c.

struct enumeration prefix_length_modes

Definition at line 359 of file stables.c.

struct protocol* protocols
int quiet_interface_discovery

Definition at line 45 of file discover.c.

u_int16_t remote_port

Definition at line 89 of file dhclient.c.

struct group* root_group

Definition at line 31 of file memory.c.

struct eventqueue* rw_queue_empty

Definition at line 37 of file dispatch.c.

int server_id_check

Definition at line 81 of file dhcpd.c.

struct universe server_universe

Definition at line 175 of file stables.c.

struct shared_network* shared_networks

Definition at line 34 of file mdb.c.

enum dhcp_shutdown_state shutdown_state

Definition at line 1316 of file dhcpd.c.

failover_option_t skip_failover_option
struct subnet* subnets

Definition at line 33 of file mdb.c.

struct enumeration syslog_enum

Definition at line 429 of file stables.c.

struct timeout* timeouts

Definition at line 33 of file dispatch.c.

struct client_config top_level_config

Definition at line 32 of file clparse.c.

int universe_count

Definition at line 919 of file tables.c.

universe_hash_t* universe_hash

Definition at line 917 of file tables.c.

int universe_max

Definition at line 919 of file tables.c.

struct universe** universes

Definition at line 918 of file tables.c.

struct class unknown_class

Definition at line 3081 of file dhcpd.h.

lease_id_hash_t extern struct option* vendor_cfg_option

Definition at line 1755 of file dhcpd.h.

struct universe vsio_universe

Definition at line 646 of file tables.c.

int wanted_ia_na

Definition at line 97 of file dhclient.c.

int wanted_ia_pd

Definition at line 99 of file dhclient.c.

int wanted_ia_ta

Definition at line 98 of file dhclient.c.