module Netftp_data_endpoint:sig
..end
Senders and receivers for the FTP data connection
typeftp_data_prot =
[ `C | `E | `P | `S ]
type
ftp_protector = {
|
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.