sig
  val ls : string -> (string * Ftp.stats) list
  type file_descr
  type open_flag = O_RDONLY | O_WRONLY | O_RDWR
  val openfile :
    string -> Ftp.FILE.open_flag list -> Ftp.file_perm -> Ftp.FILE.file_descr
  val close : Ftp.FILE.file_descr -> unit
  val read : Ftp.FILE.file_descr -> string -> int -> int -> int
  type seek_command = SEEK_SET | SEEK_CUR | SEEK_END
  val lseek : Ftp.FILE.file_descr -> int -> Ftp.FILE.seek_command -> int
end