Electroneum
Toggle main menu visibility
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
13
struct
sldns_buffer
;
14
15
#ifdef __cplusplus
16
extern
"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
38
enum
sldns_enum_directive
39
{
40
LDNS_DIR_TTL
,
41
LDNS_DIR_ORIGIN
,
42
LDNS_DIR_INCLUDE
43
};
44
typedef
enum
sldns_enum_directive
sldns_directive
;
45
56
ssize_t
sldns_fget_token
(FILE *f,
char
*token,
const
char
*delim,
size_t
limit);
57
69
ssize_t
sldns_fget_token_l
(FILE *f,
char
*token,
const
char
*delim,
size_t
limit,
int
*line_nr);
70
87
ssize_t
sldns_bget_token_par
(
struct
sldns_buffer
*b,
char
*token,
const
char
*delim,
size_t
limit,
int
* par,
const
char
* skipw);
88
99
ssize_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
*/
112
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);
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
124
debugging purposes)
125
* \return the number of character read
126
*/
127
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);
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
*/
140
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);
141
149
int
sldns_bgetc
(
struct
sldns_buffer
*buffer);
150
158
void
sldns_bskipcs
(
struct
sldns_buffer
*buffer,
const
char
*s);
159
167
void
sldns_fskipcs
(FILE *fp,
const
char
*s);
168
169
178
void
sldns_fskipcs_l
(FILE *fp,
const
char
*s,
int
*line_nr);
179
180
#ifdef __cplusplus
181
}
182
#endif
183
184
#endif
/* LDNS_PARSE_H */
sldns_fget_keyword_data_l
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)
sldns_bgetc
int sldns_bgetc(struct sldns_buffer *buffer)
sldns_bskipcs
void sldns_bskipcs(struct sldns_buffer *buffer, const char *s)
sldns_bget_keyword_data
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)
sldns_fget_token
ssize_t sldns_fget_token(FILE *f, char *token, const char *delim, size_t limit)
sldns_enum_directive
sldns_enum_directive
Definition
parse.h:39
LDNS_DIR_TTL
@ LDNS_DIR_TTL
Definition
parse.h:40
LDNS_DIR_INCLUDE
@ LDNS_DIR_INCLUDE
Definition
parse.h:42
LDNS_DIR_ORIGIN
@ LDNS_DIR_ORIGIN
Definition
parse.h:41
sldns_fget_keyword_data
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)
sldns_fget_token_l
ssize_t sldns_fget_token_l(FILE *f, char *token, const char *delim, size_t limit, int *line_nr)
sldns_fskipcs_l
void sldns_fskipcs_l(FILE *fp, const char *s, int *line_nr)
sldns_bget_token
ssize_t sldns_bget_token(struct sldns_buffer *b, char *token, const char *delim, size_t limit)
sldns_fskipcs
void sldns_fskipcs(FILE *fp, const char *s)
sldns_bget_token_par
ssize_t sldns_bget_token_par(struct sldns_buffer *b, char *token, const char *delim, size_t limit, int *par, const char *skipw)
sldns_directive
enum sldns_enum_directive sldns_directive
Definition
parse.h:44
sldns_buffer
Definition
sbuffer.h:117
external
unbound
sldns
parse.h
Generated on
for Electroneum by
1.17.0