opam-version: "2.0" maintainer: "Robur " authors: ["Robur "] homepage: "https://github.com/robur-coop/utcp" dev-repo: "git+https://github.com/robur-coop/utcp.git" bug-reports: "https://github.com/robur-coop/utcp/issues" depends: [ "ocaml" {>= "4.08.0"} "dune" {>= "2.7.0"} "cstruct" {>= "6.0.1"} "duration" {>= "0.2.0"} "fmt" {>= "0.8.7"} "ipaddr" {>= "5.2.0"} "ipaddr-cstruct" {>= "5.2.0"} "logs" {>= "0.7.0"} "randomconv" {>= "0.1.3" & < "0.2.0"} "mtime" {>= "1.3.0"} "metrics" {>= "0.4.1"} "base64" {>= "3.5.1"} #only used for tracing #for mirage sublibrary "lwt" {>= "5.4.2"} "mirage-random" {>= "2.0.0"} "mirage-time" {>= "2.0.1"} "mirage-clock" {>= "3.1.0"} "tcpip" {>= "7.0.0"} #for apps "cmdliner" {>= "1.1.0" & dev} "mirage-net-unix" {>= "2.8.0" & dev} "ethernet" {>= "2.2.1" & dev} "arp" {>= "2.3.0" & dev} "mirage-random-test" {dev} "mirage-unix" {>= "5.0.0" & dev} "mirage-clock-unix" {>= "3.1.0" & dev} "pcap-format" {>= "0.6.0" & dev} "alcotest" {>= "1.5.0" & with-test} "crowbar" {>= "0.2.1" & with-test} ] build: [ ["dune" "subst"] {dev} ["dune" "build" "-p" name "-j" jobs] ["dune" "runtest" "-p" name "-j" jobs] {with-test} ] synopsis: "An implementation of TCP (Transmission Control Protocol) in OCaml" description: """ µTCP is an implementation of the Transmission Control Protocol (RFC 793) in OCaml. TCP is widely used on the Internet today. This implementation is based on the research project Network Semantics (https://www.cl.cam.ac.uk/~pes20/Netsem/) which developed a rigorous test oracle specification and validation for TCP/IP and the Sockets API (also see the JACM paper http://www.cl.cam.ac.uk/~pes20/Netsem/paper3.pdf) in HOL4. The implementation does not adhere to the specification, since some features of TCP that are rarely used are not implemented (such as the urgent flag and urgent pointers). The target of this opam package is the MirageOS (https://mirageos.org) unikernel operating system. """ url { src: "git+https://github.com/robur-coop/utcp.git" }