Legend:
Page
Library
Module
Module type
Parameter
Class
Class type
Source
Source file stack.ml
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156moduletypeV4=sigtypet(** The type representing the internal state of the IPv4 stack. *)valdisconnect:t->unitLwt.t(** Disconnect from the IPv4 stack. While this might take some time to
complete, it can never result in an error. *)moduleUDPV4:Udp.Swithtypeipaddr=Ipaddr.V4.tmoduleTCPV4:Tcp.Swithtypeipaddr=Ipaddr.V4.tmoduleIPV4:Ip.Swithtypeipaddr=Ipaddr.V4.tvaludpv4:t->UDPV4.t(** [udpv4 t] obtains a descriptor for use with the [UDPV4] module,
usually to transmit traffic. *)valtcpv4:t->TCPV4.t(** [tcpv4 t] obtains a descriptor for use with the [TCPV4] module,
usually to initiate outgoing connections. *)valipv4:t->IPV4.t(** [ipv4 t] obtains a descriptor for use with the [IPV4] module,
which can handle raw IPv4 frames, or manipulate IP address
configuration on the stack interface. *)vallisten_udpv4:t->port:int->UDPV4.callback->unit[@@ocaml.deprecated"use UDPV4.listen instead (since mirage-protocols 6.0.0)."](** [listen_udpv4 t ~port cb] registers the [cb] callback on the
UDPv4 [port] and immediately return. If [port] is invalid (not
between 0 and 65535 inclusive), it raises [Invalid_argument].
Multiple bindings to the same port will overwrite previous
bindings, so callbacks will not chain if ports clash. *)vallisten_tcpv4:?keepalive:Tcp.Keepalive.t->t->port:int->(TCPV4.flow->unitLwt.t)->unit[@@ocaml.deprecated"use TCPV4.listen instead (since mirage-protocols 6.0.0)."](** [listen_tcpv4 ~keepalive t ~port cb] registers the [cb] callback
on the TCPv4 [port] and immediately return. If [port] is invalid (not
between 0 and 65535 inclusive), it raises [Invalid_argument].
Multiple bindings to the same port will overwrite previous
bindings, so callbacks will not chain if ports clash.
If [~keepalive] is provided then these keepalive settings will be
applied to the accepted connections before the callback is called. *)vallisten:t->unitLwt.t(** [listen t] requests that the stack listen for traffic on the
network interface associated with the stack, and demultiplex
traffic to the appropriate callbacks. *)endmoduletypeV6=sigtypet(** The type representing the internal state of the IPv6 stack. *)valdisconnect:t->unitLwt.t(** Disconnect from the IPv6 stack. While this might take some time to
complete, it can never result in an error. *)moduleUDP:Udp.Swithtypeipaddr=Ipaddr.V6.tmoduleTCP:Tcp.Swithtypeipaddr=Ipaddr.V6.tmoduleIP:Ip.Swithtypeipaddr=Ipaddr.V6.tvaludp:t->UDP.t(** [udp t] obtains a descriptor for use with the [UDPV6] module,
usually to transmit traffic. *)valtcp:t->TCP.t(** [tcp t] obtains a descriptor for use with the [TCPV6] module,
usually to initiate outgoing connections. *)valip:t->IP.t(** [ip t] obtains a descriptor for use with the [IPV6] module,
which can handle raw IPv6 frames, or manipulate IP address
configuration on the stack interface. *)vallisten_udp:t->port:int->UDP.callback->unit[@@ocaml.deprecated"use UDP.listen instead (since mirage-protocols 6.0.0)."](** [listen_udp t ~port cb] registers the [cb] callback on the
UDPv6 [port] and immediately return. If [port] is invalid (not
between 0 and 65535 inclusive), it raises [Invalid_argument].
Multiple bindings to the same port will overwrite previous
bindings, so callbacks will not chain if ports clash. *)vallisten_tcp:?keepalive:Tcp.Keepalive.t->t->port:int->(TCP.flow->unitLwt.t)->unit[@@ocaml.deprecated"use TCP.listen instead (since mirage-protocols 6.0.0)."](** [listen_tcp ~keepalive t ~port cb] registers the [cb] callback
on the TCPv6 [port] and immediately return. If [port] is invalid (not
between 0 and 65535 inclusive), it raises [Invalid_argument].
Multiple bindings to the same port will overwrite previous
bindings, so callbacks will not chain if ports clash.
If [~keepalive] is provided then these keepalive settings will be
applied to the accepted connections before the callback is called. *)vallisten:t->unitLwt.t(** [listen t] requests that the stack listen for traffic on the
network interface associated with the stack, and demultiplex
traffic to the appropriate callbacks. *)endmoduletypeV4V6=sigtypet(** The type representing the internal state of the dual IPv4 and IPv6 stack. *)valdisconnect:t->unitLwt.t(** Disconnect from the dual IPv4 and IPv6 stack. While this might take some
time to complete, it can never result in an error. *)moduleUDP:Udp.Swithtypeipaddr=Ipaddr.tmoduleTCP:Tcp.Swithtypeipaddr=Ipaddr.tmoduleIP:Ip.Swithtypeipaddr=Ipaddr.tvaludp:t->UDP.t(** [udp t] obtains a descriptor for use with the [UDP] module,
usually to transmit traffic. *)valtcp:t->TCP.t(** [tcp t] obtains a descriptor for use with the [TCP] module,
usually to initiate outgoing connections. *)valip:t->IP.t(** [ip t] obtains a descriptor for use with the [IP] module,
which can handle raw IPv4 and IPv6 frames, or manipulate IP address
configuration on the stack interface. *)vallisten_udp:t->port:int->UDP.callback->unit[@@ocaml.deprecated"use UDP.listen instead (since mirage-protocols 6.0.0)."](** [listen_udp t ~port cb] registers the [cb] callback on the
UDP [port] and immediately return. If [port] is invalid (not
between 0 and 65535 inclusive), it raises [Invalid_argument].
Multiple bindings to the same port will overwrite previous
bindings, so callbacks will not chain if ports clash. *)vallisten_tcp:?keepalive:Tcp.Keepalive.t->t->port:int->(TCP.flow->unitLwt.t)->unit[@@ocaml.deprecated"use TCP.listen instead (since mirage-protocols 6.0.0)."](** [listen_tcp ~keepalive t ~port cb] registers the [cb] callback
on the TCP [port] and immediately return. If [port] is invalid (not
between 0 and 65535 inclusive), it raises [Invalid_argument].
Multiple bindings to the same port will overwrite previous
bindings, so callbacks will not chain if ports clash.
If [~keepalive] is provided then these keepalive settings will be
applied to the accepted connections before the callback is called. *)vallisten:t->unitLwt.t(** [listen t] requests that the stack listen for traffic on the
network interface associated with the stack, and demultiplex
traffic to the appropriate callbacks. *)end