package ctypes

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

Install

dune-project
 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. metal
  42. mmdb
  43. mpg123
  44. netlink
  45. ocephes
  46. opasswd
  47. opencc < "transition"
  48. opencc0
  49. opencc1
  50. opencc1_1
  51. orocksdb
  52. osx-acl
  53. osx-attr
  54. osx-cf
  55. osx-fsevents
  56. osx-membership
  57. osx-mount
  58. osx-secure-transport
  59. osx-xattr
  60. owl < "0.9.0"
  61. pari
  62. pari-bindings
  63. pci
  64. pg_query
  65. pkcs11-driver
  66. pkcs11-rev
  67. portaudio_c_bindings
  68. portmidi < "0.4"
  69. posix-base
  70. posix-bindings < "3"
  71. posix-getopt
  72. posix-math2
  73. posix-signal
  74. posix-socket
  75. posix-socket-unix
  76. posix-time2
  77. posix-types
  78. posix-uname
  79. ppx_cstubs
  80. py
  81. qcstm >= "0.1.1"
  82. quickjs
  83. raygui
  84. raylib
  85. reed-solomon-erasure
  86. sanlock
  87. sarek
  88. sattools
  89. sodium
  90. spin >= "0.8.0"
  91. spoc
  92. sys-socket
  93. sys-socket-unix
  94. tensorflow
  95. tgls < "0.9.0"
  96. torch < "v0.16.0"
  97. tsdl < "1.1.0"
  98. tsdl-image
  99. tsdl-mixer
  100. tsdl-ttf
  101. unix-errno >= "0.4.1"
  102. unix-sys-resource
  103. unix-sys-stat
  104. unix-time
  105. unix-type-representations
  106. uring-trace
  107. wasmer
  108. wasmtime
  109. xedbindings
  110. xxhash
  111. yaml
  112. yara
  113. yices2_bindings
  114. zstandard < "v0.14.0"
  115. zstd