tcpip

OCaml TCP/IP networking stack, used in MirageOS
Library tcpip_stack_socket
Module Ipv4_socket
type id = string
type t = Ipaddr.V4.t option
type +'a io = 'a Lwt.t
type ipaddr = Ipaddr.V4.t
type buffer = Cstruct.t
type callback = src:ipaddr -> dst:ipaddr -> buffer -> unit io
type uipaddr = Ipaddr.t
val to_uipaddr : 'a -> ( 'a, 'b ) Ipaddr.v4v6
val of_uipaddr : Ipaddr.t -> Ipaddr.V4.t option
val mtu : 'a -> int
val id : 'a -> unit
val disconnect : 'a -> unit Lwt.t
val connect : 'a -> unit Lwt.t
val input_arpv4 : 'a -> 'b -> 'c Lwt.t
val input : 'a -> tcp:'b -> udp:'c -> default:'d -> 'e -> unit Lwt.t
val allocate_frame : 'a -> dst:'b -> proto:'c -> 'd
val write : 'a -> 'b -> 'c -> 'd Lwt.t
val writev : 'a -> 'b -> 'c -> 'd Lwt.t
val get_ip : 'a -> Ipaddr.V4.t list
val set_ip : 'a -> 'b -> 'c Lwt.t
val get_ip_netmasks : 'a -> Ipaddr.V4.t list
val get_ip_gateways : 'a -> 'b
val set_ip_netmask : 'a -> 'b -> 'c Lwt.t
val set_ip_gateways : 'a -> 'b -> 'c Lwt.t
val src : 'a -> dst:'b -> 'c
val checksum : 'a -> 'b -> 'c
val pseudoheader : 'a -> dst:'b -> proto:'c -> 'd -> 'e