= 1024" x-on:close-sidebar="sidebar=window.innerWidth >= 1024 && true">
Legend:
Library
Module
Module type
Parameter
Class
Class type
Library
Module
Module type
Parameter
Class
Class type
Deprecated MirageOS signatures, use them directly
include module type of struct include Mirage_types end
General conventions
- errors which application programmers are expected to handle (e.g. connection refused or end of file) are encoded as result types where
Ok x
means the operation was succesful and returnsx
and whereError e
means the operation has failed with errore
. The errore
uses theRresult
.R.msg type for the most general error message, and possibly more specific ones depending on the interface. - errors which represent programming errors such as assertion failures or illegal arguments are encoded as exceptions. The application may attempt to catch exceptions and recover or simply let the exception propagate and crash the application. If the application crashes then the runtime system should output diagnostics and abort.
- operations which perform I/O return values of
type +'a io
which allow the application to either wait for the I/O to be completed or leave it running asynchronously. If the I/O completes with an error then the operation may have completely failed, partially succeeded or even completely succeeded (e.g. it may only be a confirmation message in a network protocol which was missed): see individual API descriptions for details.
Release v3.10.8
module type DEVICE = Mirage_types.DEVICE
Time and clock devices
module type TIME = Mirage_types.TIME
module type MCLOCK = Mirage_types.MCLOCK
module type PCLOCK = Mirage_types.PCLOCK
module type RANDOM = Mirage_types.RANDOM
Connection between endpoints
module type FLOW = Mirage_types.FLOW
Console
module type CONSOLE = Mirage_types.CONSOLE
Sector-addressible block devices
module type BLOCK = Mirage_types.BLOCK
module type NETWORK = Mirage_types.NETWORK
module type ETHERNET = Mirage_types.ETHERNET
module type IP = Mirage_types.IP
module type ARP = Mirage_types.ARP
module type IPV4 = Mirage_types.IPV4
module type IPV6 = Mirage_types.IPV6
module type ICMP = Mirage_types.ICMP
module type ICMPV4 = Mirage_types.ICMPV4
module type UDP = Mirage_types.UDP
module type UDPV4 = Mirage_types.UDPV4
module type UDPV6 = Mirage_types.UDPV6
module type TCP = Mirage_types.TCP
module type TCPV4 = Mirage_types.TCPV4
module type TCPV6 = Mirage_types.TCPV6
module type STACKV4 = Mirage_types.STACKV4
module type CHANNEL = Mirage_types.CHANNEL
Static Key/value store
module type KV_RO = Mirage_types.KV_RO
module type KV_RW = Mirage_types.KV_RW
Filesystem devices
module type FS = Mirage_types.FS