ctypes
Combinators for binding to C libraries without writing any C
1024" x-on:close-sidebar="sidebar=window.innerWidth > 1024 && true">
Legend:
Library
Module
Module type
Parameter
Class
Class type
Library
Module
Module type
Parameter
Class
Class type
Library ctypes-foreign
The type of dynamic libraries, as returned by dlopen
.
type flag =
| RTLD_LAZY |
| RTLD_NOW |
| RTLD_GLOBAL |
| RTLD_LOCAL |
| RTLD_NODELETE |
| RTLD_NOLOAD |
| RTLD_DEEPBIND |
Flags for dlopen
Note for windows users: Only RTLD_NOLOAD
and RTLD_NODELETE
are supported. Passing no or any other flags to dlopen
will result in standard behaviour: just LoadLibrary is called. If RTLD_NOLOAD
is specified and the module is not already loaded, a DL_error
with the string "library not loaded" is thrown; there is however no test, if such a library exists at all (like under linux).
Open a dynamic library.
Note for windows users: the filename must be encoded in UTF-8
val dlclose : handle:library -> unit
Close a dynamic library.
val dlsym : ?handle:library -> symbol:string -> nativeint
Look up a symbol in a dynamic library.