cstructversion
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
Tags | org:mirage org:xapi-project |
---|---|
Author | Anil Madhavapeddy |
License | ISC |
Published | |
Homepage | https://github.com/mirage/ocaml-cstruct |
Issue Tracker | https://github.com/mirage/ocaml-cstruct/issues |
Maintainer | anil@recoil.org |
Dependencies |
|
Optional dependencies | |
Source [http] | https://github.com/mirage/ocaml-cstruct/archive/v1.5.0.tar.gz sha256=1eccafe34f122e7170cf29937f88c01477bf766650d6215876ed9b4470b835dc md5=8df82b75c8df6f730dca5687d12f6d0f |
Edit | https://github.com/ocaml/opam-repository/tree/master/packages/cstruct/cstruct.1.5.0/opam |
Required by
- albatross<1.3.0
- angstrom<0.7.0
- asn1-combinators<0.2.0-1
- balancer
- buffer-poolwith-test
- capnp-rpc-net>=1.1 & <1.2.1
- channel
- charrua-client<0.9
- charrua-core<0.3
- charrua-unix<0.3 | =0.6
- cohttp>=0.9.7 & <0.10.0
- conduit>=0.6.0 & <0.15.2
- conduit-async=3.0.0
- conduit-lwt=3.0.0
- cowabloga>=0.0.5
- crc
- crunchwith-test & >=2.0.0 & <3.0.0
- cstruct-lwt<3.0.0
- cstruct-unix<3.0.0
- datakit-ci>=0.10.0 & <0.12.4
- datakit-client<0.9.0
- datakit-server<0.9.0
- depyt<0.3.0
- dns>=0.8.0 & <0.18.0
- dream<1.0.0~alpha2
- duff<0.3
- eqaf>=0.8 & <0.10
- eqaf-cstruct
- fat-filesystem<0.11.0
- frenetic<2.0.0 | >=3.2.0 & <5.0.5
- git>=1.4.3 & <1.6.0 | >=2.0.0 & <3.0.0
- git-http<1.11.0
- git-mirage=1.11.0
- github-hooks>=0.2.0
- gluten-mirage<0.3.0
- gpt
- h2-mirage
- hacl-starwith-test & >=0.7.0
- hex=0.2.0
- httpun-mirage
- httpun-ws-mirage
- hvsock<1.0.0
- io-page<2.0.0
- io-page-unix<2.0.0
- io-page-xen<2.0.0
- ipaddr-cstruct<5.2.0
- irmin>=0.9.0 & <0.10.0
- irmin-git>=2.3.0
- iso-filesystem
- launchd
- letsencrypt=0.2.5
- letsencrypt-app<0.4.0
- macaddr-cstruct<5.2.0
- mbr-format<1.0.0
- metrics-mirage
- mirage>=0.7.2 & <0.9.1 | >=0.10.0 & <2.4.0
- mirage-block<1.0.0
- mirage-block-ccm<1.1.0
- mirage-block-ramdisk
- mirage-block-solo5<0.6.2
- mirage-block-unix<2.8.3
- mirage-block-xen<1.4.0
- mirage-channel-lwt
- mirage-clock-unix<1.0.0
- mirage-clock-xen<1.0.0
- mirage-conduit=2.3.1
- mirage-console-solo5>=0.2.0
- mirage-console-unix<2.3.2
- mirage-console-xen=4.0.0
- mirage-console-xen-backend>=2.3.2 & <2.3.4 | =4.0.0
- mirage-console-xen-cli
- mirage-dns<2.6.0
- mirage-entropy<0.5.0
- mirage-entropy-unix
- mirage-entropy-xen
- mirage-flow<1.2.0
- mirage-flow-rawlink>=1.1.0
- mirage-fs>=0.4.0 & <1.0.0
- mirage-fs-mem
- mirage-fs-unix<1.4.1
- mirage-kv-lwt>=2.0.0
- mirage-nat<2.2.4
- mirage-net=0.5.2
- mirage-net-lwt
- mirage-net-macosx
- mirage-net-solo5
- mirage-net-unix<2.3.0
- mirage-net-xen<1.5.0
- mirage-profile<0.7.0
- mirage-qubes<0.3
- mirage-solo5<0.9.4
- mirage-tc
- mirage-tcpip-unix
- mirage-tcpip-xen
- mirage-types-lwt<3.4.0
- mirage-unix<3.0.8
- mirage-vnetif<0.4.0
- mirage-www<0.4.0 | >=1.1.0
- mirage-xen
- monorobot
- mrt-format
- mstruct<1.3.4
- nbd>=0.9.2 & <2.1.0
- nocrypto<0.5.0
- noise
- openflow
- otr<0.2.0
- ox<1.1.1
- packet
- pbkdf=1.1.0
- pcap-format=0.3.3
- pcf-format
- ppx_cstruct<3.0.1
- protocol-9p<0.5.1
- protocol-9p-tool=0.12.0 | >=2.0.0 & <2.0.2
- qcow<0.11.0
- qcow-format
- qcow-tool
- rawlink<0.4
- resp-mirage=0.10.0
- sendmail>=0.4.1 & <0.5.0
- shared-block-ring<2.3.0
- shared-memory-ring<1.2.0
- slack
- ssh-agent
- tar-format>=0.2.0 & <0.5.0
- tcpip<2.7.0
- tftp
- tls<0.6.0
- u2f=0.1.1
- vchan<2.1.0
- vhd-format<0.8.0
- vhd-format-lwt
- vhd-tool
- vmnet<1.1.0
- websocket=2.2
- x509<0.5.0
- xapi-rrd-transport
- xe
- xe-unikernel-upload
- xen-api-client>=0.9.6
- xen-block-driver>=0.2.5
- xen-gnt
- xenstore>=1.2.0 & <1.3.0
- xentropyd
Optionally used by
- eqaf>=0.6 & <0.8
- frenetic>=2.0.0 & <3.2.0
- logs-syslog
- mirage-types>=1.1.0 & <3.0.0
- stog>=0.13.0 & <0.15.0