<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1"> <title>ldns documentation</title> <link href="doxygen.css" rel="stylesheet" type="text/css"> <link href="tabs.css" rel="stylesheet" type="text/css"> </head><body> <div class="logo"> <img src="LogoInGradientBar2-y100.png"/> </div> <!-- Generated by Doxygen 1.7.4 --> <div id="navrow1" class="tabs"> <ul class="tablist"> <li><a href="index.html"><span>Main Page</span></a></li> <li><a href="pages.html"><span>Related Pages</span></a></li> <li><a href="annotated.html"><span>Data Structures</span></a></li> <li class="current"><a href="files.html"><span>Files</span></a></li> <li><a href="dirs.html"><span>Directories</span></a></li> </ul> </div> <div id="navrow2" class="tabs2"> <ul class="tablist"> <li><a href="files.html"><span>File List</span></a></li> <li><a href="globals.html"><span>Globals</span></a></li> </ul> </div> <div id="nav-path" class="navpath"> <ul> <li class="navelem"><a class="el" href="dir_7a7a565456b510ac01baf8655647d8a2.html">ldns</a> </li> </ul> </div> </div> <div class="header"> <div class="summary"> <a href="#define-members">Defines</a> | <a href="#typedef-members">Typedefs</a> | <a href="#enum-members">Enumerations</a> | <a href="#func-members">Functions</a> </div> <div class="headertitle"> <div class="title">parse.h File Reference</div> </div> </div> <div class="contents"> <p>Contains some low-level parsing functions, mostly used in the _frm_str family of functions. <a href="#details">More...</a></p> <p><a href="parse_8h_source.html">Go to the source code of this file.</a></p> <table class="memberdecls"> <tr><td colspan="2"><h2><a name="define-members"></a> Defines</h2></td></tr> <tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="parse_8h.html#a55bb73c2d561409989e1d69eae4f61ee">LDNS_PARSE_SKIP_SPACE</a>   "\f\n\r\v"</td></tr> <tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="parse_8h.html#aa07777e1a38886b0c233972bdabefaea">LDNS_PARSE_NORMAL</a>   " \f\n\r\t\v"</td></tr> <tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="parse_8h.html#aa49e53b5a9bd238300e071cff3069598">LDNS_PARSE_NO_NL</a>   " \t"</td></tr> <tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="parse_8h.html#a5e0b586eee52cb7d411f758a286e8e3f">LDNS_MAX_LINELEN</a>   10230</td></tr> <tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="parse_8h.html#a5aa3bc050b1a087437652ed75c921bb7">LDNS_MAX_KEYWORDLEN</a>   32</td></tr> <tr><td colspan="2"><h2><a name="typedef-members"></a> Typedefs</h2></td></tr> <tr><td class="memItemLeft" align="right" valign="top">typedef enum <a class="el" href="parse_8h.html#a761a2ab65920950766fed7502f932bb7">ldns_enum_directive</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="parse_8h.html#a23fbecc1a48239fa30c47f3cbfd7dfce">ldns_directive</a></td></tr> <tr><td colspan="2"><h2><a name="enum-members"></a> Enumerations</h2></td></tr> <tr><td class="memItemLeft" align="right" valign="top">enum  </td><td class="memItemRight" valign="bottom"><a class="el" href="parse_8h.html#a761a2ab65920950766fed7502f932bb7">ldns_enum_directive</a> { <a class="el" href="parse_8h.html#a761a2ab65920950766fed7502f932bb7a01921e71ce58f83c08996290d3690945">LDNS_DIR_TTL</a>, <a class="el" href="parse_8h.html#a761a2ab65920950766fed7502f932bb7adfec44e021d7b4144b352a0714547e92">LDNS_DIR_ORIGIN</a>, <a class="el" href="parse_8h.html#a761a2ab65920950766fed7502f932bb7a72f07f2810d39b5698b266f00a05dd29">LDNS_DIR_INCLUDE</a> }</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">different type of directives in zone files We now deal with $TTL, $ORIGIN and $INCLUDE. <a href="parse_8h.html#a761a2ab65920950766fed7502f932bb7">More...</a><br/></td></tr> <tr><td colspan="2"><h2><a name="func-members"></a> Functions</h2></td></tr> <tr><td class="memItemLeft" align="right" valign="top">ssize_t </td><td class="memItemRight" valign="bottom"><a class="el" href="parse_8h.html#a500eff9b2558a70b4ff479f2c2630312">ldns_fget_token</a> (FILE *f, char *token, const char *delim, size_t limit)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">returns a token/char from the stream F. <a href="#a500eff9b2558a70b4ff479f2c2630312"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">ssize_t </td><td class="memItemRight" valign="bottom"><a class="el" href="parse_8h.html#a0871ab9743d5418ca159ca3e02cef1d7">ldns_fget_token_l</a> (FILE *f, char *token, const char *delim, size_t limit, int *line_nr)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">returns a token/char from the stream F. <a href="#a0871ab9743d5418ca159ca3e02cef1d7"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">ssize_t </td><td class="memItemRight" valign="bottom"><a class="el" href="parse_8h.html#a9e2a87caeb3e9d983e461da182e2723b">ldns_bget_token</a> (<a class="el" href="structldns__struct__buffer.html">ldns_buffer</a> *b, char *token, const char *delim, size_t limit)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">returns a token/char from the buffer b. <a href="#a9e2a87caeb3e9d983e461da182e2723b"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">ssize_t </td><td class="memItemRight" valign="bottom"><a class="el" href="parse_8h.html#a22b581152a65f9eed8dc60e25f9bfc1d">ldns_fget_keyword_data</a> (FILE *f, const char *keyword, const char *k_del, char *data, const char *d_del, size_t data_limit)</td></tr> <tr><td class="memItemLeft" align="right" valign="top">ssize_t </td><td class="memItemRight" valign="bottom"><a class="el" href="parse_8h.html#a9aec3a54a2727f5b7e2adb30691795dd">ldns_fget_keyword_data_l</a> (FILE *f, const char *keyword, const char *k_del, char *data, const char *d_del, size_t data_limit, int *line_nr)</td></tr> <tr><td class="memItemLeft" align="right" valign="top">ssize_t </td><td class="memItemRight" valign="bottom"><a class="el" href="parse_8h.html#a285db74d20812bb98686b78a596e972a">ldns_bget_keyword_data</a> (<a class="el" href="structldns__struct__buffer.html">ldns_buffer</a> *b, const char *keyword, const char *k_del, char *data, const char *d_del, size_t data_limit)</td></tr> <tr><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="parse_8h.html#ac133a49136532ac36150f4378c45bd28">ldns_bgetc</a> (<a class="el" href="structldns__struct__buffer.html">ldns_buffer</a> *buffer)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">returns the next character from a buffer. <a href="#ac133a49136532ac36150f4378c45bd28"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="parse_8h.html#a7ddb65911b6145e775e8e535dc03f554">ldns_bskipcs</a> (<a class="el" href="structldns__struct__buffer.html">ldns_buffer</a> *buffer, const char *s)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">skips all of the characters in the given string in the buffer, moving the position to the first character that is not in *s. <a href="#a7ddb65911b6145e775e8e535dc03f554"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="parse_8h.html#a734bc38729fdf6d0d63c748ef364a9e8">ldns_fskipcs</a> (FILE *fp, const char *s)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">skips all of the characters in the given string in the fp, moving the position to the first character that is not in *s. <a href="#a734bc38729fdf6d0d63c748ef364a9e8"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="parse_8h.html#a95423f483aa20df6327f274a4ad0f581">ldns_fskipcs_l</a> (FILE *fp, const char *s, int *line_nr)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">skips all of the characters in the given string in the fp, moving the position to the first character that is not in *s. <a href="#a95423f483aa20df6327f274a4ad0f581"></a><br/></td></tr> </table> <hr/><a name="details" id="details"></a><h2>Detailed Description</h2> <div class="textblock"><p>Contains some low-level parsing functions, mostly used in the _frm_str family of functions. </p> <p>Definition in file <a class="el" href="parse_8h_source.html">parse.h</a>.</p> </div><hr/><h2>Define Documentation</h2> <a class="anchor" id="a55bb73c2d561409989e1d69eae4f61ee"></a><!-- doxytag: member="parse.h::LDNS_PARSE_SKIP_SPACE" ref="a55bb73c2d561409989e1d69eae4f61ee" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">#define LDNS_PARSE_SKIP_SPACE   "\f\n\r\v"</td> </tr> </table> </div> <div class="memdoc"> <p>Definition at line <a class="el" href="parse_8h_source.html#l00020">20</a> of file <a class="el" href="parse_8h_source.html">parse.h</a>.</p> </div> </div> <a class="anchor" id="aa07777e1a38886b0c233972bdabefaea"></a><!-- doxytag: member="parse.h::LDNS_PARSE_NORMAL" ref="aa07777e1a38886b0c233972bdabefaea" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">#define LDNS_PARSE_NORMAL   " \f\n\r\t\v"</td> </tr> </table> </div> <div class="memdoc"> <p>Definition at line <a class="el" href="parse_8h_source.html#l00021">21</a> of file <a class="el" href="parse_8h_source.html">parse.h</a>.</p> </div> </div> <a class="anchor" id="aa49e53b5a9bd238300e071cff3069598"></a><!-- doxytag: member="parse.h::LDNS_PARSE_NO_NL" ref="aa49e53b5a9bd238300e071cff3069598" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">#define LDNS_PARSE_NO_NL   " \t"</td> </tr> </table> </div> <div class="memdoc"> <p>Definition at line <a class="el" href="parse_8h_source.html#l00022">22</a> of file <a class="el" href="parse_8h_source.html">parse.h</a>.</p> </div> </div> <a class="anchor" id="a5e0b586eee52cb7d411f758a286e8e3f"></a><!-- doxytag: member="parse.h::LDNS_MAX_LINELEN" ref="a5e0b586eee52cb7d411f758a286e8e3f" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">#define LDNS_MAX_LINELEN   10230</td> </tr> </table> </div> <div class="memdoc"> <p>Definition at line <a class="el" href="parse_8h_source.html#l00023">23</a> of file <a class="el" href="parse_8h_source.html">parse.h</a>.</p> </div> </div> <a class="anchor" id="a5aa3bc050b1a087437652ed75c921bb7"></a><!-- doxytag: member="parse.h::LDNS_MAX_KEYWORDLEN" ref="a5aa3bc050b1a087437652ed75c921bb7" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">#define LDNS_MAX_KEYWORDLEN   32</td> </tr> </table> </div> <div class="memdoc"> <p>Definition at line <a class="el" href="parse_8h_source.html#l00024">24</a> of file <a class="el" href="parse_8h_source.html">parse.h</a>.</p> </div> </div> <hr/><h2>Typedef Documentation</h2> <a class="anchor" id="a23fbecc1a48239fa30c47f3cbfd7dfce"></a><!-- doxytag: member="parse.h::ldns_directive" ref="a23fbecc1a48239fa30c47f3cbfd7dfce" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">typedef enum <a class="el" href="parse_8h.html#a761a2ab65920950766fed7502f932bb7">ldns_enum_directive</a> <a class="el" href="parse_8h.html#a23fbecc1a48239fa30c47f3cbfd7dfce">ldns_directive</a></td> </tr> </table> </div> <div class="memdoc"> <p>Definition at line <a class="el" href="parse_8h_source.html#l00045">45</a> of file <a class="el" href="parse_8h_source.html">parse.h</a>.</p> </div> </div> <hr/><h2>Enumeration Type Documentation</h2> <a class="anchor" id="a761a2ab65920950766fed7502f932bb7"></a><!-- doxytag: member="parse.h::ldns_enum_directive" ref="a761a2ab65920950766fed7502f932bb7" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">enum <a class="el" href="parse_8h.html#a761a2ab65920950766fed7502f932bb7">ldns_enum_directive</a></td> </tr> </table> </div> <div class="memdoc"> <p>different type of directives in zone files We now deal with $TTL, $ORIGIN and $INCLUDE. </p> <p>The latter is not implemented in ldns (yet) </p> <dl><dt><b>Enumerator: </b></dt><dd><table border="0" cellspacing="2" cellpadding="0"> <tr><td valign="top"><em><a class="anchor" id="a761a2ab65920950766fed7502f932bb7a01921e71ce58f83c08996290d3690945"></a><!-- doxytag: member="LDNS_DIR_TTL" ref="a761a2ab65920950766fed7502f932bb7a01921e71ce58f83c08996290d3690945" args="" -->LDNS_DIR_TTL</em> </td><td> </td></tr> <tr><td valign="top"><em><a class="anchor" id="a761a2ab65920950766fed7502f932bb7adfec44e021d7b4144b352a0714547e92"></a><!-- doxytag: member="LDNS_DIR_ORIGIN" ref="a761a2ab65920950766fed7502f932bb7adfec44e021d7b4144b352a0714547e92" args="" -->LDNS_DIR_ORIGIN</em> </td><td> </td></tr> <tr><td valign="top"><em><a class="anchor" id="a761a2ab65920950766fed7502f932bb7a72f07f2810d39b5698b266f00a05dd29"></a><!-- doxytag: member="LDNS_DIR_INCLUDE" ref="a761a2ab65920950766fed7502f932bb7a72f07f2810d39b5698b266f00a05dd29" args="" -->LDNS_DIR_INCLUDE</em> </td><td> </td></tr> </table> </dd> </dl> <p>Definition at line <a class="el" href="parse_8h_source.html#l00039">39</a> of file <a class="el" href="parse_8h_source.html">parse.h</a>.</p> </div> </div> <hr/><h2>Function Documentation</h2> <a class="anchor" id="a500eff9b2558a70b4ff479f2c2630312"></a><!-- doxytag: member="parse.h::ldns_fget_token" ref="a500eff9b2558a70b4ff479f2c2630312" args="(FILE *f, char *token, const char *delim, size_t limit)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">ssize_t ldns_fget_token </td> <td>(</td> <td class="paramtype">FILE * </td> <td class="paramname"><em>f</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">char * </td> <td class="paramname"><em>token</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const char * </td> <td class="paramname"><em>delim</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">size_t </td> <td class="paramname"><em>limit</em> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td> </tr> </table> </div> <div class="memdoc"> <p>returns a token/char from the stream F. </p> <p>This function deals with ( and ) in the stream, and ignores them when encountered </p> <dl><dt><b>Parameters:</b></dt><dd> <table class="params"> <tr><td class="paramdir">[in]</td><td class="paramname">*f</td><td>the file to read from </td></tr> <tr><td class="paramdir">[out]</td><td class="paramname">*token</td><td>the read token is put here </td></tr> <tr><td class="paramdir">[in]</td><td class="paramname">*delim</td><td>chars at which the parsing should stop </td></tr> <tr><td class="paramdir">[in]</td><td class="paramname">*limit</td><td>how much to read. If 0 the builtin maximum is used </td></tr> </table> </dd> </dl> <dl class="return"><dt><b>Returns:</b></dt><dd>0 on error of EOF of the stream F. Otherwise return the length of what is read </dd></dl> <p>Definition at line <a class="el" href="parse_8c_source.html#l00025">25</a> of file <a class="el" href="parse_8c_source.html">parse.c</a>.</p> <p>References <a class="el" href="parse_8c_source.html#l00031">ldns_fget_token_l()</a>.</p> </div> </div> <a class="anchor" id="a0871ab9743d5418ca159ca3e02cef1d7"></a><!-- doxytag: member="parse.h::ldns_fget_token_l" ref="a0871ab9743d5418ca159ca3e02cef1d7" args="(FILE *f, char *token, const char *delim, size_t limit, int *line_nr)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">ssize_t ldns_fget_token_l </td> <td>(</td> <td class="paramtype">FILE * </td> <td class="paramname"><em>f</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">char * </td> <td class="paramname"><em>token</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const char * </td> <td class="paramname"><em>delim</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">size_t </td> <td class="paramname"><em>limit</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">int * </td> <td class="paramname"><em>line_nr</em> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td> </tr> </table> </div> <div class="memdoc"> <p>returns a token/char from the stream F. </p> <p>This function deals with ( and ) in the stream, and ignores when it finds them. </p> <dl><dt><b>Parameters:</b></dt><dd> <table class="params"> <tr><td class="paramdir">[in]</td><td class="paramname">*f</td><td>the file to read from </td></tr> <tr><td class="paramdir">[out]</td><td class="paramname">*token</td><td>the token is put here </td></tr> <tr><td class="paramdir">[in]</td><td class="paramname">*delim</td><td>chars at which the parsing should stop </td></tr> <tr><td class="paramdir">[in]</td><td class="paramname">*limit</td><td>how much to read. If 0 use builtin maximum </td></tr> <tr><td class="paramdir">[in]</td><td class="paramname">line_nr</td><td>pointer to an integer containing the current line number (for debugging purposes) </td></tr> </table> </dd> </dl> <dl class="return"><dt><b>Returns:</b></dt><dd>0 on error of EOF of F otherwise return the length of what is read </dd></dl> <p>Definition at line <a class="el" href="parse_8c_source.html#l00031">31</a> of file <a class="el" href="parse_8c_source.html">parse.c</a>.</p> <p>References <a class="el" href="parse_8c_source.html#l00394">ldns_fskipcs_l()</a>, and <a class="el" href="parse_8h_source.html#l00021">LDNS_PARSE_NORMAL</a>.</p> </div> </div> <a class="anchor" id="a9e2a87caeb3e9d983e461da182e2723b"></a><!-- doxytag: member="parse.h::ldns_bget_token" ref="a9e2a87caeb3e9d983e461da182e2723b" args="(ldns_buffer *b, char *token, const char *delim, size_t limit)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">ssize_t ldns_bget_token </td> <td>(</td> <td class="paramtype"><a class="el" href="structldns__struct__buffer.html">ldns_buffer</a> * </td> <td class="paramname"><em>b</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">char * </td> <td class="paramname"><em>token</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const char * </td> <td class="paramname"><em>delim</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">size_t </td> <td class="paramname"><em>limit</em> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td> </tr> </table> </div> <div class="memdoc"> <p>returns a token/char from the buffer b. </p> <p>This function deals with ( and ) in the buffer, and ignores when it finds them. </p> <dl><dt><b>Parameters:</b></dt><dd> <table class="params"> <tr><td class="paramdir">[in]</td><td class="paramname">*b</td><td>the buffer to read from </td></tr> <tr><td class="paramdir">[out]</td><td class="paramname">*token</td><td>the token is put here </td></tr> <tr><td class="paramdir">[in]</td><td class="paramname">*delim</td><td>chars at which the parsing should stop </td></tr> <tr><td class="paramdir">[in]</td><td class="paramname">*limit</td><td>how much to read. If 0 the builtin maximum is used </td></tr> </table> </dd> </dl> <dl class="return"><dt><b>Returns:</b></dt><dd>0 on error of EOF of b. Otherwise return the length of what is read </dd></dl> <p>Definition at line <a class="el" href="parse_8c_source.html#l00217">217</a> of file <a class="el" href="parse_8c_source.html">parse.c</a>.</p> <p>References <a class="el" href="buffer_8c_source.html#l00156">ldns_bgetc()</a>, <a class="el" href="parse_8c_source.html#l00357">ldns_bskipcs()</a>, and <a class="el" href="parse_8h_source.html#l00021">LDNS_PARSE_NORMAL</a>.</p> </div> </div> <a class="anchor" id="a22b581152a65f9eed8dc60e25f9bfc1d"></a><!-- doxytag: member="parse.h::ldns_fget_keyword_data" ref="a22b581152a65f9eed8dc60e25f9bfc1d" args="(FILE *f, const char *keyword, const char *k_del, char *data, const char *d_del, size_t data_limit)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">ssize_t ldns_fget_keyword_data </td> <td>(</td> <td class="paramtype">FILE * </td> <td class="paramname"><em>f</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const char * </td> <td class="paramname"><em>keyword</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const char * </td> <td class="paramname"><em>k_del</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">char * </td> <td class="paramname"><em>data</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const char * </td> <td class="paramname"><em>d_del</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">size_t </td> <td class="paramname"><em>data_limit</em> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td> </tr> </table> </div> <div class="memdoc"> <p>Definition at line <a class="el" href="parse_8c_source.html#l00174">174</a> of file <a class="el" href="parse_8c_source.html">parse.c</a>.</p> <p>References <a class="el" href="parse_8c_source.html#l00182">ldns_fget_keyword_data_l()</a>.</p> </div> </div> <a class="anchor" id="a9aec3a54a2727f5b7e2adb30691795dd"></a><!-- doxytag: member="parse.h::ldns_fget_keyword_data_l" ref="a9aec3a54a2727f5b7e2adb30691795dd" args="(FILE *f, const char *keyword, const char *k_del, char *data, const char *d_del, size_t data_limit, int *line_nr)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">ssize_t ldns_fget_keyword_data_l </td> <td>(</td> <td class="paramtype">FILE * </td> <td class="paramname"><em>f</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const char * </td> <td class="paramname"><em>keyword</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const char * </td> <td class="paramname"><em>k_del</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">char * </td> <td class="paramname"><em>data</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const char * </td> <td class="paramname"><em>d_del</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">size_t </td> <td class="paramname"><em>data_limit</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">int * </td> <td class="paramname"><em>line_nr</em> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td> </tr> </table> </div> <div class="memdoc"> <p>Definition at line <a class="el" href="parse_8c_source.html#l00182">182</a> of file <a class="el" href="parse_8c_source.html">parse.c</a>.</p> <p>References <a class="el" href="parse_8c_source.html#l00025">ldns_fget_token()</a>, <a class="el" href="parse_8c_source.html#l00031">ldns_fget_token_l()</a>, <a class="el" href="util_8h_source.html#l00060">LDNS_FREE</a>, <a class="el" href="parse_8h_source.html#l00024">LDNS_MAX_KEYWORDLEN</a>, and <a class="el" href="util_8h_source.html#l00051">LDNS_XMALLOC</a>.</p> </div> </div> <a class="anchor" id="a285db74d20812bb98686b78a596e972a"></a><!-- doxytag: member="parse.h::ldns_bget_keyword_data" ref="a285db74d20812bb98686b78a596e972a" args="(ldns_buffer *b, const char *keyword, const char *k_del, char *data, const char *d_del, size_t data_limit)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">ssize_t ldns_bget_keyword_data </td> <td>(</td> <td class="paramtype"><a class="el" href="structldns__struct__buffer.html">ldns_buffer</a> * </td> <td class="paramname"><em>b</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const char * </td> <td class="paramname"><em>keyword</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const char * </td> <td class="paramname"><em>k_del</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">char * </td> <td class="paramname"><em>data</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const char * </td> <td class="paramname"><em>d_del</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">size_t </td> <td class="paramname"><em>data_limit</em> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td> </tr> </table> </div> <div class="memdoc"> <p>Definition at line <a class="el" href="parse_8c_source.html#l00419">419</a> of file <a class="el" href="parse_8c_source.html">parse.c</a>.</p> <p>References <a class="el" href="parse_8c_source.html#l00217">ldns_bget_token()</a>, <a class="el" href="util_8h_source.html#l00060">LDNS_FREE</a>, <a class="el" href="parse_8h_source.html#l00024">LDNS_MAX_KEYWORDLEN</a>, and <a class="el" href="util_8h_source.html#l00051">LDNS_XMALLOC</a>.</p> </div> </div> <a class="anchor" id="ac133a49136532ac36150f4378c45bd28"></a><!-- doxytag: member="parse.h::ldns_bgetc" ref="ac133a49136532ac36150f4378c45bd28" args="(ldns_buffer *buffer)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">int ldns_bgetc </td> <td>(</td> <td class="paramtype"><a class="el" href="structldns__struct__buffer.html">ldns_buffer</a> * </td> <td class="paramname"><em>buffer</em></td><td>)</td> <td></td> </tr> </table> </div> <div class="memdoc"> <p>returns the next character from a buffer. </p> <p>Advances the position pointer with 1. When end of buffer is reached returns EOF. This is the buffer's equivalent for getc(). </p> <dl><dt><b>Parameters:</b></dt><dd> <table class="params"> <tr><td class="paramdir">[in]</td><td class="paramname">*buffer</td><td>buffer to read from </td></tr> </table> </dd> </dl> <dl class="return"><dt><b>Returns:</b></dt><dd>EOF on failure otherwise return the character </dd></dl> <p>Definition at line <a class="el" href="buffer_8c_source.html#l00156">156</a> of file <a class="el" href="buffer_8c_source.html">buffer.c</a>.</p> <p>References <a class="el" href="buffer_8h_source.html#l00053">ldns_struct_buffer::_position</a>.</p> </div> </div> <a class="anchor" id="a7ddb65911b6145e775e8e535dc03f554"></a><!-- doxytag: member="parse.h::ldns_bskipcs" ref="a7ddb65911b6145e775e8e535dc03f554" args="(ldns_buffer *buffer, const char *s)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">void ldns_bskipcs </td> <td>(</td> <td class="paramtype"><a class="el" href="structldns__struct__buffer.html">ldns_buffer</a> * </td> <td class="paramname"><em>buffer</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const char * </td> <td class="paramname"><em>s</em> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td> </tr> </table> </div> <div class="memdoc"> <p>skips all of the characters in the given string in the buffer, moving the position to the first character that is not in *s. </p> <dl><dt><b>Parameters:</b></dt><dd> <table class="params"> <tr><td class="paramdir">[in]</td><td class="paramname">*buffer</td><td>buffer to use </td></tr> <tr><td class="paramdir">[in]</td><td class="paramname">*s</td><td>characters to skip </td></tr> </table> </dd> </dl> <dl class="return"><dt><b>Returns:</b></dt><dd>void </dd></dl> <p>Definition at line <a class="el" href="parse_8c_source.html#l00357">357</a> of file <a class="el" href="parse_8c_source.html">parse.c</a>.</p> <p>References <a class="el" href="buffer_8h_source.html#l00056">ldns_struct_buffer::_limit</a>, and <a class="el" href="buffer_8h_source.html#l00053">ldns_struct_buffer::_position</a>.</p> </div> </div> <a class="anchor" id="a734bc38729fdf6d0d63c748ef364a9e8"></a><!-- doxytag: member="parse.h::ldns_fskipcs" ref="a734bc38729fdf6d0d63c748ef364a9e8" args="(FILE *fp, const char *s)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">void ldns_fskipcs </td> <td>(</td> <td class="paramtype">FILE * </td> <td class="paramname"><em>fp</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const char * </td> <td class="paramname"><em>s</em> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td> </tr> </table> </div> <div class="memdoc"> <p>skips all of the characters in the given string in the fp, moving the position to the first character that is not in *s. </p> <dl><dt><b>Parameters:</b></dt><dd> <table class="params"> <tr><td class="paramdir">[in]</td><td class="paramname">*fp</td><td>file to use </td></tr> <tr><td class="paramdir">[in]</td><td class="paramname">*s</td><td>characters to skip </td></tr> </table> </dd> </dl> <dl class="return"><dt><b>Returns:</b></dt><dd>void </dd></dl> <p>Definition at line <a class="el" href="parse_8c_source.html#l00388">388</a> of file <a class="el" href="parse_8c_source.html">parse.c</a>.</p> <p>References <a class="el" href="parse_8c_source.html#l00394">ldns_fskipcs_l()</a>.</p> </div> </div> <a class="anchor" id="a95423f483aa20df6327f274a4ad0f581"></a><!-- doxytag: member="parse.h::ldns_fskipcs_l" ref="a95423f483aa20df6327f274a4ad0f581" args="(FILE *fp, const char *s, int *line_nr)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">void ldns_fskipcs_l </td> <td>(</td> <td class="paramtype">FILE * </td> <td class="paramname"><em>fp</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const char * </td> <td class="paramname"><em>s</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">int * </td> <td class="paramname"><em>line_nr</em> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td> </tr> </table> </div> <div class="memdoc"> <p>skips all of the characters in the given string in the fp, moving the position to the first character that is not in *s. </p> <dl><dt><b>Parameters:</b></dt><dd> <table class="params"> <tr><td class="paramdir">[in]</td><td class="paramname">*fp</td><td>file to use </td></tr> <tr><td class="paramdir">[in]</td><td class="paramname">*s</td><td>characters to skip </td></tr> <tr><td class="paramdir">[in]</td><td class="paramname">line_nr</td><td>pointer to an integer containing the current line number (for debugging purposes) </td></tr> </table> </dd> </dl> <dl class="return"><dt><b>Returns:</b></dt><dd>void </dd></dl> <p>Definition at line <a class="el" href="parse_8c_source.html#l00394">394</a> of file <a class="el" href="parse_8c_source.html">parse.c</a>.</p> </div> </div> </div> <hr class="footer"/><address class="footer"><small>Generated on Wed Jan 11 2012 for ldns by  <a href="http://www.doxygen.org/index.html"> <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.4 </small></address> </body> </html>