package ctypes

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

Install

dune-project
 Dependency

Authors

Maintainers

Sources

0.11.2.tar.gz
sha256=708e2c5501ba00b3ed6726a7da1c2b58f607859e8e1cc0381eefd222510488d6
md5=72055750770278a84965bb81aec68d87

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: 16 Dec 2016

Dependencies (4)

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

Dev Dependencies (3)

  1. ctypes-foreign with-test
  2. ounit with-test
  3. lwt with-test & >= "2.4.7" & < "4.0.0"

Used by (96)

  1. argon2
  2. async_ssl < "v0.13.0"
  3. bitgenerators
  4. ceph
  5. cf < "0.5.0"
  6. checked_oint < "0.4.1"
  7. cmark
  8. cmarker
  9. ctypes-build
  10. ctypes-foreign = "0.18.0"
  11. ctypes-zarith
  12. ctypes_stubs_js
  13. directories < "0.2"
  14. dlm
  15. dune >= "3.17.2"
  16. flock
  17. fsevents
  18. gdal
  19. gl-legacy
  20. gobject-introspection
  21. hacl-star-raw < "0.4.0"
  22. imguiml
  23. kqueue < "0.2.0"
  24. libudev
  25. lilv
  26. llvm >= "3.7"
  27. lmdb < "1.0"
  28. lp-glpk < "0.4.0"
  29. lp-gurobi
  30. lz4
  31. mariadb < "1.2.0"
  32. memcpy < "0.2.1"
  33. mpg123 < "0.2"
  34. netlink
  35. ocephes
  36. opasswd
  37. opencc < "transition"
  38. opencc0
  39. opencc1
  40. opencc1_1
  41. orocksdb
  42. osx-acl
  43. osx-attr
  44. osx-cf
  45. osx-fsevents
  46. osx-membership
  47. osx-mount
  48. osx-secure-transport
  49. osx-xattr
  50. owl < "0.9.0"
  51. pci
  52. pg_query >= "0.9.8"
  53. pkcs11-driver
  54. portaudio_c_bindings
  55. posix-bindings < "3"
  56. posix-errno
  57. posix-getopt
  58. posix-math2
  59. posix-resource
  60. posix-signal
  61. posix-socket
  62. posix-socket-unix
  63. posix-stat
  64. posix-time2
  65. posix-types
  66. posix-uname
  67. posix-unistd
  68. qcstm >= "0.1.1"
  69. quickjs < "0.1.1"
  70. raylib < "0.3.1"
  71. reed-solomon-erasure
  72. sanlock
  73. sarek
  74. sattools
  75. sodium
  76. spin >= "0.8.0"
  77. spoc
  78. sys-socket
  79. sys-socket-unix
  80. tensorflow
  81. tgls < "0.9.0"
  82. torch < "v0.16.0"
  83. tsdl-image
  84. tsdl-mixer
  85. tsdl-ttf
  86. unix-errno >= "0.4.1" & < "0.6.0"
  87. unix-sys-resource
  88. unix-sys-stat
  89. unix-time
  90. unix-type-representations
  91. uring-trace
  92. wasmer
  93. wasmtime
  94. xxhash
  95. zstandard < "v0.13.0"
  96. zstd < "0.4"