package ctypes

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

Install

dune-project
 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. argon2
  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. libdash < "0.3"
  25. libudev
  26. lilv
  27. llvm >= "3.7"
  28. lmdb < "1.0"
  29. lp-glpk
  30. lp-gurobi
  31. luv < "0.5.9"
  32. lz4
  33. mariadb
  34. memcpy >= "0.2.1"
  35. mpg123 != "0.2"
  36. netlink
  37. ocephes
  38. opasswd
  39. opencc < "transition"
  40. opencc0
  41. opencc1
  42. opencc1_1
  43. orocksdb
  44. osx-acl
  45. osx-attr
  46. osx-cf
  47. osx-fsevents
  48. osx-membership
  49. osx-mount
  50. osx-secure-transport
  51. osx-xattr
  52. owl < "0.9.0"
  53. pari
  54. pari-bindings
  55. pci
  56. pg_query >= "0.9.8"
  57. pkcs11-driver
  58. portaudio_c_bindings
  59. posix-base < "2.1.0"
  60. posix-bindings < "3"
  61. posix-errno
  62. posix-getopt
  63. posix-math2
  64. posix-resource
  65. posix-signal
  66. posix-socket
  67. posix-socket-unix
  68. posix-stat
  69. posix-time2
  70. posix-types
  71. posix-uname
  72. posix-unistd
  73. ppx_cstubs
  74. py
  75. qcstm >= "0.1.1"
  76. quickjs
  77. raylib < "0.3.1"
  78. reed-solomon-erasure
  79. sanlock
  80. sarek
  81. sattools
  82. sodium
  83. spin >= "0.8.0"
  84. spoc
  85. sys-socket
  86. sys-socket-unix
  87. tensorflow
  88. tgls < "0.9.0"
  89. torch < "v0.16.0"
  90. tsdl-image
  91. tsdl-mixer
  92. tsdl-ttf
  93. unix-errno >= "0.4.1"
  94. unix-sys-resource
  95. unix-sys-stat
  96. unix-time
  97. unix-type-representations
  98. uring-trace
  99. wasmer
  100. wasmtime
  101. xedbindings
  102. xxhash
  103. yaml < "2.1.0"
  104. yara
  105. yices2_bindings
  106. zstd