diff options
Diffstat (limited to 'packages/libc/src/dlfcnh.inc')
-rw-r--r-- | packages/libc/src/dlfcnh.inc | 33 |
1 files changed, 33 insertions, 0 deletions
diff --git a/packages/libc/src/dlfcnh.inc b/packages/libc/src/dlfcnh.inc new file mode 100644 index 0000000000..053c5607b8 --- /dev/null +++ b/packages/libc/src/dlfcnh.inc @@ -0,0 +1,33 @@ + +Const + RTLD_NEXT = Pointer(-1); + RTLD_DEFAULT = nil; + +function dlopen(__file:Pchar; __mode:longint):pointer;cdecl;external dllib name 'dlopen'; +function dlclose(__handle:pointer):longint;cdecl;external dllib name 'dlclose'; +function dlsym(__handle:pointer; __name:Pchar):pointer;cdecl;external dllib name 'dlsym'; +function dlvsym(__handle:pointer; __name:Pchar; __version:Pchar):pointer;cdecl;external dllib name 'dlvsym'; +function dlerror:Pchar;cdecl;external clib name 'dlerror'; + +type + + PDl_info = ^Dl_info; + Dl_info = record + dli_fname : Pchar; + dli_fbase : pointer; + dli_sname : Pchar; + dli_saddr : pointer; + end; + +function dladdr(__address:pointer; __info:PDl_info):longint;cdecl;external dllib name 'dladdr'; + +{ --------------------------------------------------------------------- + Borland compatibility types + ---------------------------------------------------------------------} + +Type + TDLInfo = Dl_info; + PDLInfo = ^TDLInfo; + +function dladdr(__address:pointer; var __info: Dl_info):longint;cdecl;external dllib name 'dladdr'; + |