package ctypes

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

Install

Dune Dependency

Authors

Maintainers

Sources

0.12.1.tar.gz
md5=4dd798e84b93cd97fbd605d023a0a707

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 (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 >= "0.2.2"
  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. 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. iocaml >= "0.4.3"
  26. iocaml-kernel >= "0.4.4"
  27. kqueue < "0.2.0"
  28. libdash < "0.3"
  29. libudev
  30. lilv
  31. llvm >= "3.7"
  32. lmdb < "1.0"
  33. lp-glpk < "0.4.0"
  34. lp-gurobi
  35. lz4 >= "1.1.1"
  36. mariadb
  37. memcpy >= "0.2.1"
  38. mpg123 < "0.2"
  39. nanomsg
  40. nebula
  41. netlink >= "0.2.1"
  42. ocephes >= "0.8.2"
  43. opasswd >= "1.0.1"
  44. opencc < "transition"
  45. opencc0
  46. opencc1
  47. opencc1_1
  48. oplay
  49. orocksdb
  50. osbx < "1.1.1"
  51. osx-acl
  52. osx-attr >= "0.2.0"
  53. osx-cf >= "0.1.1"
  54. osx-fsevents >= "0.1.1"
  55. osx-membership
  56. osx-mount >= "0.1.1"
  57. osx-secure-transport
  58. osx-xattr >= "0.3.0"
  59. owl < "0.9.0"
  60. pci
  61. pkcs11 < "0.9.0"
  62. pkcs11-driver
  63. portaudio_c_bindings
  64. posix-base
  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"
  95. unix-fcntl >= "0.3.3"
  96. unix-sys-resource
  97. unix-sys-stat
  98. unix-time
  99. unix-type-representations
  100. wasmer
  101. wasmtime
  102. xxhash
  103. yaml < "0.2.0"
  104. yices2_bindings
  105. zstandard < "v0.13.0"
  106. zstd >= "0.2" & < "0.4"