package ctypes

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

Install

Dune Dependency

Authors

Maintainers

Sources

0.4.0.tar.gz
sha256=cf72c729afc77d100de024b2fec82fbeec020e55b617cef4887a0043ccd0c36d
md5=66edc3ea304db77205a228f12893543f

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: 14 Mar 2015

Dependencies (4)

  1. conf-pkg-config build
  2. ocamlfind build
  3. base-bytes
  4. ocaml >= "4.00.0" & < "4.06"

Dev Dependencies

None

Used by (88)

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

Conflicts (2)

  1. host-system-msvc
  2. mirage-xen >= "6.0.0"
OCaml

Innovation. Community. Security.