1 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
2 <html xmlns="http://www.w3.org/1999/xhtml">
4 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
5 <title>json-c: printbuf.h File Reference</title>
6 <link href="tabs.css" rel="stylesheet" type="text/css"/>
7 <link href="doxygen.css" rel="stylesheet" type="text/css"/>
10 <!-- Generated by Doxygen 1.6.3 -->
11 <div class="navigation" id="top">
14 <li><a href="index.html"><span>Main Page</span></a></li>
15 <li><a href="pages.html"><span>Related Pages</span></a></li>
16 <li><a href="annotated.html"><span>Data Structures</span></a></li>
17 <li class="current"><a href="files.html"><span>Files</span></a></li>
22 <li><a href="files.html"><span>File List</span></a></li>
23 <li><a href="globals.html"><span>Globals</span></a></li>
27 <div class="contents">
28 <h1>printbuf.h File Reference</h1><table border="0" cellpadding="0" cellspacing="0">
29 <tr><td colspan="2"><h2>Data Structures</h2></td></tr>
30 <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>
31 <tr><td colspan="2"><h2>Defines</h2></td></tr>
32 <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>
33 <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>
34 <tr><td colspan="2"><h2>Functions</h2></td></tr>
35 <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>
36 <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>
37 <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>
38 <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>
39 <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>
40 <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>
42 <hr/><h2>Define Documentation</h2>
43 <a class="anchor" id="acdd84ad88987c0166b7ba0e3f1f8f1bb"></a><!-- doxytag: member="printbuf.h::printbuf_length" ref="acdd84ad88987c0166b7ba0e3f1f8f1bb" args="(p)" -->
45 <div class="memproto">
46 <table class="memname">
48 <td class="memname">#define printbuf_length</td>
50 <td class="paramtype">p </td>
51 <td class="paramname"></td>
52 <td> ) </td>
53 <td> ((p)->bpos)</td>
61 <a class="anchor" id="a6f3a4dc87fab41c37e3eff42f40dc346"></a><!-- doxytag: member="printbuf.h::printbuf_memappend_fast" ref="a6f3a4dc87fab41c37e3eff42f40dc346" args="(p, bufptr, bufsize)" -->
63 <div class="memproto">
64 <table class="memname">
66 <td class="memname">#define printbuf_memappend_fast</td>
68 <td class="paramtype">p, </td>
71 <td class="paramkey"></td>
73 <td class="paramtype">bufptr, </td>
76 <td class="paramkey"></td>
78 <td class="paramtype">bufsize </td>
79 <td class="paramname"></td>
80 <td> ) </td>
86 <b>Value:</b><div class="fragment"><pre class="fragment"><span class="keywordflow">do</span> { \
87 <span class="keywordflow">if</span> ((p->size - p->bpos) > bufsize) { \
88 memcpy(p->buf + p->bpos, (bufptr), bufsize); \
89 p->bpos += bufsize; \
90 p->buf[p->bpos]= <span class="charliteral">'\0'</span>; \
91 } <span class="keywordflow">else</span> { <a class="code" href="printbuf_8h.html#a22f09779a19db59a83e7cb8c2ce4c75f">printbuf_memappend</a>(p, (bufptr), bufsize); } \
92 } <span class="keywordflow">while</span> (0)
96 <hr/><h2>Function Documentation</h2>
97 <a class="anchor" id="ab525221c767ac65c58ddeea8a655a4e8"></a><!-- doxytag: member="printbuf.h::printbuf_free" ref="ab525221c767ac65c58ddeea8a655a4e8" args="(struct printbuf *p)" -->
99 <div class="memproto">
100 <table class="memname">
102 <td class="memname">void printbuf_free </td>
104 <td class="paramtype">struct <a class="el" href="structprintbuf.html">printbuf</a> * </td>
105 <td class="paramname"> <em>p</em></td>
106 <td> ) </td>
115 <a class="anchor" id="a22f09779a19db59a83e7cb8c2ce4c75f"></a><!-- doxytag: member="printbuf.h::printbuf_memappend" ref="a22f09779a19db59a83e7cb8c2ce4c75f" args="(struct printbuf *p, const char *buf, int size)" -->
116 <div class="memitem">
117 <div class="memproto">
118 <table class="memname">
120 <td class="memname">int printbuf_memappend </td>
122 <td class="paramtype">struct <a class="el" href="structprintbuf.html">printbuf</a> * </td>
123 <td class="paramname"> <em>p</em>, </td>
126 <td class="paramkey"></td>
128 <td class="paramtype">const char * </td>
129 <td class="paramname"> <em>buf</em>, </td>
132 <td class="paramkey"></td>
134 <td class="paramtype">int </td>
135 <td class="paramname"> <em>size</em></td><td> </td>
140 <td></td><td></td><td></td>
148 <a class="anchor" id="ad7fc6ec4c296e85abf404244614cded5"></a><!-- doxytag: member="printbuf.h::printbuf_memset" ref="ad7fc6ec4c296e85abf404244614cded5" args="(struct printbuf *pb, int offset, int charvalue, int len)" -->
149 <div class="memitem">
150 <div class="memproto">
151 <table class="memname">
153 <td class="memname">int printbuf_memset </td>
155 <td class="paramtype">struct <a class="el" href="structprintbuf.html">printbuf</a> * </td>
156 <td class="paramname"> <em>pb</em>, </td>
159 <td class="paramkey"></td>
161 <td class="paramtype">int </td>
162 <td class="paramname"> <em>offset</em>, </td>
165 <td class="paramkey"></td>
167 <td class="paramtype">int </td>
168 <td class="paramname"> <em>charvalue</em>, </td>
171 <td class="paramkey"></td>
173 <td class="paramtype">int </td>
174 <td class="paramname"> <em>len</em></td><td> </td>
179 <td></td><td></td><td></td>
184 <p>Set len bytes of the buffer to charvalue, starting at offset offset. Similar to calling memset(x, charvalue, len);</p>
185 <p>The memory allocated for the buffer is extended as necessary.</p>
186 <p>If offset is -1, this starts at the end of the current data in the buffer. </p>
190 <a class="anchor" id="a3e390ebc7660a18335edd89f640fd415"></a><!-- doxytag: member="printbuf.h::printbuf_new" ref="a3e390ebc7660a18335edd89f640fd415" args="(void)" -->
191 <div class="memitem">
192 <div class="memproto">
193 <table class="memname">
195 <td class="memname">struct <a class="el" href="structprintbuf.html">printbuf</a>* printbuf_new </td>
197 <td class="paramtype">void </td>
198 <td class="paramname"></td>
199 <td> ) </td>
200 <td><code> [read]</code></td>
208 <a class="anchor" id="a4393ee3dedb376af11c96fe97532292e"></a><!-- doxytag: member="printbuf.h::printbuf_reset" ref="a4393ee3dedb376af11c96fe97532292e" args="(struct printbuf *p)" -->
209 <div class="memitem">
210 <div class="memproto">
211 <table class="memname">
213 <td class="memname">void printbuf_reset </td>
215 <td class="paramtype">struct <a class="el" href="structprintbuf.html">printbuf</a> * </td>
216 <td class="paramname"> <em>p</em></td>
217 <td> ) </td>
226 <a class="anchor" id="adf6214db6c8ce994c7f7f1180863c8a4"></a><!-- doxytag: member="printbuf.h::sprintbuf" ref="adf6214db6c8ce994c7f7f1180863c8a4" args="(struct printbuf *p, const char *msg,...)" -->
227 <div class="memitem">
228 <div class="memproto">
229 <table class="memname">
231 <td class="memname">int sprintbuf </td>
233 <td class="paramtype">struct <a class="el" href="structprintbuf.html">printbuf</a> * </td>
234 <td class="paramname"> <em>p</em>, </td>
237 <td class="paramkey"></td>
239 <td class="paramtype">const char * </td>
240 <td class="paramname"> <em>msg</em>, </td>
243 <td class="paramkey"></td>
245 <td class="paramtype"> </td>
246 <td class="paramname"> <em>...</em></td><td> </td>
251 <td></td><td></td><td></td>
260 <hr class="footer"/><address style="text-align: right;"><small>Generated on Sat Apr 28 15:52:47 2012 for json-c by
261 <a href="http://www.doxygen.org/index.html">
262 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>