📄 dhcpd.h
字号:
/* 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 + -