ViewVC Help
View File | Revision Log | Show Annotations | View Changeset | Root Listing
root/svn/vendor/libpeak-0.1.2/doc/html/group__stream__low.html
Revision: 3251
Committed: Wed Apr 2 16:58:30 2014 UTC (11 years, 4 months ago) by michael
Content type: text/html
File size: 17156 byte(s)
Log Message:
- Imported libpeak-0.1.2

File Contents

# User Rev Content
1 michael 3251 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
2     <html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
3     <title>PEAK Library: Non-buffered operations</title>
4     <link href="doxygen.css" rel="stylesheet" type="text/css">
5     </head><body>
6     <!-- Generated by Doxygen 1.3.5 -->
7     <div class="qindex"><a class="qindex" href="index.html">Main&nbsp;Page</a> | <a class="qindex" href="modules.html">Modules</a> | <a class="qindex" href="annotated.html">Data&nbsp;Structures</a> | <a class="qindex" href="functions.html">Data&nbsp;Fields</a></div>
8     <h1>Non-buffered operations<br>
9     <small>
10     [<a class="el" href="group__stream.html">Socket streams</a>]</small>
11     </h1><hr><a name="_details"></a><h2>Detailed Description</h2>
12     Low level read/write primitives.
13     <p>
14    
15     <p>
16     <table border=0 cellpadding=0 cellspacing=0>
17     <tr><td></td></tr>
18     <tr><td colspan=2><br><h2>Defines</h2></td></tr>
19     <tr><td class="memItemLeft" nowrap align=right valign=top>#define&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="group__stream__low.html#ga6">WRITE_FORMAT_BUFFER_SIZE</a>&nbsp;&nbsp;&nbsp;1024</td></tr>
20    
21     <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Internal library format buffer size. <a href="#ga6"></a><br><br></td></tr>
22     <tr><td colspan=2><br><h2>Functions</h2></td></tr>
23     <tr><td class="memItemLeft" nowrap align=right valign=top>int&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="group__stream__low.html#ga0">peak_stream_read</a> (<a class="el" href="group__stream.html#ga0">peak_stream</a> s, void *buffer, size_t bufsize)</td></tr>
24    
25     <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Read bytes on a stream. <a href="#ga0"></a><br><br></td></tr>
26     <tr><td class="memItemLeft" nowrap align=right valign=top>int&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="group__stream__low.html#ga1">peak_stream_recvfrom</a> (<a class="el" href="group__stream.html#ga0">peak_stream</a> s, void *buffer, size_t bufsize, struct sockaddr *from, int *fromlen)</td></tr>
27    
28     <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Read bytes on a stream (advanced). <a href="#ga1"></a><br><br></td></tr>
29     <tr><td class="memItemLeft" nowrap align=right valign=top>int&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="group__stream__low.html#ga2">peak_stream_write</a> (<a class="el" href="group__stream.html#ga0">peak_stream</a> s, const void *buffer, size_t bufsize)</td></tr>
30    
31     <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Write bytes to a stream. <a href="#ga2"></a><br><br></td></tr>
32     <tr><td class="memItemLeft" nowrap align=right valign=top>int&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="group__stream__low.html#ga3">peak_stream_write_format</a> (<a class="el" href="group__stream.html#ga0">peak_stream</a> s, const char *format,...)</td></tr>
33    
34     <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Format string and write bytes to a stream. <a href="#ga3"></a><br><br></td></tr>
35     <tr><td class="memItemLeft" nowrap align=right valign=top>int&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="group__stream__low.html#ga4">peak_stream_write_vformat</a> (<a class="el" href="group__stream.html#ga0">peak_stream</a> s, const char *format, va_list vl)</td></tr>
36    
37     <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Format string with arguments and write bytes to a stream. <a href="#ga4"></a><br><br></td></tr>
38     <tr><td class="memItemLeft" nowrap align=right valign=top>int&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="group__stream__low.html#ga5">peak_stream_writev</a> (<a class="el" href="group__stream.html#ga0">peak_stream</a> s, const struct iovec *iov, int iovcnt)</td></tr>
39    
40     <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Gather data from iov array and write the bytes to a stream. <a href="#ga5"></a><br><br></td></tr>
41     </table>
42     <hr><h2>Define Documentation</h2>
43     <a class="anchor" name="ga6" doxytag="stream.h::WRITE_FORMAT_BUFFER_SIZE" ></a><p>
44     <table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
45     <tr>
46     <td class="mdRow">
47     <table cellpadding="0" cellspacing="0" border="0">
48     <tr>
49     <td class="md" nowrap valign="top"> #define WRITE_FORMAT_BUFFER_SIZE&nbsp;&nbsp;&nbsp;1024
50     </table>
51     </td>
52     </tr>
53     </table>
54     <table cellspacing=5 cellpadding=0 border=0>
55     <tr>
56     <td>
57     &nbsp;
58     </td>
59     <td>
60    
61     <p>
62     Internal library format buffer size.
63     <p>
64     The length of a message formatted with <a class="el" href="group__stream__low.html#ga47">peak_stream_write_format()</a> or <a class="el" href="group__stream__low.html#ga48">peak_stream_write_vformat()</a> cannot be highter than that. </td>
65     </tr>
66     </table>
67     <hr><h2>Function Documentation</h2>
68     <a class="anchor" name="ga0" doxytag="stream.h::peak_stream_read" ></a><p>
69     <table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
70     <tr>
71     <td class="mdRow">
72     <table cellpadding="0" cellspacing="0" border="0">
73     <tr>
74     <td class="md" nowrap valign="top"> int peak_stream_read </td>
75     <td class="md" valign="top">(&nbsp;</td>
76     <td class="md" nowrap valign="top"><a class="el" href="group__stream.html#ga0">peak_stream</a>&nbsp;</td>
77     <td class="mdname" nowrap> <em>s</em>, </td>
78     </tr>
79     <tr>
80     <td></td>
81     <td></td>
82     <td class="md" nowrap>void *&nbsp;</td>
83     <td class="mdname" nowrap> <em>buffer</em>, </td>
84     </tr>
85     <tr>
86     <td></td>
87     <td></td>
88     <td class="md" nowrap>size_t&nbsp;</td>
89     <td class="mdname" nowrap> <em>bufsize</em></td>
90     </tr>
91     <tr>
92     <td></td>
93     <td class="md">)&nbsp;</td>
94     <td class="md" colspan="2"></td>
95     </tr>
96    
97     </table>
98     </td>
99     </tr>
100     </table>
101     <table cellspacing=5 cellpadding=0 border=0>
102     <tr>
103     <td>
104     &nbsp;
105     </td>
106     <td>
107    
108     <p>
109     Read bytes on a stream.
110     <p>
111     <dl compact><dt><b>Parameters:</b></dt><dd>
112     <table border="0" cellspacing="2" cellpadding="0">
113     <tr><td valign=top><em>s</em>&nbsp;</td><td>The stream reference. </td></tr>
114     <tr><td valign=top><em>buffer</em>&nbsp;</td><td>Pointer to an allocated buffer. </td></tr>
115     <tr><td valign=top><em>bufsize</em>&nbsp;</td><td>Size of the allocated buffer.</td></tr>
116     </table>
117     </dl>
118     <dl compact><dt><b>Returns:</b></dt><dd>The number of bytes actually read or -1 is an error occured. </dd></dl>
119     </td>
120     </tr>
121     </table>
122     <a class="anchor" name="ga1" doxytag="stream.h::peak_stream_recvfrom" ></a><p>
123     <table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
124     <tr>
125     <td class="mdRow">
126     <table cellpadding="0" cellspacing="0" border="0">
127     <tr>
128     <td class="md" nowrap valign="top"> int peak_stream_recvfrom </td>
129     <td class="md" valign="top">(&nbsp;</td>
130     <td class="md" nowrap valign="top"><a class="el" href="group__stream.html#ga0">peak_stream</a>&nbsp;</td>
131     <td class="mdname" nowrap> <em>s</em>, </td>
132     </tr>
133     <tr>
134     <td></td>
135     <td></td>
136     <td class="md" nowrap>void *&nbsp;</td>
137     <td class="mdname" nowrap> <em>buffer</em>, </td>
138     </tr>
139     <tr>
140     <td></td>
141     <td></td>
142     <td class="md" nowrap>size_t&nbsp;</td>
143     <td class="mdname" nowrap> <em>bufsize</em>, </td>
144     </tr>
145     <tr>
146     <td></td>
147     <td></td>
148     <td class="md" nowrap>struct sockaddr *&nbsp;</td>
149     <td class="mdname" nowrap> <em>from</em>, </td>
150     </tr>
151     <tr>
152     <td></td>
153     <td></td>
154     <td class="md" nowrap>int *&nbsp;</td>
155     <td class="mdname" nowrap> <em>fromlen</em></td>
156     </tr>
157     <tr>
158     <td></td>
159     <td class="md">)&nbsp;</td>
160     <td class="md" colspan="2"></td>
161     </tr>
162    
163     </table>
164     </td>
165     </tr>
166     </table>
167     <table cellspacing=5 cellpadding=0 border=0>
168     <tr>
169     <td>
170     &nbsp;
171     </td>
172     <td>
173    
174     <p>
175     Read bytes on a stream (advanced).
176     <p>
177     <dl compact><dt><b>Parameters:</b></dt><dd>
178     <table border="0" cellspacing="2" cellpadding="0">
179     <tr><td valign=top><em>s</em>&nbsp;</td><td>The stream reference. </td></tr>
180     <tr><td valign=top><em>buffer</em>&nbsp;</td><td>Pointer to an allocated buffer. </td></tr>
181     <tr><td valign=top><em>bufsize</em>&nbsp;</td><td>Size of the allocated buffer. </td></tr>
182     <tr><td valign=top><em>from</em>&nbsp;</td><td>Buffer to a sockaddr structure or NULL. </td></tr>
183     <tr><td valign=top><em>fromlen</em>&nbsp;</td><td>Length of the "from" buffer.</td></tr>
184     </table>
185     </dl>
186     <dl compact><dt><b>Returns:</b></dt><dd>The number of bytes actually read or -1 is an error occured. </dd></dl>
187     </td>
188     </tr>
189     </table>
190     <a class="anchor" name="ga2" doxytag="stream.h::peak_stream_write" ></a><p>
191     <table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
192     <tr>
193     <td class="mdRow">
194     <table cellpadding="0" cellspacing="0" border="0">
195     <tr>
196     <td class="md" nowrap valign="top"> int peak_stream_write </td>
197     <td class="md" valign="top">(&nbsp;</td>
198     <td class="md" nowrap valign="top"><a class="el" href="group__stream.html#ga0">peak_stream</a>&nbsp;</td>
199     <td class="mdname" nowrap> <em>s</em>, </td>
200     </tr>
201     <tr>
202     <td></td>
203     <td></td>
204     <td class="md" nowrap>const void *&nbsp;</td>
205     <td class="mdname" nowrap> <em>buffer</em>, </td>
206     </tr>
207     <tr>
208     <td></td>
209     <td></td>
210     <td class="md" nowrap>size_t&nbsp;</td>
211     <td class="mdname" nowrap> <em>bufsize</em></td>
212     </tr>
213     <tr>
214     <td></td>
215     <td class="md">)&nbsp;</td>
216     <td class="md" colspan="2"></td>
217     </tr>
218    
219     </table>
220     </td>
221     </tr>
222     </table>
223     <table cellspacing=5 cellpadding=0 border=0>
224     <tr>
225     <td>
226     &nbsp;
227     </td>
228     <td>
229    
230     <p>
231     Write bytes to a stream.
232     <p>
233     Warning: this function doesn't do write-buffered. For that feature, you need to configure the stream for it, using <a class="el" href="group__stream__buf.html#ga54">peak_stream_set_buffered()</a> and then use <a class="el" href="group__stream__buf.html#ga56">peak_stream_write_buffered()</a>.<p>
234     <dl compact><dt><b>Parameters:</b></dt><dd>
235     <table border="0" cellspacing="2" cellpadding="0">
236     <tr><td valign=top><em>s</em>&nbsp;</td><td>The stream reference. </td></tr>
237     <tr><td valign=top><em>buffer</em>&nbsp;</td><td>The bytes to write. </td></tr>
238     <tr><td valign=top><em>bufsize</em>&nbsp;</td><td>Number of bytes to write.</td></tr>
239     </table>
240     </dl>
241     <dl compact><dt><b>Returns:</b></dt><dd>The number of bytes which where written or -1 if an error occured. </dd></dl>
242     </td>
243     </tr>
244     </table>
245     <a class="anchor" name="ga3" doxytag="stream.h::peak_stream_write_format" ></a><p>
246     <table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
247     <tr>
248     <td class="mdRow">
249     <table cellpadding="0" cellspacing="0" border="0">
250     <tr>
251     <td class="md" nowrap valign="top"> int peak_stream_write_format </td>
252     <td class="md" valign="top">(&nbsp;</td>
253     <td class="md" nowrap valign="top"><a class="el" href="group__stream.html#ga0">peak_stream</a>&nbsp;</td>
254     <td class="mdname" nowrap> <em>s</em>, </td>
255     </tr>
256     <tr>
257     <td></td>
258     <td></td>
259     <td class="md" nowrap>const char *&nbsp;</td>
260     <td class="mdname" nowrap> <em>format</em>, </td>
261     </tr>
262     <tr>
263     <td></td>
264     <td></td>
265     <td class="md" nowrap>...&nbsp;</td>
266     <td class="mdname" nowrap></td>
267     </tr>
268     <tr>
269     <td></td>
270     <td class="md">)&nbsp;</td>
271     <td class="md" colspan="2"></td>
272     </tr>
273    
274     </table>
275     </td>
276     </tr>
277     </table>
278     <table cellspacing=5 cellpadding=0 border=0>
279     <tr>
280     <td>
281     &nbsp;
282     </td>
283     <td>
284    
285     <p>
286     Format string and write bytes to a stream.
287     <p>
288     Warning: this function doesn't do write-buffered. For that feature, you need to configure the stream for it, using <a class="el" href="group__stream__buf.html#ga54">peak_stream_set_buffered()</a> and then use <a class="el" href="group__stream__buf.html#ga59">peak_stream_msgbuf_make()</a>.<p>
289     <dl compact><dt><b>Parameters:</b></dt><dd>
290     <table border="0" cellspacing="2" cellpadding="0">
291     <tr><td valign=top><em>s</em>&nbsp;</td><td>The stream reference. </td></tr>
292     <tr><td valign=top><em>format</em>&nbsp;</td><td>The format followed by the arguments.</td></tr>
293     </table>
294     </dl>
295     <dl compact><dt><b>Returns:</b></dt><dd>The number of bytes which where written or -1 if an error occured. </dd></dl>
296     </td>
297     </tr>
298     </table>
299     <a class="anchor" name="ga4" doxytag="stream.h::peak_stream_write_vformat" ></a><p>
300     <table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
301     <tr>
302     <td class="mdRow">
303     <table cellpadding="0" cellspacing="0" border="0">
304     <tr>
305     <td class="md" nowrap valign="top"> int peak_stream_write_vformat </td>
306     <td class="md" valign="top">(&nbsp;</td>
307     <td class="md" nowrap valign="top"><a class="el" href="group__stream.html#ga0">peak_stream</a>&nbsp;</td>
308     <td class="mdname" nowrap> <em>s</em>, </td>
309     </tr>
310     <tr>
311     <td></td>
312     <td></td>
313     <td class="md" nowrap>const char *&nbsp;</td>
314     <td class="mdname" nowrap> <em>format</em>, </td>
315     </tr>
316     <tr>
317     <td></td>
318     <td></td>
319     <td class="md" nowrap>va_list&nbsp;</td>
320     <td class="mdname" nowrap> <em>vl</em></td>
321     </tr>
322     <tr>
323     <td></td>
324     <td class="md">)&nbsp;</td>
325     <td class="md" colspan="2"></td>
326     </tr>
327    
328     </table>
329     </td>
330     </tr>
331     </table>
332     <table cellspacing=5 cellpadding=0 border=0>
333     <tr>
334     <td>
335     &nbsp;
336     </td>
337     <td>
338    
339     <p>
340     Format string with arguments and write bytes to a stream.
341     <p>
342     Warning: this function doesn't do write-buffered. For that feature, you need to configure the stream for it, using <a class="el" href="group__stream__buf.html#ga54">peak_stream_set_buffered()</a> and then use <a class="el" href="group__stream__buf.html#ga60">peak_stream_msgbuf_vmake()</a>.<p>
343     <dl compact><dt><b>Parameters:</b></dt><dd>
344     <table border="0" cellspacing="2" cellpadding="0">
345     <tr><td valign=top><em>s</em>&nbsp;</td><td>The stream reference. </td></tr>
346     <tr><td valign=top><em>format</em>&nbsp;</td><td>The format followed by the arguments. </td></tr>
347     <tr><td valign=top><em>vl</em>&nbsp;</td><td>The arguments.</td></tr>
348     </table>
349     </dl>
350     <dl compact><dt><b>Returns:</b></dt><dd>The number of bytes which where written or -1 if an error occured. </dd></dl>
351     </td>
352     </tr>
353     </table>
354     <a class="anchor" name="ga5" doxytag="stream.h::peak_stream_writev" ></a><p>
355     <table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
356     <tr>
357     <td class="mdRow">
358     <table cellpadding="0" cellspacing="0" border="0">
359     <tr>
360     <td class="md" nowrap valign="top"> int peak_stream_writev </td>
361     <td class="md" valign="top">(&nbsp;</td>
362     <td class="md" nowrap valign="top"><a class="el" href="group__stream.html#ga0">peak_stream</a>&nbsp;</td>
363     <td class="mdname" nowrap> <em>s</em>, </td>
364     </tr>
365     <tr>
366     <td></td>
367     <td></td>
368     <td class="md" nowrap>const struct iovec *&nbsp;</td>
369     <td class="mdname" nowrap> <em>iov</em>, </td>
370     </tr>
371     <tr>
372     <td></td>
373     <td></td>
374     <td class="md" nowrap>int&nbsp;</td>
375     <td class="mdname" nowrap> <em>iovcnt</em></td>
376     </tr>
377     <tr>
378     <td></td>
379     <td class="md">)&nbsp;</td>
380     <td class="md" colspan="2"></td>
381     </tr>
382    
383     </table>
384     </td>
385     </tr>
386     </table>
387     <table cellspacing=5 cellpadding=0 border=0>
388     <tr>
389     <td>
390     &nbsp;
391     </td>
392     <td>
393    
394     <p>
395     Gather data from iov array and write the bytes to a stream.
396     <p>
397     <dl compact><dt><b>Parameters:</b></dt><dd>
398     <table border="0" cellspacing="2" cellpadding="0">
399     <tr><td valign=top><em>s</em>&nbsp;</td><td>The stream reference. </td></tr>
400     <tr><td valign=top><em>iov</em>&nbsp;</td><td>A pointer to one or more iovec structures. </td></tr>
401     <tr><td valign=top><em>iovcnt</em>&nbsp;</td><td>Number of iovec structures provided.</td></tr>
402     </table>
403     </dl>
404     <dl compact><dt><b>Returns:</b></dt><dd>The number of bytes which where written or -1 if an error occured. </dd></dl>
405     </td>
406     </tr>
407     </table>
408     <hr size="1"><address style="align: right;"><small>Generated on Sat Jan 17 21:41:54 2004 for the PEAK Library by
409     <a href="http://www.doxygen.org/index.html">
410     <img src="doxygen.png" alt="doxygen" align="middle" border="0" >
411     </a></small>&nbsp; &nbsp; <a href="http://sourceforge.net"><img src="http://sourceforge.net/sflogo.php?group_id=98146&amp;type=1" width="88" height="31" align="middle" border="0" alt="SourceForge.net Logo" /></a></address>
412     </body>
413     </html>
414