package ctypes

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

Install

Dune Dependency

Authors

Maintainers

Sources

0.16.0.tar.gz
sha256=26395d60fa728ee6277573fdd74a7e82137826b531501fc2791d5db79b843350
md5=31d4f2072abd74e99ed8d70f934e3718

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: 07 Dec 2019

Dependencies (5)

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

Dev Dependencies (4)

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

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

Innovation. Community. Security.