⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 dhcpd.h

📁 DHCP服务器源码
💻 H
📖 第 1 页 / 共 5 页
字号:
/* conflex.c */isc_result_t new_parse PROTO ((struct parse **, int,			       char *, unsigned, const char *, int));isc_result_t end_parse PROTO ((struct parse **));enum dhcp_token next_token PROTO ((const char **, unsigned *, struct parse *));enum dhcp_token peek_token PROTO ((const char **, unsigned *, struct parse *));/* confpars.c */void parse_trace_setup (void);isc_result_t readconf PROTO ((void));isc_result_t read_conf_file (const char *, struct group *, int, int);#if defined (TRACING)void trace_conf_input (trace_type_t *, unsigned, char *);void trace_conf_stop (trace_type_t *ttype);#endifisc_result_t conf_file_subparse (struct parse *, struct group *, int);isc_result_t lease_file_subparse (struct parse *);int parse_statement PROTO ((struct parse *,			    struct group *, int, struct host_decl *, int));#if defined (FAILOVER_PROTOCOL)void parse_failover_peer PROTO ((struct parse *, struct group *, int));void parse_failover_state_declaration (struct parse *,				       dhcp_failover_state_t *);void parse_failover_state PROTO ((struct parse *,				  enum failover_state *, TIME *));#endifint permit_list_match (struct permit *, struct permit *);void parse_pool_statement PROTO ((struct parse *, struct group *, int));int parse_boolean PROTO ((struct parse *));int parse_lbrace PROTO ((struct parse *));void parse_host_declaration PROTO ((struct parse *, struct group *));int parse_class_declaration PROTO ((struct class **, struct parse *,				    struct group *, int));void parse_shared_net_declaration PROTO ((struct parse *, struct group *));void parse_subnet_declaration PROTO ((struct parse *,				      struct shared_network *));void parse_group_declaration PROTO ((struct parse *, struct group *));int parse_fixed_addr_param PROTO ((struct option_cache **, struct parse *));TIME parse_timestamp PROTO ((struct parse *));int parse_lease_declaration PROTO ((struct lease **, struct parse *));void parse_address_range PROTO ((struct parse *, struct group *, int,				 struct pool *, struct lease **));/* ddns.c */int ddns_updates PROTO ((struct packet *, struct lease *, struct lease *,			 struct lease_state *));int ddns_removals PROTO ((struct lease *));/* parse.c */void add_enumeration (struct enumeration *);struct enumeration *find_enumeration (const char *, int);struct enumeration_value *find_enumeration_value (const char *, int,						  const char *);void skip_to_semi PROTO ((struct parse *));void skip_to_rbrace PROTO ((struct parse *, int));int parse_semi PROTO ((struct parse *));int parse_string PROTO ((struct parse *, char **, unsigned *));char *parse_host_name PROTO ((struct parse *));int parse_ip_addr_or_hostname PROTO ((struct expression **,				      struct parse *, int));void parse_hardware_param PROTO ((struct parse *, struct hardware *));void parse_lease_time PROTO ((struct parse *, TIME *));unsigned char *parse_numeric_aggregate PROTO ((struct parse *,					       unsigned char *, unsigned *,					       int, int, unsigned));void convert_num PROTO ((struct parse *, unsigned char *, const char *,			 int, unsigned));TIME parse_date PROTO ((struct parse *));struct option *parse_option_name PROTO ((struct parse *, int, int *));void parse_option_space_decl PROTO ((struct parse *));int parse_option_code_definition PROTO ((struct parse *, struct option *));int parse_base64 (struct data_string *, struct parse *);int parse_cshl PROTO ((struct data_string *, struct parse *));int parse_executable_statement PROTO ((struct executable_statement **,				       struct parse *, int *,				       enum expression_context));int parse_executable_statements PROTO ((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 PROTO ((struct executable_statement **,			       struct parse *, int *));int parse_switch_statement PROTO ((struct executable_statement **,				   struct parse *, int *));int parse_case_statement PROTO ((struct executable_statement **,				 struct parse *, int *,				 enum expression_context));int parse_if_statement PROTO ((struct executable_statement **,			       struct parse *, int *));int parse_boolean_expression PROTO ((struct expression **,				     struct parse *, int *));int parse_data_expression PROTO ((struct expression **,				  struct parse *, int *));int parse_numeric_expression PROTO ((struct expression **,				     struct parse *, int *));int parse_dns_expression PROTO ((struct expression **, struct parse *, int *));int parse_non_binary PROTO ((struct expression **, struct parse *, int *,			     enum expression_context));int parse_expression PROTO ((struct expression **, struct parse *, int *,			     enum expression_context,			     struct expression **, enum expr_op));int parse_option_statement PROTO ((struct executable_statement **,				   struct parse *, int,				   struct option *, enum statement_op));int parse_option_token PROTO ((struct expression **, struct parse *,			       const char **, struct expression *, int, int));int parse_allow_deny PROTO ((struct option_cache **, struct parse *, int));int parse_auth_key PROTO ((struct data_string *, struct parse *));int parse_warn (struct parse *, const char *, ...)	__attribute__((__format__(__printf__,2,3)));/* tree.c */#if defined (NSUPDATE)extern struct __res_state resolver_state;extern int resolver_inited;#endifextern struct binding_scope *global_scope;pair cons PROTO ((caddr_t, pair));int make_const_option_cache PROTO ((struct option_cache **, struct buffer **,				    u_int8_t *, unsigned, struct option *,				    const char *, int));int make_host_lookup PROTO ((struct expression **, const char *));int enter_dns_host PROTO ((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 PROTO ((struct expression **, unsigned long));int make_concat PROTO ((struct expression **,			struct expression *, struct expression *));int make_encapsulation PROTO ((struct expression **, struct data_string *));int make_substring PROTO ((struct expression **, struct expression *,			   struct expression *, struct expression *));int make_limit PROTO ((struct expression **, struct expression *, int));int make_let PROTO ((struct executable_statement **, const char *));int option_cache PROTO ((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);#if defined (NSUPDATE)int evaluate_dns_expression PROTO ((ns_updrec **, struct packet *,				    struct lease *, 				    struct client_state *,				    struct option_state *,				    struct option_state *,				    struct binding_scope **,				    struct expression *));#endifint evaluate_boolean_expression PROTO ((int *,					struct packet *,  struct lease *,					struct client_state *,					struct option_state *,					struct option_state *,					struct binding_scope **,					struct expression *));int evaluate_data_expression PROTO ((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 PROTO ((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 PROTO ((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 PROTO ((int *,					       struct packet *, struct lease *,					       struct client_state *,					       struct option_state *,					       struct option_state *,					       struct binding_scope **,					       struct expression *));void expression_dereference PROTO ((struct expression **, const char *, int));int is_dns_expression PROTO ((struct expression *));int is_boolean_expression PROTO ((struct expression *));int is_data_expression PROTO ((struct expression *));int is_numeric_expression PROTO ((struct expression *));int is_compound_expression PROTO ((struct expression *));int op_precedence PROTO ((enum expr_op, enum expr_op));enum expression_context expression_context (struct expression *);enum expression_context op_context PROTO ((enum expr_op));int write_expression PROTO ((FILE *, struct expression *, int, int, int));struct binding *find_binding PROTO ((struct binding_scope *, const char *));int free_bindings PROTO ((struct binding_scope *, const char *, int));int binding_scope_dereference PROTO ((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 binding *create_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 *);/* dhcp.c */extern int outstanding_pings;void dhcp PROTO ((struct packet *));void dhcpdiscover PROTO ((struct packet *, int));void dhcprequest PROTO ((struct packet *, int, struct lease *));void dhcprelease PROTO ((struct packet *, int));void dhcpdecline PROTO ((struct packet *, int));void dhcpinform PROTO ((struct packet *, int));void nak_lease PROTO ((struct packet *, struct iaddr *cip));void ack_lease PROTO ((struct packet *, struct lease *,		       unsigned int, TIME, char *, int));void dhcp_reply PROTO ((struct lease *));int find_lease PROTO ((struct lease **, struct packet *,		       struct shared_network *, int *, int *, struct lease *,		       const char *, int));int mockup_lease PROTO ((struct lease **, struct packet *,			 struct shared_network *,			 struct host_decl *));void static_lease_dereference PROTO ((struct lease *, const char *, int));int allocate_lease PROTO ((struct lease **, struct packet *,			   struct pool *, int *));int permitted PROTO ((struct packet *, struct permit *));int locate_network PROTO ((struct packet *));int parse_agent_information_option PROTO ((struct packet *, int, u_int8_t *));unsigned cons_agent_information_options PROTO ((struct option_state *,						struct dhcp_packet *,						unsigned, unsigned));/* bootp.c */void bootp PROTO ((struct packet *));/* memory.c */int (*group_write_hook) (struct group_object *);extern struct group *root_group;extern group_hash_t *group_name_hash;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 PROTO ((struct group_object *));/* salloc.c */void relinquish_lease_hunks (void);struct lease *new_leases PROTO ((unsigned, const char *, int));#if defined (DEBUG_MEMORY_LEAKAGE) || \		defined (DEBUG_MEMORY_LEAKAGE_ON_EXIT)void relinquish_free_lease_states (void);#endifOMAPI_OBJECT_ALLOC_DECL (lease, struct lease, dhcp_type_lease)OMAPI_OBJECT_ALLOC_DECL (class, struct class, dhcp_type_class)OMAPI_OBJECT_ALLOC_DECL (pool, struct pool, dhcp_type_pool)OMAPI_OBJECT_ALLOC_DECL (host, struct host_decl, dhcp_type_host)/* alloc.c */OMAPI_OBJECT_ALLOC_DECL (subnet, struct subnet, dhcp_type_subnet)OMAPI_OBJECT_ALLOC_DECL (shared_network, struct shared_network,			 dhcp_type_shared_network)OMAPI_OBJECT_ALLOC_DECL (group_object, struct group_object, dhcp_type_group)OMAPI_OBJECT_ALLOC_DECL (dhcp_control,			 dhcp_control_object_t, dhcp_type_control)#if defined (DEBUG_MEMORY_LEAKAGE) || \		defined (DEBUG_MEMORY_LEAKAGE_ON_EXIT)void relinquish_free_pairs (void);void relinquish_free_expressions (void);void relinquish_free_binding_values (void);void relinquish_free_option_caches (void);void relinquish_free_packets (void);#endifint 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_packet *new_dhcp_packet PROTO ((const char *, int));struct protocol *new_protocol PROTO ((const char *, int));struct lease_state *new_lease_state PROTO ((const char *, int));struct domain_search_list *new_domain_search_list PROTO ((const char *, int));struct name_server *new_name_server PROTO ((const char *, int));void free_name_server PROTO ((struct name_server *, const char *, int));struct option *new_option PROTO ((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);void free_option PROTO ((struct option *, const char *, int));struct universe *new_universe PROTO ((const char *, int));void free_universe PROTO ((struct universe *, const char *, int));void free_domain_search_list PROTO ((struct domain_search_list *,				     const char *, int));void free_lease_state PROTO ((struct lease_state *, const char *, int));void free_protocol PROTO ((struct protocol *, const char *, int));void free_dhcp_packet PROTO ((struct dhcp_packet *, const char *, int));struct client_lease *new_client_lease PROTO ((const char *, int));void free_client_lease PROTO ((struct client_lease *, const char *, int));struct permit *new_permit PROTO ((const char *, int));void free_permit PROTO ((struct permit *, const char *, int));pair new_pair PROTO ((const char *, int));void free_pair PROTO ((pair, const char *, int));int expression_allocate PROTO ((struct expression **, const char *, int));int expression_reference PROTO ((struct expression **,				 struct expression *, const char *, int));void free_expression PROTO ((struct expression *, const char *, int));int binding_value_allocate PROTO ((struct binding_value **,				   const char *, int));int binding_value_reference PROTO ((struct binding_value **,				    struct binding_value *,				    const char *, int));void free_binding_value PROTO ((struct binding_value *, const char *, int));int fundef_allocate PROTO ((struct fundef **, const char *, int));int fundef_reference PROTO ((struct fundef **,			     struct fundef *, const char *, int));int option_cache_allocate PROTO ((struct option_cache **, const char *, int));int option_cache_reference PROTO ((struct option_cache **,				   struct option_cache *, const char *, int));int buffer_allocate PROTO ((struct buffer **, unsigned, const char *, int));int buffer_reference PROTO ((struct buffer **, struct buffer *,			     const char *, int));int buffer_dereference PROTO ((struct buffer **, const char *, int));int dns_host_entry_allocate PROTO ((struct dns_host_entry **,				    const char *, const char *, int));int dns_host_entry_reference PROTO ((struct dns_host_entry **,				     struct dns_host_entry *,				     const char *, int));int dns_host_entry_dereference PROTO ((struct dns_host_entry **,				       const char *, int));int option_state_allocate PROTO ((struct option_state **, const char *, int));int option_state_reference PROTO ((struct option_state **,				   struct option_state *, const char *, int));int option_state_dereference PROTO ((struct option_state **,				     const char *, int));void data_string_copy PROTO ((struct data_string *,			      struct data_string *, const char *, int));void data_string_forget PROTO ((struct data_string *, const char *, int));void data_string_truncate PROTO ((struct data_string *, int));int executable_statement_allocate PROTO ((struct executable_statement **,					  const char *, int));int executable_statement_reference PROTO ((struct executable_statement **,					   struct executable_statement *,					   const char *, int));int packet_allocate PROTO ((struct packet **, const char *, int));int packet_reference PROTO ((struct packet **,			     struct packet *, const char *, int));int packet_dereference PROTO ((struct packet **, const char *, int));int binding_scope_allocate PROTO ((struct binding_scope **,				   const char *, int));int binding_scope_reference PROTO ((struct binding_scope **,				    struct binding_scope *,				    const char *, int));int dns_zone_allocate PROTO ((struct dns_zone **, const char *, int));int dns_zone_reference PROTO ((struct dns_zone **,			       struct dns_zone *, const char *, int));/* print.c */char *quotify_string (const char *, const char *, int);

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -