Plasma GitLab Archive
Projects Blog Knowledge

sig
  exception FTP_error of exn
  exception FTP_protocol_violation of string
  exception FTP_timeout of string
  exception GSSAPI_error of string
  type cmd_state =
      [ `Auth_data
      | `Init
      | `Not_connected
      | `Pass_acct_seq
      | `Perm_failure
      | `Preliminary
      | `Proto_error
      | `Rename_seq
      | `Restart_seq
      | `Success
      | `Temp_failure
      | `User_acct_seq
      | `User_pass_seq ]
  type port =
      [ `Active of string * int * Unix.file_descr
      | `Ext_active of string * int * Unix.file_descr
      | `Ext_passive of int
      | `Passive of string * int
      | `Unspecified ]
  type form_code = [ `ASA | `Non_print | `Telnet ]
  type representation =
      [ `ASCII of Netftp_client.form_code option
      | `EBCDIC of Netftp_client.form_code option
      | `Image ]
  type structure = [ `File_structure | `Record_structure ]
  type transmission_mode = [ `Block_mode | `Stream_mode ]
  type ftp_auth = [ `GSSAPI | `None | `TLS ]
  type ftp_data_prot = [ `C | `E | `P | `S ]
  type support_level = [ `If_possible | `None | `Required ]
  type ftp_state = {
    cmd_state : Netftp_client.cmd_state;
    ftp_connected : bool;
    ftp_data_conn : bool;
    ftp_user : string option;
    ftp_password : string option;
    ftp_account : string option;
    ftp_logged_in : bool;
    ftp_host : string;
    ftp_port : Netftp_client.port;
    ftp_repr : Netftp_client.representation;
    ftp_structure : Netftp_client.structure;
    ftp_trans : Netftp_client.transmission_mode;
    ftp_dir : string list;
    ftp_features : (string * string option) list option;
    ftp_options : (string * string option) list;
    ftp_auth : Netftp_client.ftp_auth;
    ftp_auth_data : string option;
    ftp_data_prot : Netftp_client.ftp_data_prot;
    ftp_data_pbsz : int;
    ftp_prot : Netftp_data_endpoint.ftp_protector option;
  }
  type cmd =
      [ `ACCT of string
      | `ADAT of string
      | `ALLO of int * int option
      | `APPE of
          string *
          (Netftp_client.ftp_state -> Netftp_data_endpoint.local_sender)
      | `AUTH of string
      | `CDUP
      | `CWD of string
      | `Connect of string * int
      | `DELE of string
      | `Disconnect
      | `Dummy
      | `EPRT
      | `EPSV of [ `AF of Unix.socket_domain | `ALL ] option
      | `FEAT
      | `HELP of string option
      | `LANG of string option
      | `LIST of
          string option *
          (Netftp_client.ftp_state -> Netftp_data_endpoint.local_receiver)
      | `MDTM of string
      | `MKD of string
      | `MLSD of
          string option *
          (Netftp_client.ftp_state -> Netftp_data_endpoint.local_receiver)
      | `MLST of string option
      | `MODE of Netftp_client.transmission_mode
      | `NLST of
          string option *
          (Netftp_client.ftp_state -> Netftp_data_endpoint.local_receiver)
      | `NOOP
      | `OPTS of string * string option
      | `PASS of string
      | `PASV
      | `PBSZ of int
      | `PORT
      | `PROT of Netftp_client.ftp_data_prot
      | `PWD
      | `QUIT
      | `REIN
      | `REST of string
      | `RETR of
          string *
          (Netftp_client.ftp_state -> Netftp_data_endpoint.local_receiver)
      | `RMD of string
      | `RNFR of string
      | `RNTO of string
      | `SITE of string
      | `SIZE of string
      | `SMNT of string
      | `STAT of string option
      | `STOR of
          string *
          (Netftp_client.ftp_state -> Netftp_data_endpoint.local_sender)
      | `STOU of Netftp_client.ftp_state -> Netftp_data_endpoint.local_sender
      | `STRU of Netftp_client.structure
      | `SYST
      | `Start_TLS of (module Netsys_crypto_types.TLS_CONFIG)
      | `Start_protection of Netftp_data_endpoint.ftp_protector
      | `TYPE of Netftp_client.representation
      | `USER of string ]
  type reply = int * string
  class type ftp_client_pi =
    object
      method abort : unit -> unit
      method event_system : Unixqueue.event_system
      method exec_e :
        ?prelim:(Netftp_client.ftp_state -> Netftp_client.reply -> unit) ->
        Netftp_client.cmd ->
        (Netftp_client.ftp_state * Netftp_client.reply) Uq_engines.engine
      method ftp_state : Netftp_client.ftp_state
      method gssapi_props : Netsys_gssapi.client_props option
      method is_empty : bool
      method mlst_enabled_facts : string list
      method mlst_facts : string list
      method need_ip6 : bool
      method request_notification : (unit -> bool) -> unit
      method request_proxy_notification :
        (unit Uq_engines.engine -> bool) -> unit
      method run : unit -> unit
      method send_abort : unit -> unit
      method state : unit Uq_engines.engine_state
      method supports_mdtm : bool
      method supports_mlst : bool
      method supports_size : bool
      method supports_tls : bool
      method supports_tvfs : bool
      method supports_utf8 : bool
    end
  type ftp_method = Netftp_client.ftp_client_pi -> unit Uq_engines.engine
  exception FTP_method_temp_failure of int * string
  exception FTP_method_perm_failure of int * string
  exception FTP_method_unexpected_reply of int * string
  val connect_method :
    host:string -> ?port:int -> unit -> Netftp_client.ftp_method
  val login_method :
    user:string ->
    get_password:(unit -> string) ->
    get_account:(unit -> string) -> unit -> Netftp_client.ftp_method
  val quit_method : unit -> Netftp_client.ftp_method
  val tls_method :
    config:(module Netsys_crypto_types.TLS_CONFIG->
    required:bool -> unit -> Netftp_client.ftp_method
  val gssapi_method :
    config:Netsys_gssapi.client_config ->
    required:bool ->
    (module Netsys_gssapi.GSSAPI-> Netftp_client.ftp_method
  val walk_method :
    [ `Dir of string | `File of string | `Stay ] -> Netftp_client.ftp_method
  type filename = [ `NVFS of string | `TVFS of string | `Verbatim of string ]
  val get_method :
    file:Netftp_client.filename ->
    representation:Netftp_client.representation ->
    store:(Netftp_client.ftp_state -> Netftp_data_endpoint.local_receiver) ->
    unit -> Netftp_client.ftp_method
  val put_method :
    ?meth:[ `APPE | `STOR ] ->
    file:Netftp_client.filename ->
    representation:Netftp_client.representation ->
    store:(Netftp_client.ftp_state -> Netftp_data_endpoint.local_sender) ->
    unit -> Netftp_client.ftp_method
  val invoke_method :
    command:Netftp_client.cmd -> unit -> Netftp_client.ftp_method
  val set_structure_method :
    Netftp_client.structure -> Netftp_client.ftp_method
  val set_mode_method :
    Netftp_client.transmission_mode -> Netftp_client.ftp_method
  val rename_method :
    file_from:Netftp_client.filename ->
    file_to:Netftp_client.filename -> unit -> Netftp_client.ftp_method
  val mkdir_method : Netftp_client.filename -> Netftp_client.ftp_method
  val rmdir_method : Netftp_client.filename -> Netftp_client.ftp_method
  val delete_method : Netftp_client.filename -> Netftp_client.ftp_method
  val list_method :
    dir:Netftp_client.filename ->
    representation:Netftp_client.representation ->
    store:(Netftp_client.ftp_state -> Netftp_data_endpoint.local_receiver) ->
    unit -> Netftp_client.ftp_method
  val nlst_method :
    dir:Netftp_client.filename ->
    representation:Netftp_client.representation ->
    store:(Netftp_client.ftp_state -> Netftp_data_endpoint.local_receiver) ->
    unit -> Netftp_client.ftp_method
  val parse_nlst_document : string -> string list
  val mdtm_method :
    file:Netftp_client.filename ->
    process_result:(float -> unit) -> unit -> Netftp_client.ftp_method
  val size_method :
    file:Netftp_client.filename ->
    representation:Netftp_client.representation ->
    process_result:(int64 -> unit) -> unit -> Netftp_client.ftp_method
  val feat_method :
    ?process_result:((string * string option) list -> unit) ->
    unit -> Netftp_client.ftp_method
  type entry = string * (string * string) list
  val mlst_method :
    file:Netftp_client.filename ->
    process_result:(Netftp_client.entry list -> unit) ->
    unit -> Netftp_client.ftp_method
  val mlsd_method :
    dir:Netftp_client.filename ->
    store:(Netftp_client.ftp_state -> Netftp_data_endpoint.local_receiver) ->
    unit -> Netftp_client.ftp_method
  val parse_mlsd_document : string -> Netftp_client.entry list
  type entry_type = [ `Cdir | `Dir | `File | `Other | `Pdir ]
  type entry_perm =
      [ `Append
      | `Create
      | `Delete
      | `Delete_member
      | `Enter
      | `List
      | `Mkdir
      | `Read
      | `Rename
      | `Write ]
  val get_name : Netftp_client.entry -> string
  val get_size : Netftp_client.entry -> int64
  val get_modify : Netftp_client.entry -> float
  val get_create : Netftp_client.entry -> float
  val get_type : Netftp_client.entry -> Netftp_client.entry_type
  val get_unique : Netftp_client.entry -> string
  val get_perm : Netftp_client.entry -> Netftp_client.entry_perm list
  val get_lang : Netftp_client.entry -> string
  val get_media_type : Netftp_client.entry -> string
  val get_charset : Netftp_client.entry -> string
  val get_unix_mode : Netftp_client.entry -> int
  val get_unix_uid : Netftp_client.entry -> string
  val get_unix_gid : Netftp_client.entry -> string
  class ftp_client :
    ?event_system:Unixqueue.event_system ->
    unit ->
    object
      method configure_timeout : float -> unit
      method event_system : Unixqueue.event_system
      method exec : Netftp_client.ftp_method -> unit
      method exec_e : Netftp_client.ftp_method -> unit Uq_engines.engine
      method pi : Netftp_client.ftp_client_pi
      method reset : unit -> unit
      method run : unit -> unit
      method set_socks5_proxy : string -> int -> unit
    end
  module Debug : sig val enable : bool Stdlib.ref end
end
This web site is published by Informatikbüro Gerd Stolpmann
Powered by Caml