package cstruct
- Overview
- No Docs
You can search for identifiers within the package.
in-package search v0.2.0
access C structures via a camlp4 extension
Install
Dune Dependency
Authors
Maintainers
Sources
v1.7.1.tar.gz
sha256=7869d096fe7c6231bbceefe3b2205417b28b6c10f4174b7e2cfdfa46956eaaa5
md5=45cc951528ab9b5c6680a27a4f93d7fe
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 (7)
- conf-time
-
ocamlbuild
build & != "0.9.0"
-
sexplib
< "113.01.00"
- ocplib-endian
-
type_conv
build
-
ocamlfind
build
-
ocaml
>= "4.01.0"
Dev Dependencies (1)
-
ounit
with-test
-
albatross
< "1.3.0"
-
angstrom
< "0.7.0"
-
arakoon
>= "1.8.6" & < "1.8.12"
-
asn1-combinators
>= "0.1.2" & != "0.2.0-1" & < "0.2.6"
- 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"
-
conex
< "0.10.0"
- conex-mirage-crypto
- conex-nocrypto
-
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.15.0" & < "0.18.0"
-
dream
< "1.0.0~alpha2"
-
duff
< "0.3"
-
eqaf
>= "0.8" & < "0.10"
- eqaf-cstruct
-
fat-filesystem
>= "0.10.0" & < "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"
-
hex
>= "0.2.0"
-
hkdf
< "1.0.3"
- 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" & < "2.0.0"
-
irmin-git
>= "2.3.0"
-
irmin-indexeddb
>= "0.3"
- iso-filesystem
-
key-parsers
>= "0.5.0" & < "1.2.1"
- 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-fd
< "0.2.1"
- mirage-net-lwt
- mirage-net-macosx
- mirage-net-solo5
-
mirage-net-unix
!= "2.4.1"
-
mirage-net-xen
< "1.6.0"
-
mirage-profile
< "0.7.0"
-
mirage-qubes
< "0.3"
- mirage-solo5
- 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
< "2.0.0" | >= "2.3.2"
- monorobot
- mrt-format
-
mstruct
< "1.3.4"
-
nbd
>= "0.9.2" & < "2.1.0"
-
nocrypto
< "0.5.4"
- noise
- openflow
-
otr
< "0.3.1"
-
ox
< "1.1.1"
- packet
-
pbkdf
< "0.3.0" | = "1.1.0"
-
pcap-format
= "0.3.3"
- pcf-format
-
ppx_cstruct
< "3.0.1"
-
protocol-9p
< "0.6.0"
-
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"
-
rfc6287
>= "1.0.2" & < "1.0.4"
-
salsa20
< "1.1.0"
-
salsa20-core
< "1.0.0"
-
scrypt-kdf
< "1.1.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.7.1"
-
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.6.3"
- 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
Conflicts
None
sectionYPositions = computeSectionYPositions($el), 10)"
x-init="setTimeout(() => sectionYPositions = computeSectionYPositions($el), 10)"
>
On This Page