package ctypes

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

Install

Dune Dependency

Authors

Maintainers

Sources

0.12.0.tar.gz
sha256=a4f78e9b3ed71f3cba0ccdcfa0690f423dedee6132611cd4be0534b43c980ca3
md5=59e8b3f328ba00febabe2a957029cb94

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

Innovation. Community. Security.