Computer Laboratory

OCaml Labs


Author Anil Madhavapeddy
License ISC
Tags org:mirage and org:xapi-project
Dependencies ocamlfind & ocplib-endian & ounit
Optional dependencies async | lwt
Last update Mar 24, 2014

access C structures via a camlp4 extension

Cstruct is a library and syntax extension to make it easier to access C-like structures directly from OCaml. It supports both reading and writing to these structures, and they are accessed via the Bigarray module.

An example pcap description is:

cstruct pcap_header { uint32_t magic_number; (magic number) uint16_t version_major; (major version number) uint16_t version_minor; (minor version number) uint32_t thiszone; (GMT to local correction) uint32_t sigfigs; (accuracy of timestamps) uint32_t snaplen; (max length of captured packets, in octets) uint32_t network (data link type) } as little_endian