package tcpip

  1. Overview
  2. Docs
Legend:
Page
Library
Module
Module type
Parameter
Class
Class type
Source

Module Icmpv4_socketSource

include Icmpv4.S
Sourcetype t

The type representing the internal state of the ICMP layer.

Sourceval disconnect : t -> unit Lwt.t

Disconnect from the ICMP layer. While this might take some time to complete, it can never result in an error.

Sourcetype ipaddr = Ipaddr.V4.t

The type for IP addresses.

Sourcetype error

The type for ICMP errors.

Sourceval pp_error : error Fmt.t

pp_error is the pretty-printer for errors.

Sourceval input : t -> src:ipaddr -> dst:ipaddr -> Cstruct.t -> unit Lwt.t

input t src dst buffer reacts to the ICMP message in buffer.

Sourceval write : t -> ?src:ipaddr -> dst:ipaddr -> ?ttl:int -> Cstruct.t -> (unit, error) result Lwt.t

write t ~src ~dst ~ttl buffer sends the ICMP message in buffer to dst over IP. Passes the time-to-live (ttl) to the IP stack if given.

Sourceval connect : unit -> t Lwt.t
Sourceval listen : t -> ipaddr -> (Cstruct.t -> unit Lwt.t) -> unit Lwt.t

listen t addr fn attempts to create an unprivileged listener on IP address addr.

When a packet is received, the callback fn will be called in a fresh background thread. The callback will be provided a buffer containing an IP datagram with an ICMP payload inside.

The thread returned by listen blocks until the stack is disconnected.

OCaml

Innovation. Community. Security.