package ctypes

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

Install

Authors

Maintainers

Sources

0.17.1.tar.gz
md5=508ea062105518c14fd516aa2ea9db5e

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: 28 Feb 2020

Dependencies (4)

  1. conf-pkg-config build
  2. ocamlfind build
  3. integers >= "0.3.0"
  4. ocaml >= "4.02.3"

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. bls12-381 < "0.4.1"
  9. bls12-381-unix < "0.4.2"
  10. cf
  11. cmark
  12. cmarker
  13. ctypes-build
  14. ctypes-foreign = "0.18.0"
  15. ctypes-zarith
  16. ctypes_stubs_js
  17. directories
  18. dlm
  19. eigen >= "0.1.0"
  20. eris
  21. flock
  22. fsevents
  23. gdal >= "0.3.0"
  24. gobject-introspection
  25. gpiod
  26. gr
  27. hacl-star-raw < "0.4.0"
  28. hardcaml-llvmsim >= "0.3.0"
  29. hardcaml-vpi
  30. iocaml >= "0.4.3"
  31. iocaml-kernel >= "0.4.4"
  32. kqueue < "0.2.0"
  33. libdash < "0.3"
  34. libudev
  35. lilv
  36. llvm >= "3.7"
  37. lmdb < "1.0"
  38. lp-glpk
  39. lp-gurobi
  40. luv
  41. luv_unix
  42. lz4 >= "1.1.1"
  43. mariadb
  44. memcpy >= "0.2.1"
  45. memtrace_viewer < "v0.15.0"
  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 >= "0.9.0"
  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 >= "0.3.0"
  87. protocol-9p < "0.5.1"
  88. py
  89. qcstm >= "0.1.1"
  90. raygui
  91. raylib
  92. reed-solomon-erasure
  93. sanlock
  94. sarek >= "20210823"
  95. sattools
  96. sodium >= "0.2.0" & < "0.3.0" | >= "0.6.0"
  97. spin >= "0.8.0"
  98. spoc >= "20170724"
  99. srt
  100. sys-socket
  101. sys-socket-unix
  102. tensorflow
  103. tgls >= "0.8.3"
  104. torch < "v0.16.0"
  105. tsdl >= "0.8.1"
  106. tsdl-image
  107. tsdl-mixer
  108. tsdl-ttf
  109. unix-errno >= "0.4.1"
  110. unix-fcntl >= "0.3.3"
  111. unix-sys-resource
  112. unix-sys-stat
  113. unix-time
  114. unix-type-representations
  115. wasmer
  116. wasmtime
  117. xxhash
  118. yaml
  119. yara
  120. yices2_bindings
  121. zstandard < "v0.15.0"
  122. zstd >= "0.2"