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
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 (86)

  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. iocaml >= "0.4.3"
  19. iocaml-kernel >= "0.4.4"
  20. kqueue < "0.2.0"
  21. lilv
  22. llvm >= "3.7"
  23. lmdb < "1.0"
  24. lp-glpk < "0.4.0"
  25. lp-gurobi
  26. lz4 = "1.0.1"
  27. memcpy < "0.2.1"
  28. mpg123 < "0.2"
  29. nanomsg
  30. netlink >= "0.2.1"
  31. nocrypto >= "0.3.1" & < "0.5.0"
  32. ocephes < "0.8.2"
  33. opasswd >= "0.9.3"
  34. opencc < "transition"
  35. opencc0
  36. opencc1
  37. opencc1_1
  38. oplay
  39. orocksdb
  40. osbx < "1.1.1"
  41. osx-attr < "0.2.0"
  42. osx-cf
  43. osx-fsevents
  44. osx-mount
  45. osx-secure-transport
  46. osx-xattr < "0.3.0"
  47. owl < "0.9.0"
  48. pci
  49. pkcs11-driver
  50. portaudio_c_bindings
  51. posix-bindings
  52. posix-getopt
  53. posix-signal
  54. posix-socket
  55. posix-socket-unix
  56. posix-time2
  57. posix-types >= "2.0.0"
  58. posix-uname
  59. protocol-9p < "0.5.1"
  60. qcstm >= "0.1.1"
  61. quickjs
  62. raylib < "0.3.1"
  63. reed-solomon-erasure
  64. sanlock
  65. sarek >= "20210823"
  66. sattools
  67. sodium >= "0.2.0" & != "0.3.0" & < "0.6.0"
  68. spin >= "0.8.0"
  69. spoc >= "20170724"
  70. srt
  71. sys-socket
  72. sys-socket-unix
  73. tgls >= "0.8.3"
  74. tsdl = "0.8.1"
  75. tsdl-image
  76. tsdl-mixer
  77. tsdl-ttf
  78. unix-errno < "0.3.0" | >= "0.4.1" & < "0.6.0"
  79. unix-fcntl
  80. unix-sys-resource
  81. unix-sys-stat < "0.5.0"
  82. unix-time
  83. unix-type-representations
  84. wasmer
  85. zstandard < "v0.13.0"
  86. zstd < "0.4"

Conflicts (1)

  1. mirage-xen >= "6.0.0"