Electroneum
Loading...
Searching...
No Matches
parse.h
Go to the documentation of this file.
1/*
2 * parse.h
3 *
4 * a Net::DNS like library for C
5 * LibDNS Team @ NLnet Labs
6 * (c) NLnet Labs, 2005-2006
7 * See the file LICENSE for the license
8 */
9
10#ifndef LDNS_PARSE_H
11#define LDNS_PARSE_H
12
13struct sldns_buffer;
14
15#ifdef __cplusplus
16extern "C" {
17#endif
18
19#define LDNS_PARSE_SKIP_SPACE "\f\n\r\v"
20#define LDNS_PARSE_NORMAL " \f\n\r\t\v"
21#define LDNS_PARSE_NO_NL " \t"
22#define LDNS_MAX_LINELEN 10230
23#define LDNS_MAX_KEYWORDLEN 32
24
25
32
45
56ssize_t sldns_fget_token(FILE *f, char *token, const char *delim, size_t limit);
57
69ssize_t sldns_fget_token_l(FILE *f, char *token, const char *delim, size_t limit, int *line_nr);
70
87ssize_t sldns_bget_token_par(struct sldns_buffer *b, char *token, const char *delim, size_t limit, int* par, const char* skipw);
88
99ssize_t sldns_bget_token(struct sldns_buffer *b, char *token, const char *delim, size_t limit);
100
101/*
102 * searches for keyword and delim in a file. Gives everything back
103 * after the keyword + k_del until we hit d_del
104 * \param[in] f file pointer to read from
105 * \param[in] keyword keyword to look for
106 * \param[in] k_del keyword delimiter
107 * \param[out] data the data found
108 * \param[in] d_del the data delimiter
109 * \param[in] data_limit maximum size the the data buffer
110 * \return the number of character read
111 */
112ssize_t sldns_fget_keyword_data(FILE *f, const char *keyword, const char *k_del, char *data, const char *d_del, size_t data_limit);
113
114/*
115 * searches for keyword and delim. Gives everything back
116 * after the keyword + k_del until we hit d_del
117 * \param[in] f file pointer to read from
118 * \param[in] keyword keyword to look for
119 * \param[in] k_del keyword delimiter
120 * \param[out] data the data found
121 * \param[in] d_del the data delimiter
122 * \param[in] data_limit maximum size the the data buffer
123 * \param[in] line_nr pointer to an integer containing the current line number (for
124debugging purposes)
125 * \return the number of character read
126 */
127ssize_t sldns_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);
128
129/*
130 * searches for keyword and delim in a buffer. Gives everything back
131 * after the keyword + k_del until we hit d_del
132 * \param[in] b buffer pointer to read from
133 * \param[in] keyword keyword to look for
134 * \param[in] k_del keyword delimiter
135 * \param[out] data the data found
136 * \param[in] d_del the data delimiter
137 * \param[in] data_limit maximum size the the data buffer
138 * \return the number of character read
139 */
140ssize_t sldns_bget_keyword_data(struct sldns_buffer *b, const char *keyword, const char *k_del, char *data, const char *d_del, size_t data_limit);
141
149int sldns_bgetc(struct sldns_buffer *buffer);
150
158void sldns_bskipcs(struct sldns_buffer *buffer, const char *s);
159
167void sldns_fskipcs(FILE *fp, const char *s);
168
169
178void sldns_fskipcs_l(FILE *fp, const char *s, int *line_nr);
179
180#ifdef __cplusplus
181}
182#endif
183
184#endif /* LDNS_PARSE_H */
ssize_t sldns_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)
int sldns_bgetc(struct sldns_buffer *buffer)
void sldns_bskipcs(struct sldns_buffer *buffer, const char *s)
ssize_t sldns_bget_keyword_data(struct sldns_buffer *b, const char *keyword, const char *k_del, char *data, const char *d_del, size_t data_limit)
ssize_t sldns_fget_token(FILE *f, char *token, const char *delim, size_t limit)
sldns_enum_directive
Definition parse.h:39
@ LDNS_DIR_TTL
Definition parse.h:40
@ LDNS_DIR_INCLUDE
Definition parse.h:42
@ LDNS_DIR_ORIGIN
Definition parse.h:41
ssize_t sldns_fget_keyword_data(FILE *f, const char *keyword, const char *k_del, char *data, const char *d_del, size_t data_limit)
ssize_t sldns_fget_token_l(FILE *f, char *token, const char *delim, size_t limit, int *line_nr)
void sldns_fskipcs_l(FILE *fp, const char *s, int *line_nr)
ssize_t sldns_bget_token(struct sldns_buffer *b, char *token, const char *delim, size_t limit)
void sldns_fskipcs(FILE *fp, const char *s)
ssize_t sldns_bget_token_par(struct sldns_buffer *b, char *token, const char *delim, size_t limit, int *par, const char *skipw)
enum sldns_enum_directive sldns_directive
Definition parse.h:44