package mirage

  1. Overview
  2. Docs
type 'a typ
val (@->) : 'a typ -> 'b typ -> ('a -> 'b) typ
type 'a impl
val ($) : ('a -> 'b) impl -> 'a impl -> 'b impl
val foreign : string -> ?libraries:string list -> ?packages:string list -> 'a typ -> 'a impl
val typ : 'a impl -> 'a typ
type console
val console : console typ
val default_console : console impl
val custom_console : string -> console impl
type block
val block : block typ
val block_of_file : string -> block impl
type kv_ro
val kv_ro : kv_ro typ
val crunch : string -> kv_ro impl
val direct_kv_ro : string -> kv_ro impl
type fs
val fs : fs typ
val fat : block impl -> fs impl
val fat_of_files : ?dir:string -> ?regexp:string -> unit -> fs impl
val kv_ro_of_fs : fs impl -> kv_ro impl
type network
val network : network typ
val tap0 : network impl
val netif : string -> network impl
type ethernet
val ethernet : ethernet typ
val etif : network impl -> ethernet impl
type ipv4
val ipv4 : ipv4 typ
type ipv4_config = {
  1. address : Ipaddr.V4.t;
  2. netmask : Ipaddr.V4.t;
  3. gateways : Ipaddr.V4.t list;
}
val create_ipv4 : network impl -> ipv4_config -> ipv4 impl
val default_ipv4 : network impl -> ipv4 impl
type udpv4
val udpv4 : udpv4 typ
val direct_udpv4 : ipv4 impl -> udpv4 impl
val socket_udpv4 : Ipaddr.V4.t option -> udpv4 impl
type tcpv4
val tcpv4 : tcpv4 typ
val direct_tcpv4 : ipv4 impl -> tcpv4 impl
val socket_tcpv4 : Ipaddr.V4.t option -> tcpv4 impl
type stackv4
val stackv4 : stackv4 typ
val direct_stackv4_with_default_ipv4 : console impl -> network impl -> stackv4 impl
val direct_stackv4_with_static_ipv4 : console impl -> network impl -> ipv4_config -> stackv4 impl
val direct_stackv4_with_dhcp : console impl -> network impl -> stackv4 impl
val socket_stackv4 : console impl -> Ipaddr.V4.t list -> stackv4 impl
type channel
val channel : channel typ
val channel_over_tcpv4 : tcpv4 impl -> channel impl
type http
val http : http typ
val http_server_of_channel : channel impl -> http impl
val http_server : int -> stackv4 impl -> http impl
type job
val job : job typ
val register : string -> job impl list -> unit
type t = {
  1. name : string;
  2. root : string;
  3. jobs : job impl list;
}
val load : string option -> t
type mode = [
  1. | `Unix
  2. | `Xen
]
val set_mode : mode -> unit
val get_mode : unit -> mode
module Impl : sig ... end
val manage_opam_packages : bool -> unit
val add_to_opam_packages : string list -> unit
val add_to_ocamlfind_libraries : string list -> unit
val packages : t -> string list
val libraries : t -> string list
val configure : t -> unit
val clean : t -> unit
val build : t -> unit
val run : t -> unit
module type CONFIGURABLE = sig ... end
val implementation : 'a -> 'b -> (module CONFIGURABLE with type t = 'b) -> 'a impl
val append_main : ('a, unit, string, unit) Pervasives.format4 -> 'a
val newline_main : unit -> unit
module Io_page : sig ... end
module Clock : sig ... end
module Console : sig ... end
module Crunch : sig ... end
module Direct_kv_ro : sig ... end
module Block : sig ... end
module Fat : sig ... end
type network_config =
  1. | Tap0
  2. | Custom of string
module Network : sig ... end
module Ethif : sig ... end
module IPV4 : sig ... end
module UDPV4_direct : sig ... end
module UDPV4_socket : sig ... end
module TCPV4_direct : sig ... end
module TCPV4_socket : sig ... end
module STACKV4_direct : sig ... end
module STACKV4_socket : sig ... end
module Channel_over_TCPV4 : sig ... end
module HTTP : sig ... end
module Job : CONFIGURABLE
module Name : sig ... end
OCaml

Innovation. Community. Security.