package ctypes

  1. Overview
  2. Docs
Combinators for binding to C libraries without writing any C

Install

Dune Dependency

Authors

Maintainers

Sources

0.11.5.tar.gz
sha256=ee0f9a61cdc9bd3de7dc6f605d556533536e27694f5e2ea9bf25f76f74f68f98
md5=20aa5fe2bc8c4c507593dd25edf1e02d

Description

ctypes is a library for binding to C libraries using pure OCaml. The primary aim is to make writing C extensions as straightforward as possible.

The core of ctypes is a set of combinators for describing the structure of C types -- numeric types, arrays, pointers, structs, unions and functions. You can use these combinators to describe the types of the functions that you want to call, then bind directly to those functions -- all without writing or generating any C!

To install the optional ctypes.foreign interface (which uses libffi to provide dynamic access to foreign libraries), you will need to also install the ctypes-foreign optional dependency:

opam install ctypes ctypes-foreign

This will make the ctypes.foreign ocamlfind subpackage available.

Published: 10 Jul 2017

Dependencies (4)

  1. conf-pkg-config build
  2. ocamlfind build
  3. base-bytes
  4. ocaml >= "4.01.0" & < "5.2"

Dev Dependencies (3)

  1. ctypes-foreign with-test
  2. ounit with-test
  3. lwt with-test & >= "2.4.7" & < "4.0.0"

  1. arakoon >= "1.8.6" & < "1.8.12"
  2. argon2
  3. async_ssl >= "113.33.07" & < "v0.13.0"
  4. avroc
  5. bitgenerators
  6. ceph
  7. cf < "0.5.0"
  8. checked_oint
  9. cmark
  10. cmarker
  11. ctypes-build
  12. ctypes-foreign = "0.18.0"
  13. ctypes-zarith
  14. ctypes_stubs_js
  15. directories < "0.2"
  16. dlm
  17. eigen < "0.0.5"
  18. flock
  19. fsevents
  20. gdal >= "0.3.0"
  21. gobject-introspection
  22. hacl-star-raw < "0.4.0"
  23. hardcaml-llvmsim >= "0.3.0"
  24. hardcaml-vpi
  25. imguiml
  26. iocaml >= "0.4.3"
  27. iocaml-kernel >= "0.4.4"
  28. kqueue < "0.2.0"
  29. libdash < "0.3"
  30. libudev
  31. lilv
  32. llvm >= "3.7"
  33. lmdb < "1.0"
  34. lp-glpk < "0.4.0"
  35. lp-gurobi
  36. lz4 >= "1.1.1"
  37. mariadb
  38. memcpy < "0.2.1"
  39. mpg123 < "0.2"
  40. nanomsg
  41. nebula
  42. netlink >= "0.2.1"
  43. ocephes >= "0.8.2"
  44. opasswd >= "1.0.1"
  45. opencc < "transition"
  46. opencc0
  47. opencc1
  48. opencc1_1
  49. oplay
  50. orocksdb
  51. osbx < "1.1.1"
  52. osx-acl
  53. osx-attr >= "0.2.0"
  54. osx-cf >= "0.1.1"
  55. osx-fsevents >= "0.1.1"
  56. osx-membership
  57. osx-mount >= "0.1.1"
  58. osx-secure-transport
  59. osx-xattr >= "0.3.0"
  60. owl < "0.9.0"
  61. pci
  62. pkcs11 < "0.9.0"
  63. pkcs11-driver
  64. portaudio_c_bindings
  65. posix-bindings
  66. posix-getopt
  67. posix-signal
  68. posix-socket
  69. posix-socket-unix
  70. posix-time2
  71. posix-types
  72. posix-uname
  73. protocol-9p < "0.5.1"
  74. qcstm >= "0.1.1"
  75. quickjs
  76. raylib < "0.3.1"
  77. reed-solomon-erasure
  78. sanlock
  79. sarek >= "20210823"
  80. sattools
  81. sodium >= "0.2.0" & < "0.3.0" | >= "0.6.0"
  82. spin >= "0.8.0"
  83. spoc >= "20170724"
  84. srt
  85. sys-socket
  86. sys-socket-unix
  87. tensorflow
  88. tgls >= "0.8.3"
  89. torch < "v0.16.0"
  90. tsdl >= "0.8.1" & < "0.9.7"
  91. tsdl-image
  92. tsdl-mixer
  93. tsdl-ttf
  94. unix-errno >= "0.4.1" & < "0.6.0"
  95. unix-fcntl >= "0.3.3"
  96. unix-sys-resource
  97. unix-sys-stat
  98. unix-time
  99. unix-type-representations
  100. uring-trace
  101. wasmer
  102. wasmtime
  103. xxhash
  104. zstandard < "v0.13.0"
  105. zstd >= "0.2" & < "0.4"
OCaml

Innovation. Community. Security.