package ctypes

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

Install

Dune Dependency

Authors

Maintainers

Sources

0.13.1.tar.gz
md5=0e1b70d28b5b9adc8c4596d9f4dff5b9

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: 21 Nov 2017

Dependencies (5)

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

Dev Dependencies (4)

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

  1. ahrocksdb
  2. arakoon >= "1.8.6" & < "1.8.12"
  3. argon2
  4. async_ssl >= "113.33.07" & < "v0.13.0"
  5. avroc
  6. bitgenerators
  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. eris
  19. flock
  20. fsevents
  21. gdal >= "0.3.0"
  22. gobject-introspection
  23. hacl-star-raw < "0.4.0"
  24. hardcaml-llvmsim >= "0.3.0"
  25. hardcaml-vpi
  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
  35. lp-gurobi
  36. luv < "0.5.9"
  37. lz4 >= "1.1.1"
  38. mariadb
  39. memcpy >= "0.2.1"
  40. monocypher
  41. mpg123
  42. nanomsg
  43. nebula
  44. netlink >= "0.2.1"
  45. ocephes >= "0.8.2"
  46. opasswd >= "1.0.1"
  47. opencc < "transition"
  48. opencc0
  49. opencc1
  50. opencc1_1
  51. oplay
  52. orocksdb
  53. osbx < "1.1.1"
  54. osx-acl
  55. osx-attr >= "0.2.0"
  56. osx-cf >= "0.1.1"
  57. osx-fsevents >= "0.1.1"
  58. osx-membership
  59. osx-mount >= "0.1.1"
  60. osx-secure-transport
  61. osx-xattr >= "0.3.0"
  62. owl < "0.9.0"
  63. pari
  64. pari-bindings
  65. pci
  66. pkcs11 < "0.9.0"
  67. pkcs11-driver
  68. portaudio_c_bindings
  69. portmidi
  70. posix-base
  71. posix-bindings
  72. posix-getopt
  73. posix-signal
  74. posix-socket
  75. posix-socket-unix
  76. posix-time2
  77. posix-types
  78. posix-uname
  79. ppx_cstubs
  80. protocol-9p < "0.5.1"
  81. py
  82. qcstm >= "0.1.1"
  83. quickjs
  84. raylib < "0.3.1"
  85. reed-solomon-erasure
  86. sanlock
  87. sarek >= "20210823"
  88. sattools
  89. sodium >= "0.2.0" & < "0.3.0" | >= "0.6.0"
  90. spin >= "0.8.0"
  91. spoc >= "20170724"
  92. srt
  93. sys-socket
  94. sys-socket-unix
  95. tensorflow
  96. tgls >= "0.8.3"
  97. torch < "v0.16.0"
  98. tsdl >= "0.8.1" & < "0.9.7"
  99. tsdl-image
  100. tsdl-mixer
  101. tsdl-ttf
  102. unix-errno >= "0.4.1"
  103. unix-fcntl >= "0.3.3"
  104. unix-sys-resource
  105. unix-sys-stat
  106. unix-time
  107. unix-type-representations
  108. wasmer
  109. wasmtime
  110. xxhash
  111. yaml < "2.1.0"
  112. yara
  113. yices2_bindings
  114. zstandard < "v0.13.0"
  115. zstd >= "0.2"