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.5.tar.gz
sha256=ee0f9a61cdc9bd3de7dc6f605d556533536e27694f5e2ea9bf25f76f74f68f98
md5=20aa5fe2bc8c4c507593dd25edf1e02d

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: 10 Jul 2017

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 (95)

  1. argon2
  2. bitgenerators
  3. ceph
  4. cf < "0.5.0"
  5. checked_oint < "0.4.1"
  6. cmark
  7. cmarker
  8. ctypes-build
  9. ctypes-foreign = "0.18.0"
  10. ctypes-zarith
  11. ctypes_stubs_js
  12. directories < "0.2"
  13. dlm
  14. dune >= "3.17.2"
  15. flock
  16. fsevents
  17. gdal
  18. gl-legacy
  19. gobject-introspection
  20. hacl-star-raw < "0.4.0"
  21. imguiml
  22. kqueue < "0.2.0"
  23. libdash < "0.3"
  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. zstd < "0.4"