package mirage-types
Single network stack
A complete TCP/IPv4 stack that can be used by applications to receive and transmit network traffic.
Abstract type of a network interface that is used to transmit and receive traffic associated with this stack.
Abstract type of the configuration modes associated with this interface. These can consist of the IPv4 address binding, or a DHCP interface.
type ('a, 'b, 'c) config = ('a, 'b, 'c) stackv4_config
Abstract type for the collection of user configuration specified to construct a stack.
type ipv4addr = Ipaddr.V4.t
Abstract type of an IPv4 address
type buffer = Cstruct.t
Abstract type for a memory buffer that may not be page aligned.
module UDPV4 :
V1.UDPV4
with type +'a io = 'a io
and type ipv4addr = ipv4addr
and type buffer = buffer
and type t = udpv4
A UDPv4 stack that can send and receive datagrams.
module TCPV4 :
V1.TCPV4
with type +'a io = 'a io
and type ipv4addr = ipv4addr
and type buffer = buffer
and type t = tcpv4
A TCPv4 stack that can send and receive reliable streams using the TCP protocol.
udpv4 t
obtains a descriptor for use with the UDPV4
module, usually to transmit traffic.
tcpv4 t
obtains a descriptor for use with the TCPV4
module, usually to initiate outgoing connections.
val listen_udpv4 : t -> port:int -> UDPV4.callback -> unit
listen_udpv4 t ~port cb
will register the cb
callback on the UDPv4 port
and immediately return. Multiple bindings to the same port will overwrite previous bindings, so callbacks will not chain if ports clash.
val listen_tcpv4 : t -> port:int -> TCPV4.callback -> unit
listen_tcpv4 t ~port cb
will register the cb
callback on the TCPv4 port
and immediately return. Multiple bindings to the same port will overwrite previous bindings, so callbacks will not chain if ports clash.