From: Ted Lemon Date: Tue, 16 Sep 1997 18:16:55 +0000 (+0000) Subject: Prototype new functions. New argument for cons_options. New definitions for autom... X-Git-Tag: NetBSD_1_3_Alpha~24 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=5a526cf8fa29dfefe27234baedfd6260d6c558e2;p=thirdparty%2Fdhcp.git Prototype new functions. New argument for cons_options. New definitions for automatic/manual interface selection. --- diff --git a/includes/dhcpd.h b/includes/dhcpd.h index 3b708800a..8c6946495 100644 --- a/includes/dhcpd.h +++ b/includes/dhcpd.h @@ -44,6 +44,7 @@ #include #include #include +#include #include #include #else @@ -65,6 +66,7 @@ #include "tree.h" #include "hash.h" #include "inet.h" +#include "systat.h" struct option_data { int len; @@ -177,6 +179,7 @@ struct lease_state { #define DISCOVER_SERVER 1 #define DISCOVER_UNCONFIGURED 2 #define DISCOVER_RELAY 3 +#define DISCOVER_REQUESTED 4 /* Group of declarations that share common parameters. */ struct group { @@ -356,6 +359,7 @@ struct interface_info { struct ifreq *ifp; /* Pointer to ifreq struct. */ u_int32_t flags; /* Control flags... */ #define INTERFACE_REQUESTED 1 +#define INTERFACE_AUTOMATIC 2 /* Only used by DHCP client code. */ struct client_state *client; @@ -445,7 +449,7 @@ typedef unsigned char option_mask [16]; void parse_options PROTO ((struct packet *)); void parse_option_buffer PROTO ((struct packet *, unsigned char *, int)); int cons_options PROTO ((struct packet *, struct dhcp_packet *, - struct tree_cache **, int, int)); + struct tree_cache **, int, int, int)); int store_options PROTO ((unsigned char *, int, struct tree_cache **, unsigned char *, int, int, int, int)); char *pretty_print_option PROTO ((unsigned int, @@ -740,6 +744,8 @@ void cancel_timeout PROTO ((void (*) PROTO ((void *)), void *)); void add_protocol PROTO ((char *, int, void (*) PROTO ((struct protocol *)), void *)); +void remove_protocol PROTO ((struct protocol *)); + /* hash.c */ struct hash_table *new_hash PROTO ((void)); void add_hash PROTO ((struct hash_table *, char *, int, unsigned char *)); @@ -776,6 +782,7 @@ char *piaddr PROTO ((struct iaddr)); extern char *path_dhclient_conf; extern char *path_dhclient_db; extern char *path_dhclient_pid; +extern int interfaces_requested; extern struct client_config top_level_config; @@ -816,6 +823,9 @@ int script_go PROTO ((struct interface_info *)); struct client_lease *packet_to_lease PROTO ((struct packet *)); void go_daemon PROTO ((void)); +void write_client_pid_file PROTO ((void)); +void status_message PROTO ((struct systat_header *, void *)); +void client_location_changed PROTO ((void)); /* db.c */ int write_lease PROTO ((struct lease *)); @@ -922,3 +932,8 @@ struct sockaddr_in *pick_name_server PROTO ((void)); #ifdef NEED_INET_ATON int inet_aton PROTO ((char *, struct in_addr *)); #endif + +/* systat.c */ +void systat_startup PROTO ((void (*) (struct systat_header *, void *))); +void systat_restart PROTO ((void *)); +void systat_message PROTO ((struct protocol *proto));