Plasma GitLab Archive
Projects Blog Knowledge

sig
  exception FTP_error of exn
  exception FTP_protocol_violation of string
  exception FTP_timeout of string
  type cmd_state =
      [ `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 Ftp_client.form_code option
      | `EBCDIC of Ftp_client.form_code option
      | `Image ]
  type structure = [ `File_structure | `Record_structure ]
  type transmission_mode = [ `Block_mode | `Stream_mode ]
  type ftp_state = {
    cmd_state : Ftp_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_port : Ftp_client.port;
    ftp_repr : Ftp_client.representation;
    ftp_structure : Ftp_client.structure;
    ftp_trans : Ftp_client.transmission_mode;
    ftp_dir : string list;
    ftp_features : (string * string option) list option;
    ftp_options : (string * string option) list;
  }
  type cmd =
      [ `ACCT of string
      | `ALLO of int * int option
      | `APPE of
          string * (Ftp_client.ftp_state -> Ftp_data_endpoint.local_sender)
      | `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 *
          (Ftp_client.ftp_state -> Ftp_data_endpoint.local_receiver)
      | `MDTM of string
      | `MKD of string
      | `MLSD of
          string option *
          (Ftp_client.ftp_state -> Ftp_data_endpoint.local_receiver)
      | `MLST of string option
      | `MODE of Ftp_client.transmission_mode
      | `NLST of
          string option *
          (Ftp_client.ftp_state -> Ftp_data_endpoint.local_receiver)
      | `NOOP
      | `OPTS of string * string option
      | `PASS of string
      | `PASV
      | `PORT
      | `PWD
      | `QUIT
      | `REIN
      | `REST of string
      | `RETR of
          string * (Ftp_client.ftp_state -> Ftp_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 * (Ftp_client.ftp_state -> Ftp_data_endpoint.local_sender)
      | `STOU of Ftp_client.ftp_state -> Ftp_data_endpoint.local_sender
      | `STRU of Ftp_client.structure
      | `SYST
      | `TYPE of Ftp_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:(Ftp_client.ftp_state -> Ftp_client.reply -> unit) ->
        Ftp_client.cmd ->
        (Ftp_client.ftp_state * Ftp_client.reply) Uq_engines.engine
      method ftp_state : Ftp_client.ftp_state
      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 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_tvfs : bool
      method supports_utf8 : bool
    end
  type ftp_method = Ftp_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 -> Ftp_client.ftp_method
  val login_method :
    user:string ->
    get_password:(unit -> string) ->
    get_account:(unit -> string) -> unit -> Ftp_client.ftp_method
  val quit_method : unit -> Ftp_client.ftp_method
  val walk_method :
    [ `Dir of string | `File of string | `Stay ] -> Ftp_client.ftp_method
  type filename = [ `NVFS of string | `TVFS of string | `Verbatim of string ]
  val get_method :
    file:Ftp_client.filename ->
    representation:Ftp_client.representation ->
    store:(Ftp_client.ftp_state -> Ftp_data_endpoint.local_receiver) ->
    unit -> Ftp_client.ftp_method
  val put_method :
    ?meth:[ `APPE | `STOR ] ->
    file:Ftp_client.filename ->
    representation:Ftp_client.representation ->
    store:(Ftp_client.ftp_state -> Ftp_data_endpoint.local_sender) ->
    unit -> Ftp_client.ftp_method
  val invoke_method : command:Ftp_client.cmd -> unit -> Ftp_client.ftp_method
  val set_structure_method : Ftp_client.structure -> Ftp_client.ftp_method
  val set_mode_method : Ftp_client.transmission_mode -> Ftp_client.ftp_method
  val rename_method :
    file_from:Ftp_client.filename ->
    file_to:Ftp_client.filename -> unit -> Ftp_client.ftp_method
  val mkdir_method : Ftp_client.filename -> Ftp_client.ftp_method
  val rmdir_method : Ftp_client.filename -> Ftp_client.ftp_method
  val delete_method : Ftp_client.filename -> Ftp_client.ftp_method
  val list_method :
    dir:Ftp_client.filename ->
    representation:Ftp_client.representation ->
    store:(Ftp_client.ftp_state -> Ftp_data_endpoint.local_receiver) ->
    unit -> Ftp_client.ftp_method
  val nlst_method :
    dir:Ftp_client.filename ->
    representation:Ftp_client.representation ->
    store:(Ftp_client.ftp_state -> Ftp_data_endpoint.local_receiver) ->
    unit -> Ftp_client.ftp_method
  val parse_nlst_document : string -> string list
  val mdtm_method :
    file:Ftp_client.filename ->
    process_result:(float -> unit) -> unit -> Ftp_client.ftp_method
  val size_method :
    file:Ftp_client.filename ->
    representation:Ftp_client.representation ->
    process_result:(int64 -> unit) -> unit -> Ftp_client.ftp_method
  val feat_method :
    ?process_result:((string * string option) list -> unit) ->
    unit -> Ftp_client.ftp_method
  type entry = string * (string * string) list
  val mlst_method :
    file:Ftp_client.filename ->
    process_result:(Ftp_client.entry list -> unit) ->
    unit -> Ftp_client.ftp_method
  val mlsd_method :
    dir:Ftp_client.filename ->
    store:(Ftp_client.ftp_state -> Ftp_data_endpoint.local_receiver) ->
    unit -> Ftp_client.ftp_method
  val parse_mlsd_document : string -> Ftp_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 : Ftp_client.entry -> string
  val get_size : Ftp_client.entry -> int64
  val get_modify : Ftp_client.entry -> float
  val get_create : Ftp_client.entry -> float
  val get_type : Ftp_client.entry -> Ftp_client.entry_type
  val get_unique : Ftp_client.entry -> string
  val get_perm : Ftp_client.entry -> Ftp_client.entry_perm list
  val get_lang : Ftp_client.entry -> string
  val get_media_type : Ftp_client.entry -> string
  val get_charset : Ftp_client.entry -> string
  val get_unix_mode : Ftp_client.entry -> int
  val get_unix_uid : Ftp_client.entry -> string
  val get_unix_gid : Ftp_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 : Ftp_client.ftp_method -> unit
      method exec_e : Ftp_client.ftp_method -> unit Uq_engines.engine
      method pi : Ftp_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 Pervasives.ref end
end
This web site is published by Informatikbüro Gerd Stolpmann
Powered by Caml