package ctypes

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

Install

Dune 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"

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

Innovation. Community. Security.