package ctypes

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

Install

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