package ctypes

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

Install

Dune Dependency

Authors

Maintainers

Sources

0.13.0.tar.gz
sha256=81f61e13b789b57b8055d4a22f0e41ae1309e0b9da86b0472bdb7bed0537f4f7
md5=fe066ce52fb44921314208c3e0ee6c53

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

Innovation. Community. Security.