ISC DHCP  4.3.0
A reference DHCPv4 and DHCPv6 implementation
parse.c File Reference
#include "dhcpd.h"
#include <syslog.h>

Go to the source code of this file.

Functions

void add_enumeration (struct enumeration *enumeration)
 
struct enumerationfind_enumeration (const char *name, int length)
 
struct enumeration_valuefind_enumeration_value (const char *name, int length, unsigned *widthp, const char *value)
 
void skip_to_semi (struct parse *cfile)
 
void skip_to_rbrace (struct parse *cfile, int brace_count)
 
int parse_semi (struct parse *cfile)
 
int parse_string (struct parse *cfile, char **sptr, unsigned *lptr)
 
char * parse_host_name (struct parse *cfile)
 
int parse_ip_addr_or_hostname (struct expression **expr, struct parse *cfile, int uniform)
 
int parse_ip_addr (struct parse *cfile, struct iaddr *addr)
 
int parse_destination_descriptor (struct parse *cfile, struct iaddr *addr)
 
int parse_ip6_addr (struct parse *cfile, struct iaddr *addr)
 
int parse_ip6_addr_expr (struct expression **expr, struct parse *cfile)
 
int parse_ip6_prefix (struct parse *cfile, struct iaddr *addr, u_int8_t *plen)
 
int parse_ip_addr_with_subnet (struct parse *cfile, struct iaddrmatch *match)
 
void parse_hardware_param (struct parse *cfile, struct hardware *hardware)
 
void parse_lease_time (struct parse *cfile, TIME *timep)
 
unsigned char * parse_numeric_aggregate (struct parse *cfile, unsigned char *buf, unsigned *max, int separator, int base, unsigned size)
 
void convert_num (struct parse *cfile, unsigned char *buf, const char *str, int base, unsigned size)
 
TIME parse_date_core (struct parse *cfile)
 
TIME parse_date (struct parse *cfile)
 
isc_result_t parse_option_name (struct parse *cfile, int allocate, int *known, struct option **opt)
 
void parse_option_space_decl (struct parse *cfile)
 
int parse_option_code_definition (struct parse *cfile, struct option *option)
 
int parse_base64 (struct data_string *data, struct parse *cfile)
 
int parse_cshl (struct data_string *data, struct parse *cfile)
 
int parse_executable_statements (struct executable_statement **statements, struct parse *cfile, int *lose, enum expression_context case_context)
 
int parse_executable_statement (struct executable_statement **result, struct parse *cfile, int *lose, enum expression_context case_context)
 
int parse_zone (struct dns_zone *zone, struct parse *cfile)
 
int parse_key (struct parse *cfile)
 
int parse_on_statement (struct executable_statement **result, struct parse *cfile, int *lose)
 
int parse_switch_statement (struct executable_statement **result, struct parse *cfile, int *lose)
 
int parse_case_statement (struct executable_statement **result, struct parse *cfile, int *lose, enum expression_context case_context)
 
int parse_if_statement (struct executable_statement **result, struct parse *cfile, int *lose)
 
int parse_boolean_expression (struct expression **expr, struct parse *cfile, int *lose)
 
int parse_boolean (struct parse *cfile)
 
int parse_data_expression (struct expression **expr, struct parse *cfile, int *lose)
 
int parse_numeric_expression (struct expression **expr, struct parse *cfile, int *lose)
 
int parse_non_binary (struct expression **expr, struct parse *cfile, int *lose, enum expression_context context)
 
int parse_expression (struct expression **expr, struct parse *cfile, int *lose, enum expression_context context, struct expression **plhs, enum expr_op binop)
 
int parse_option_data (struct expression **expr, struct parse *cfile, int lookups, struct option *option)
 
int parse_option_statement (struct executable_statement **result, struct parse *cfile, int lookups, struct option *option, enum statement_op op)
 
int parse_option_token (struct expression **rv, struct parse *cfile, const char **fmt, struct expression *expr, int uniform, int lookups)
 
int parse_option_decl (struct option_cache **oc, struct parse *cfile)
 
int parse_X (struct parse *cfile, u_int8_t *buf, unsigned max)
 
int parse_warn (struct parse *cfile, const char *fmt,...)
 
struct expressionparse_domain_list (struct parse *cfile, int compress)
 

Variables

struct enumerationenumerations
 

Function Documentation

◆ add_enumeration()

void add_enumeration ( struct enumeration enumeration)

Definition at line 37 of file parse.c.

◆ convert_num()

void convert_num ( struct parse cfile,
unsigned char *  buf,
const char *  str,
int  base,
unsigned  size 
)

Definition at line 829 of file parse.c.

◆ find_enumeration()

struct enumeration* find_enumeration ( const char *  name,
int  length 
)

Definition at line 43 of file parse.c.

◆ find_enumeration_value()

struct enumeration_value* find_enumeration_value ( const char *  name,
int  length,
unsigned *  widthp,
const char *  value 
)

Definition at line 54 of file parse.c.

◆ parse_base64()

int parse_base64 ( struct data_string data,
struct parse cfile 
)

Definition at line 1881 of file parse.c.

◆ parse_boolean()

int parse_boolean ( struct parse cfile)

Definition at line 3463 of file parse.c.

◆ parse_boolean_expression()

int parse_boolean_expression ( struct expression **  expr,
struct parse cfile,
int lose 
)

Definition at line 3440 of file parse.c.

◆ parse_case_statement()

int parse_case_statement ( struct executable_statement **  result,
struct parse cfile,
int lose,
enum expression_context  case_context 
)

Definition at line 3257 of file parse.c.

◆ parse_cshl()

int parse_cshl ( struct data_string data,
struct parse cfile 
)

Definition at line 2022 of file parse.c.

◆ parse_data_expression()

int parse_data_expression ( struct expression **  expr,
struct parse cfile,
int lose 
)

Definition at line 3507 of file parse.c.

◆ parse_date()

TIME parse_date ( struct parse cfile)

Definition at line 1170 of file parse.c.

◆ parse_date_core()

TIME parse_date_core ( struct parse cfile)

Definition at line 967 of file parse.c.

◆ parse_destination_descriptor()

int parse_destination_descriptor ( struct parse cfile,
struct iaddr addr 
)

Definition at line 344 of file parse.c.

◆ parse_domain_list()

struct expression* parse_domain_list ( struct parse cfile,
int  compress 
)

Definition at line 5647 of file parse.c.

◆ parse_executable_statement()

int parse_executable_statement ( struct executable_statement **  result,
struct parse cfile,
int lose,
enum expression_context  case_context 
)

Definition at line 2115 of file parse.c.

◆ parse_executable_statements()

int parse_executable_statements ( struct executable_statement **  statements,
struct parse cfile,
int lose,
enum expression_context  case_context 
)

Definition at line 2099 of file parse.c.

◆ parse_expression()

int parse_expression ( struct expression **  expr,
struct parse cfile,
int lose,
enum expression_context  context,
struct expression **  plhs,
enum expr_op  binop 
)

Definition at line 4466 of file parse.c.

◆ parse_hardware_param()

void parse_hardware_param ( struct parse cfile,
struct hardware hardware 
)

Definition at line 604 of file parse.c.

◆ parse_host_name()

char* parse_host_name ( struct parse cfile)

Definition at line 186 of file parse.c.

◆ parse_if_statement()

int parse_if_statement ( struct executable_statement **  result,
struct parse cfile,
int lose 
)

Definition at line 3304 of file parse.c.

◆ parse_ip6_addr()

int parse_ip6_addr ( struct parse cfile,
struct iaddr addr 
)

Definition at line 395 of file parse.c.

◆ parse_ip6_addr_expr()

int parse_ip6_addr_expr ( struct expression **  expr,
struct parse cfile 
)

Definition at line 454 of file parse.c.

◆ parse_ip6_prefix()

int parse_ip6_prefix ( struct parse cfile,
struct iaddr addr,
u_int8_t *  plen 
)

Definition at line 468 of file parse.c.

◆ parse_ip_addr()

int parse_ip_addr ( struct parse cfile,
struct iaddr addr 
)

Definition at line 326 of file parse.c.

◆ parse_ip_addr_or_hostname()

int parse_ip_addr_or_hostname ( struct expression **  expr,
struct parse cfile,
int  uniform 
)

Definition at line 258 of file parse.c.

◆ parse_ip_addr_with_subnet()

int parse_ip_addr_with_subnet ( struct parse cfile,
struct iaddrmatch match 
)

Definition at line 511 of file parse.c.

◆ parse_key()

int parse_key ( struct parse cfile)

Definition at line 2961 of file parse.c.

◆ parse_lease_time()

void parse_lease_time ( struct parse cfile,
TIME timep 
)

Definition at line 679 of file parse.c.

◆ parse_non_binary()

int parse_non_binary ( struct expression **  expr,
struct parse cfile,
int lose,
enum expression_context  context 
)

Definition at line 3557 of file parse.c.

◆ parse_numeric_aggregate()

unsigned char* parse_numeric_aggregate ( struct parse cfile,
unsigned char *  buf,
unsigned *  max,
int  separator,
int  base,
unsigned  size 
)

Definition at line 723 of file parse.c.

◆ parse_numeric_expression()

int parse_numeric_expression ( struct expression **  expr,
struct parse cfile,
int lose 
)

Definition at line 3534 of file parse.c.

◆ parse_on_statement()

int parse_on_statement ( struct executable_statement **  result,
struct parse cfile,
int lose 
)

Definition at line 3109 of file parse.c.

◆ parse_option_code_definition()

int parse_option_code_definition ( struct parse cfile,
struct option option 
)

Definition at line 1554 of file parse.c.

◆ parse_option_data()

int parse_option_data ( struct expression **  expr,
struct parse cfile,
int  lookups,
struct option option 
)

Definition at line 4785 of file parse.c.

◆ parse_option_decl()

int parse_option_decl ( struct option_cache **  oc,
struct parse cfile 
)

Definition at line 5240 of file parse.c.

◆ parse_option_name()

isc_result_t parse_option_name ( struct parse cfile,
int  allocate,
int known,
struct option **  opt 
)

Definition at line 1190 of file parse.c.

◆ parse_option_space_decl()

void parse_option_space_decl ( struct parse cfile)

Definition at line 1331 of file parse.c.

◆ parse_option_statement()

int parse_option_statement ( struct executable_statement **  result,
struct parse cfile,
int  lookups,
struct option option,
enum statement_op  op 
)

Definition at line 4892 of file parse.c.

◆ parse_option_token()

int parse_option_token ( struct expression **  rv,
struct parse cfile,
const char **  fmt,
struct expression expr,
int  uniform,
int  lookups 
)

Definition at line 4951 of file parse.c.

◆ parse_semi()

int parse_semi ( struct parse cfile)

Definition at line 129 of file parse.c.

◆ parse_string()

int parse_string ( struct parse cfile,
char **  sptr,
unsigned *  lptr 
)

Definition at line 146 of file parse.c.

◆ parse_switch_statement()

int parse_switch_statement ( struct executable_statement **  result,
struct parse cfile,
int lose 
)

Definition at line 3189 of file parse.c.

◆ parse_warn()

int parse_warn ( struct parse cfile,
const char *  fmt,
  ... 
)

Definition at line 5592 of file parse.c.

◆ parse_X()

int parse_X ( struct parse cfile,
u_int8_t *  buf,
unsigned  max 
)

Definition at line 5543 of file parse.c.

◆ parse_zone()

int parse_zone ( struct dns_zone zone,
struct parse cfile 
)

Definition at line 2782 of file parse.c.

◆ skip_to_rbrace()

void skip_to_rbrace ( struct parse cfile,
int  brace_count 
)

Definition at line 94 of file parse.c.

◆ skip_to_semi()

void skip_to_semi ( struct parse cfile)

Definition at line 88 of file parse.c.

Variable Documentation

◆ enumerations

struct enumeration* enumerations

Definition at line 35 of file parse.c.