package ctypes

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

Install

Dune 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 (92)

  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. 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-getopt
  57. posix-math2
  58. posix-signal
  59. posix-socket
  60. posix-socket-unix
  61. posix-time2
  62. posix-types
  63. posix-uname
  64. qcstm >= "0.1.1"
  65. quickjs < "0.1.1"
  66. raylib < "0.3.1"
  67. reed-solomon-erasure
  68. sanlock
  69. sarek
  70. sattools
  71. sodium
  72. spin >= "0.8.0"
  73. spoc
  74. sys-socket
  75. sys-socket-unix
  76. tensorflow
  77. tgls < "0.9.0"
  78. torch < "v0.16.0"
  79. tsdl-image
  80. tsdl-mixer
  81. tsdl-ttf
  82. unix-errno >= "0.4.1" & < "0.6.0"
  83. unix-sys-resource
  84. unix-sys-stat
  85. unix-time
  86. unix-type-representations
  87. uring-trace
  88. wasmer
  89. wasmtime
  90. xxhash
  91. zstandard < "v0.13.0"
  92. zstd < "0.4"
OCaml

Innovation. Community. Security.