package mirage-types

  1. Overview
  2. Docs
module type TIME = V1.TIME with type 'a io = 'a Lwt.t

Time operations for cooperative threads.

module type NETWORK = V1.NETWORK with type 'a io = 'a Lwt.t and type page_aligned_buffer = Io_page.t and type buffer = Cstruct.t and type macaddr = Macaddr.t

Network

module type ETHIF = V1.ETHIF with type 'a io = 'a Lwt.t and type buffer = Cstruct.t and type macaddr = Macaddr.t and type ipv4addr = Ipaddr.V4.t

Ethernet interface

module type IPV4 = V1.IPV4 with type 'a io = 'a Lwt.t and type buffer = Cstruct.t and type ipv4addr = Ipaddr.V4.t

IPv4 stack

module type UDPV4 = V1.UDPV4 with type 'a io = 'a Lwt.t and type buffer = Cstruct.t and type ipv4addr = Ipaddr.V4.t

UDPv4 stack

module type TCPV4 = V1.TCPV4 with type 'a io = 'a Lwt.t and type buffer = Cstruct.t and type ipv4addr = Ipaddr.V4.t

TCPv4 stack

module type CHANNEL = V1.CHANNEL with type 'a io = 'a Lwt.t and type 'a io_stream = 'a Lwt_stream.t and type buffer = Cstruct.t

Buffered TCPv4 channel

module type KV_RO = V1.KV_RO with type 'a io = 'a Lwt.t and type page_aligned_buffer = Cstruct.t

KV RO

module type CONSOLE = V1.CONSOLE with type 'a io = 'a Lwt.t

Consoles

module type BLOCK = V1.BLOCK with type 'a io = 'a Lwt.t and type page_aligned_buffer = Cstruct.t

Block devices

module type FS = V1.FS with type 'a io = 'a Lwt.t

FS

type socket_stack_config = Ipaddr.V4.t list
type direct_stack_config = [
  1. | `DHCP
  2. | `IPv4 of Ipaddr.V4.t * Ipaddr.V4.t * Ipaddr.V4.t list
]
type ('console, 'netif, 'mode) stackv4_config = {
  1. name : string;
  2. console : 'console;
  3. interface : 'netif;
  4. mode : 'mode;
}
module type STACKV4 = V1.STACKV4 with type 'a io = 'a Lwt.t and type ('a, 'b, 'c) config = ('a, 'b, 'c) stackv4_config and type ipv4addr = Ipaddr.V4.t and type buffer = Cstruct.t

Single network stack

OCaml

Innovation. Community. Security.