<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/> <title>CLD: include/cld_common.h File Reference</title> <link href="tabs.css" rel="stylesheet" type="text/css"/> <link href="doxygen.css" rel="stylesheet" type="text/css" /> </head> <body> <div id="top"><!-- do not remove this div! --> <div id="titlearea"> <table cellspacing="0" cellpadding="0"> <tbody> <tr style="height: 56px;"> <td style="padding-left: 0.5em;"> <div id="projectname">CLD  <span id="projectnumber">0.1git</span> </div> </td> </tr> </tbody> </table> </div> <!-- Generated by Doxygen 1.7.5 --> <div id="navrow1" class="tabs"> <ul class="tablist"> <li><a href="index.html"><span>Main Page</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> </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> <div class="header"> <div class="summary"> <a href="#nested-classes">Data Structures</a> | <a href="#define-members">Defines</a> | <a href="#func-members">Functions</a> </div> <div class="headertitle"> <div class="title">include/cld_common.h File Reference</div> </div> </div> <div class="contents"> <div class="textblock"><code>#include <stdint.h></code><br/> <code>#include <stdbool.h></code><br/> <code>#include <string.h></code><br/> <code>#include <time.h></code><br/> <code>#include <glib.h></code><br/> <code>#include <openssl/sha.h></code><br/> <code>#include <cld_msg_rpc.h></code><br/> </div><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="structcld__timer.html">cld_timer</a></td></tr> <tr><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="structcld__timer__list.html">cld_timer_list</a></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="cld__common_8h.html#aa6b77f5b267778672e0f4e93863401bf">CLD_ALIGN8</a>(n)   ((8 - ((n) & 7)) & 7)</td></tr> <tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="cld__common_8h.html#a97647262121ac0919591c8c3d50d0c0d">SIDFMT</a>   "%016llX"</td></tr> <tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="cld__common_8h.html#a439f29c04e04bab1333a32e99f00e37c">SIDARG</a>(sid)   cld_sid2llu(sid)</td></tr> <tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="cld__common_8h.html#a9aa3f5613cea2de18c8e96c7cca71289">CLD_PKT_FTR_LEN</a>   sizeof(struct cld_pkt_ftr)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Length of the packet footer. <a href="#a9aa3f5613cea2de18c8e96c7cca71289"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="cld__common_8h.html#a1b66dd9b3db89ec335e4119c79dcea2b">PKT_HDR_TO_STR_SCRATCH_LEN</a>   128</td></tr> <tr><td colspan="2"><h2><a name="func-members"></a> Functions</h2></td></tr> <tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="cld__common_8h.html#ab614597070f773b083c6840d8389a784">cld_timer_add</a> (struct <a class="el" href="structcld__timer__list.html">cld_timer_list</a> *tlist, struct <a class="el" href="structcld__timer.html">cld_timer</a> *timer, time_t expires)</td></tr> <tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="cld__common_8h.html#a1e120aef38a7c242a806d6db4c97fdf8">cld_timer_del</a> (struct <a class="el" href="structcld__timer__list.html">cld_timer_list</a> *tlist, struct <a class="el" href="structcld__timer.html">cld_timer</a> *timer)</td></tr> <tr><td class="memItemLeft" align="right" valign="top">time_t </td><td class="memItemRight" valign="bottom"><a class="el" href="cld__common_8h.html#af2d858ca2e5d661f115b644ba379791a">cld_timers_run</a> (struct <a class="el" href="structcld__timer__list.html">cld_timer_list</a> *tlist)</td></tr> <tr><td class="memItemLeft" align="right" valign="top">unsigned long long </td><td class="memItemRight" valign="bottom"><a class="el" href="cld__common_8h.html#aeaad81781bee9b049d2b262ca9992030">cld_sid2llu</a> (const uint8_t *sid)</td></tr> <tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="cld__common_8h.html#a507f8ca4a4467d65e05f283ee06f1988">cld_rand64</a> (void *p)</td></tr> <tr><td class="memItemLeft" align="right" valign="top">const char * </td><td class="memItemRight" valign="bottom"><a class="el" href="cld__common_8h.html#a661e0f231f0603639b31c482292edf42">cld_errstr</a> (enum cle_err_codes ecode)</td></tr> <tr><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="cld__common_8h.html#a7504d1a510a87ec563b7db88212898da">cld_readport</a> (const char *fname)</td></tr> <tr><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="cld__common_8h.html#ab7b5b89112e0b20c8307f86b47477ca0">cld_authcheck</a> (struct <a class="el" href="structhail__log.html">hail_log</a> *log, const char *key, const void *buf, size_t buf_len, const void *sha)</td></tr> <tr><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="cld__common_8h.html#a980285285d2538349696a52808b34b63">cld_authsign</a> (struct <a class="el" href="structhail__log.html">hail_log</a> *log, const char *key, const void *buf, size_t buf_len, void *sha)</td></tr> <tr><td class="memItemLeft" align="right" valign="top">const char * </td><td class="memItemRight" valign="bottom"><a class="el" href="cld__common_8h.html#a8a21f57a6072e086990859fb2aa960e1">cld_opstr</a> (enum cld_msg_op)</td></tr> <tr><td class="memItemLeft" align="right" valign="top">const char * </td><td class="memItemRight" valign="bottom"><a class="el" href="cld__common_8h.html#abe70a08b00c8366212f7d79fe8c8b5a1">cld_pkt_hdr_to_str</a> (char *scratch, const char *pkt_hdr, size_t pkt_len)</td></tr> <tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="cld__common_8h.html#acfd0ccbd43655ec223f1c18d258015f0">__cld_dump_buf</a> (const void *buf, size_t len)</td></tr> <tr><td class="memItemLeft" align="right" valign="top">struct </td><td class="memItemRight" valign="bottom"><a class="el" href="cld__common_8h.html#a3fedb42bf61f53c7ee6b052b26cf49c3">__attribute__</a> ((packed)) cld_pkt_ftr</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Footer that appears at the end of each packet. <a href="#a3fedb42bf61f53c7ee6b052b26cf49c3"></a><br/></td></tr> </table> <hr/><h2>Define Documentation</h2> <a class="anchor" id="aa6b77f5b267778672e0f4e93863401bf"></a><!-- doxytag: member="cld_common.h::CLD_ALIGN8" ref="aa6b77f5b267778672e0f4e93863401bf" args="(n)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">#define CLD_ALIGN8</td> <td>(</td> <td class="paramtype"> </td> <td class="paramname">n</td><td>)</td> <td>   ((8 - ((n) & 7)) & 7)</td> </tr> </table> </div> <div class="memdoc"> </div> </div> <a class="anchor" id="a9aa3f5613cea2de18c8e96c7cca71289"></a><!-- doxytag: member="cld_common.h::CLD_PKT_FTR_LEN" ref="a9aa3f5613cea2de18c8e96c7cca71289" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">#define CLD_PKT_FTR_LEN   sizeof(struct cld_pkt_ftr)</td> </tr> </table> </div> <div class="memdoc"> <p>Length of the packet footer. </p> <p>This size is fixed </p> </div> </div> <a class="anchor" id="a1b66dd9b3db89ec335e4119c79dcea2b"></a><!-- doxytag: member="cld_common.h::PKT_HDR_TO_STR_SCRATCH_LEN" ref="a1b66dd9b3db89ec335e4119c79dcea2b" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">#define PKT_HDR_TO_STR_SCRATCH_LEN   128</td> </tr> </table> </div> <div class="memdoc"> </div> </div> <a class="anchor" id="a439f29c04e04bab1333a32e99f00e37c"></a><!-- doxytag: member="cld_common.h::SIDARG" ref="a439f29c04e04bab1333a32e99f00e37c" args="(sid)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">#define SIDARG</td> <td>(</td> <td class="paramtype"> </td> <td class="paramname">sid</td><td>)</td> <td>   cld_sid2llu(sid)</td> </tr> </table> </div> <div class="memdoc"> </div> </div> <a class="anchor" id="a97647262121ac0919591c8c3d50d0c0d"></a><!-- doxytag: member="cld_common.h::SIDFMT" ref="a97647262121ac0919591c8c3d50d0c0d" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">#define SIDFMT   "%016llX"</td> </tr> </table> </div> <div class="memdoc"> </div> </div> <hr/><h2>Function Documentation</h2> <a class="anchor" id="a3fedb42bf61f53c7ee6b052b26cf49c3"></a><!-- doxytag: member="cld_common.h::__attribute__" ref="a3fedb42bf61f53c7ee6b052b26cf49c3" args="((packed)) cld_pkt_ftr" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">struct __attribute__ </td> <td>(</td> <td class="paramtype">(packed) </td> <td class="paramname"></td><td>)</td> <td><code> [read]</code></td> </tr> </table> </div> <div class="memdoc"> <p>Footer that appears at the end of each packet. </p> <p>< packet sequence ID</p> <p>< packet signature </p> </div> </div> <a class="anchor" id="acfd0ccbd43655ec223f1c18d258015f0"></a><!-- doxytag: member="cld_common.h::__cld_dump_buf" ref="acfd0ccbd43655ec223f1c18d258015f0" args="(const void *buf, size_t len)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">void __cld_dump_buf </td> <td>(</td> <td class="paramtype">const void * </td> <td class="paramname"><em>buf</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"> </div> </div> <a class="anchor" id="ab7b5b89112e0b20c8307f86b47477ca0"></a><!-- doxytag: member="cld_common.h::cld_authcheck" ref="ab7b5b89112e0b20c8307f86b47477ca0" args="(struct hail_log *log, const char *key, const void *buf, size_t buf_len, const void *sha)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">int cld_authcheck </td> <td>(</td> <td class="paramtype">struct <a class="el" href="structhail__log.html">hail_log</a> * </td> <td class="paramname"><em>log</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const char * </td> <td class="paramname"><em>key</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const void * </td> <td class="paramname"><em>buf</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">size_t </td> <td class="paramname"><em>buf_len</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const void * </td> <td class="paramname"><em>sha</em> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td> </tr> </table> </div> <div class="memdoc"> </div> </div> <a class="anchor" id="a980285285d2538349696a52808b34b63"></a><!-- doxytag: member="cld_common.h::cld_authsign" ref="a980285285d2538349696a52808b34b63" args="(struct hail_log *log, const char *key, const void *buf, size_t buf_len, void *sha)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">int cld_authsign </td> <td>(</td> <td class="paramtype">struct <a class="el" href="structhail__log.html">hail_log</a> * </td> <td class="paramname"><em>log</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const char * </td> <td class="paramname"><em>key</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const void * </td> <td class="paramname"><em>buf</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">size_t </td> <td class="paramname"><em>buf_len</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">void * </td> <td class="paramname"><em>sha</em> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td> </tr> </table> </div> <div class="memdoc"> </div> </div> <a class="anchor" id="a661e0f231f0603639b31c482292edf42"></a><!-- doxytag: member="cld_common.h::cld_errstr" ref="a661e0f231f0603639b31c482292edf42" args="(enum cle_err_codes ecode)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">const char* cld_errstr </td> <td>(</td> <td class="paramtype">enum cle_err_codes </td> <td class="paramname"><em>ecode</em></td><td>)</td> <td></td> </tr> </table> </div> <div class="memdoc"> </div> </div> <a class="anchor" id="a8a21f57a6072e086990859fb2aa960e1"></a><!-- doxytag: member="cld_common.h::cld_opstr" ref="a8a21f57a6072e086990859fb2aa960e1" args="(enum cld_msg_op)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">const char* cld_opstr </td> <td>(</td> <td class="paramtype">enum </td> <td class="paramname"><em>cld_msg_op</em></td><td>)</td> <td></td> </tr> </table> </div> <div class="memdoc"> </div> </div> <a class="anchor" id="abe70a08b00c8366212f7d79fe8c8b5a1"></a><!-- doxytag: member="cld_common.h::cld_pkt_hdr_to_str" ref="abe70a08b00c8366212f7d79fe8c8b5a1" args="(char *scratch, const char *pkt_hdr, size_t pkt_len)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">const char* cld_pkt_hdr_to_str </td> <td>(</td> <td class="paramtype">char * </td> <td class="paramname"><em>scratch</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const char * </td> <td class="paramname"><em>pkt_hdr</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">size_t </td> <td class="paramname"><em>pkt_len</em> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td> </tr> </table> </div> <div class="memdoc"> </div> </div> <a class="anchor" id="a507f8ca4a4467d65e05f283ee06f1988"></a><!-- doxytag: member="cld_common.h::cld_rand64" ref="a507f8ca4a4467d65e05f283ee06f1988" args="(void *p)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">void cld_rand64 </td> <td>(</td> <td class="paramtype">void * </td> <td class="paramname"><em>p</em></td><td>)</td> <td></td> </tr> </table> </div> <div class="memdoc"> </div> </div> <a class="anchor" id="a7504d1a510a87ec563b7db88212898da"></a><!-- doxytag: member="cld_common.h::cld_readport" ref="a7504d1a510a87ec563b7db88212898da" args="(const char *fname)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">int cld_readport </td> <td>(</td> <td class="paramtype">const char * </td> <td class="paramname"><em>fname</em></td><td>)</td> <td></td> </tr> </table> </div> <div class="memdoc"> </div> </div> <a class="anchor" id="aeaad81781bee9b049d2b262ca9992030"></a><!-- doxytag: member="cld_common.h::cld_sid2llu" ref="aeaad81781bee9b049d2b262ca9992030" args="(const uint8_t *sid)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">unsigned long long cld_sid2llu </td> <td>(</td> <td class="paramtype">const uint8_t * </td> <td class="paramname"><em>sid</em></td><td>)</td> <td></td> </tr> </table> </div> <div class="memdoc"> </div> </div> <a class="anchor" id="ab614597070f773b083c6840d8389a784"></a><!-- doxytag: member="cld_common.h::cld_timer_add" ref="ab614597070f773b083c6840d8389a784" args="(struct cld_timer_list *tlist, struct cld_timer *timer, time_t expires)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">void cld_timer_add </td> <td>(</td> <td class="paramtype">struct <a class="el" href="structcld__timer__list.html">cld_timer_list</a> * </td> <td class="paramname"><em>tlist</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">struct <a class="el" href="structcld__timer.html">cld_timer</a> * </td> <td class="paramname"><em>timer</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">time_t </td> <td class="paramname"><em>expires</em> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td> </tr> </table> </div> <div class="memdoc"> </div> </div> <a class="anchor" id="a1e120aef38a7c242a806d6db4c97fdf8"></a><!-- doxytag: member="cld_common.h::cld_timer_del" ref="a1e120aef38a7c242a806d6db4c97fdf8" args="(struct cld_timer_list *tlist, struct cld_timer *timer)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">void cld_timer_del </td> <td>(</td> <td class="paramtype">struct <a class="el" href="structcld__timer__list.html">cld_timer_list</a> * </td> <td class="paramname"><em>tlist</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">struct <a class="el" href="structcld__timer.html">cld_timer</a> * </td> <td class="paramname"><em>timer</em> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td> </tr> </table> </div> <div class="memdoc"> </div> </div> <a class="anchor" id="af2d858ca2e5d661f115b644ba379791a"></a><!-- doxytag: member="cld_common.h::cld_timers_run" ref="af2d858ca2e5d661f115b644ba379791a" args="(struct cld_timer_list *tlist)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">time_t cld_timers_run </td> <td>(</td> <td class="paramtype">struct <a class="el" href="structcld__timer__list.html">cld_timer_list</a> * </td> <td class="paramname"><em>tlist</em></td><td>)</td> <td></td> </tr> </table> </div> <div class="memdoc"> </div> </div> </div> <hr class="footer"/><address class="footer"><small> Generated on Sat Jan 28 2012 05:53:01 for CLD by  <a href="http://www.doxygen.org/index.html"> <img class="footer" src="doxygen.png" alt="doxygen"/> </a> 1.7.5 </small></address> </body> </html>