Library
Module
Module type
Parameter
Class
Class type
Configuration library.
Mirage_types
defines a set of well-defined module signatures which are used by the various mirage libraries to implement a large collection of devices.
Construct a functor type from a type and an existing functor type. This corresponds to prepending a parameter to the list of functor parameters. For example,
kv_ro @-> ip @-> kv_ro
describes a functor type that accepts two arguments -- a kv_ro and an ip device -- and returns a kv_ro.
foreign name libs packs constr typ
states that the module named by name
has the module type typ
. If libs
is set, add the given set of ocamlfind libraries to the ones loaded by default. If packages
is set, add the given set of OPAM packages to the ones loaded by default.
Implementations of the V1.CONSOLE
signature.
Implementations of the V1.BLOCK
signature.
Implementations of the V1.KV_RO
signature.
Direct access to the underlying filesystem as a key/value store. For Xen backends, this is equivalent to crunch
.
Implementations of the V1.FS
signature.
Consider a raw block device as a FAT filesystem.
fat_files dir ?dir ?regexp ()
collects all the files matching the shell pattern regexp
in the directory dir
into a FAT image. By default, dir
is the current working directory and regexp
is *
Consider a filesystem implementation as a read-only key/value store.
Implementations of the V1.NETWORK
signature.
Implementations of the V1.IP
signature.
Types for IP manual configuration.
type ipv4_config = (Ipaddr.V4.t, Ipaddr.V4.t) ip_config
Types for IPv4 manual configuration.
Use an IPv4 address.
Default local IP listening on the given network interfaces:
10.0.0.1
type ipv6_config = (Ipaddr.V6.t, Ipaddr.V6.Prefix.t list) ip_config
Types for IPv6 manual configuration.
Use an IPv6 address.
UDP configuration
Implementation of the V1.UDP
signature.
TCP configuration
Implementation of the V1.TCP
signature.
Network stack configuration
Implementation of the V1.STACKV4
signature.
esolver configuration
onduit configuration
HTTP configuration
val http_server : conduit_server -> conduit impl -> http impl
val mprof_trace : size:int -> unit -> tracing
Use mirage-profile to trace the unikernel. On Unix, this creates and mmaps a file called "trace.ctf". On Xen, it shares the trace buffer with dom0.
register name jobs
registers the application named by name
which will executes the given jobs
.
Type for values representing a project description.
val load : string option -> t
Read a config file. If no name is given, search for use config.ml
.
val set_mode : mode -> unit
Set the configuration mode for the current project.
val get_mode : unit -> mode
module Impl : sig ... end
Configurable device.
Tell Irminsule to manage the OPAM configuration (ie. install/remove missing packages).
val packages : t -> string list
List of OPAM packages to install for this project.
val libraries : t -> string list
List of ocamlfind libraries.
val configure : t -> unit
Generate some code to create a value with the right configuration settings.
val clean : t -> unit
Remove all the autogen files.
val build : t -> unit
Call make build
in the right directory.
module type CONFIGURABLE = sig ... end
Signature for configurable devices.
val implementation :
'a ->
'b ->
(module CONFIGURABLE with type t = 'b) ->
'a impl
Extend the library with an external configuration.
module Io_page : CONFIGURABLE
Implementation of IO page allocators.
module Clock : CONFIGURABLE
Implementation of clocks.
module Time : CONFIGURABLE
Implementation of timers.
module Random : CONFIGURABLE
Implementation of timers.
module Console : CONFIGURABLE
Implementation of consoles.
module Crunch : CONFIGURABLE
Implementation of crunch a local filesystem.
module Direct_kv_ro : CONFIGURABLE
Implementation of direct access to the filesystem as a key/value read-only store.
module Block : CONFIGURABLE
Implementation of raw block device.
module Fat : CONFIGURABLE
Implementatin of the Fat filesystem.
module Network : CONFIGURABLE
Implementation of network configuration.
module Ethif : CONFIGURABLE
Signature for configurable devices.
module IPV4 : CONFIGURABLE
Signature for configurable devices.
module IPV6 : CONFIGURABLE
Signature for configurable devices.
module UDP_direct (V : sig ... end) : CONFIGURABLE
Signature for configurable devices.
module UDPV4_socket : CONFIGURABLE
Signature for configurable devices.
module TCP_direct (V : sig ... end) : CONFIGURABLE
Signature for configurable devices.
module TCPV4_socket : CONFIGURABLE
Signature for configurable devices.
module STACKV4_direct : CONFIGURABLE
Signature for configurable devices.
module STACKV4_socket : CONFIGURABLE
Signature for configurable devices.
module HTTP : CONFIGURABLE
Signature for configurable devices.
module Job : CONFIGURABLE
Signature for configurable devices.
module Name : sig ... end