Files
pcp/man/html/group__UTILs.html
2014-02-20 20:09:24 +01:00

240 lines
10 KiB
HTML

<!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"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<title>libpcp: UTILS</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libpcp
&#160;<span id="projectnumber">0.2.1</span>
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.2 -->
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="index.html"><span>Main&#160;Page</span></a></li>
<li><a href="modules.html"><span>Modules</span></a></li>
<li><a href="annotated.html"><span>Classes</span></a></li>
<li><a href="files.html"><span>Files</span></a></li>
</ul>
</div>
</div><!-- top -->
<div class="header">
<div class="summary">
<a href="#func-members">Functions</a> </div>
<div class="headertitle">
<div class="title">UTILS</div> </div>
</div><!--header-->
<div class="contents">
<p>Various useful helper functions.
<a href="#details">More...</a></p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
Functions</h2></td></tr>
<tr class="memitem:ga16a91a0ad754a3662f0091e71529fb50"><td class="memItemLeft" align="right" valign="top">char *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__UTILs.html#ga16a91a0ad754a3662f0091e71529fb50">_lc</a> (char *in)</td></tr>
<tr class="memdesc:ga16a91a0ad754a3662f0091e71529fb50"><td class="mdescLeft">&#160;</td><td class="mdescRight">Convert a char array to lowercase. <a href="#ga16a91a0ad754a3662f0091e71529fb50"></a><br/></td></tr>
<tr class="separator:ga16a91a0ad754a3662f0091e71529fb50"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga20509d081da3e4fefbf7785d318d456a"><td class="memItemLeft" align="right" valign="top">size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__UTILs.html#ga20509d081da3e4fefbf7785d318d456a">_findoffset</a> (unsigned char *bin, size_t binlen, char *sigstart, size_t hlen)</td></tr>
<tr class="memdesc:ga20509d081da3e4fefbf7785d318d456a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Find the offset of some offset marker in some arbitrary data. <a href="#ga20509d081da3e4fefbf7785d318d456a"></a><br/></td></tr>
<tr class="separator:ga20509d081da3e4fefbf7785d318d456a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaad81054336208b62739f1e20091213a6"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__UTILs.html#gaad81054336208b62739f1e20091213a6">_xorbuf</a> (unsigned char *iv, unsigned char *buf, size_t xlen)</td></tr>
<tr class="memdesc:gaad81054336208b62739f1e20091213a6"><td class="mdescLeft">&#160;</td><td class="mdescRight">XOR an input buffer with another buffer. <a href="#gaad81054336208b62739f1e20091213a6"></a><br/></td></tr>
<tr class="separator:gaad81054336208b62739f1e20091213a6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga3dcb1fcb0f840869eab341598da50b55"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__UTILs.html#ga3dcb1fcb0f840869eab341598da50b55">_dump</a> (char *n, unsigned char *d, size_t s)</td></tr>
<tr class="memdesc:ga3dcb1fcb0f840869eab341598da50b55"><td class="mdescLeft">&#160;</td><td class="mdescRight">Dump binary data as hex to stderr. <a href="#ga3dcb1fcb0f840869eab341598da50b55"></a><br/></td></tr>
<tr class="separator:ga3dcb1fcb0f840869eab341598da50b55"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<p>Various useful helper functions. </p>
<h2 class="groupheader">Function Documentation</h2>
<a class="anchor" id="ga3dcb1fcb0f840869eab341598da50b55"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void _dump </td>
<td>(</td>
<td class="paramtype">char *&#160;</td>
<td class="paramname"><em>n</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">unsigned char *&#160;</td>
<td class="paramname"><em>d</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">size_t&#160;</td>
<td class="paramname"><em>s</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Dump binary data as hex to stderr. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">n</td><td>Description, string.</td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">d</td><td>Data to print.</td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">s</td><td>Size of d. </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a class="anchor" id="ga20509d081da3e4fefbf7785d318d456a"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">size_t _findoffset </td>
<td>(</td>
<td class="paramtype">unsigned char *&#160;</td>
<td class="paramname"><em>bin</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">size_t&#160;</td>
<td class="paramname"><em>binlen</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">char *&#160;</td>
<td class="paramname"><em>sigstart</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">size_t&#160;</td>
<td class="paramname"><em>hlen</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Find the offset of some offset marker in some arbitrary data. </p>
<p>Sample input: </p>
<div class="fragment"><div class="line">ABABABABnacl-98a7sd98a7das98d7</div>
</div><!-- fragment --><p>If you look for the offset of "nacl" within that data, the function will return 9, which is the position within the data where the marker starts.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">bin</td><td>Aribrary data where to look for the marker.</td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">binlen</td><td>The size of the data.</td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">sigstart</td><td>The offset marker.</td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">hlen</td><td>Size of the offset marker.</td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Returns the offset or -1 of the offset were not found. </dd></dl>
</div>
</div>
<a class="anchor" id="ga16a91a0ad754a3662f0091e71529fb50"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">char* _lc </td>
<td>(</td>
<td class="paramtype">char *&#160;</td>
<td class="paramname"><em>in</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Convert a char array to lowercase. </p>
<p>The supplied char array will be directly modified. Use a copy if you want to retain the original.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in,out]</td><td class="paramname">in</td><td>The char array to convert.</td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Returns the pointer to the char array. </dd></dl>
</div>
</div>
<a class="anchor" id="gaad81054336208b62739f1e20091213a6"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void _xorbuf </td>
<td>(</td>
<td class="paramtype">unsigned char *&#160;</td>
<td class="paramname"><em>iv</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">unsigned char *&#160;</td>
<td class="paramname"><em>buf</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">size_t&#160;</td>
<td class="paramname"><em>xlen</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>XOR an input buffer with another buffer. </p>
<p>Both buffers have to have the same size. The input buffer will bei modified directly.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">iv</td><td>The buffer to XOR with.</td></tr>
<tr><td class="paramdir">[in,out]</td><td class="paramname">buf</td><td>The buffer which will be XORed with 'iv'.</td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">xlen</td><td>The size of the buffers (they must have the same size). </td></tr>
</table>
</dd>
</dl>
</div>
</div>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Thu Feb 20 2014 19:59:14 for libpcp by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.2
</small></address>
</body>
</html>