ldns  1.7.0
Functions | Variables
parse.c File Reference

Go to the source code of this file.

Functions

ssize_t ldns_fget_token (FILE *f, char *token, const char *delim, size_t limit)
 returns a token/char from the stream F. More...
 
ssize_t ldns_fget_token_l (FILE *f, char *token, const char *delim, size_t limit, int *line_nr)
 returns a token/char from the stream F. More...
 
ssize_t ldns_fget_keyword_data (FILE *f, const char *keyword, const char *k_del, char *data, const char *d_del, size_t data_limit)
 
ssize_t ldns_fget_keyword_data_l (FILE *f, const char *keyword, const char *k_del, char *data, const char *d_del, size_t data_limit, int *line_nr)
 
ssize_t ldns_bget_token (ldns_buffer *b, char *token, const char *delim, size_t limit)
 returns a token/char from the buffer b. More...
 
void ldns_bskipcs (ldns_buffer *buffer, const char *s)
 skips all of the characters in the given string in the buffer, moving the position to the first character that is not in *s. More...
 
void ldns_fskipcs (FILE *fp, const char *s)
 skips all of the characters in the given string in the fp, moving the position to the first character that is not in *s. More...
 
void ldns_fskipcs_l (FILE *fp, const char *s, int *line_nr)
 skips all of the characters in the given string in the fp, moving the position to the first character that is not in *s. More...
 
ssize_t ldns_bget_keyword_data (ldns_buffer *b, const char *keyword, const char *k_del, char *data, const char *d_del, size_t data_limit)
 

Variables

ldns_lookup_table ldns_directive_types []
 

Function Documentation

◆ ldns_fget_token()

ssize_t ldns_fget_token ( FILE *  f,
char *  token,
const char *  delim,
size_t  limit 
)

returns a token/char from the stream F.

This function deals with ( and ) in the stream, and ignores them when encountered

Parameters
[in]*fthe file to read from
[out]*tokenthe read token is put here
[in]*delimchars at which the parsing should stop
[in]*limithow much to read. If 0 the builtin maximum is used
Returns
0 on error of EOF of the stream F. Otherwise return the length of what is read

Definition at line 25 of file parse.c.

References ldns_fget_token_l().

◆ ldns_fget_token_l()

ssize_t ldns_fget_token_l ( FILE *  f,
char *  token,
const char *  delim,
size_t  limit,
int *  line_nr 
)

returns a token/char from the stream F.

This function deals with ( and ) in the stream, and ignores when it finds them.

Parameters
[in]*fthe file to read from
[out]*tokenthe token is put here
[in]*delimchars at which the parsing should stop
[in]*limithow much to read. If 0 use builtin maximum
[in]line_nrpointer to an integer containing the current line number (for debugging purposes)
Returns
0 on error of EOF of F otherwise return the length of what is read

Definition at line 31 of file parse.c.

References ldns_fskipcs_l(), and LDNS_PARSE_NORMAL.

◆ ldns_fget_keyword_data()

ssize_t ldns_fget_keyword_data ( FILE *  f,
const char *  keyword,
const char *  k_del,
char *  data,
const char *  d_del,
size_t  data_limit 
)

Definition at line 180 of file parse.c.

References ldns_fget_keyword_data_l().

◆ ldns_fget_keyword_data_l()

ssize_t ldns_fget_keyword_data_l ( FILE *  f,
const char *  keyword,
const char *  k_del,
char *  data,
const char *  d_del,
size_t  data_limit,
int *  line_nr 
)

◆ ldns_bget_token()

ssize_t ldns_bget_token ( ldns_buffer b,
char *  token,
const char *  delim,
size_t  limit 
)

returns a token/char from the buffer b.

This function deals with ( and ) in the buffer, and ignores when it finds them.

Parameters
[in]*bthe buffer to read from
[out]*tokenthe token is put here
[in]*delimchars at which the parsing should stop
[in]*limithow much to read. If 0 the builtin maximum is used
Returns
0 on error of EOF of b. Otherwise return the length of what is read

Definition at line 223 of file parse.c.

References ldns_bgetc(), ldns_bskipcs(), and LDNS_PARSE_NORMAL.

◆ ldns_bskipcs()

void ldns_bskipcs ( ldns_buffer buffer,
const char *  s 
)

skips all of the characters in the given string in the buffer, moving the position to the first character that is not in *s.

Parameters
[in]*bufferbuffer to use
[in]*scharacters to skip
Returns
void

Definition at line 353 of file parse.c.

◆ ldns_fskipcs()

void ldns_fskipcs ( FILE *  fp,
const char *  s 
)

skips all of the characters in the given string in the fp, moving the position to the first character that is not in *s.

Parameters
[in]*fpfile to use
[in]*scharacters to skip
Returns
void

Definition at line 376 of file parse.c.

References ldns_fskipcs_l().

◆ ldns_fskipcs_l()

void ldns_fskipcs_l ( FILE *  fp,
const char *  s,
int *  line_nr 
)

skips all of the characters in the given string in the fp, moving the position to the first character that is not in *s.

Parameters
[in]*fpfile to use
[in]*scharacters to skip
[in]line_nrpointer to an integer containing the current line number (for debugging purposes)
Returns
void

Definition at line 382 of file parse.c.

◆ ldns_bget_keyword_data()

ssize_t ldns_bget_keyword_data ( ldns_buffer b,
const char *  keyword,
const char *  k_del,
char *  data,
const char *  d_del,
size_t  data_limit 
)

Definition at line 407 of file parse.c.

References ldns_bget_token(), LDNS_FREE, LDNS_MAX_KEYWORDLEN, and LDNS_XMALLOC.

Variable Documentation

◆ ldns_directive_types

ldns_lookup_table ldns_directive_types[]
Initial value:
= {
{ LDNS_DIR_TTL, "$TTL" },
{ LDNS_DIR_ORIGIN, "$ORIGIN" },
{ LDNS_DIR_INCLUDE, "$INCLUDE" },
{ 0, NULL }
}

Definition at line 16 of file parse.c.

LDNS_DIR_ORIGIN
@ LDNS_DIR_ORIGIN
Definition: parse.h:42
LDNS_DIR_INCLUDE
@ LDNS_DIR_INCLUDE
Definition: parse.h:43
LDNS_DIR_TTL
@ LDNS_DIR_TTL
Definition: parse.h:41