package mirage-types

  1. Overview
  2. Docs
module type TIME = V1.TIME with type 'a io = 'a Lwt.t
module type FLOW = V1.FLOW with type 'a io = 'a Lwt.t and type buffer = Cstruct.t
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

Ethernet interface

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

ARP interface

module type IP = V1.IP with type 'a io = 'a Lwt.t and type buffer = Cstruct.t and type uipaddr = Ipaddr.t

IP stack

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

IPv4 stack

module type IPV6 = V1.IPV6 with type 'a io = 'a Lwt.t and type buffer = Cstruct.t and type ipaddr = Ipaddr.V6.t and type prefix = Ipaddr.V6.Prefix.t and type uipaddr = Ipaddr.t

IPv6 stack

module type ICMP = V1.ICMP with type 'a io = 'a Lwt.t and type buffer = Cstruct.t

ICMP module

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

ICMPV4 module

module type UDP = V1.UDP with type 'a io = 'a Lwt.t and type buffer = Cstruct.t

UDP stack

module type UDPV4 = UDP with type ipaddr = Ipaddr.V4.t

UDP stack over IPv4

module type UDPV6 = UDP with type ipaddr = Ipaddr.V6.t

UDP stack over IPv6

module type TCP = V1.TCP with type 'a io = 'a Lwt.t and type buffer = Cstruct.t

TCP stack

module type TCPV4 = TCP with type ipaddr = Ipaddr.V4.t

TCP stack over IPv4

module type TCPV6 = TCP with type ipaddr = Ipaddr.V6.t

TCP stack over IPv6

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 TCP 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 and type buffer = Cstruct.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 and type page_aligned_buffer = Cstruct.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.