<!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="#nested-classes">Data Structures</a> | <a href="#define-members">Defines</a> | <a href="#typedef-members">Typedefs</a> | <a href="#func-members">Functions</a> </div> <div class="headertitle"> <div class="title">util.h File Reference</div> </div> </div> <div class="contents"> <p><a href="util_8h_source.html">Go to the source code of this file.</a></p> <table class="memberdecls"> <tr><td colspan="2"><h2><a name="nested-classes"></a> Data Structures</h2></td></tr> <tr><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="structldns__schwartzian__compare__struct.html">ldns_schwartzian_compare_struct</a></td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Structure to do a Schwartzian-like transformation, for instance when sorting. <a href="structldns__schwartzian__compare__struct.html#details">More...</a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="structldns__struct__lookup__table.html">ldns_struct_lookup_table</a></td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">A general purpose lookup table. <a href="structldns__struct__lookup__table.html#details">More...</a><br/></td></tr> <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="util_8h.html#a5d7f87431299f2e952b54fcd3246e12a">dprintf</a>(X, Y)   fprintf(stderr, (X), (Y))</td></tr> <tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="util_8h.html#a991dc2d5a646a3f66f91ba6b62c93615">LDNS_VERSION</a>   "1.6.12"</td></tr> <tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="util_8h.html#a52856294dceb4f2e0610d023cc73f6b8">LDNS_REVISION</a>   ((1<<16)|(6<<8)|(12))</td></tr> <tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="util_8h.html#a2eb6f9e0395b47b8d5e3eeae4fe0c116">INLINE</a>   static inline</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">splint static inline workaround <a href="#a2eb6f9e0395b47b8d5e3eeae4fe0c116"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="util_8h.html#a828619b138fdeb9756cd3c874d0551c1">LDNS_MALLOC</a>(type)   LDNS_XMALLOC(type, 1)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Memory management macros. <a href="#a828619b138fdeb9756cd3c874d0551c1"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="util_8h.html#aaad6949daea3c6cefd01d19300f6e21a">LDNS_XMALLOC</a>(type, count)   ((type *) malloc((count) * sizeof(type)))</td></tr> <tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="util_8h.html#a79edd183cbf57142f0742856d6277517">LDNS_CALLOC</a>(type, count)   ((type *) calloc((count), sizeof(type)))</td></tr> <tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="util_8h.html#a1daa1fb0f7475a1efbd1af6f331f933b">LDNS_REALLOC</a>(ptr, type)   LDNS_XREALLOC((ptr), type, 1)</td></tr> <tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="util_8h.html#aef91214266c90875fa06e4a47e734538">LDNS_XREALLOC</a>(ptr, type, count)   ((type *) realloc((ptr), (count) * sizeof(type)))</td></tr> <tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="util_8h.html#a5e13054aa9b3843e97514228a0bbe909">LDNS_FREE</a>(ptr)   do { free((ptr)); (ptr) = NULL; } while (0)</td></tr> <tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="util_8h.html#a6ce207a6b932051fb6bf79356569485e">LDNS_DEP</a>   printf("DEPRECATED FUNCTION!\n");</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 struct <br class="typebreak"/> <a class="el" href="structldns__struct__lookup__table.html">ldns_struct_lookup_table</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="util_8h.html#aab8f46426d28b393a567a5c8c556c79f">ldns_lookup_table</a></td></tr> <tr><td colspan="2"><h2><a name="func-members"></a> Functions</h2></td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="structldns__struct__lookup__table.html">ldns_lookup_table</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="util_8h.html#a805238d379b65de6452a7458f641bbcb">ldns_lookup_by_name</a> (<a class="el" href="structldns__struct__lookup__table.html">ldns_lookup_table</a> table[], const char *name)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Looks up the table entry by name, returns NULL if not found. <a href="#a805238d379b65de6452a7458f641bbcb"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="structldns__struct__lookup__table.html">ldns_lookup_table</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="util_8h.html#a6c3f62a949ee6028e435404ad585b27d">ldns_lookup_by_id</a> (<a class="el" href="structldns__struct__lookup__table.html">ldns_lookup_table</a> table[], int id)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Looks up the table entry by id, returns NULL if not found. <a href="#a6c3f62a949ee6028e435404ad585b27d"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="util_8h.html#ac0cfcc1f93a2aaf7fb61804cf844faef">ldns_get_bit</a> (uint8_t bits[], size_t index)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Returns the value of the specified bit The bits are counted from left to right, so bit #0 is the left most bit. <a href="#ac0cfcc1f93a2aaf7fb61804cf844faef"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="util_8h.html#a7b16da6f889d76e6653a28038a50824c">ldns_get_bit_r</a> (uint8_t bits[], size_t index)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Returns the value of the specified bit The bits are counted from right to left, so bit #0 is the right most bit. <a href="#a7b16da6f889d76e6653a28038a50824c"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="util_8h.html#a2d1ca37b28b9053aedc68d9ab4c62cae">ldns_set_bit</a> (uint8_t *byte, int bit_nr, bool value)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">sets the specified bit in the specified byte to 1 if value is true, 0 if false The bits are counted from right to left, so bit #0 is the right most bit. <a href="#a2d1ca37b28b9053aedc68d9ab4c62cae"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="util_8h.html#a04593d78f06d288151bba4719704fa99">ldns_hexdigit_to_int</a> (char ch)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Returns the int value of the given (hex) digit. <a href="#a04593d78f06d288151bba4719704fa99"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">char </td><td class="memItemRight" valign="bottom"><a class="el" href="util_8h.html#ab11557fe9863fc3282e4a976d8cb80d1">ldns_int_to_hexdigit</a> (int ch)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Returns the char (hex) representation of the given int. <a href="#ab11557fe9863fc3282e4a976d8cb80d1"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="util_8h.html#a22fb80e94a21a7700835b83279e9110c">ldns_hexstring_to_data</a> (uint8_t *data, const char *str)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Converts a hex string to binary data. <a href="#a22fb80e94a21a7700835b83279e9110c"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">const char * </td><td class="memItemRight" valign="bottom"><a class="el" href="util_8h.html#acfa02e74a31c812d2e4ecf40915b418f">ldns_version</a> (void)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Show the internal library version. <a href="#acfa02e74a31c812d2e4ecf40915b418f"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">time_t </td><td class="memItemRight" valign="bottom"><a class="el" href="util_8h.html#ad4a71c049ae1e0b4849a64040a7360fa">mktime_from_utc</a> (const struct tm *tm)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Convert TM to seconds since epoch (midnight, January 1st, 1970). <a href="#ad4a71c049ae1e0b4849a64040a7360fa"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">struct tm * </td><td class="memItemRight" valign="bottom"><a class="el" href="util_8h.html#a093298fb6914785d45feb3be61597aed">ldns_serial_arithmitics_gmtime_r</a> (int32_t time, time_t now, struct tm *result)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">The function interprets time as the number of seconds since epoch with respect to now using serial arithmitics (rfc1982). <a href="#a093298fb6914785d45feb3be61597aed"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="util_8h.html#aeda2f1b732e46a3e761aba81129d71e0">ldns_init_random</a> (FILE *fd, unsigned int size)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Seed the random function. <a href="#aeda2f1b732e46a3e761aba81129d71e0"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">uint16_t </td><td class="memItemRight" valign="bottom"><a class="el" href="util_8h.html#ad59e2ce028b25f1fbe8d4dbdb2a5b315">ldns_get_random</a> (void)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Get random number. <a href="#ad59e2ce028b25f1fbe8d4dbdb2a5b315"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">char * </td><td class="memItemRight" valign="bottom"><a class="el" href="util_8h.html#ada923722a7a97fbb7a531cf48b977b8e">ldns_bubblebabble</a> (uint8_t *data, size_t len)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Encode data as BubbleBabble. <a href="#ada923722a7a97fbb7a531cf48b977b8e"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="util_8h.html#af9e2ce0407b93dfbc1aeeccdc9a5f83a">ldns_b32_ntop</a> (uint8_t const *src, size_t srclength, char *target, size_t targsize)</td></tr> <tr><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="util_8h.html#a5c5431f355f91c46227dd48087a39162">b32_ntop</a> (uint8_t const *src, size_t srclength, char *target, size_t targsize)</td></tr> <tr><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="util_8h.html#a1131c0b74b8b1d94d673aa222d0ef54b">ldns_b32_ntop_extended_hex</a> (uint8_t const *src, size_t srclength, char *target, size_t targsize)</td></tr> <tr><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="util_8h.html#aed79c5491d256070b43664b9b7bc1981">b32_ntop_extended_hex</a> (uint8_t const *src, size_t srclength, char *target, size_t targsize)</td></tr> <tr><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="util_8h.html#a60c8f637673eb6eda1b2ba9416b4acdc">ldns_b32_pton</a> (char const *src, size_t hashed_owner_str_len, uint8_t *target, size_t targsize)</td></tr> <tr><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="util_8h.html#a22d504d674ef6d2a59ab87fd4a0fdba4">b32_pton</a> (char const *src, size_t hashed_owner_str_len, uint8_t *target, size_t targsize)</td></tr> <tr><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="util_8h.html#aacd27728d568173b4e84b920c93f4141">ldns_b32_pton_extended_hex</a> (char const *src, size_t hashed_owner_str_len, uint8_t *target, size_t targsize)</td></tr> <tr><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="util_8h.html#a26b31a9006ac7150bcccd01a28afdce7">b32_pton_extended_hex</a> (char const *src, size_t hashed_owner_str_len, uint8_t *target, size_t targsize)</td></tr> </table> <hr/><h2>Define Documentation</h2> <a class="anchor" id="a5d7f87431299f2e952b54fcd3246e12a"></a><!-- doxytag: member="util.h::dprintf" ref="a5d7f87431299f2e952b54fcd3246e12a" args="(X, Y)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">#define dprintf</td> <td>(</td> <td class="paramtype"> </td> <td class="paramname">X, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"> </td> <td class="paramname">Y </td> </tr> <tr> <td></td> <td>)</td> <td></td><td>   fprintf(stderr, (X), (Y))</td> </tr> </table> </div> <div class="memdoc"> <p>Definition at line <a class="el" href="util_8h_source.html#l00027">27</a> of file <a class="el" href="util_8h_source.html">util.h</a>.</p> </div> </div> <a class="anchor" id="a991dc2d5a646a3f66f91ba6b62c93615"></a><!-- doxytag: member="util.h::LDNS_VERSION" ref="a991dc2d5a646a3f66f91ba6b62c93615" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">#define LDNS_VERSION   "1.6.12"</td> </tr> </table> </div> <div class="memdoc"> <p>Definition at line <a class="el" href="util_8h_source.html#l00030">30</a> of file <a class="el" href="util_8h_source.html">util.h</a>.</p> </div> </div> <a class="anchor" id="a52856294dceb4f2e0610d023cc73f6b8"></a><!-- doxytag: member="util.h::LDNS_REVISION" ref="a52856294dceb4f2e0610d023cc73f6b8" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">#define LDNS_REVISION   ((1<<16)|(6<<8)|(12))</td> </tr> </table> </div> <div class="memdoc"> <p>Definition at line <a class="el" href="util_8h_source.html#l00031">31</a> of file <a class="el" href="util_8h_source.html">util.h</a>.</p> </div> </div> <a class="anchor" id="a2eb6f9e0395b47b8d5e3eeae4fe0c116"></a><!-- doxytag: member="util.h::INLINE" ref="a2eb6f9e0395b47b8d5e3eeae4fe0c116" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">#define INLINE   static inline</td> </tr> </table> </div> <div class="memdoc"> <p>splint static inline workaround </p> <p>Definition at line <a class="el" href="util_8h_source.html#l00042">42</a> of file <a class="el" href="util_8h_source.html">util.h</a>.</p> </div> </div> <a class="anchor" id="a828619b138fdeb9756cd3c874d0551c1"></a><!-- doxytag: member="util.h::LDNS_MALLOC" ref="a828619b138fdeb9756cd3c874d0551c1" args="(type)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">#define LDNS_MALLOC</td> <td>(</td> <td class="paramtype"> </td> <td class="paramname">type</td><td>)</td> <td>   LDNS_XMALLOC(type, 1)</td> </tr> </table> </div> <div class="memdoc"> <p>Memory management macros. </p> <p>Definition at line <a class="el" href="util_8h_source.html#l00049">49</a> of file <a class="el" href="util_8h_source.html">util.h</a>.</p> </div> </div> <a class="anchor" id="aaad6949daea3c6cefd01d19300f6e21a"></a><!-- doxytag: member="util.h::LDNS_XMALLOC" ref="aaad6949daea3c6cefd01d19300f6e21a" args="(type, count)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">#define LDNS_XMALLOC</td> <td>(</td> <td class="paramtype"> </td> <td class="paramname">type, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"> </td> <td class="paramname">count </td> </tr> <tr> <td></td> <td>)</td> <td></td><td>   ((type *) malloc((count) * sizeof(type)))</td> </tr> </table> </div> <div class="memdoc"> <p>Definition at line <a class="el" href="util_8h_source.html#l00051">51</a> of file <a class="el" href="util_8h_source.html">util.h</a>.</p> </div> </div> <a class="anchor" id="a79edd183cbf57142f0742856d6277517"></a><!-- doxytag: member="util.h::LDNS_CALLOC" ref="a79edd183cbf57142f0742856d6277517" args="(type, count)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">#define LDNS_CALLOC</td> <td>(</td> <td class="paramtype"> </td> <td class="paramname">type, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"> </td> <td class="paramname">count </td> </tr> <tr> <td></td> <td>)</td> <td></td><td>   ((type *) calloc((count), sizeof(type)))</td> </tr> </table> </div> <div class="memdoc"> <p>Definition at line <a class="el" href="util_8h_source.html#l00053">53</a> of file <a class="el" href="util_8h_source.html">util.h</a>.</p> </div> </div> <a class="anchor" id="a1daa1fb0f7475a1efbd1af6f331f933b"></a><!-- doxytag: member="util.h::LDNS_REALLOC" ref="a1daa1fb0f7475a1efbd1af6f331f933b" args="(ptr, type)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">#define LDNS_REALLOC</td> <td>(</td> <td class="paramtype"> </td> <td class="paramname">ptr, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"> </td> <td class="paramname">type </td> </tr> <tr> <td></td> <td>)</td> <td></td><td>   LDNS_XREALLOC((ptr), type, 1)</td> </tr> </table> </div> <div class="memdoc"> <p>Definition at line <a class="el" href="util_8h_source.html#l00055">55</a> of file <a class="el" href="util_8h_source.html">util.h</a>.</p> </div> </div> <a class="anchor" id="aef91214266c90875fa06e4a47e734538"></a><!-- doxytag: member="util.h::LDNS_XREALLOC" ref="aef91214266c90875fa06e4a47e734538" args="(ptr, type, count)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">#define LDNS_XREALLOC</td> <td>(</td> <td class="paramtype"> </td> <td class="paramname">ptr, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"> </td> <td class="paramname">type, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"> </td> <td class="paramname">count </td> </tr> <tr> <td></td> <td>)</td> <td></td><td>   ((type *) realloc((ptr), (count) * sizeof(type)))</td> </tr> </table> </div> <div class="memdoc"> <p>Definition at line <a class="el" href="util_8h_source.html#l00057">57</a> of file <a class="el" href="util_8h_source.html">util.h</a>.</p> </div> </div> <a class="anchor" id="a5e13054aa9b3843e97514228a0bbe909"></a><!-- doxytag: member="util.h::LDNS_FREE" ref="a5e13054aa9b3843e97514228a0bbe909" args="(ptr)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">#define LDNS_FREE</td> <td>(</td> <td class="paramtype"> </td> <td class="paramname">ptr</td><td>)</td> <td>   do { free((ptr)); (ptr) = NULL; } while (0)</td> </tr> </table> </div> <div class="memdoc"> <p>Definition at line <a class="el" href="util_8h_source.html#l00060">60</a> of file <a class="el" href="util_8h_source.html">util.h</a>.</p> </div> </div> <a class="anchor" id="a6ce207a6b932051fb6bf79356569485e"></a><!-- doxytag: member="util.h::LDNS_DEP" ref="a6ce207a6b932051fb6bf79356569485e" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">#define LDNS_DEP   printf("DEPRECATED FUNCTION!\n");</td> </tr> </table> </div> <div class="memdoc"> <p>Definition at line <a class="el" href="util_8h_source.html#l00063">63</a> of file <a class="el" href="util_8h_source.html">util.h</a>.</p> </div> </div> <hr/><h2>Typedef Documentation</h2> <a class="anchor" id="aab8f46426d28b393a567a5c8c556c79f"></a><!-- doxytag: member="util.h::ldns_lookup_table" ref="aab8f46426d28b393a567a5c8c556c79f" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">typedef struct <a class="el" href="structldns__struct__lookup__table.html">ldns_struct_lookup_table</a> <a class="el" href="structldns__struct__lookup__table.html">ldns_lookup_table</a></td> </tr> </table> </div> <div class="memdoc"> <p>Definition at line <a class="el" href="util_8h_source.html#l00160">160</a> of file <a class="el" href="util_8h_source.html">util.h</a>.</p> </div> </div> <hr/><h2>Function Documentation</h2> <a class="anchor" id="a805238d379b65de6452a7458f641bbcb"></a><!-- doxytag: member="util.h::ldns_lookup_by_name" ref="a805238d379b65de6452a7458f641bbcb" args="(ldns_lookup_table table[], const char *name)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="structldns__struct__lookup__table.html">ldns_lookup_table</a>* ldns_lookup_by_name </td> <td>(</td> <td class="paramtype"><a class="el" href="structldns__struct__lookup__table.html">ldns_lookup_table</a> </td> <td class="paramname"><em>table</em>[], </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const char * </td> <td class="paramname"><em>name</em> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td> </tr> </table> </div> <div class="memdoc"> <p>Looks up the table entry by name, returns NULL if not found. </p> <dl><dt><b>Parameters:</b></dt><dd> <table class="params"> <tr><td class="paramdir">[in]</td><td class="paramname">table</td><td>the lookup table to search in </td></tr> <tr><td class="paramdir">[in]</td><td class="paramname">name</td><td>what to search for </td></tr> </table> </dd> </dl> <dl class="return"><dt><b>Returns:</b></dt><dd>the item found </dd></dl> </div> </div> <a class="anchor" id="a6c3f62a949ee6028e435404ad585b27d"></a><!-- doxytag: member="util.h::ldns_lookup_by_id" ref="a6c3f62a949ee6028e435404ad585b27d" args="(ldns_lookup_table table[], int id)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="structldns__struct__lookup__table.html">ldns_lookup_table</a>* ldns_lookup_by_id </td> <td>(</td> <td class="paramtype"><a class="el" href="structldns__struct__lookup__table.html">ldns_lookup_table</a> </td> <td class="paramname"><em>table</em>[], </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">int </td> <td class="paramname"><em>id</em> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td> </tr> </table> </div> <div class="memdoc"> <p>Looks up the table entry by id, returns NULL if not found. </p> <dl><dt><b>Parameters:</b></dt><dd> <table class="params"> <tr><td class="paramdir">[in]</td><td class="paramname">table</td><td>the lookup table to search in </td></tr> <tr><td class="paramdir">[in]</td><td class="paramname">id</td><td>what to search for </td></tr> </table> </dd> </dl> <dl class="return"><dt><b>Returns:</b></dt><dd>the item found </dd></dl> </div> </div> <a class="anchor" id="ac0cfcc1f93a2aaf7fb61804cf844faef"></a><!-- doxytag: member="util.h::ldns_get_bit" ref="ac0cfcc1f93a2aaf7fb61804cf844faef" args="(uint8_t bits[], size_t index)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">int ldns_get_bit </td> <td>(</td> <td class="paramtype">uint8_t </td> <td class="paramname"><em>bits</em>[], </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">size_t </td> <td class="paramname"><em>index</em> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td> </tr> </table> </div> <div class="memdoc"> <p>Returns the value of the specified bit The bits are counted from left to right, so bit #0 is the left most bit. </p> <dl><dt><b>Parameters:</b></dt><dd> <table class="params"> <tr><td class="paramdir">[in]</td><td class="paramname">bits</td><td>array holding the bits </td></tr> <tr><td class="paramdir">[in]</td><td class="paramname">index</td><td>to the wanted bit </td></tr> </table> </dd> </dl> <dl class="return"><dt><b>Returns:</b></dt><dd></dd></dl> <p>Definition at line <a class="el" href="util_8c_source.html#l00088">88</a> of file <a class="el" href="util_8c_source.html">util.c</a>.</p> </div> </div> <a class="anchor" id="a7b16da6f889d76e6653a28038a50824c"></a><!-- doxytag: member="util.h::ldns_get_bit_r" ref="a7b16da6f889d76e6653a28038a50824c" args="(uint8_t bits[], size_t index)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">int ldns_get_bit_r </td> <td>(</td> <td class="paramtype">uint8_t </td> <td class="paramname"><em>bits</em>[], </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">size_t </td> <td class="paramname"><em>index</em> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td> </tr> </table> </div> <div class="memdoc"> <p>Returns the value of the specified bit The bits are counted from right to left, so bit #0 is the right most bit. </p> <dl><dt><b>Parameters:</b></dt><dd> <table class="params"> <tr><td class="paramdir">[in]</td><td class="paramname">bits</td><td>array holding the bits </td></tr> <tr><td class="paramdir">[in]</td><td class="paramname">index</td><td>to the wanted bit </td></tr> </table> </dd> </dl> <dl class="return"><dt><b>Returns:</b></dt><dd>1 or 0 depending no the bit state </dd></dl> <p>Definition at line <a class="el" href="util_8c_source.html#l00098">98</a> of file <a class="el" href="util_8c_source.html">util.c</a>.</p> </div> </div> <a class="anchor" id="a2d1ca37b28b9053aedc68d9ab4c62cae"></a><!-- doxytag: member="util.h::ldns_set_bit" ref="a2d1ca37b28b9053aedc68d9ab4c62cae" args="(uint8_t *byte, int bit_nr, bool value)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">void ldns_set_bit </td> <td>(</td> <td class="paramtype">uint8_t * </td> <td class="paramname"><em>byte</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">int </td> <td class="paramname"><em>bit_nr</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">bool </td> <td class="paramname"><em>value</em> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td> </tr> </table> </div> <div class="memdoc"> <p>sets the specified bit in the specified byte to 1 if value is true, 0 if false The bits are counted from right to left, so bit #0 is the right most bit. </p> <dl><dt><b>Parameters:</b></dt><dd> <table class="params"> <tr><td class="paramdir">[in]</td><td class="paramname">byte</td><td>the bit to set the bit in </td></tr> <tr><td class="paramdir">[in]</td><td class="paramname">bit_nr</td><td>the bit to set (0 <= n <= 7) </td></tr> <tr><td class="paramdir">[in]</td><td class="paramname">value</td><td>whether to set the bit to 1 or 0 </td></tr> </table> </dd> </dl> <dl class="return"><dt><b>Returns:</b></dt><dd>1 or 0 depending no the bit state </dd></dl> <p>Definition at line <a class="el" href="util_8c_source.html#l00108">108</a> of file <a class="el" href="util_8c_source.html">util.c</a>.</p> </div> </div> <a class="anchor" id="a04593d78f06d288151bba4719704fa99"></a><!-- doxytag: member="util.h::ldns_hexdigit_to_int" ref="a04593d78f06d288151bba4719704fa99" args="(char ch)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">int ldns_hexdigit_to_int </td> <td>(</td> <td class="paramtype">char </td> <td class="paramname"><em>ch</em></td><td>)</td> <td></td> </tr> </table> </div> <div class="memdoc"> <p>Returns the int value of the given (hex) digit. </p> <dl><dt><b>Parameters:</b></dt><dd> <table class="params"> <tr><td class="paramdir">[in]</td><td class="paramname">ch</td><td>the hex char to convert </td></tr> </table> </dd> </dl> <dl class="return"><dt><b>Returns:</b></dt><dd>the converted decimal value </dd></dl> <p>Definition at line <a class="el" href="util_8c_source.html#l00120">120</a> of file <a class="el" href="util_8c_source.html">util.c</a>.</p> </div> </div> <a class="anchor" id="ab11557fe9863fc3282e4a976d8cb80d1"></a><!-- doxytag: member="util.h::ldns_int_to_hexdigit" ref="ab11557fe9863fc3282e4a976d8cb80d1" args="(int ch)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">char ldns_int_to_hexdigit </td> <td>(</td> <td class="paramtype">int </td> <td class="paramname"><em>ch</em></td><td>)</td> <td></td> </tr> </table> </div> <div class="memdoc"> <p>Returns the char (hex) representation of the given int. </p> <dl><dt><b>Parameters:</b></dt><dd> <table class="params"> <tr><td class="paramdir">[in]</td><td class="paramname">ch</td><td>the int to convert </td></tr> </table> </dd> </dl> <dl class="return"><dt><b>Returns:</b></dt><dd>the converted hex char </dd></dl> <p>Definition at line <a class="el" href="util_8c_source.html#l00145">145</a> of file <a class="el" href="util_8c_source.html">util.c</a>.</p> </div> </div> <a class="anchor" id="a22fb80e94a21a7700835b83279e9110c"></a><!-- doxytag: member="util.h::ldns_hexstring_to_data" ref="a22fb80e94a21a7700835b83279e9110c" args="(uint8_t *data, const char *str)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">int ldns_hexstring_to_data </td> <td>(</td> <td class="paramtype">uint8_t * </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>str</em> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td> </tr> </table> </div> <div class="memdoc"> <p>Converts a hex string to binary data. </p> <dl><dt><b>Parameters:</b></dt><dd> <table class="params"> <tr><td class="paramdir">[out]</td><td class="paramname">data</td><td>The binary result is placed here. At least strlen(str)/2 bytes should be allocated </td></tr> <tr><td class="paramdir">[in]</td><td class="paramname">str</td><td>The hex string to convert. This string should not contain spaces </td></tr> </table> </dd> </dl> <dl class="return"><dt><b>Returns:</b></dt><dd>The number of bytes of converted data, or -1 if one of the arguments * is NULL, or -2 if the string length is not an even number </dd></dl> <p>Definition at line <a class="el" href="util_8c_source.html#l00170">170</a> of file <a class="el" href="util_8c_source.html">util.c</a>.</p> <p>References <a class="el" href="util_8c_source.html#l00120">ldns_hexdigit_to_int()</a>.</p> </div> </div> <a class="anchor" id="acfa02e74a31c812d2e4ecf40915b418f"></a><!-- doxytag: member="util.h::ldns_version" ref="acfa02e74a31c812d2e4ecf40915b418f" args="(void)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">const char* ldns_version </td> <td>(</td> <td class="paramtype">void </td> <td class="paramname"></td><td>)</td> <td></td> </tr> </table> </div> <div class="memdoc"> <p>Show the internal library version. </p> <dl class="return"><dt><b>Returns:</b></dt><dd>a string with the version in it </dd></dl> <p>Definition at line <a class="el" href="util_8c_source.html#l00192">192</a> of file <a class="el" href="util_8c_source.html">util.c</a>.</p> <p>References <a class="el" href="util_8h_source.html#l00030">LDNS_VERSION</a>.</p> </div> </div> <a class="anchor" id="ad4a71c049ae1e0b4849a64040a7360fa"></a><!-- doxytag: member="util.h::mktime_from_utc" ref="ad4a71c049ae1e0b4849a64040a7360fa" args="(const struct tm *tm)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">time_t mktime_from_utc </td> <td>(</td> <td class="paramtype">const struct tm * </td> <td class="paramname"><em>tm</em></td><td>)</td> <td></td> </tr> </table> </div> <div class="memdoc"> <p>Convert TM to seconds since epoch (midnight, January 1st, 1970). </p> <p>Like timegm(3), which is not always available. </p> <dl><dt><b>Parameters:</b></dt><dd> <table class="params"> <tr><td class="paramdir">[in]</td><td class="paramname">tm</td><td>a struct tm* with the date </td></tr> </table> </dd> </dl> <dl class="return"><dt><b>Returns:</b></dt><dd>the seconds since epoch </dd></dl> <p>Definition at line <a class="el" href="util_8c_source.html#l00226">226</a> of file <a class="el" href="util_8c_source.html">util.c</a>.</p> </div> </div> <a class="anchor" id="a093298fb6914785d45feb3be61597aed"></a><!-- doxytag: member="util.h::ldns_serial_arithmitics_gmtime_r" ref="a093298fb6914785d45feb3be61597aed" args="(int32_t time, time_t now, struct tm *result)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">struct tm* ldns_serial_arithmitics_gmtime_r </td> <td>(</td> <td class="paramtype">int32_t </td> <td class="paramname"><em>time</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">time_t </td> <td class="paramname"><em>now</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">struct tm * </td> <td class="paramname"><em>result</em> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td><code> [read]</code></td> </tr> </table> </div> <div class="memdoc"> <p>The function interprets time as the number of seconds since epoch with respect to now using serial arithmitics (rfc1982). </p> <p>That number of seconds is then converted to broken-out time information. This is especially usefull when converting the inception and expiration fields of RRSIG records.</p> <dl><dt><b>Parameters:</b></dt><dd> <table class="params"> <tr><td class="paramdir">[in]</td><td class="paramname">time</td><td>number of seconds since epoch (midnight, January 1st, 1970) to be intepreted as a serial arithmitics number relative to now. </td></tr> <tr><td class="paramdir">[in]</td><td class="paramname">now</td><td>number of seconds since epoch (midnight, January 1st, 1970) to which the time value is compared to determine the final value. </td></tr> <tr><td class="paramdir">[out]</td><td class="paramname">result</td><td>the struct with the broken-out time information </td></tr> </table> </dd> </dl> <dl class="return"><dt><b>Returns:</b></dt><dd>result on success or NULL on error </dd></dl> <p>Definition at line <a class="el" href="util_8c_source.html#l00330">330</a> of file <a class="el" href="util_8c_source.html">util.c</a>.</p> <p>References <a class="el" href="config_8h.html#a6ef8fd14c34a80c3fee2ef2694491514">gmtime_r()</a>.</p> </div> </div> <a class="anchor" id="aeda2f1b732e46a3e761aba81129d71e0"></a><!-- doxytag: member="util.h::ldns_init_random" ref="aeda2f1b732e46a3e761aba81129d71e0" args="(FILE *fd, unsigned int size)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">int ldns_init_random </td> <td>(</td> <td class="paramtype">FILE * </td> <td class="paramname"><em>fd</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">unsigned int </td> <td class="paramname"><em>size</em> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td> </tr> </table> </div> <div class="memdoc"> <p>Seed the random function. </p> <p>If the file descriptor is specified, the random generator is seeded with data from that file. If not, /dev/urandom is used.</p> <p>applications should call this if they need entropy data within ldns If openSSL is available, it is automatically seeded from /dev/urandom or /dev/random.</p> <p>If you need more entropy, or have no openssl available, this function MUST be called at the start of the program</p> <p>If openssl *is* available, this function just adds more entropy</p> <dl><dt><b>Parameters:</b></dt><dd> <table class="params"> <tr><td class="paramdir">[in]</td><td class="paramname">fd</td><td>a file providing entropy data for the seed </td></tr> <tr><td class="paramdir">[in]</td><td class="paramname">size</td><td>the number of bytes to use as entropy data. If this is 0, only the minimal amount is taken (usually 4 bytes) </td></tr> </table> </dd> </dl> <dl class="return"><dt><b>Returns:</b></dt><dd>0 if seeding succeeds, 1 if it fails</dd></dl> <p>Seed the random function.</p> <p>If you need more entropy, or have no openssl available, this function MUST be called at the start of the program</p> <p>If openssl *is* available, this function just adds more entropy </p> <p>Definition at line <a class="el" href="util_8c_source.html#l00353">353</a> of file <a class="el" href="util_8c_source.html">util.c</a>.</p> <p>References <a class="el" href="util_8h_source.html#l00060">LDNS_FREE</a>, <a class="el" href="util_8h_source.html#l00051">LDNS_XMALLOC</a>, and <a class="el" href="config_8h_source.html#l00507">srandom</a>.</p> </div> </div> <a class="anchor" id="ad59e2ce028b25f1fbe8d4dbdb2a5b315"></a><!-- doxytag: member="util.h::ldns_get_random" ref="ad59e2ce028b25f1fbe8d4dbdb2a5b315" args="(void)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">uint16_t ldns_get_random </td> <td>(</td> <td class="paramtype">void </td> <td class="paramname"></td><td>)</td> <td></td> </tr> </table> </div> <div class="memdoc"> <p>Get random number. </p> <dl class="return"><dt><b>Returns:</b></dt><dd>random number. </dd></dl> <p>Definition at line <a class="el" href="util_8c_source.html#l00425">425</a> of file <a class="el" href="util_8c_source.html">util.c</a>.</p> <p>References <a class="el" href="config_8h_source.html#l00508">random</a>.</p> </div> </div> <a class="anchor" id="ada923722a7a97fbb7a531cf48b977b8e"></a><!-- doxytag: member="util.h::ldns_bubblebabble" ref="ada923722a7a97fbb7a531cf48b977b8e" args="(uint8_t *data, size_t len)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">char* ldns_bubblebabble </td> <td>(</td> <td class="paramtype">uint8_t * </td> <td class="paramname"><em>data</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">size_t </td> <td class="paramname"><em>len</em> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td> </tr> </table> </div> <div class="memdoc"> <p>Encode data as BubbleBabble. </p> <dl><dt><b>Parameters:</b></dt><dd> <table class="params"> <tr><td class="paramdir">[in]</td><td class="paramname">data</td><td>a pointer to data to be encoded </td></tr> <tr><td class="paramdir">[in]</td><td class="paramname">len</td><td>size the number of bytes of data </td></tr> </table> </dd> </dl> <dl class="return"><dt><b>Returns:</b></dt><dd>a string of BubbleBabble </dd></dl> <p>Definition at line <a class="el" href="util_8c_source.html#l00443">443</a> of file <a class="el" href="util_8c_source.html">util.c</a>.</p> <p>References <a class="el" href="util_8h_source.html#l00051">LDNS_XMALLOC</a>.</p> </div> </div> <a class="anchor" id="af9e2ce0407b93dfbc1aeeccdc9a5f83a"></a><!-- doxytag: member="util.h::ldns_b32_ntop" ref="af9e2ce0407b93dfbc1aeeccdc9a5f83a" args="(uint8_t const *src, size_t srclength, char *target, size_t targsize)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">int ldns_b32_ntop </td> <td>(</td> <td class="paramtype">uint8_t const * </td> <td class="paramname"><em>src</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">size_t </td> <td class="paramname"><em>srclength</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">char * </td> <td class="paramname"><em>target</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">size_t </td> <td class="paramname"><em>targsize</em> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td> </tr> </table> </div> <div class="memdoc"> </div> </div> <a class="anchor" id="a5c5431f355f91c46227dd48087a39162"></a><!-- doxytag: member="util.h::b32_ntop" ref="a5c5431f355f91c46227dd48087a39162" args="(uint8_t const *src, size_t srclength, char *target, size_t targsize)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">int b32_ntop </td> <td>(</td> <td class="paramtype">uint8_t const * </td> <td class="paramname"><em>src</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">size_t </td> <td class="paramname"><em>srclength</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">char * </td> <td class="paramname"><em>target</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">size_t </td> <td class="paramname"><em>targsize</em> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td> </tr> </table> </div> <div class="memdoc"> </div> </div> <a class="anchor" id="a1131c0b74b8b1d94d673aa222d0ef54b"></a><!-- doxytag: member="util.h::ldns_b32_ntop_extended_hex" ref="a1131c0b74b8b1d94d673aa222d0ef54b" args="(uint8_t const *src, size_t srclength, char *target, size_t targsize)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">int ldns_b32_ntop_extended_hex </td> <td>(</td> <td class="paramtype">uint8_t const * </td> <td class="paramname"><em>src</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">size_t </td> <td class="paramname"><em>srclength</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">char * </td> <td class="paramname"><em>target</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">size_t </td> <td class="paramname"><em>targsize</em> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td> </tr> </table> </div> <div class="memdoc"> </div> </div> <a class="anchor" id="aed79c5491d256070b43664b9b7bc1981"></a><!-- doxytag: member="util.h::b32_ntop_extended_hex" ref="aed79c5491d256070b43664b9b7bc1981" args="(uint8_t const *src, size_t srclength, char *target, size_t targsize)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">int b32_ntop_extended_hex </td> <td>(</td> <td class="paramtype">uint8_t const * </td> <td class="paramname"><em>src</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">size_t </td> <td class="paramname"><em>srclength</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">char * </td> <td class="paramname"><em>target</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">size_t </td> <td class="paramname"><em>targsize</em> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td> </tr> </table> </div> <div class="memdoc"> </div> </div> <a class="anchor" id="a60c8f637673eb6eda1b2ba9416b4acdc"></a><!-- doxytag: member="util.h::ldns_b32_pton" ref="a60c8f637673eb6eda1b2ba9416b4acdc" args="(char const *src, size_t hashed_owner_str_len, uint8_t *target, size_t targsize)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">int ldns_b32_pton </td> <td>(</td> <td class="paramtype">char const * </td> <td class="paramname"><em>src</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">size_t </td> <td class="paramname"><em>hashed_owner_str_len</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">uint8_t * </td> <td class="paramname"><em>target</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">size_t </td> <td class="paramname"><em>targsize</em> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td> </tr> </table> </div> <div class="memdoc"> </div> </div> <a class="anchor" id="a22d504d674ef6d2a59ab87fd4a0fdba4"></a><!-- doxytag: member="util.h::b32_pton" ref="a22d504d674ef6d2a59ab87fd4a0fdba4" args="(char const *src, size_t hashed_owner_str_len, uint8_t *target, size_t targsize)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">int b32_pton </td> <td>(</td> <td class="paramtype">char const * </td> <td class="paramname"><em>src</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">size_t </td> <td class="paramname"><em>hashed_owner_str_len</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">uint8_t * </td> <td class="paramname"><em>target</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">size_t </td> <td class="paramname"><em>targsize</em> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td> </tr> </table> </div> <div class="memdoc"> </div> </div> <a class="anchor" id="aacd27728d568173b4e84b920c93f4141"></a><!-- doxytag: member="util.h::ldns_b32_pton_extended_hex" ref="aacd27728d568173b4e84b920c93f4141" args="(char const *src, size_t hashed_owner_str_len, uint8_t *target, size_t targsize)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">int ldns_b32_pton_extended_hex </td> <td>(</td> <td class="paramtype">char const * </td> <td class="paramname"><em>src</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">size_t </td> <td class="paramname"><em>hashed_owner_str_len</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">uint8_t * </td> <td class="paramname"><em>target</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">size_t </td> <td class="paramname"><em>targsize</em> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td> </tr> </table> </div> <div class="memdoc"> </div> </div> <a class="anchor" id="a26b31a9006ac7150bcccd01a28afdce7"></a><!-- doxytag: member="util.h::b32_pton_extended_hex" ref="a26b31a9006ac7150bcccd01a28afdce7" args="(char const *src, size_t hashed_owner_str_len, uint8_t *target, size_t targsize)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">int b32_pton_extended_hex </td> <td>(</td> <td class="paramtype">char const * </td> <td class="paramname"><em>src</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">size_t </td> <td class="paramname"><em>hashed_owner_str_len</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">uint8_t * </td> <td class="paramname"><em>target</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">size_t </td> <td class="paramname"><em>targsize</em> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td> </tr> </table> </div> <div class="memdoc"> </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>