package awa-lwt

  1. Overview
  2. Docs
Legend:
Library
Module
Module type
Parameter
Class
Class type
type nexus_msg =
  1. | Rekey
  2. | Net_eof
  3. | Net_io of Cstruct.t
  4. | Sshout of int32 * Cstruct.t
  5. | Ssherr of int32 * Cstruct.t
type sshin_msg = [
  1. | `Data of Cstruct.t
  2. | `Eof
]
type channel = {
  1. cmd : string option;
  2. id : int32;
  3. sshin_mbox : sshin_msg Lwt_mvar.t;
  4. exec_thread : unit Lwt.t;
}
type exec_callback = ?cmd:string -> (unit -> sshin_msg Lwt.t) -> (Cstruct.t -> unit Lwt.t) -> (Cstruct.t -> unit Lwt.t) -> unit Lwt.t
type set_env = string -> string -> unit Lwt.t
type set_window = term:string -> w:int32 -> h:int32 -> maxw:int32 -> maxh:int32 -> unit Lwt.t
type t = {
  1. exec_callback : exec_callback;
  2. channels : channel list;
  3. nexus_mbox : nexus_msg Lwt_mvar.t;
  4. env : set_env option;
  5. window : set_window option;
}
val wrapr : ('a, string) Stdlib.result -> 'a Lwt.t
val sshin_eof : channel -> unit Lwt.t
val sshin_data : channel -> Cstruct.t -> unit Lwt.t
val lookup_channel : t -> int32 -> channel option
val nexus : t -> Lwt_unix.file_descr -> Awa.Server.t -> Cstruct.t -> t Lwt.t
val spawn_server : ?env:set_env -> ?window:set_window -> Awa.Server.t -> Awa.Ssh.message list -> Lwt_unix.file_descr -> exec_callback -> t Lwt.t
OCaml

Innovation. Community. Security.