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.
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.
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.
void ldns_bskipc (ldns_buffer *buffer, char c)
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.
void ldns_fskipc (ATTR_UNUSED(FILE *fp), ATTR_UNUSED(char c))
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.
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.
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

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] *f the file to read from
[out] *token the read token is put here
[in] *delim chars at which the parsing should stop
[in] *limit how 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().

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] *f the file to read from
[out] *token the token is put here
[in] *delim chars at which the parsing should stop
[in] *limit how much to read. If 0 use builtin maximum
[in] line_nr pointer 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.

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 174 of file parse.c.

References 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 
)
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] *b the buffer to read from
[out] *token the token is put here
[in] *delim chars at which the parsing should stop
[in] *limit how 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 217 of file parse.c.

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

void ldns_bskipc ( ldns_buffer buffer,
char  c 
)
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] *buffer buffer to use
[in] *s characters to skip
Returns:
void

Definition at line 357 of file parse.c.

References ldns_struct_buffer::_limit, ldns_struct_buffer::_position, ldns_buffer_available_at(), and ldns_buffer_read_u8_at().

void ldns_fskipc ( ATTR_UNUSED(FILE *fp)  ,
ATTR_UNUSED(char c)   
)

Definition at line 380 of file parse.c.

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] *fp file to use
[in] *s characters to skip
Returns:
void

Definition at line 386 of file parse.c.

References 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] *fp file to use
[in] *s characters to skip
[in] line_nr pointer to an integer containing the current line number (for debugging purposes)
Returns:
void

Definition at line 392 of file parse.c.

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 417 of file parse.c.

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


Variable Documentation

Initial value:
 {
        { LDNS_DIR_TTL, "$TTL" },
        { LDNS_DIR_ORIGIN, "$ORIGIN" },
        { LDNS_DIR_INCLUDE, "$INCLUDE" },
        { 0, NULL }
}

Definition at line 16 of file parse.c.


Generated on 25 Mar 2016 for ldns by  doxygen 1.6.1