package ctypes

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

Install

Dune Dependency

Authors

Maintainers

Sources

0.14.0.tar.gz
md5=57875f5e5986ca6004c356d77a3b31b5

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: 17 Apr 2018

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. bimage-unix
  7. binaryen_dsl
  8. bitgenerators
  9. cf
  10. checked_oint
  11. cmark
  12. cmarker
  13. ctypes-build
  14. ctypes-foreign = "0.18.0"
  15. ctypes-zarith
  16. ctypes_stubs_js
  17. directories < "0.2"
  18. dlm
  19. eigen
  20. eris
  21. flock
  22. fsevents
  23. gccjit
  24. gdal >= "0.3.0"
  25. gobject-introspection
  26. hacl-star-raw < "0.4.0"
  27. hardcaml-llvmsim >= "0.3.0"
  28. hardcaml-vpi
  29. iocaml >= "0.4.3"
  30. iocaml-kernel >= "0.4.4"
  31. kqueue < "0.2.0"
  32. libdash < "0.3"
  33. libudev
  34. lilv
  35. llvm >= "3.7"
  36. lmdb < "1.0"
  37. lp-glpk
  38. lp-gurobi
  39. luv
  40. luv_unix
  41. lz4 >= "1.1.1"
  42. mariadb
  43. memcpy >= "0.2.1"
  44. mmdb
  45. monocypher
  46. mpg123
  47. nanomsg
  48. nebula
  49. netlink >= "0.2.1"
  50. ocephes >= "0.8.2"
  51. opasswd >= "1.0.1"
  52. opencc < "transition"
  53. opencc0
  54. opencc1
  55. opencc1_1
  56. oplay
  57. orocksdb
  58. osbx < "1.1.1"
  59. osx-acl
  60. osx-attr >= "0.2.0"
  61. osx-cf >= "0.1.1"
  62. osx-fsevents >= "0.1.1"
  63. osx-membership
  64. osx-mount >= "0.1.1"
  65. osx-secure-transport
  66. osx-xattr >= "0.3.0"
  67. owl < "0.9.0"
  68. pari
  69. pari-bindings
  70. pci
  71. pg_query
  72. pkcs11 < "0.9.0"
  73. pkcs11-driver
  74. pkcs11-rev
  75. portaudio_c_bindings
  76. portmidi
  77. posix-base
  78. posix-bindings
  79. posix-getopt
  80. posix-signal
  81. posix-socket
  82. posix-socket-unix
  83. posix-time2
  84. posix-types
  85. posix-uname
  86. ppx_cstubs
  87. protocol-9p < "0.5.1"
  88. py
  89. qcstm >= "0.1.1"
  90. quickjs
  91. raygui
  92. raylib
  93. reed-solomon-erasure
  94. sanlock
  95. sarek >= "20210823"
  96. sattools
  97. sodium >= "0.2.0" & < "0.3.0" | >= "0.6.0"
  98. spin >= "0.8.0"
  99. spoc >= "20170724"
  100. srt
  101. sys-socket
  102. sys-socket-unix
  103. tensorflow
  104. tgls >= "0.8.3"
  105. torch < "v0.16.0"
  106. tsdl >= "0.8.1"
  107. tsdl-image
  108. tsdl-mixer
  109. tsdl-ttf
  110. unix-errno >= "0.4.1"
  111. unix-fcntl >= "0.3.3"
  112. unix-sys-resource
  113. unix-sys-stat
  114. unix-time
  115. unix-type-representations
  116. wasmer
  117. wasmtime
  118. xxhash
  119. yaml
  120. yara
  121. yices2_bindings
  122. zstandard < "v0.14.0"
  123. zstd >= "0.2"