summaryrefslogtreecommitdiff
path: root/packages/libc/src/dlfcnh.inc
diff options
context:
space:
mode:
Diffstat (limited to 'packages/libc/src/dlfcnh.inc')
-rw-r--r--packages/libc/src/dlfcnh.inc33
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';
+