4
4
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
5
5
<title>CamelTcpStream</title>
6
<meta name="generator" content="DocBook XSL Stylesheets V1.71.1">
6
<meta name="generator" content="DocBook XSL Stylesheets V1.73.1">
7
7
<link rel="start" href="index.html" title="Camel Reference Manual">
8
8
<link rel="up" href="Streams.html" title="Streams">
9
9
<link rel="prev" href="camel-CamelStreamVFS.html" title="CamelStreamVFS">
10
10
<link rel="next" href="camel-CamelTcpStreamRaw.html" title="CamelTcpStreamRaw">
11
<meta name="generator" content="GTK-Doc V1.9 (XML mode)">
11
<meta name="generator" content="GTK-Doc V1.10 (XML mode)">
12
12
<link rel="stylesheet" href="style.css" type="text/css">
13
13
<link rel="part" href="classes.html" title="Part I. Camel Classes">
14
14
<link rel="chapter" href="ClassTree.html" title="Class hierarchy">
31
31
<th width="100%" align="center">Camel Reference Manual</th>
32
32
<td><a accesskey="n" href="camel-CamelTcpStreamRaw.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td>
34
<tr><td colspan="5" class="shortcuts"><nobr><a href="#id2588328" class="shortcut">Top</a>
34
<tr><td colspan="5" class="shortcuts"><nobr><a href="#id2616839" class="shortcut">Top</a>
36
<a href="#id2589396" class="shortcut">Description</a></nobr></td></tr>
36
<a href="#id2617907" class="shortcut">Description</a></nobr></td></tr>
38
38
<div class="refentry" lang="en">
39
39
<a name="camel-CamelTcpStream"></a><div class="titlepage"></div>
40
40
<div class="refnamediv"><table width="100%"><tr>
43
<a name="id2588328"></a><span class="refentrytitle">CamelTcpStream</span>
43
<a name="id2616839"></a><span class="refentrytitle">CamelTcpStream</span>
45
45
<p>CamelTcpStream</p>
55
struct <a href="camel-CamelTcpStream.html#CamelTcpStream">CamelTcpStream</a>;
56
enum <a href="camel-CamelTcpStream.html#CamelSockOpt">CamelSockOpt</a>;
57
typedef <a href="camel-CamelTcpStream.html#CamelLinger">CamelLinger</a>;
58
<a href="camel-CamelTcpStream.html#CamelSockOptData">CamelSockOptData</a>;
59
int <a href="camel-CamelTcpStream.html#camel-tcp-stream-connect">camel_tcp_stream_connect</a> (<a href="camel-CamelTcpStream.html#CamelTcpStream">CamelTcpStream</a> *stream,
55
struct <a class="link" href="camel-CamelTcpStream.html#CamelTcpStream">CamelTcpStream</a>;
56
enum <a class="link" href="camel-CamelTcpStream.html#CamelSockOpt">CamelSockOpt</a>;
57
typedef <a class="link" href="camel-CamelTcpStream.html#CamelLinger">CamelLinger</a>;
58
<a class="link" href="camel-CamelTcpStream.html#CamelSockOptData">CamelSockOptData</a>;
59
int <a class="link" href="camel-CamelTcpStream.html#camel-tcp-stream-connect">camel_tcp_stream_connect</a> (<a class="link" href="camel-CamelTcpStream.html#CamelTcpStream">CamelTcpStream</a> *stream,
60
60
struct addrinfo *host);
61
int <a href="camel-CamelTcpStream.html#camel-tcp-stream-getsockopt">camel_tcp_stream_getsockopt</a> (<a href="camel-CamelTcpStream.html#CamelTcpStream">CamelTcpStream</a> *stream,
62
<a href="camel-CamelTcpStream.html#CamelSockOptData">CamelSockOptData</a> *data);
63
int <a href="camel-CamelTcpStream.html#camel-tcp-stream-setsockopt">camel_tcp_stream_setsockopt</a> (<a href="camel-CamelTcpStream.html#CamelTcpStream">CamelTcpStream</a> *stream,
64
const <a href="camel-CamelTcpStream.html#CamelSockOptData">CamelSockOptData</a> *data);
61
int <a class="link" href="camel-CamelTcpStream.html#camel-tcp-stream-getsockopt">camel_tcp_stream_getsockopt</a> (<a class="link" href="camel-CamelTcpStream.html#CamelTcpStream">CamelTcpStream</a> *stream,
62
<a class="link" href="camel-CamelTcpStream.html#CamelSockOptData">CamelSockOptData</a> *data);
63
int <a class="link" href="camel-CamelTcpStream.html#camel-tcp-stream-setsockopt">camel_tcp_stream_setsockopt</a> (<a class="link" href="camel-CamelTcpStream.html#CamelTcpStream">CamelTcpStream</a> *stream,
64
const <a class="link" href="camel-CamelTcpStream.html#CamelSockOptData">CamelSockOptData</a> *data);
69
69
<div class="refsect1" lang="en">
70
<a name="id2589396"></a><h2>Description</h2>
70
<a name="id2617907"></a><h2>Description</h2>
75
75
<div class="refsect1" lang="en">
76
<a name="id2589410"></a><h2>Details</h2>
76
<a name="id2617921"></a><h2>Details</h2>
77
77
<div class="refsect2" lang="en">
78
<a name="id2589421"></a><h3>
78
<a name="id2617931"></a><h3>
79
79
<a name="CamelTcpStream"></a>struct CamelTcpStream</h3>
80
<a class="indexterm" name="id2589434"></a><pre class="programlisting">struct CamelTcpStream {
80
<a class="indexterm" name="id2617945"></a><pre class="programlisting">struct CamelTcpStream {
81
81
CamelStream parent_object;
89
89
<div class="refsect2" lang="en">
90
<a name="id2589450"></a><h3>
90
<a name="id2617960"></a><h3>
91
91
<a name="CamelSockOpt"></a>enum CamelSockOpt</h3>
92
<a class="indexterm" name="id2589462"></a><pre class="programlisting">typedef enum {
92
<a class="indexterm" name="id2617972"></a><pre class="programlisting">typedef enum {
93
93
CAMEL_SOCKOPT_NONBLOCKING, /* nonblocking io */
94
94
CAMEL_SOCKOPT_LINGER, /* linger on close if data present */
95
95
CAMEL_SOCKOPT_REUSEADDR, /* allow local address reuse */
120
120
<div class="refsect2" lang="en">
121
<a name="id2589494"></a><h3>
121
<a name="id2618005"></a><h3>
122
122
<a name="CamelLinger"></a>CamelLinger</h3>
123
<a class="indexterm" name="id2589506"></a><pre class="programlisting">typedef struct linger CamelLinger;
123
<a class="indexterm" name="id2618017"></a><pre class="programlisting">typedef struct linger CamelLinger;
130
130
<div class="refsect2" lang="en">
131
<a name="id2589521"></a><h3>
131
<a name="id2618032"></a><h3>
132
132
<a name="CamelSockOptData"></a>CamelSockOptData</h3>
133
<a class="indexterm" name="id2589534"></a><pre class="programlisting">typedef struct {
133
<a class="indexterm" name="id2618044"></a><pre class="programlisting">typedef struct {
134
134
CamelSockOpt option;
136
136
guint ip_ttl; /* IP time to live */
157
157
<div class="refsect2" lang="en">
158
<a name="id2589564"></a><h3>
158
<a name="id2618075"></a><h3>
159
159
<a name="camel-tcp-stream-connect"></a>camel_tcp_stream_connect ()</h3>
160
<a class="indexterm" name="id2589577"></a><pre class="programlisting">int camel_tcp_stream_connect (<a href="camel-CamelTcpStream.html#CamelTcpStream">CamelTcpStream</a> *stream,
160
<a class="indexterm" name="id2618087"></a><pre class="programlisting">int camel_tcp_stream_connect (<a class="link" href="camel-CamelTcpStream.html#CamelTcpStream">CamelTcpStream</a> *stream,
161
161
struct addrinfo *host);</pre>
163
163
Create a socket and connect based upon the data provided.</p>
168
168
<col align="left" valign="top">
171
<td><span class="term"><em class="parameter"><code>stream</code></em> :</span></td>
172
<td> a <a href="camel-CamelTcpStream.html#CamelTcpStream"><span class="type">CamelTcpStream</span></a> object
171
<td><p><span class="term"><em class="parameter"><code>stream</code></em> :</span></p></td>
172
<td> a <a class="link" href="camel-CamelTcpStream.html#CamelTcpStream"><span class="type">CamelTcpStream</span></a> object
176
<td><span class="term"><em class="parameter"><code>host</code></em> :</span></td>
176
<td><p><span class="term"><em class="parameter"><code>host</code></em> :</span></p></td>
177
177
<td> a linked list of addrinfo structures to try to connect, in
178
178
the order of most likely to least likely to work.
182
<td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td>
182
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
184
184
<code class="literal">0</code> on success or <code class="literal">-1</code> on fail
191
191
<div class="refsect2" lang="en">
192
<a name="id2589689"></a><h3>
192
<a name="id2618199"></a><h3>
193
193
<a name="camel-tcp-stream-getsockopt"></a>camel_tcp_stream_getsockopt ()</h3>
194
<a class="indexterm" name="id2589702"></a><pre class="programlisting">int camel_tcp_stream_getsockopt (<a href="camel-CamelTcpStream.html#CamelTcpStream">CamelTcpStream</a> *stream,
195
<a href="camel-CamelTcpStream.html#CamelSockOptData">CamelSockOptData</a> *data);</pre>
194
<a class="indexterm" name="id2618213"></a><pre class="programlisting">int camel_tcp_stream_getsockopt (<a class="link" href="camel-CamelTcpStream.html#CamelTcpStream">CamelTcpStream</a> *stream,
195
<a class="link" href="camel-CamelTcpStream.html#CamelSockOptData">CamelSockOptData</a> *data);</pre>
197
197
Get the socket options set on the stream and populate <em class="parameter"><code>data</code></em>.</p>
202
202
<col align="left" valign="top">
205
<td><span class="term"><em class="parameter"><code>stream</code></em> :</span></td>
206
<td> a <a href="camel-CamelTcpStream.html#CamelTcpStream"><span class="type">CamelTcpStream</span></a> object
205
<td><p><span class="term"><em class="parameter"><code>stream</code></em> :</span></p></td>
206
<td> a <a class="link" href="camel-CamelTcpStream.html#CamelTcpStream"><span class="type">CamelTcpStream</span></a> object
210
<td><span class="term"><em class="parameter"><code>data</code></em> :</span></td>
210
<td><p><span class="term"><em class="parameter"><code>data</code></em> :</span></p></td>
211
211
<td> socket option data
215
<td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td>
215
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
217
217
<code class="literal">0</code> on success or <code class="literal">-1</code> on fail
224
224
<div class="refsect2" lang="en">
225
<a name="id2589818"></a><h3>
225
<a name="id2618328"></a><h3>
226
226
<a name="camel-tcp-stream-setsockopt"></a>camel_tcp_stream_setsockopt ()</h3>
227
<a class="indexterm" name="id2589832"></a><pre class="programlisting">int camel_tcp_stream_setsockopt (<a href="camel-CamelTcpStream.html#CamelTcpStream">CamelTcpStream</a> *stream,
228
const <a href="camel-CamelTcpStream.html#CamelSockOptData">CamelSockOptData</a> *data);</pre>
227
<a class="indexterm" name="id2618342"></a><pre class="programlisting">int camel_tcp_stream_setsockopt (<a class="link" href="camel-CamelTcpStream.html#CamelTcpStream">CamelTcpStream</a> *stream,
228
const <a class="link" href="camel-CamelTcpStream.html#CamelSockOptData">CamelSockOptData</a> *data);</pre>
230
230
Set the socket options contained in <em class="parameter"><code>data</code></em> on the stream.</p>
235
235
<col align="left" valign="top">
238
<td><span class="term"><em class="parameter"><code>stream</code></em> :</span></td>
239
<td> a <a href="camel-CamelTcpStream.html#CamelTcpStream"><span class="type">CamelTcpStream</span></a> object
238
<td><p><span class="term"><em class="parameter"><code>stream</code></em> :</span></p></td>
239
<td> a <a class="link" href="camel-CamelTcpStream.html#CamelTcpStream"><span class="type">CamelTcpStream</span></a> object
243
<td><span class="term"><em class="parameter"><code>data</code></em> :</span></td>
243
<td><p><span class="term"><em class="parameter"><code>data</code></em> :</span></p></td>
244
244
<td> socket option data
248
<td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td>
248
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
250
250
<code class="literal">0</code> on success or <code class="literal">-1</code> on fail
257
257
<div class="refsect1" lang="en">
258
<a name="id2589948"></a><div class="refsect2" lang="en"><a name="id2589949"></a></div>
258
<a name="id2618459"></a><div class="refsect2" lang="en"><a name="id2618460"></a></div>
260
<div class="refsect2" lang="en"><a name="id2589950"></a></div>
260
<div class="refsect2" lang="en"><a name="id2618461"></a></div>