module Ftp_data_endpoint:sig..end
class type out_record_channel =object..end
out_record_channel can be used to output files with record
 structure.
class type in_record_channel =object..end
in_record_channel can be used to read files with record
 structure.
typelocal_receiver =[ `File_structure of Netchannels.out_obj_channel
| `Record_structure of out_record_channel ]
local_receiver is the object that gets the data received
 over the data connection.
 Page structure is not supported.
typelocal_sender =[ `File_structure of Netchannels.in_obj_channel
| `Record_structure of in_record_channel ]
local_sender is the object that provides the data sent
 over the data connection.
 Page structure is not supported.
typetransmission_mode =[ `Block_mode | `Stream_mode ]
typedescr_state =[ `Clean | `Down | `Transfer_in_progress ]
`Clean 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 `Transfer_in_progress means that
 data is being transferred, but also that the transfer is aborted.
 The state `Down means that the socket is already at least half-closed,
 i.e. EOF was sent in one direction.typetext_data_repr =[ `ASCII of Netconversion.encoding
| `ASCII_unix of Netconversion.encoding
| `EBCDIC of Netconversion.encoding ]
`ASCII means an ASCII-compatible encoding where the newline
 character is represented by CR/LF. `ASCII_unix is the same
 but newline is only LF. `EBCDIC is an EBCDIC variant.
 The argument specifies the exact variant to be used, e.g.
 `ASCII `Enc_iso88591 or `EBCDIC `Enc_cp1047.
 It is illegal to use `ASCII or `ASCII_unix with an ASCII-
 incompatible encoding, as well as combining  `EBCDIC with a
 non-EBCDIC encoding. Wrong conversions would be the result of
 this.
class write_out_record_channel :repr:text_data_repr -> Netchannels.out_obj_channel ->out_record_channel
out_record_channel that represents EOR as 
 newline character.
class read_in_record_channel :repr:text_data_repr -> Netchannels.in_obj_channel ->in_record_channel
in_record_channel that takes newline characters as
 EOR representation.
class data_converter :fromrepr:text_data_repr -> torepr:text_data_repr ->Netchannels.io_obj_channel
fromrepr to
 torepr.
class type ftp_data_engine =object..end
class ftp_data_receiver :esys:Unixqueue.event_system -> mode:transmission_mode -> local_receiver:local_receiver -> descr:Unix.file_descr -> unit ->object..end
class ftp_data_sender :esys:Unixqueue.event_system -> mode:transmission_mode -> local_sender:local_sender -> descr:Unix.file_descr -> unit ->object..end