aboutsummaryrefslogtreecommitdiff
path: root/src/backend/port/dynloader/aix.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/backend/port/dynloader/aix.h')
-rw-r--r--src/backend/port/dynloader/aix.h56
1 files changed, 56 insertions, 0 deletions
diff --git a/src/backend/port/dynloader/aix.h b/src/backend/port/dynloader/aix.h
new file mode 100644
index 00000000000..7310aee5998
--- /dev/null
+++ b/src/backend/port/dynloader/aix.h
@@ -0,0 +1,56 @@
+/*
+ * $Id: aix.h,v 1.1 1997/12/19 22:58:26 scrappy Exp $
+ *
+ * @(#)dlfcn.h 1.4 revision of 95/04/25 09:36:52
+ * This is an unpublished work copyright (c) 1992 HELIOS Software GmbH
+ * 30159 Hannover, Germany
+ */
+
+#ifndef __dlfcn_h__
+#define __dlfcn_h__
+
+#ifdef __cplusplus
+extern "C"
+{
+#endif
+
+/*
+ * Mode flags for the dlopen routine.
+ */
+#define RTLD_LAZY 1 /* lazy function call binding */
+#define RTLD_NOW 2 /* immediate function call binding */
+#define RTLD_GLOBAL 0x100 /* allow symbols to be global */
+
+/*
+ * To be able to intialize, a library may provide a dl_info structure
+ * that contains functions to be called to initialize and terminate.
+ */
+ struct dl_info
+ {
+ void (*init) (void);
+ void (*fini) (void);
+ };
+
+#if __STDC__ || defined(_IBMR2)
+ void *dlopen(const char *path, int mode);
+ void *dlsym(void *handle, const char *symbol);
+ char *dlerror(void);
+ int dlclose(void *handle);
+#else
+ void *dlopen();
+ void *dlsym();
+ char *dlerror();
+ int dlclose();
+#endif
+
+#ifdef __cplusplus
+}
+
+#endif
+
+#define pg_dlopen(f) dlopen(filename, RTLD_LAZY)
+#define pg_dlsym(h,f) dlsym(h, f)
+#define pg_dlclose(h) dlclose(h)
+#define pg_dlerror() dlerror()
+
+#endif /* __dlfcn_h__ */