package ctypes

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

Install

Dune Dependency

Authors

Maintainers

Sources

0.14.0.tar.gz
sha256=e97aea533b3ce254747dcec39c92f0ca74859b9fe29533d2f391598105693a7f
md5=57875f5e5986ca6004c356d77a3b31b5

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: 17 Apr 2018

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. async_ssl < "v0.13.0"
  4. bimage-unix
  5. binaryen_dsl
  6. bitgenerators
  7. ceph
  8. cf
  9. checked_oint < "0.4.1"
  10. cmark
  11. cmarker
  12. ctypes-build
  13. ctypes-foreign = "0.18.0"
  14. ctypes-zarith
  15. ctypes_stubs_js
  16. cudajit
  17. directories < "0.2"
  18. dlm
  19. dune >= "3.17.2"
  20. eigen
  21. flock
  22. fsevents
  23. gccjit
  24. gdal
  25. gobject-introspection
  26. hacl-star-raw < "0.4.0"
  27. imguiml
  28. kqueue < "0.2.0"
  29. libdash < "0.3"
  30. libudev
  31. lilv
  32. llvm >= "3.7"
  33. lmdb < "1.0"
  34. lp-glpk
  35. lp-gurobi
  36. luv
  37. luv_unix
  38. lz4
  39. mariadb
  40. memcpy >= "0.2.1"
  41. mmdb
  42. mpg123
  43. netlink
  44. ocephes
  45. opasswd
  46. opencc < "transition"
  47. opencc0
  48. opencc1
  49. opencc1_1
  50. orocksdb
  51. osx-acl
  52. osx-attr
  53. osx-cf
  54. osx-fsevents
  55. osx-membership
  56. osx-mount
  57. osx-secure-transport
  58. osx-xattr
  59. owl < "0.9.0"
  60. pari
  61. pari-bindings
  62. pci
  63. pg_query
  64. pkcs11-driver
  65. pkcs11-rev
  66. portaudio_c_bindings
  67. portmidi
  68. posix-base
  69. posix-bindings < "3"
  70. posix-getopt
  71. posix-math2
  72. posix-signal
  73. posix-socket
  74. posix-socket-unix
  75. posix-time2
  76. posix-types
  77. posix-uname
  78. ppx_cstubs
  79. py
  80. qcstm >= "0.1.1"
  81. quickjs
  82. raygui
  83. raylib
  84. reed-solomon-erasure
  85. sanlock
  86. sarek
  87. sattools
  88. sodium
  89. spin >= "0.8.0"
  90. spoc
  91. sys-socket
  92. sys-socket-unix
  93. tensorflow
  94. tgls < "0.9.0"
  95. torch < "v0.16.0"
  96. tsdl < "1.1.0"
  97. tsdl-image
  98. tsdl-mixer
  99. tsdl-ttf
  100. unix-errno >= "0.4.1"
  101. unix-sys-resource
  102. unix-sys-stat
  103. unix-time
  104. unix-type-representations
  105. uring-trace
  106. wasmer
  107. wasmtime
  108. xedbindings
  109. xxhash
  110. yaml
  111. yara
  112. yices2_bindings
  113. zstandard < "v0.14.0"
  114. zstd
OCaml

Innovation. Community. Security.