<!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> <a href="index.html">Up</a> <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>