src/json/json-c-0.10.x86_64/doc/html/printbuf_8h.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"/>
<title>json-c: printbuf.h File Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="doxygen.css" rel="stylesheet" type="text/css"/>
</head>
<body>
<!-- Generated by Doxygen 1.6.3 -->
<div class="navigation" id="top">
<div class="tabs">
<ul>
<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>
</ul>
</div>
<div class="tabs">
<ul>
<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="contents">
<h1>printbuf.h File Reference</h1><table border="0" cellpadding="0" cellspacing="0">
<tr><td colspan="2"><h2>Data Structures</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">struct </td><td class="memItemRight" valign="bottom"><a class="el" href="structprintbuf.html">printbuf</a></td></tr>
<tr><td colspan="2"><h2>Defines</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="printbuf_8h.html#a6f3a4dc87fab41c37e3eff42f40dc346">printbuf_memappend_fast</a>(p, bufptr, bufsize)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="printbuf_8h.html#acdd84ad88987c0166b7ba0e3f1f8f1bb">printbuf_length</a>(p) ((p)->bpos)</td></tr>
<tr><td colspan="2"><h2>Functions</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">struct <a class="el" href="structprintbuf.html">printbuf</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="printbuf_8h.html#a3e390ebc7660a18335edd89f640fd415">printbuf_new</a> (void)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="printbuf_8h.html#a22f09779a19db59a83e7cb8c2ce4c75f">printbuf_memappend</a> (struct <a class="el" href="structprintbuf.html">printbuf</a> *p, const char *buf, int size)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="printbuf_8h.html#ad7fc6ec4c296e85abf404244614cded5">printbuf_memset</a> (struct <a class="el" href="structprintbuf.html">printbuf</a> *pb, int offset, int charvalue, int len)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="printbuf_8h.html#adf6214db6c8ce994c7f7f1180863c8a4">sprintbuf</a> (struct <a class="el" href="structprintbuf.html">printbuf</a> *p, const char *msg,...)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="printbuf_8h.html#a4393ee3dedb376af11c96fe97532292e">printbuf_reset</a> (struct <a class="el" href="structprintbuf.html">printbuf</a> *p)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="printbuf_8h.html#ab525221c767ac65c58ddeea8a655a4e8">printbuf_free</a> (struct <a class="el" href="structprintbuf.html">printbuf</a> *p)</td></tr>
</table>
<hr/><h2>Define Documentation</h2>
<a class="anchor" id="acdd84ad88987c0166b7ba0e3f1f8f1bb"></a><!-- doxytag: member="printbuf.h::printbuf_length" ref="acdd84ad88987c0166b7ba0e3f1f8f1bb" args="(p)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define printbuf_length</td>
<td>(</td>
<td class="paramtype">p </td>
<td class="paramname"></td>
<td> ) </td>
<td> ((p)->bpos)</td>
</tr>
</table>
</div>
<div class="memdoc">
</div>
</div>
<a class="anchor" id="a6f3a4dc87fab41c37e3eff42f40dc346"></a><!-- doxytag: member="printbuf.h::printbuf_memappend_fast" ref="a6f3a4dc87fab41c37e3eff42f40dc346" args="(p, bufptr, bufsize)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define printbuf_memappend_fast</td>
<td>(</td>
<td class="paramtype">p, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">bufptr, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">bufsize </td>
<td class="paramname"></td>
<td> ) </td>
<td></td>
</tr>
</table>
</div>
<div class="memdoc">
<b>Value:</b><div class="fragment"><pre class="fragment"><span class="keywordflow">do</span> { \
<span class="keywordflow">if</span> ((p->size - p->bpos) > bufsize) { \
memcpy(p->buf + p->bpos, (bufptr), bufsize); \
p->bpos += bufsize; \
p->buf[p->bpos]= <span class="charliteral">'\0'</span>; \
} <span class="keywordflow">else</span> { <a class="code" href="printbuf_8h.html#a22f09779a19db59a83e7cb8c2ce4c75f">printbuf_memappend</a>(p, (bufptr), bufsize); } \
} <span class="keywordflow">while</span> (0)
</pre></div>
</div>
</div>
<hr/><h2>Function Documentation</h2>
<a class="anchor" id="ab525221c767ac65c58ddeea8a655a4e8"></a><!-- doxytag: member="printbuf.h::printbuf_free" ref="ab525221c767ac65c58ddeea8a655a4e8" args="(struct printbuf *p)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void printbuf_free </td>
<td>(</td>
<td class="paramtype">struct <a class="el" href="structprintbuf.html">printbuf</a> * </td>
<td class="paramname"> <em>p</em></td>
<td> ) </td>
<td></td>
</tr>
</table>
</div>
<div class="memdoc">
</div>
</div>
<a class="anchor" id="a22f09779a19db59a83e7cb8c2ce4c75f"></a><!-- doxytag: member="printbuf.h::printbuf_memappend" ref="a22f09779a19db59a83e7cb8c2ce4c75f" args="(struct printbuf *p, const char *buf, int size)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int printbuf_memappend </td>
<td>(</td>
<td class="paramtype">struct <a class="el" href="structprintbuf.html">printbuf</a> * </td>
<td class="paramname"> <em>p</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const char * </td>
<td class="paramname"> <em>buf</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int </td>
<td class="paramname"> <em>size</em></td><td> </td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td><td></td>
</tr>
</table>
</div>
<div class="memdoc">
</div>
</div>
<a class="anchor" id="ad7fc6ec4c296e85abf404244614cded5"></a><!-- doxytag: member="printbuf.h::printbuf_memset" ref="ad7fc6ec4c296e85abf404244614cded5" args="(struct printbuf *pb, int offset, int charvalue, int len)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int printbuf_memset </td>
<td>(</td>
<td class="paramtype">struct <a class="el" href="structprintbuf.html">printbuf</a> * </td>
<td class="paramname"> <em>pb</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int </td>
<td class="paramname"> <em>offset</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int </td>
<td class="paramname"> <em>charvalue</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int </td>
<td class="paramname"> <em>len</em></td><td> </td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td><td></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Set len bytes of the buffer to charvalue, starting at offset offset. Similar to calling memset(x, charvalue, len);</p>
<p>The memory allocated for the buffer is extended as necessary.</p>
<p>If offset is -1, this starts at the end of the current data in the buffer. </p>
</div>
</div>
<a class="anchor" id="a3e390ebc7660a18335edd89f640fd415"></a><!-- doxytag: member="printbuf.h::printbuf_new" ref="a3e390ebc7660a18335edd89f640fd415" args="(void)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">struct <a class="el" href="structprintbuf.html">printbuf</a>* printbuf_new </td>
<td>(</td>
<td class="paramtype">void </td>
<td class="paramname"></td>
<td> ) </td>
<td><code> [read]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
</div>
</div>
<a class="anchor" id="a4393ee3dedb376af11c96fe97532292e"></a><!-- doxytag: member="printbuf.h::printbuf_reset" ref="a4393ee3dedb376af11c96fe97532292e" args="(struct printbuf *p)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void printbuf_reset </td>
<td>(</td>
<td class="paramtype">struct <a class="el" href="structprintbuf.html">printbuf</a> * </td>
<td class="paramname"> <em>p</em></td>
<td> ) </td>
<td></td>
</tr>
</table>
</div>
<div class="memdoc">
</div>
</div>
<a class="anchor" id="adf6214db6c8ce994c7f7f1180863c8a4"></a><!-- doxytag: member="printbuf.h::sprintbuf" ref="adf6214db6c8ce994c7f7f1180863c8a4" args="(struct printbuf *p, const char *msg,...)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int sprintbuf </td>
<td>(</td>
<td class="paramtype">struct <a class="el" href="structprintbuf.html">printbuf</a> * </td>
<td class="paramname"> <em>p</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const char * </td>
<td class="paramname"> <em>msg</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"> </td>
<td class="paramname"> <em>...</em></td><td> </td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td><td></td>
</tr>
</table>
</div>
<div class="memdoc">
</div>
</div>
</div>
<hr class="footer"/><address style="text-align: right;"><small>Generated on Sat Apr 28 15:52:47 2012 for json-c by
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
</body>
</html>