module Netftp_data_endpoint:sig..end
Senders and receivers for the FTP data connection
typeftp_data_prot =[ `C | `E | `P | `S ]
type |    | ftp_wrap_limit :  | 
|    | ftp_wrap_s :  | 
|    | ftp_wrap_m :  | 
|    | ftp_unwrap_s :  | 
|    | ftp_unwrap_m :  | 
|    | ftp_prot_level :  | 
|    | ftp_close :  | 
|    | mutable ftp_gssapi_props :  | 
|    | mutable ftp_auth_loop :  | 
The functions for encrypting (wrapping) and decrypting (unwrapping) messages when an RFC 2228 security layer is active.
class type out_record_channel =object..end
An out_record_channel can be used to output files with record
 structure.
class type in_record_channel =object..end
An 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 ]
The 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 ]
The 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 ]
The transmission mode as described in RFC 959. Compressed mode is not supported.
typedescr_state =[ `Clean | `Down | `Transfer_in_progress ]
Describes the state of the socket used for data transfers.
 The state `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 ]
Possible representation of text data:
 `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
Provides an 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
Provides an 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
Creates a data conversion pipe converting fromrepr to
 torepr.
class type ftp_data_engine =object..end
The common type of FTP data engines
class ftp_data_receiver :?tls:(module Netsys_crypto_types.TLS_CONFIG) * string option * string option -> ?protector:ftp_protector -> esys:Unixqueue.event_system -> mode:transmission_mode -> local_receiver:local_receiver -> descr:Unix.file_descr -> timeout:float -> timeout_exn:exn -> unit ->object..end
This engine receives data on a FTP data connection, and forwards them to a local receiver.
class ftp_data_sender :?tls:(module Netsys_crypto_types.TLS_CONFIG) * string option * string option -> ?protector:ftp_protector -> esys:Unixqueue.event_system -> mode:transmission_mode -> local_sender:local_sender -> descr:Unix.file_descr -> timeout:float -> timeout_exn:exn -> unit ->object..end
This engine sends data over a FTP data connection coming from a local sender.