cstruct

AuthorAnil Madhavapeddy
LicenseISC
Homepagehttps://github.com/mirage/ocaml-cstruct
Tagsorg:mirage and org:xapi-project
Maintaineranil@recoil.org
Dependencies
&camlp4
ocamlbuild
ocamlfind
ocplib-endian
ounit
Optional dependencies
|async
lwt
Availableocaml-version < "4.06.0"
PublishedFeb 20, 2014
Source [http] https://github.com/mirage/ocaml-cstruct/archive/v1.1.0.tar.gz
e77077ad9a7aaa8fa7b8e492058fc4fc
StatisticsNot installed in the last month.
Edithttps://github.com/ocaml/opam-repository/tree/master/packages/cstruct/cstruct.1.1.0/opam

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

Necessary for
angstrom
0.7.0
asn1-combinators
>= 0.2.0
channel
charrua-client
0.9
charrua-core
0.3
charrua-unix
|0.3
&>= 0.6
0.9
cohttp
&>= 0.9.7
0.10.0
conduit
&>= 0.6.0
0.15.2
cowabloga
>= 0.0.5
crc
crunch
>= 2.0.0
cstruct-lwt
|3.0.0
>= 3.2.0
cstruct-unix
|3.0.0
>= 3.2.0
datakit-client
0.9.0
datakit-server
0.9.0
decompress
&>= 0.3
0.4
depyt
dns
&>= 0.8.0
0.18.0
fat-filesystem
0.11.0
frenetic
|2.0.0
>= 3.2.0
github-hooks
>= 0.2.0
hvsock
1.0.0
io-page
2.0.0
io-page-unix
2.0.0
io-page-xen
2.0.0
irmin
&>= 0.9.0
0.10.0
iso-filesystem
launchd
mbr-format
mirage
|&>= 0.7.2
0.9.1
&>= 0.10.0
2.4.0
mirage-block
1.0.0
mirage-block-ccm
mirage-block-ramdisk
mirage-block-solo5
mirage-block-unix
2.3.0
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
3.0.0
mirage-console-solo5
>= 0.2.0
mirage-console-unix
2.3.2
mirage-console-xen-cli
mirage-dns
2.6.0
mirage-entropy
mirage-flow
1.2.0
mirage-fs
&>= 0.4.0
1.0.0
mirage-fs-unix
1.1.3
mirage-nat
mirage-net
&>= 0.5.2
0.9.1
mirage-net-lwt
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
mirage-tc
mirage-tcpip-unix
mirage-tcpip-xen
mirage-unix
mirage-vnetif
0.4.0
mirage-www
|0.4.0
>= 1.1.0
mirage-xen
mrt-format
mstruct
1.3.1
nbd
&>= 0.9.2
2.1.0
openflow
ox
1.1.1
packet
pcap-format
&>= 0.3.3
0.4.0
pcf-format
ppx_cstruct
|3.0.1
>= 3.2.0
protocol-9p
0.5.1
qcow
qcow-format
qcow-tool
rawlink
0.4
shared-block-ring
2.3.0
shared-memory-ring
1.2.0
tar-format
&>= 0.2.0
0.5.0
tcpip
2.7.0
tftp
vchan
2.1.0
vhd-format
0.8.0
vhd-tool
xapi-rrd-transport
xe
xen-api-client
>= 0.9.6
xen-block-driver
>= 0.2.5
xen-gnt
xenstore
&>= 1.2.0
1.3.0
xentropyd
Optional for
frenetic
&>= 2.0.0
3.2.0
logs-syslog
mirage-types
&>= 1.1.0
3.0.0
stog
&>= 0.13.0
0.15.0