This library for OCaml contains functionnality to access datastructures using a determined byte-layouts such as networking datagrams or binay file formats (e.g.). A PPX syntax extension is provided to allow the definition of byte-layouts in the form of "cstruct" type definitions -- looking much alike the well-known structure declaration of the C programming language (hence the name of this library) --, and to generate accessor functions to manipule its members. In addition to those core features, the library contains accessory functions allowing: - The representation of "cstruct" as S-expression; - I/O operations over the Unix OCaml library and the Lwt cooperative threading library. The async integration is currently not provided by this port (patch welcome!).