32static int get_char (
struct parse *);
33static void unget_char(
struct parse *,
int);
34static void skip_to_eol (
struct parse *);
63 tmp->cur_line =
tmp->line1;
64 tmp->prev_line =
tmp->line2;
65 tmp->token_line =
tmp->cur_line;
66 tmp->cur_line[0] =
tmp->prev_line[0] = 0;
107 if ((*cfile)->file != -1) {
108 munmap((*cfile)->inbuf, (*cfile)->bufsiz);
109 close((*cfile)->file);
112 if ((*cfile)->saved_state !=
NULL) {
161#if defined(LDAP_CONFIGURATION)
163 size_t size =
cfile->bufsiz;
175#if defined(LDAP_CONFIGURATION)
177 cfile->bufsiz = size;
182static int get_char (
cfile)
189#if !defined(LDAP_CONFIGURATION)
202 if (!
cfile->ugflag) {
213 cfile->cur_line [0] = 0;
214 }
else if (
c !=
EOF) {
215 if (
cfile->lpos <= 80) {
272 if (!((
c ==
'\n') &&
cfile->eol_token) &&
297 }
else if (
c ==
EOF) {
324get_next_token(
const char **
rval,
unsigned *
rlen,
458static void skip_to_eol (
cfile)
481 if (
ofs >= (
sizeof(
cfile->tokbuf) - 1)) {
488 "whitespace too long, buffer overflow.");
495 }
while (!((
c ==
'\n') &&
cfile->eol_token) &&
562 if (
c >=
'0' &&
c <=
'9') {
564 }
else if (
c >=
'a' &&
c <=
'f') {
566 }
else if (
c >=
'A' &&
c <=
'F') {
570 "invalid hex digit: %x",
581 if (
c >=
'0' &&
c <=
'7') {
586 "invalid octal digit %x",
599 }
else if (
c ==
'\\') {
611 "string constant larger than internal buffer");
649 (
cfile->tokbuf[0] ==
'0') &&
650 ((
cfile->tokbuf[1] ==
'x') ||
651 (
cfile->tokbuf[1] ==
'X'))) {
654 }
else if(((
c ==
'-') || (
c ==
'_') ||
isalnum(
c))) {
676 "numeric token larger than internal buffer");
689 if ((
i == 1) && (
cfile->tokbuf[
i] ==
'-'))
720 return intern(
cfile->tval,
rv);
852 if (
atom[6] ==
'-') {
880 "munications-interrupted"))
1308 if (
atom[7] ==
'\0')
1341 "olution-interrupted"))
1379 if (
atom[6] ==
'\0')
1389 if (
atom[6] ==
'\0')
1391 if (
atom[6] ==
'-') {
1523 "-lease-addr-for-default-route"))
enum dhcp_token next_raw_token(const char **rval, unsigned *rlen, struct parse *cfile)
enum dhcp_token peek_raw_token(const char **rval, unsigned *rlen, struct parse *cfile)
enum dhcp_token peek_token(const char **rval, unsigned *rlen, struct parse *cfile)
enum dhcp_token next_token(const char **rval, unsigned *rlen, struct parse *cfile)
isc_result_t end_parse(struct parse **cfile)
isc_result_t new_parse(struct parse **cfile, int file, char *inbuf, unsigned buflen, const char *name, int eolp)
enum dhcp_token do_peek_token(const char **rval, unsigned int *rlen, struct parse *cfile, isc_boolean_t raw)
isc_result_t save_parse_state(struct parse *cfile)
isc_result_t restore_parse_state(struct parse *cfile)
int parse_warn(struct parse *cfile, const char *fmt,...)
@ USE_LEASE_ADDR_FOR_DEFAULT_ROUTE
@ DYNAMIC_BOOTP_LEASE_CUTOFF
@ DYNAMIC_BOOTP_LEASE_LENGTH
@ COMMUNICATIONS_INTERRUPTED
void * dmalloc(size_t, const char *, int)
void dfree(void *, const char *, int)
void log_fatal(const char *,...) __attribute__((__format__(__printf__
struct parse * saved_state