4
4
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
5
5
<title>CamelTcpStream</title>
6
<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
6
<meta name="generator" content="DocBook XSL Stylesheets V1.74.0">
7
7
<link rel="home" href="index.html" title="Camel Reference Manual">
8
8
<link rel="up" href="Streams.html" title="Streams">
9
9
<link rel="prev" href="camel-CamelHttpStream.html" title="CamelHttpStream">
10
10
<link rel="next" href="camel-CamelTcpStreamRaw.html" title="CamelTcpStreamRaw">
11
<meta name="generator" content="GTK-Doc V1.11 (XML mode)">
11
<meta name="generator" content="GTK-Doc V1.14 (XML mode)">
12
12
<link rel="stylesheet" href="style.css" type="text/css">
13
<link rel="part" href="classes.html" title="Part I. Camel Classes">
14
<link rel="chapter" href="ClassTree.html" title="Class Hierarchy">
15
<link rel="chapter" href="Fundamentals.html" title="Fundamentals">
16
<link rel="chapter" href="Streams.html" title="Streams">
17
<link rel="chapter" href="StreamFilters.html" title="Stream Filters">
18
<link rel="chapter" href="Services.html" title="Services">
19
<link rel="chapter" href="Filters.html" title="Filters">
20
<link rel="chapter" href="Folders.html" title="Folders">
21
<link rel="chapter" href="SearchFolders.html" title="Search Folders">
22
<link rel="chapter" href="Addresses.html" title="Addresses">
23
<link rel="chapter" href="Crypto.html" title="Crypto Contexts">
24
<link rel="chapter" href="MIME.html" title="MIME Objects">
25
<link rel="chapter" href="Storage.html" title="Metadata Storage">
26
<link rel="chapter" href="Utilities.html" title="Utilities">
27
<link rel="chapter" href="Deprecated.html" title="Deprecated Objects">
28
<link rel="index" href="ix01.html" title="Index">
29
<link rel="index" href="ix02.html" title="Index of deprecated symbols">
31
14
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
32
15
<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2">
53
36
<td valign="top" align="right"></td>
54
37
</tr></table></div>
55
<div class="refsynopsisdiv" title="Synopsis">
38
<div class="refsynopsisdiv">
56
39
<a name="camel-CamelTcpStream.synopsis"></a><h2>Synopsis</h2>
57
<pre class="synopsis">
58
struct <a class="link" href="camel-CamelTcpStream.html#CamelTcpStream" title="struct CamelTcpStream">CamelTcpStream</a>;
40
<pre class="synopsis">struct <a class="link" href="camel-CamelTcpStream.html#CamelTcpStream" title="struct CamelTcpStream">CamelTcpStream</a>;
59
41
enum <a class="link" href="camel-CamelTcpStream.html#CamelSockOpt" title="enum CamelSockOpt">CamelSockOpt</a>;
60
42
typedef <a class="link" href="camel-CamelTcpStream.html#CamelLinger" title="CamelLinger">CamelLinger</a>;
61
43
<a class="link" href="camel-CamelTcpStream.html#CamelSockOptData" title="CamelSockOptData">CamelSockOptData</a>;
63
href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint"
64
>gint</a> <a class="link" href="camel-CamelTcpStream.html#camel-tcp-stream-connect" title="camel_tcp_stream_connect ()">camel_tcp_stream_connect</a> (<a class="link" href="camel-CamelTcpStream.html#CamelTcpStream" title="struct CamelTcpStream">CamelTcpStream</a> *stream,
65
struct addrinfo *host);
67
href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint"
68
>gint</a> <a class="link" href="camel-CamelTcpStream.html#camel-tcp-stream-getsockopt" title="camel_tcp_stream_getsockopt ()">camel_tcp_stream_getsockopt</a> (<a class="link" href="camel-CamelTcpStream.html#CamelTcpStream" title="struct CamelTcpStream">CamelTcpStream</a> *stream,
69
<a class="link" href="camel-CamelTcpStream.html#CamelSockOptData" title="CamelSockOptData">CamelSockOptData</a> *data);
71
href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint"
72
>gint</a> <a class="link" href="camel-CamelTcpStream.html#camel-tcp-stream-setsockopt" title="camel_tcp_stream_setsockopt ()">camel_tcp_stream_setsockopt</a> (<a class="link" href="camel-CamelTcpStream.html#CamelTcpStream" title="struct CamelTcpStream">CamelTcpStream</a> *stream,
73
const <a class="link" href="camel-CamelTcpStream.html#CamelSockOptData" title="CamelSockOptData">CamelSockOptData</a> *data);
74
struct sockaddr * <a class="link" href="camel-CamelTcpStream.html#camel-tcp-stream-get-local-address" title="camel_tcp_stream_get_local_address ()">camel_tcp_stream_get_local_address</a> (<a class="link" href="camel-CamelTcpStream.html#CamelTcpStream" title="struct CamelTcpStream">CamelTcpStream</a> *stream,
76
struct sockaddr * <a class="link" href="camel-CamelTcpStream.html#camel-tcp-stream-get-remote-address" title="camel_tcp_stream_get_remote_address ()">camel_tcp_stream_get_remote_address</a> (<a class="link" href="camel-CamelTcpStream.html#CamelTcpStream" title="struct CamelTcpStream">CamelTcpStream</a> *stream,
44
<span class="returnvalue">gint</span> <a class="link" href="camel-CamelTcpStream.html#camel-tcp-stream-connect" title="camel_tcp_stream_connect ()">camel_tcp_stream_connect</a> (<em class="parameter"><code><a class="link" href="camel-CamelTcpStream.html#CamelTcpStream" title="struct CamelTcpStream"><span class="type">CamelTcpStream</span></a> *stream</code></em>,
45
<em class="parameter"><code><span class="type">struct addrinfo</span> *host</code></em>);
46
<span class="returnvalue">gint</span> <a class="link" href="camel-CamelTcpStream.html#camel-tcp-stream-getsockopt" title="camel_tcp_stream_getsockopt ()">camel_tcp_stream_getsockopt</a> (<em class="parameter"><code><a class="link" href="camel-CamelTcpStream.html#CamelTcpStream" title="struct CamelTcpStream"><span class="type">CamelTcpStream</span></a> *stream</code></em>,
47
<em class="parameter"><code><a class="link" href="camel-CamelTcpStream.html#CamelSockOptData" title="CamelSockOptData"><span class="type">CamelSockOptData</span></a> *data</code></em>);
48
<span class="returnvalue">gint</span> <a class="link" href="camel-CamelTcpStream.html#camel-tcp-stream-setsockopt" title="camel_tcp_stream_setsockopt ()">camel_tcp_stream_setsockopt</a> (<em class="parameter"><code><a class="link" href="camel-CamelTcpStream.html#CamelTcpStream" title="struct CamelTcpStream"><span class="type">CamelTcpStream</span></a> *stream</code></em>,
49
<em class="parameter"><code>const <a class="link" href="camel-CamelTcpStream.html#CamelSockOptData" title="CamelSockOptData"><span class="type">CamelSockOptData</span></a> *data</code></em>);
50
struct <span class="returnvalue">sockaddr</span> * <a class="link" href="camel-CamelTcpStream.html#camel-tcp-stream-get-local-address" title="camel_tcp_stream_get_local_address ()">camel_tcp_stream_get_local_address</a> (<em class="parameter"><code><a class="link" href="camel-CamelTcpStream.html#CamelTcpStream" title="struct CamelTcpStream"><span class="type">CamelTcpStream</span></a> *stream</code></em>,
51
<em class="parameter"><code><span class="type">socklen_t</span> *len</code></em>);
52
struct <span class="returnvalue">sockaddr</span> * <a class="link" href="camel-CamelTcpStream.html#camel-tcp-stream-get-remote-address" title="camel_tcp_stream_get_remote_address ()">camel_tcp_stream_get_remote_address</a> (<em class="parameter"><code><a class="link" href="camel-CamelTcpStream.html#CamelTcpStream" title="struct CamelTcpStream"><span class="type">CamelTcpStream</span></a> *stream</code></em>,
53
<em class="parameter"><code><span class="type">socklen_t</span> *len</code></em>);
80
<div class="refsect1" title="Description">
56
<div class="refsect1" lang="en">
81
57
<a name="camel-CamelTcpStream.description"></a><h2>Description</h2>
85
<div class="refsect1" title="Details">
61
<div class="refsect1" lang="en">
86
62
<a name="camel-CamelTcpStream.details"></a><h2>Details</h2>
87
<div class="refsect2" title="struct CamelTcpStream">
63
<div class="refsect2" lang="en">
88
64
<a name="CamelTcpStream"></a><h3>struct CamelTcpStream</h3>
89
65
<pre class="programlisting">struct CamelTcpStream {
90
66
CamelStream parent_object;
159
<div class="refsect2" title="camel_tcp_stream_connect ()">
135
<div class="refsect2" lang="en">
160
136
<a name="camel-tcp-stream-connect"></a><h3>camel_tcp_stream_connect ()</h3>
161
<pre class="programlisting"><a
162
href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint"
163
>gint</a> camel_tcp_stream_connect (<a class="link" href="camel-CamelTcpStream.html#CamelTcpStream" title="struct CamelTcpStream">CamelTcpStream</a> *stream,
164
struct addrinfo *host);</pre>
137
<pre class="programlisting"><span class="returnvalue">gint</span> camel_tcp_stream_connect (<em class="parameter"><code><a class="link" href="camel-CamelTcpStream.html#CamelTcpStream" title="struct CamelTcpStream"><span class="type">CamelTcpStream</span></a> *stream</code></em>,
138
<em class="parameter"><code><span class="type">struct addrinfo</span> *host</code></em>);</pre>
166
140
Create a socket and connect based upon the data provided.</p>
169
141
<div class="variablelist"><table border="0">
170
142
<col align="left" valign="top">
173
145
<td><p><span class="term"><em class="parameter"><code>stream</code></em> :</span></p></td>
174
<td> a <a class="link" href="camel-CamelTcpStream.html#CamelTcpStream" title="struct CamelTcpStream"><span class="type">CamelTcpStream</span></a> object
146
<td>a <a class="link" href="camel-CamelTcpStream.html#CamelTcpStream" title="struct CamelTcpStream"><span class="type">CamelTcpStream</span></a> object
178
150
<td><p><span class="term"><em class="parameter"><code>host</code></em> :</span></p></td>
179
<td> a linked list of addrinfo structures to try to connect, in
151
<td>a linked list of addrinfo structures to try to connect, in
180
152
the order of most likely to least likely to work.
192
<div class="refsect2" title="camel_tcp_stream_getsockopt ()">
164
<div class="refsect2" lang="en">
193
165
<a name="camel-tcp-stream-getsockopt"></a><h3>camel_tcp_stream_getsockopt ()</h3>
194
<pre class="programlisting"><a
195
href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint"
196
>gint</a> camel_tcp_stream_getsockopt (<a class="link" href="camel-CamelTcpStream.html#CamelTcpStream" title="struct CamelTcpStream">CamelTcpStream</a> *stream,
197
<a class="link" href="camel-CamelTcpStream.html#CamelSockOptData" title="CamelSockOptData">CamelSockOptData</a> *data);</pre>
166
<pre class="programlisting"><span class="returnvalue">gint</span> camel_tcp_stream_getsockopt (<em class="parameter"><code><a class="link" href="camel-CamelTcpStream.html#CamelTcpStream" title="struct CamelTcpStream"><span class="type">CamelTcpStream</span></a> *stream</code></em>,
167
<em class="parameter"><code><a class="link" href="camel-CamelTcpStream.html#CamelSockOptData" title="CamelSockOptData"><span class="type">CamelSockOptData</span></a> *data</code></em>);</pre>
199
169
Get the socket options set on the stream and populate <em class="parameter"><code>data</code></em>.</p>
202
170
<div class="variablelist"><table border="0">
203
171
<col align="left" valign="top">
206
174
<td><p><span class="term"><em class="parameter"><code>stream</code></em> :</span></p></td>
207
<td> a <a class="link" href="camel-CamelTcpStream.html#CamelTcpStream" title="struct CamelTcpStream"><span class="type">CamelTcpStream</span></a> object
175
<td>a <a class="link" href="camel-CamelTcpStream.html#CamelTcpStream" title="struct CamelTcpStream"><span class="type">CamelTcpStream</span></a> object
211
179
<td><p><span class="term"><em class="parameter"><code>data</code></em> :</span></p></td>
212
<td> socket option data
180
<td>socket option data
224
<div class="refsect2" title="camel_tcp_stream_setsockopt ()">
192
<div class="refsect2" lang="en">
225
193
<a name="camel-tcp-stream-setsockopt"></a><h3>camel_tcp_stream_setsockopt ()</h3>
226
<pre class="programlisting"><a
227
href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint"
228
>gint</a> camel_tcp_stream_setsockopt (<a class="link" href="camel-CamelTcpStream.html#CamelTcpStream" title="struct CamelTcpStream">CamelTcpStream</a> *stream,
229
const <a class="link" href="camel-CamelTcpStream.html#CamelSockOptData" title="CamelSockOptData">CamelSockOptData</a> *data);</pre>
194
<pre class="programlisting"><span class="returnvalue">gint</span> camel_tcp_stream_setsockopt (<em class="parameter"><code><a class="link" href="camel-CamelTcpStream.html#CamelTcpStream" title="struct CamelTcpStream"><span class="type">CamelTcpStream</span></a> *stream</code></em>,
195
<em class="parameter"><code>const <a class="link" href="camel-CamelTcpStream.html#CamelSockOptData" title="CamelSockOptData"><span class="type">CamelSockOptData</span></a> *data</code></em>);</pre>
231
197
Set the socket options contained in <em class="parameter"><code>data</code></em> on the stream.</p>
234
198
<div class="variablelist"><table border="0">
235
199
<col align="left" valign="top">
238
202
<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" title="struct CamelTcpStream"><span class="type">CamelTcpStream</span></a> object
203
<td>a <a class="link" href="camel-CamelTcpStream.html#CamelTcpStream" title="struct CamelTcpStream"><span class="type">CamelTcpStream</span></a> object
243
207
<td><p><span class="term"><em class="parameter"><code>data</code></em> :</span></p></td>
244
<td> socket option data
208
<td>socket option data
256
<div class="refsect2" title="camel_tcp_stream_get_local_address ()">
220
<div class="refsect2" lang="en">
257
221
<a name="camel-tcp-stream-get-local-address"></a><h3>camel_tcp_stream_get_local_address ()</h3>
258
<pre class="programlisting">struct sockaddr * camel_tcp_stream_get_local_address (<a class="link" href="camel-CamelTcpStream.html#CamelTcpStream" title="struct CamelTcpStream">CamelTcpStream</a> *stream,
259
socklen_t *len);</pre>
222
<pre class="programlisting">struct <span class="returnvalue">sockaddr</span> * camel_tcp_stream_get_local_address (<em class="parameter"><code><a class="link" href="camel-CamelTcpStream.html#CamelTcpStream" title="struct CamelTcpStream"><span class="type">CamelTcpStream</span></a> *stream</code></em>,
223
<em class="parameter"><code><span class="type">socklen_t</span> *len</code></em>);</pre>
261
225
Get the local address of <em class="parameter"><code>stream</code></em>.</p>
264
226
<div class="variablelist"><table border="0">
265
227
<col align="left" valign="top">
268
230
<td><p><span class="term"><em class="parameter"><code>stream</code></em> :</span></p></td>
269
<td> a <a class="link" href="camel-CamelTcpStream.html#CamelTcpStream" title="struct CamelTcpStream"><span class="type">CamelTcpStream</span></a> object
231
<td>a <a class="link" href="camel-CamelTcpStream.html#CamelTcpStream" title="struct CamelTcpStream"><span class="type">CamelTcpStream</span></a> object
273
235
<td><p><span class="term"><em class="parameter"><code>len</code></em> :</span></p></td>
274
<td> pointer to address length which must be supplied
236
<td>pointer to address length which must be supplied
278
240
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
279
241
<td> the stream's local address (which must be freed with
281
href="http://library.gnome.org/devel/glib/unstable/glib-Memory-Allocation.html#g-free"
282
><span class="type">g_free</span></a>) if the stream is connected, or <a
283
href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL--CAPS"
284
><code class="literal">NULL</code></a> if not
242
<span class="type">g_free</span>) if the stream is connected, or <code class="literal">NULL</code> if not
291
<div class="refsect2" title="camel_tcp_stream_get_remote_address ()">
249
<div class="refsect2" lang="en">
292
250
<a name="camel-tcp-stream-get-remote-address"></a><h3>camel_tcp_stream_get_remote_address ()</h3>
293
<pre class="programlisting">struct sockaddr * camel_tcp_stream_get_remote_address (<a class="link" href="camel-CamelTcpStream.html#CamelTcpStream" title="struct CamelTcpStream">CamelTcpStream</a> *stream,
294
socklen_t *len);</pre>
251
<pre class="programlisting">struct <span class="returnvalue">sockaddr</span> * camel_tcp_stream_get_remote_address (<em class="parameter"><code><a class="link" href="camel-CamelTcpStream.html#CamelTcpStream" title="struct CamelTcpStream"><span class="type">CamelTcpStream</span></a> *stream</code></em>,
252
<em class="parameter"><code><span class="type">socklen_t</span> *len</code></em>);</pre>
296
254
Get the remote address of <em class="parameter"><code>stream</code></em>.</p>
299
255
<div class="variablelist"><table border="0">
300
256
<col align="left" valign="top">
303
259
<td><p><span class="term"><em class="parameter"><code>stream</code></em> :</span></p></td>
304
<td> a <a class="link" href="camel-CamelTcpStream.html#CamelTcpStream" title="struct CamelTcpStream"><span class="type">CamelTcpStream</span></a> object
260
<td>a <a class="link" href="camel-CamelTcpStream.html#CamelTcpStream" title="struct CamelTcpStream"><span class="type">CamelTcpStream</span></a> object
308
264
<td><p><span class="term"><em class="parameter"><code>len</code></em> :</span></p></td>
309
<td> pointer to address length, which must be supplied
265
<td>pointer to address length, which must be supplied
313
269
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
314
270
<td> the stream's remote address (which must be freed with
316
href="http://library.gnome.org/devel/glib/unstable/glib-Memory-Allocation.html#g-free"
317
><span class="type">g_free</span></a>) if the stream is connected, or <a
318
href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL--CAPS"
319
><code class="literal">NULL</code></a> if not.
271
<span class="type">g_free</span>) if the stream is connected, or <code class="literal">NULL</code> if not.