File: Ftp_data_endpoint.html

package info (click to toggle)
ocamlnet 2.2.9-8
  • links: PTS, VCS
  • area: main
  • in suites: squeeze
  • size: 17,724 kB
  • ctags: 10,053
  • sloc: ml: 63,928; ansic: 1,973; makefile: 800; sh: 651
file content (230 lines) | stat: -rw-r--r-- 16,403 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<link rel="stylesheet" href="style.css" type="text/css">
<meta content="text/html; charset=iso-8859-1" http-equiv="Content-Type">
<link rel="Start" href="index.html">
<link rel="previous" href="Telnet_client.html">
<link rel="next" href="Ftp_client.html">
<link rel="Up" href="index.html">
<link title="Index of types" rel=Appendix href="index_types.html">
<link title="Index of exceptions" rel=Appendix href="index_exceptions.html">
<link title="Index of values" rel=Appendix href="index_values.html">
<link title="Index of class attributes" rel=Appendix href="index_attributes.html">
<link title="Index of class methods" rel=Appendix href="index_methods.html">
<link title="Index of classes" rel=Appendix href="index_classes.html">
<link title="Index of class types" rel=Appendix href="index_class_types.html">
<link title="Index of modules" rel=Appendix href="index_modules.html">
<link title="Index of module types" rel=Appendix href="index_module_types.html">
<link title="Uq_gtk" rel="Chapter" href="Uq_gtk.html">
<link title="Equeue" rel="Chapter" href="Equeue.html">
<link title="Unixqueue" rel="Chapter" href="Unixqueue.html">
<link title="Uq_engines" rel="Chapter" href="Uq_engines.html">
<link title="Uq_socks5" rel="Chapter" href="Uq_socks5.html">
<link title="Unixqueue_mt" rel="Chapter" href="Unixqueue_mt.html">
<link title="Equeue_intro" rel="Chapter" href="Equeue_intro.html">
<link title="Uq_ssl" rel="Chapter" href="Uq_ssl.html">
<link title="Uq_tcl" rel="Chapter" href="Uq_tcl.html">
<link title="Netcgi_common" rel="Chapter" href="Netcgi_common.html">
<link title="Netcgi" rel="Chapter" href="Netcgi.html">
<link title="Netcgi_ajp" rel="Chapter" href="Netcgi_ajp.html">
<link title="Netcgi_scgi" rel="Chapter" href="Netcgi_scgi.html">
<link title="Netcgi_cgi" rel="Chapter" href="Netcgi_cgi.html">
<link title="Netcgi_fcgi" rel="Chapter" href="Netcgi_fcgi.html">
<link title="Netcgi_dbi" rel="Chapter" href="Netcgi_dbi.html">
<link title="Netcgi1_compat" rel="Chapter" href="Netcgi1_compat.html">
<link title="Netcgi_test" rel="Chapter" href="Netcgi_test.html">
<link title="Netcgi_porting" rel="Chapter" href="Netcgi_porting.html">
<link title="Netcgi_plex" rel="Chapter" href="Netcgi_plex.html">
<link title="Http_client" rel="Chapter" href="Http_client.html">
<link title="Telnet_client" rel="Chapter" href="Telnet_client.html">
<link title="Ftp_data_endpoint" rel="Chapter" href="Ftp_data_endpoint.html">
<link title="Ftp_client" rel="Chapter" href="Ftp_client.html">
<link title="Nethttpd_types" rel="Chapter" href="Nethttpd_types.html">
<link title="Nethttpd_kernel" rel="Chapter" href="Nethttpd_kernel.html">
<link title="Nethttpd_reactor" rel="Chapter" href="Nethttpd_reactor.html">
<link title="Nethttpd_engine" rel="Chapter" href="Nethttpd_engine.html">
<link title="Nethttpd_services" rel="Chapter" href="Nethttpd_services.html">
<link title="Nethttpd_plex" rel="Chapter" href="Nethttpd_plex.html">
<link title="Nethttpd_intro" rel="Chapter" href="Nethttpd_intro.html">
<link title="Netplex_types" rel="Chapter" href="Netplex_types.html">
<link title="Netplex_mp" rel="Chapter" href="Netplex_mp.html">
<link title="Netplex_mt" rel="Chapter" href="Netplex_mt.html">
<link title="Netplex_log" rel="Chapter" href="Netplex_log.html">
<link title="Netplex_controller" rel="Chapter" href="Netplex_controller.html">
<link title="Netplex_container" rel="Chapter" href="Netplex_container.html">
<link title="Netplex_sockserv" rel="Chapter" href="Netplex_sockserv.html">
<link title="Netplex_workload" rel="Chapter" href="Netplex_workload.html">
<link title="Netplex_main" rel="Chapter" href="Netplex_main.html">
<link title="Netplex_config" rel="Chapter" href="Netplex_config.html">
<link title="Netplex_kit" rel="Chapter" href="Netplex_kit.html">
<link title="Rpc_netplex" rel="Chapter" href="Rpc_netplex.html">
<link title="Netplex_cenv" rel="Chapter" href="Netplex_cenv.html">
<link title="Netplex_intro" rel="Chapter" href="Netplex_intro.html">
<link title="Netshm" rel="Chapter" href="Netshm.html">
<link title="Netshm_data" rel="Chapter" href="Netshm_data.html">
<link title="Netshm_hashtbl" rel="Chapter" href="Netshm_hashtbl.html">
<link title="Netshm_array" rel="Chapter" href="Netshm_array.html">
<link title="Netshm_intro" rel="Chapter" href="Netshm_intro.html">
<link title="Netconversion" rel="Chapter" href="Netconversion.html">
<link title="Netchannels" rel="Chapter" href="Netchannels.html">
<link title="Netstream" rel="Chapter" href="Netstream.html">
<link title="Mimestring" rel="Chapter" href="Mimestring.html">
<link title="Netmime" rel="Chapter" href="Netmime.html">
<link title="Netsendmail" rel="Chapter" href="Netsendmail.html">
<link title="Neturl" rel="Chapter" href="Neturl.html">
<link title="Netaddress" rel="Chapter" href="Netaddress.html">
<link title="Netbuffer" rel="Chapter" href="Netbuffer.html">
<link title="Netdate" rel="Chapter" href="Netdate.html">
<link title="Netencoding" rel="Chapter" href="Netencoding.html">
<link title="Netulex" rel="Chapter" href="Netulex.html">
<link title="Netaccel" rel="Chapter" href="Netaccel.html">
<link title="Netaccel_link" rel="Chapter" href="Netaccel_link.html">
<link title="Nethtml" rel="Chapter" href="Nethtml.html">
<link title="Netstring_str" rel="Chapter" href="Netstring_str.html">
<link title="Netstring_pcre" rel="Chapter" href="Netstring_pcre.html">
<link title="Netstring_mt" rel="Chapter" href="Netstring_mt.html">
<link title="Netmappings" rel="Chapter" href="Netmappings.html">
<link title="Netaux" rel="Chapter" href="Netaux.html">
<link title="Nethttp" rel="Chapter" href="Nethttp.html">
<link title="Netchannels_tut" rel="Chapter" href="Netchannels_tut.html">
<link title="Netmime_tut" rel="Chapter" href="Netmime_tut.html">
<link title="Netsendmail_tut" rel="Chapter" href="Netsendmail_tut.html">
<link title="Netulex_tut" rel="Chapter" href="Netulex_tut.html">
<link title="Neturl_tut" rel="Chapter" href="Neturl_tut.html">
<link title="Netsys" rel="Chapter" href="Netsys.html">
<link title="Netpop" rel="Chapter" href="Netpop.html">
<link title="Rpc_auth_dh" rel="Chapter" href="Rpc_auth_dh.html">
<link title="Rpc_key_service" rel="Chapter" href="Rpc_key_service.html">
<link title="Rpc_time" rel="Chapter" href="Rpc_time.html">
<link title="Rpc_auth_local" rel="Chapter" href="Rpc_auth_local.html">
<link title="Rtypes" rel="Chapter" href="Rtypes.html">
<link title="Xdr" rel="Chapter" href="Xdr.html">
<link title="Rpc" rel="Chapter" href="Rpc.html">
<link title="Rpc_program" rel="Chapter" href="Rpc_program.html">
<link title="Rpc_portmapper_aux" rel="Chapter" href="Rpc_portmapper_aux.html">
<link title="Rpc_packer" rel="Chapter" href="Rpc_packer.html">
<link title="Rpc_transport" rel="Chapter" href="Rpc_transport.html">
<link title="Rpc_client" rel="Chapter" href="Rpc_client.html">
<link title="Rpc_simple_client" rel="Chapter" href="Rpc_simple_client.html">
<link title="Rpc_portmapper_clnt" rel="Chapter" href="Rpc_portmapper_clnt.html">
<link title="Rpc_portmapper" rel="Chapter" href="Rpc_portmapper.html">
<link title="Rpc_server" rel="Chapter" href="Rpc_server.html">
<link title="Rpc_auth_sys" rel="Chapter" href="Rpc_auth_sys.html">
<link title="Rpc_intro" rel="Chapter" href="Rpc_intro.html">
<link title="Rpc_mapping_ref" rel="Chapter" href="Rpc_mapping_ref.html">
<link title="Rpc_ssl" rel="Chapter" href="Rpc_ssl.html">
<link title="Rpc_xti_client" rel="Chapter" href="Rpc_xti_client.html">
<link title="Shell_sys" rel="Chapter" href="Shell_sys.html">
<link title="Shell" rel="Chapter" href="Shell.html">
<link title="Shell_uq" rel="Chapter" href="Shell_uq.html">
<link title="Shell_mt" rel="Chapter" href="Shell_mt.html">
<link title="Shell_intro" rel="Chapter" href="Shell_intro.html">
<link title="Netsmtp" rel="Chapter" href="Netsmtp.html"><link title="Types and Exceptions" rel="Section" href="#1_TypesandExceptions">
<link title="Data Stream Converters" rel="Section" href="#1_DataStreamConverters">
<link title="Engines" rel="Section" href="#1_Engines">
<title>Ocamlnet 2 Reference Manual : Ftp_data_endpoint</title>
</head>
<body>
<div class="navbar"><a href="Telnet_client.html">Previous</a>
&nbsp;<a href="index.html">Up</a>
&nbsp;<a href="Ftp_client.html">Next</a>
</div>
<center><h1>Module <a href="type_Ftp_data_endpoint.html">Ftp_data_endpoint</a></h1></center>
<br>
<pre><span class="keyword">module</span> Ftp_data_endpoint: <code class="code">sig</code> <a href="Ftp_data_endpoint.html">..</a> <code class="code">end</code></pre>Senders and receivers for the FTP data connection<br>
<hr width="100%">
<br>
<a name="1_TypesandExceptions"></a>
<h1>Types and Exceptions</h1><br>
<pre><span class="keyword">class type</span> <a name="TYPEout_record_channel"></a><a href="Ftp_data_endpoint.out_record_channel.html">out_record_channel</a> = <code class="code">object</code> <a href="Ftp_data_endpoint.out_record_channel.html">..</a> <code class="code">end</code></pre><div class="info">
An <code class="code">out_record_channel</code> can be used to output files with record
 structure.
</div>
<pre><span class="keyword">class type</span> <a name="TYPEin_record_channel"></a><a href="Ftp_data_endpoint.in_record_channel.html">in_record_channel</a> = <code class="code">object</code> <a href="Ftp_data_endpoint.in_record_channel.html">..</a> <code class="code">end</code></pre><div class="info">
An <code class="code">in_record_channel</code> can be used to read files with record
 structure.
</div>
<pre><span class="keyword">type</span> <a name="TYPElocal_receiver"></a><code class="type"></code>local_receiver = <code class="type">[ `File_structure of <a href="Netchannels.out_obj_channel.html">Netchannels.out_obj_channel</a><br>       | `Record_structure of <a href="Ftp_data_endpoint.out_record_channel.html">out_record_channel</a> ]</code> </pre>
<div class="info">
The <code class="code">local_receiver</code> is the object that gets the data received
 over the data connection.
<p>

 Page structure is not supported.<br>
</div>

<pre><span class="keyword">type</span> <a name="TYPElocal_sender"></a><code class="type"></code>local_sender = <code class="type">[ `File_structure of <a href="Netchannels.in_obj_channel.html">Netchannels.in_obj_channel</a><br>       | `Record_structure of <a href="Ftp_data_endpoint.in_record_channel.html">in_record_channel</a> ]</code> </pre>
<div class="info">
The <code class="code">local_sender</code> is the object that provides the data sent
 over the data connection.
<p>

 Page structure is not supported.<br>
</div>

<pre><span class="keyword">type</span> <a name="TYPEtransmission_mode"></a><code class="type"></code>transmission_mode = <code class="type">[ `Block_mode | `Stream_mode ]</code> </pre>
<div class="info">
The transmission mode as described in RFC 959. 
 Compressed mode is not supported.<br>
</div>

<pre><span class="keyword">type</span> <a name="TYPEdescr_state"></a><code class="type"></code>descr_state = <code class="type">[ `Clean | `Down | `Transfer_in_progress ]</code> </pre>
<div class="info">
Describes the state of the socket used for data transfers.
 The state <code class="code">`Clean</code> means that a new data transfer may be started,
 either because the socket is new, or the last block transfer was
 properly finished. The state <code class="code">`Transfer_in_progress</code> means that
 data is being transferred, but also that the transfer is aborted.
 The state <code class="code">`Down</code> means that the socket is already at least half-closed,
 i.e. EOF was sent in one direction.<br>
</div>

<pre><span class="keyword">type</span> <a name="TYPEtext_data_repr"></a><code class="type"></code>text_data_repr = <code class="type">[ `ASCII of <a href="Netconversion.html#TYPEencoding">Netconversion.encoding</a><br>       | `ASCII_unix of <a href="Netconversion.html#TYPEencoding">Netconversion.encoding</a><br>       | `EBCDIC of <a href="Netconversion.html#TYPEencoding">Netconversion.encoding</a> ]</code> </pre>
<div class="info">
Possible representation of text data:
 <code class="code">`ASCII</code> means an ASCII-compatible encoding where the newline
 character is represented by CR/LF. <code class="code">`ASCII_unix</code> is the same
 but newline is only LF. <code class="code">`EBCDIC</code> is an EBCDIC variant.
<p>

 The argument specifies the exact variant to be used, e.g.
 <code class="code">`ASCII `Enc_iso88591</code> or <code class="code">`EBCDIC `Enc_cp1047</code>.
<p>

 It is illegal to use <code class="code">`ASCII</code> or <code class="code">`ASCII_unix</code> with an ASCII-
 incompatible encoding, as well as combining  <code class="code">`EBCDIC</code> with a
 non-EBCDIC encoding. Wrong conversions would be the result of
 this.<br>
</div>

<br>
<a name="1_DataStreamConverters"></a>
<h1>Data Stream Converters</h1><br>
<pre><span class="keyword">class</span> <a name="TYPEwrite_out_record_channel"></a><a href="Ftp_data_endpoint.write_out_record_channel.html">write_out_record_channel</a> : <code class="type">repr:<a href="Ftp_data_endpoint.html#TYPEtext_data_repr">text_data_repr</a> -> <a href="Netchannels.out_obj_channel.html">Netchannels.out_obj_channel</a> -> </code><code class="type"><a href="Ftp_data_endpoint.out_record_channel.html">out_record_channel</a></code></pre><div class="info">
Provides an <code class="code">out_record_channel</code> that represents EOR as 
 newline character.
</div>
<pre><span class="keyword">class</span> <a name="TYPEread_in_record_channel"></a><a href="Ftp_data_endpoint.read_in_record_channel.html">read_in_record_channel</a> : <code class="type">repr:<a href="Ftp_data_endpoint.html#TYPEtext_data_repr">text_data_repr</a> -> <a href="Netchannels.in_obj_channel.html">Netchannels.in_obj_channel</a> -> </code><code class="type"><a href="Ftp_data_endpoint.in_record_channel.html">in_record_channel</a></code></pre><div class="info">
Provides an <code class="code">in_record_channel</code> that takes newline characters as
 EOR representation.
</div>
<pre><span class="keyword">class</span> <a name="TYPEdata_converter"></a><a href="Ftp_data_endpoint.data_converter.html">data_converter</a> : <code class="type">fromrepr:<a href="Ftp_data_endpoint.html#TYPEtext_data_repr">text_data_repr</a> -> torepr:<a href="Ftp_data_endpoint.html#TYPEtext_data_repr">text_data_repr</a> -> </code><code class="type"><a href="Netchannels.io_obj_channel.html">Netchannels.io_obj_channel</a></code></pre><div class="info">
Creates a data conversion pipe converting <code class="code">fromrepr</code> to
 <code class="code">torepr</code>.
</div>
<br>
<a name="1_Engines"></a>
<h1>Engines</h1><br>
<pre><span class="keyword">class type</span> <a name="TYPEftp_data_engine"></a><a href="Ftp_data_endpoint.ftp_data_engine.html">ftp_data_engine</a> = <code class="code">object</code> <a href="Ftp_data_endpoint.ftp_data_engine.html">..</a> <code class="code">end</code></pre><div class="info">
The common type of FTP data engines
</div>
<pre><span class="keyword">class</span> <a name="TYPEftp_data_receiver"></a><a href="Ftp_data_endpoint.ftp_data_receiver.html">ftp_data_receiver</a> : <code class="type">esys:<a href="Unixqueue.event_system.html">Unixqueue.event_system</a> -> mode:<a href="Ftp_data_endpoint.html#TYPEtransmission_mode">transmission_mode</a> -> local_receiver:<a href="Ftp_data_endpoint.html#TYPElocal_receiver">local_receiver</a> -> descr:Unix.file_descr -> unit -> </code><code class="code">object</code> <a href="Ftp_data_endpoint.ftp_data_receiver.html">..</a> <code class="code">end</code></pre><div class="info">
This engine receives data on a FTP data connection, and forwards
 them to a local receiver.
</div>
<pre><span class="keyword">class</span> <a name="TYPEftp_data_sender"></a><a href="Ftp_data_endpoint.ftp_data_sender.html">ftp_data_sender</a> : <code class="type">esys:<a href="Unixqueue.event_system.html">Unixqueue.event_system</a> -> mode:<a href="Ftp_data_endpoint.html#TYPEtransmission_mode">transmission_mode</a> -> local_sender:<a href="Ftp_data_endpoint.html#TYPElocal_sender">local_sender</a> -> descr:Unix.file_descr -> unit -> </code><code class="code">object</code> <a href="Ftp_data_endpoint.ftp_data_sender.html">..</a> <code class="code">end</code></pre><div class="info">
This engine sends data over a FTP data connection coming from
 a local sender.
</div>
</body></html>