package cstruct

  1. Overview
  2. Docs
access C structures via a camlp4 extension

Install

Dune Dependency

Authors

Maintainers

Sources

v0.8.0.tar.gz
md5=c8b57db67fb69ddef2cebbf443353ece

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

Tags

org:mirage org:xapi-project

Published: 21 Nov 2013

Dependencies (5)

  1. ocamlbuild build & != "0.9.0"
  2. camlp4
  3. ocplib-endian
  4. ocamlfind
  5. ocaml < "4.06.0"

Dev Dependencies

None

  1. albatross < "1.3.0"
  2. angstrom < "0.7.0"
  3. asn1-combinators = "0.2.0"
  4. balancer
  5. buffer-pool
  6. capnp-rpc-net >= "1.1" & < "1.2.1"
  7. channel
  8. charrua-client < "0.9"
  9. charrua-core < "0.3"
  10. charrua-unix < "0.3" | = "0.6"
  11. cohttp >= "0.9.7" & < "0.9.13"
  12. conduit-async = "3.0.0"
  13. conduit-lwt = "3.0.0"
  14. crunch >= "2.0.0" & < "3.0.0"
  15. cstruct-lwt < "3.0.0"
  16. cstruct-unix < "3.0.0"
  17. datakit-ci >= "0.10.0" & < "0.12.4"
  18. datakit-client < "0.9.0"
  19. datakit-server < "0.9.0"
  20. depyt < "0.3.0"
  21. dns >= "0.6.0" & < "0.8.0"
  22. dream < "1.0.0~alpha2"
  23. duff < "0.3"
  24. frenetic < "2.0.0"
  25. git >= "1.4.3" & < "1.6.0" | >= "2.0.0" & < "3.0.0"
  26. git-http < "1.11.0"
  27. git-mirage = "1.11.0"
  28. github-hooks >= "0.2.0"
  29. gluten-mirage < "0.3.0"
  30. gpt
  31. h2-mirage
  32. hacl-star >= "0.7.0"
  33. hvsock < "1.0.0"
  34. ipaddr-cstruct < "5.2.0"
  35. irmin = "0.9.0"
  36. irmin-git >= "2.3.0"
  37. launchd < "1.3"
  38. letsencrypt = "0.2.5"
  39. letsencrypt-app < "0.4.0"
  40. macaddr-cstruct < "5.2.0"
  41. metrics-mirage
  42. mirage >= "0.7.2" & < "0.9.1"
  43. mirage-block < "1.0.0"
  44. mirage-block-ramdisk
  45. mirage-channel-lwt
  46. mirage-clock-unix < "1.0.0"
  47. mirage-clock-xen < "1.0.0"
  48. mirage-console-solo5 >= "0.2.0"
  49. mirage-console-unix < "2.3.2"
  50. mirage-console-xen = "4.0.0"
  51. mirage-console-xen-backend >= "2.3.2" & < "2.3.4" | = "4.0.0"
  52. mirage-console-xen-cli
  53. mirage-entropy < "0.5.0"
  54. mirage-flow < "1.2.0"
  55. mirage-flow-rawlink >= "1.1.0"
  56. mirage-fs >= "0.4.0" & < "1.0.0"
  57. mirage-fs-mem
  58. mirage-kv-lwt >= "2.0.0"
  59. mirage-nat < "2.2.4"
  60. mirage-net = "0.5.2"
  61. mirage-net-lwt
  62. mirage-profile < "0.7.0"
  63. mirage-qubes < "0.3"
  64. mirage-tc
  65. mirage-unix < "0.9.8"
  66. mirage-vnetif < "0.4.0"
  67. mirage-www < "0.4.0"
  68. mirage-xen < "0.9.8"
  69. monorobot
  70. nbd = "0.9.2"
  71. noise
  72. openflow < "0.3.0"
  73. ox < "1.1.0"
  74. packet < "0.2.1"
  75. pbkdf = "1.1.0"
  76. pcap-format = "0.3.3"
  77. pcf-format
  78. ppx_cstruct < "3.0.1"
  79. protocol-9p < "0.5.1"
  80. protocol-9p-tool = "0.12.0" | >= "2.0.0" & < "2.0.2"
  81. qcow < "0.11.0"
  82. qcow-format
  83. qcow-tool
  84. resp-mirage = "0.10.0"
  85. sendmail >= "0.4.1" & < "0.5.0"
  86. shared-block-ring < "2.3.0"
  87. shared-memory-ring < "1.2.0"
  88. slack
  89. ssh-agent
  90. tar-format >= "0.2.0" & < "0.5.0"
  91. tuntap = "0.5"
  92. u2f = "0.1.1"
  93. vchan < "0.9.6"
  94. vhd-format < "0.7.0"
  95. vhd-format-lwt
  96. vhd-tool < "0.7.1"
  97. websocket = "2.2"
  98. xapi-rrd-transport
  99. xe
  100. xen-block-driver >= "0.2.5"
  101. xenstore >= "1.2.0" & < "1.3.0"
  102. xentropyd

Conflicts (1)

  1. async >= "v0.10.0"