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 88 #define ARPHRD_ETHER 1 91 #define SIZE_T_MAX 1600 93 #define USE_SOCKET_RECEIVE 94 #define USE_SOCKET_SEND 112 #define LOCAL_PORT 68 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);
294 void error(
char *, ...);
296 int note(
char *, ...);
297 int debug(
char *, ...);
326 void convert_num(
unsigned char *,
char *,
int,
int);
336 void dfree(
void *,
char *);
383 void putUShort(
unsigned char *,
unsigned int);
384 void putShort(
unsigned char *,
int);
434 const char *,
const char *,
const char *, ...);
451 unsigned int,
unsigned char *,
int);
454 unsigned char *,
int);
void got_one(struct protocol *)
void if_register_send(struct interface_info *)
void assemble_ethernet_header(struct interface_info *, unsigned char *, int *, struct hardware *)
ssize_t buf_read(int, void *, size_t)
struct string_list * next
struct client_lease * alias
struct hash_bucket * buckets[DEFAULT_HASH_SIZE]
void add_protocol(char *, int, void(*)(struct protocol *), void *)
int parse_option_list(FILE *, u_int8_t *)
void parse_client_lease_statement(FILE *, int)
void int int int debug(char *,...) __attribute__((__format__(__printf__
struct png_info_def **typedef void(__cdecl typeof(png_destroy_read_struct))(struct png_struct_def **
ssize_t decode_ethernet_header(struct interface_info *, unsigned char *, int, struct hardware *)
void int int int int parse_warn(char *,...) __attribute__((__format__(__printf__
void int warning(char *,...) __attribute__((__format__(__printf__
void parse_lease_time(FILE *, time_t *)
struct buf * buf_open(size_t)
void add_hash(struct hash_table *, unsigned char *, int, unsigned char *)
void dhcpack(struct packet *)
struct dhcp_option dhcp_options[256]
void bootp(struct packet *)
void parse_string_list(FILE *, struct string_list **, int)
struct interface_info * interface_or_dummy(char *)
struct client_config top_level_config
void dispatch(HANDLE hStopEvent)
struct iaddr requested_address
u_int8_t required_options[256]
struct in_addr ip_src ip_dst
struct client_state * client
void putUShort(unsigned char *, unsigned int)
struct hash_table universe_hash
void error(char *,...) __attribute__((__format__(__printf__
struct hash_table * new_hash(void)
ssize_t decode_hw_header(unsigned char *, int, struct hardware *)
struct universe dhcp_universe
#define DEFAULT_HASH_SIZE
int next_token(char **, FILE *)
void bind_lease(struct interface_info *)
void read_client_leases(void)
void assemble_hw_header(struct interface_info *, unsigned char *, int *, struct hardware *)
void script_write_params(char *, struct client_lease *)
void cancel_timeout(void(*)(void *), void *)
void client_location_changed(void)
void putULong(unsigned char *, u_int32_t)
int32_t getLong(unsigned char *)
ssize_t send_packet(struct interface_info *, struct dhcp_packet *, size_t, struct in_addr, struct sockaddr_in *, struct hardware *)
void state_reboot(void *)
struct hash_table * new_hash_table(int)
void state_selecting(void *)
void write_client_lease(struct interface_info *, struct client_lease *, int)
int addr_eq(struct iaddr, struct iaddr)
void reinitialize_interfaces(void)
int buf_add(struct buf *, void *, size_t)
GLenum GLuint GLenum GLsizei const GLchar * buf
struct in_addr primary_address
void discover_interfaces(struct interface_info *)
int read_client_conf(struct interface_info *)
void putShort(unsigned char *, int)
char * pretty_print_option(unsigned int, unsigned char *, int, int, int)
void make_decline(struct interface_info *, struct client_lease *)
void send_discover(void *)
void dhcp(struct packet *)
void add_timeout(time_t, void(*)(void *), void *)
struct hash_bucket * next
void int int int int int lexchar
void script_set_env(struct client_state *, const char *, const char *, const char *)
struct iaddr subnet_number(struct iaddr, struct iaddr)
void do_packet(struct interface_info *, struct dhcp_packet *, int, unsigned int, struct iaddr, struct hardware *)
struct iaddrlist * reject_list
struct string_list * medium
void make_discover(struct interface_info *, struct client_lease *)
void send_request(void *)
void state_requesting(void *)
int parse_ip_addr(FILE *, struct iaddr *)
void free_client_lease(struct client_lease *)
void script_flush_env(struct client_state *)
enum client_config::@23 bootp_policy
struct interface_info * interface
void make_client_state(struct interface_info *)
int requested_option_count
void rewrite_client_leases(struct interface_info *)
time_t parse_date(FILE *)
void priv_script_write_params(struct interface_info *, char *, struct client_lease *)
struct client_lease * packet_to_lease(struct packet *)
struct client_lease * next
void dfree(void *, char *)
int sizeof_dhcp_option_default_priority_list
struct hardware hw_address
void client_envadd(struct client_state *, const char *, const char *, const char *,...)
void assemble_udp_ip_header(unsigned char *, int *, u_int32_t, u_int32_t, unsigned int, unsigned char *, int)
char * piaddr(struct iaddr)
void dhcpnak(struct packet *)
u_int16_t getUShort(unsigned char *)
void putLong(unsigned char *, int32_t)
void make_client_config(struct interface_info *, struct client_config *)
void priv_script_init(struct interface_info *, char *, char *)
void int int note(char *,...) __attribute__((__format__(__printf__
struct option_data defaults[256]
u_int8_t requested_options[256]
GLenum const GLvoid * addr
struct client_lease * active
enum client_config::@22 default_actions[256]
void initialize_universes(void)
struct interface_info * next
struct hash_bucket * new_hash_bucket(void)
void convert_num(unsigned char *, char *, int, int)
void parse_hardware_param(FILE *, struct hardware *)
struct string_list * new_string_list(size_t size)
void int int int int int lexline
void script_init(char *, struct string_list *)
void dhcpoffer(struct packet *)
unsigned char * hash_lookup(struct hash_table *, unsigned char *, int)
struct client_lease * offered_leases
char * parse_string(FILE *)
int peek_token(char **, FILE *)
void parse_client_statement(FILE *, struct interface_info *, struct client_config *)
struct string_list * media
struct iaddr broadcast_addr(struct iaddr, struct iaddr)
int buf_close(int, struct buf *)
void send_decline(void *)
struct string_list * medium
ssize_t decode_udp_ip_header(unsigned char *, int, struct sockaddr_in *, unsigned char *, int)
struct client_config * config
void parse_client_lease_declaration(FILE *, struct client_lease *, struct interface_info **)
ssize_t receive_packet(struct interface_info *, unsigned char *, size_t, struct sockaddr_in *, struct hardware *)
void make_request(struct interface_info *, struct client_lease *)
void(* handler)(struct protocol *)
struct string_list * medium
int parse_X(FILE *, u_int8_t *, int)
int interface_link_status(char *)
void(* bootp_packet_handler)(struct interface_info *, struct dhcp_packet *, int, unsigned int, struct iaddr, struct hardware *)
void if_register_receive(struct interface_info *)
void remove_protocol(struct protocol *)
struct option_data send_options[256]
unsigned char dhcp_option_default_priority_list[]
struct client_lease * leases
void parse_reject_statement(FILE *, struct client_config *)
void free_hash_bucket(struct hash_bucket *, char *)
unsigned char * parse_numeric_aggregate(FILE *, unsigned char *, int *, int, int, int)
struct dhcp_option * parse_option_decl(FILE *, struct option_data *)
u_int32_t getULong(unsigned char *)
struct protocol * find_protocol_by_adapter(struct interface_info *)
int16_t getShort(unsigned char *)
void skip_to_semi(FILE *)
int if_register_bpf(struct interface_info *)
int dhcp_option_ev_name(char *, size_t, struct dhcp_option *)
char * path_dhclient_conf
unsigned int(__cdecl typeof(jpeg_read_scanlines))(struct jpeg_decompress_struct *
void parse_interface_declaration(FILE *, struct client_config *)
int cons_options(struct packet *, struct dhcp_packet *, int, struct tree_cache **)