package cstruct
access C structures via a camlp4 extension
Install
Dune Dependency
Authors
Maintainers
Sources
v1.2.0.tar.gz
sha256=6db84991e09805c6cfc95afd9e830e6557845937f240e17ed4c7b0c8fbd7f0e4
md5=443aa8d02ab45c14e708e23951b8cd65
Description
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
Dependencies (6)
-
ocamlbuild
build & != "0.9.0"
- camlp4
- ounit
- ocplib-endian
- ocamlfind
-
ocaml
< "4.06.0"
Dev Dependencies
None
-
albatross
< "1.3.0"
-
angstrom
< "0.7.0"
-
asn1-combinators
< "0.2.0-1"
- balancer
- buffer-pool
-
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
-
crunch
>= "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-star
>= "0.7.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.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"
-
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-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.1.3"
-
mirage-kv-lwt
>= "2.0.0"
-
mirage-nat
< "2.2.4"
-
mirage-net
= "0.5.2"
- 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
< "3.0.8"
-
mirage-vnetif
< "0.4.0"
-
mirage-www
< "0.4.0" | >= "1.1.0"
- mirage-xen
- monorobot
- mrt-format
-
mstruct
< "1.3.1"
-
nbd
>= "0.9.2" & < "2.1.0"
-
nocrypto
< "0.3.1"
- 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
-
websocket
= "2.2"
-
x509
< "0.5.0"
- 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
Conflicts (1)
-
async
>= "v0.10.0"
sectionYPositions = computeSectionYPositions($el), 10)"
x-init="setTimeout(() => sectionYPositions = computeSectionYPositions($el), 10)"
>
On This Page