48#define IFNAMSIZ MAX_INTERFACE_NAME_LEN
51#define ETHER_ADDR_LEN ETH_ALEN
72#define IP_OFFMASK 0x1fff
86#define ETHERTYPE_IP 0x0800
87#define IPTOS_LOWDELAY 0x10
91#define SIZE_T_MAX 1600
93#define USE_SOCKET_RECEIVE
94#define USE_SOCKET_SEND
113#define REMOTE_PORT 67
160 struct iaddr serveraddress;
259#define DEFAULT_HASH_SIZE 97
274#define _PATH_DHCLIENT_CONF "/etc/dhclient.conf"
275#define _PATH_DHCLIENT_DB "/var/db/dhclient.leases"
276#define DHCPD_LOG_FACILITY LOG_DAEMON
278#define MAX_TIME 0x7fffffff
287 unsigned char *,
int,
int,
int);
294void error(
char *, ...);
296int note(
char *, ...);
297int debug(
char *, ...);
336void dfree(
void *,
char *);
434 const char *,
const char *,
const char *, ...);
451 unsigned int,
unsigned char *,
int);
454 unsigned char *,
int);
void assemble_udp_ip_header(unsigned char *, int *, u_int32_t, u_int32_t, unsigned int, unsigned char *, int)
void state_reboot(void *)
void make_discover(struct interface_info *, struct client_lease *)
ssize_t decode_ethernet_header(struct interface_info *, unsigned char *, int, struct hardware *)
struct client_lease * packet_to_lease(struct packet *)
void parse_lease_time(FILE *, time_t *)
ssize_t buf_read(int, void *, size_t)
void bootp(struct packet *)
struct string_list * new_string_list(size_t size)
void putLong(unsigned char *, int32_t)
struct iaddr broadcast_addr(struct iaddr, struct iaddr)
ssize_t send_packet(struct interface_info *, struct dhcp_packet *, size_t, struct in_addr, struct sockaddr_in *, struct hardware *)
int parse_option_list(FILE *, u_int8_t *)
void int int note(char *,...) __attribute__((__format__(__printf__
void skip_to_semi(FILE *)
void send_decline(void *)
void reinitialize_interfaces(void)
void parse_client_lease_statement(FILE *, int)
void client_location_changed(void)
int read_client_conf(struct interface_info *)
void putUShort(unsigned char *, unsigned int)
void make_request(struct interface_info *, struct client_lease *)
int parse_X(FILE *, u_int8_t *, int)
void dfree(void *, char *)
int16_t getShort(unsigned char *)
void initialize_universes(void)
void parse_interface_declaration(FILE *, struct client_config *)
unsigned char * hash_lookup(struct hash_table *, unsigned char *, int)
void parse_client_lease_declaration(FILE *, struct client_lease *, struct interface_info **)
void dispatch(HANDLE hStopEvent)
void dhcpnak(struct packet *)
void write_client_lease(struct interface_info *, struct client_lease *, int)
u_int16_t getUShort(unsigned char *)
void dhcpack(struct packet *)
int sizeof_dhcp_option_default_priority_list
void make_decline(struct interface_info *, struct client_lease *)
char * path_dhclient_conf
unsigned char dhcp_option_default_priority_list[]
struct hash_table universe_hash
void priv_script_init(struct interface_info *, char *, char *)
void make_client_config(struct interface_info *, struct client_config *)
int cons_options(struct packet *, struct dhcp_packet *, int, struct tree_cache **)
void state_selecting(void *)
void parse_client_statement(FILE *, struct interface_info *, struct client_config *)
struct iaddr subnet_number(struct iaddr, struct iaddr)
void assemble_ethernet_header(struct interface_info *, unsigned char *, int *, struct hardware *)
int addr_eq(struct iaddr, struct iaddr)
int peek_token(char **, FILE *)
char * parse_string(FILE *)
void int int int int int lexline
int interface_link_status(char *)
struct buf * buf_open(size_t)
void free_client_lease(struct client_lease *)
void add_timeout(time_t, void(*)(void *), void *)
void parse_hardware_param(FILE *, struct hardware *)
void discover_interfaces(struct interface_info *)
struct dhcp_option * parse_option_decl(FILE *, struct option_data *)
u_int32_t getULong(unsigned char *)
ssize_t receive_packet(struct interface_info *, unsigned char *, size_t, struct sockaddr_in *, struct hardware *)
void priv_script_write_params(struct interface_info *, char *, struct client_lease *)
void convert_num(unsigned char *, char *, int, int)
struct hash_table * new_hash_table(int)
time_t parse_date(FILE *)
void add_protocol(char *, int, void(*)(struct protocol *), void *)
void rewrite_client_leases(struct interface_info *)
void dhcp(struct packet *)
struct universe dhcp_universe
char * piaddr(struct iaddr)
ssize_t decode_udp_ip_header(unsigned char *, int, struct sockaddr_in *, unsigned char *, int)
int parse_ip_addr(FILE *, struct iaddr *)
void dhcpoffer(struct packet *)
unsigned char * parse_numeric_aggregate(FILE *, unsigned char *, int *, int, int, int)
void if_register_receive(struct interface_info *)
void got_one(struct protocol *)
struct protocol * find_protocol_by_adapter(struct interface_info *)
void assemble_hw_header(struct interface_info *, unsigned char *, int *, struct hardware *)
void state_requesting(void *)
void make_client_state(struct interface_info *)
void do_packet(struct interface_info *, struct dhcp_packet *, int, unsigned int, struct iaddr, struct hardware *)
void int int int int int lexchar
struct hash_table * new_hash(void)
int buf_add(struct buf *, void *, size_t)
void script_flush_env(struct client_state *)
void bind_lease(struct interface_info *)
void putShort(unsigned char *, int)
struct client_config top_level_config
int32_t getLong(unsigned char *)
void script_init(char *, struct string_list *)
int buf_close(int, struct buf *)
void remove_protocol(struct protocol *)
int next_token(char **, FILE *)
void free_hash_bucket(struct hash_bucket *, char *)
void client_envadd(struct client_state *, const char *, const char *, const char *,...)
void parse_reject_statement(FILE *, struct client_config *)
#define DEFAULT_HASH_SIZE
struct interface_info * interface_or_dummy(char *)
ssize_t decode_hw_header(unsigned char *, int, struct hardware *)
char * pretty_print_option(unsigned int, unsigned char *, int, int, int)
void script_set_env(struct client_state *, const char *, const char *, const char *)
void add_hash(struct hash_table *, unsigned char *, int, unsigned char *)
struct hash_bucket * new_hash_bucket(void)
void read_client_leases(void)
void(* bootp_packet_handler)(struct interface_info *, struct dhcp_packet *, int, unsigned int, struct iaddr, struct hardware *)
void putULong(unsigned char *, u_int32_t)
int if_register_bpf(struct interface_info *)
struct dhcp_option dhcp_options[256]
void script_write_params(char *, struct client_lease *)
void int int int int parse_warn(char *,...) __attribute__((__format__(__printf__
void if_register_send(struct interface_info *)
void send_discover(void *)
void parse_string_list(FILE *, struct string_list **, int)
void cancel_timeout(void(*)(void *), void *)
int dhcp_option_ev_name(char *, size_t, struct dhcp_option *)
unsigned int(__cdecl typeof(jpeg_read_scanlines))(struct jpeg_decompress_struct *
GLenum GLuint GLenum GLsizei const GLchar * buf
GLenum const GLvoid * addr
u_int8_t requested_options[256]
enum client_config::@26 bootp_policy
struct option_data send_options[256]
enum client_config::@25 default_actions[256]
struct iaddrlist * reject_list
struct string_list * medium
struct string_list * media
u_int8_t required_options[256]
int requested_option_count
struct option_data defaults[256]
struct string_list * medium
struct client_lease * next
struct client_lease * alias
struct client_lease * active
struct client_config * config
struct client_lease * leases
struct iaddr requested_address
struct client_lease * offered_leases
struct string_list * medium
struct hash_bucket * next
struct hash_bucket * buckets[DEFAULT_HASH_SIZE]
struct interface_info * next
struct client_state * client
struct hardware hw_address
struct in_addr primary_address
struct in_addr ip_src ip_dst
struct interface_info * interface
void(* handler)(struct protocol *)
struct string_list * next