Plasma GitLab Archive
Projects Blog Knowledge

Module Netftp_data_endpoint

module Netftp_data_endpoint: sig .. end
Senders and receivers for the FTP data connection


Types and Exceptions


type ftp_data_prot = [ `C | `E | `P | `S ] 
type ftp_protector = {
   ftp_wrap_limit : unit -> int;
   ftp_wrap_s : string -> string;
   ftp_wrap_m : Netsys_types.memory -> Netsys_types.memory -> int;
   ftp_unwrap_s : string -> string;
   ftp_unwrap_m : Netsys_types.memory -> Netsys_types.memory -> int;
   ftp_prot_level : ftp_data_prot;
   ftp_close : unit -> unit;
   mutable ftp_gssapi_props : Netsys_gssapi.client_props option;
   mutable ftp_auth_loop : bool;
}
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.
type local_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.

type local_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.

type transmission_mode = [ `Block_mode | `Stream_mode ] 
The transmission mode as described in RFC 959. Compressed mode is not supported.
type descr_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.
type text_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.


Data Stream Converters


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.

Engines


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.
This web site is published by Informatikbüro Gerd Stolpmann
Powered by Caml