parse.h

Go to the documentation of this file.
00001 /*
00002  * parse.h 
00003  *
00004  * a Net::DNS like library for C
00005  * LibDNS Team @ NLnet Labs
00006  * (c) NLnet Labs, 2005
00007  * See the file LICENSE for the license
00008  */
00009 
00010 #ifndef _LDNS_PARSE_H_
00011 #define _LDNS_PARSE_H_
00012 
00013 #include <ldns/common.h>
00014 #include <ldns/buffer.h>
00015 
00016 #define LDNS_PARSE_SKIP_SPACE           "\f\n\r\v"
00017 #define LDNS_PARSE_NORMAL               " \f\n\r\t\v"
00018 #define LDNS_PARSE_NO_NL                " \t"
00019 #define LDNS_MAX_LINELEN                4096
00020 #define LDNS_MAX_KEYWORDLEN             32
00021 
00027 enum ldns_enum_directive
00028 {
00029         LDNS_DIR_TTL,
00030         LDNS_DIR_ORIGIN,
00031         LDNS_DIR_INCLUDE
00032 };
00033 typedef enum ldns_enum_directive ldns_directive;
00034 
00045 ssize_t ldns_fget_token(FILE *f, char *token, const char *delim, size_t limit);
00046 
00058 ssize_t ldns_fget_token_l(FILE *f, char *token, const char *delim, size_t limit, int *line_nr);
00059 
00060 /* 
00061  * searches for keyword and delim. Gives everything back
00062  * after the keyword + k_del until we hit d_del
00063  */
00064 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);
00065 
00066 /* 
00067  * searches for keyword and delim. Gives everything back
00068  * after the keyword + k_del until we hit d_del
00069  * \param[in] line_nr pointer to an integer containing the current line number (for debugging purposes)
00070  */
00071 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);
00072 
00083 ssize_t ldns_bget_token(ldns_buffer *b, char *token, const char *delim, size_t limit);
00084 
00085 /* 
00086  * searches for keyword and delim. Gives everything back
00087  * after the keyword + k_del until we hit d_del
00088  */
00089 ssize_t ldns_bget_keyword_data(ldns_buffer *b, const char *keyword, const char *k_del, char *data, const char *d_del);
00090 
00098 char *ldns_str_remove_comment(char *str);
00099 
00107 int ldns_bgetc(ldns_buffer *buffer);
00108 
00116 void ldns_bskipcs(ldns_buffer *buffer, const char *s);
00117 
00125 void ldns_fskipcs(FILE *fp, const char *s);
00126 
00127 
00136 void ldns_fskipcs_l(FILE *fp, const char *s, int *line_nr);
00137 
00138 #endif /* _LDNS_PARSE_H */

Generated on Mon Feb 20 15:49:56 2006 for ldns by  doxygen 1.4.6