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

Innovation. Community. Security.