summaryrefslogtreecommitdiff
path: root/src/backend
diff options
context:
space:
mode:
Diffstat (limited to 'src/backend')
-rw-r--r--src/backend/port/dynloader/beos.c60
-rw-r--r--src/backend/port/dynloader/beos.h33
2 files changed, 93 insertions, 0 deletions
diff --git a/src/backend/port/dynloader/beos.c b/src/backend/port/dynloader/beos.c
new file mode 100644
index 0000000000..c2a6b78845
--- /dev/null
+++ b/src/backend/port/dynloader/beos.c
@@ -0,0 +1,60 @@
+/*-------------------------------------------------------------------------
+ *
+ * dynloader.c
+ * Dynamic Loader for Postgres for BeOS
+ *
+ * Portions Copyright (c) 1996-2000, PostgreSQL, Inc
+ * Portions Copyright (c) 1994, Regents of the University of California
+ *
+ *
+ * IDENTIFICATION
+ * $Header: /cvsroot/pgsql/src/backend/port/dynloader/Attic/beos.c,v 1.1 2000/10/02 17:15:53 momjian Exp $
+ *
+ *-------------------------------------------------------------------------
+ */
+
+#include "postgres.h"
+#include <kernel/OS.h>
+#include <image.h>
+#include <errno.h>
+
+#include "dynloader.h"
+
+extern char pg_pathname[];
+
+void *
+beos_dlopen(const char *filename)
+{
+ image_id id = -1;
+
+ if ((id = load_add_on(filename)) < 0)
+ return NULL;
+
+ return (void *) id;
+}
+
+void
+beos_dlclose(void *handle)
+{
+ image_id id = (image_id) handle;
+ unload_add_on(id);
+ return;
+}
+
+void *
+beos_dlsym(void *handle, const char *name)
+{
+ image_id id = (image_id)handle;
+ void *addr;
+
+ if (get_image_symbol(id, name, B_SYMBOL_TYPE_ANY, &addr) != B_OK)
+ return NULL;
+
+ return addr;
+}
+
+char *
+beos_dlerror()
+{
+ return (char *)strerror(errno);
+}
diff --git a/src/backend/port/dynloader/beos.h b/src/backend/port/dynloader/beos.h
new file mode 100644
index 0000000000..3765ff0629
--- /dev/null
+++ b/src/backend/port/dynloader/beos.h
@@ -0,0 +1,33 @@
+/*-------------------------------------------------------------------------
+ *
+ * port_protos.h
+ * port-specific prototypes for BeOS
+ *
+ *
+ * Portions Copyright (c) 1996-2000, PostgreSQL, Inc
+ * Portions Copyright (c) 1994, Regents of the University of California
+ *
+ * $Id: beos.h,v 1.1 2000/10/02 17:15:53 momjian Exp $
+ *
+ *-------------------------------------------------------------------------
+ */
+#ifndef PORT_PROTOS_H
+#define PORT_PROTOS_H
+
+#include "postgres.h"
+
+#include "fmgr.h"
+#include "utils/dynamic_loader.h"
+
+char *beos_dlerror(void);
+void *beos_dlopen(const char *filename);
+void *beos_dlsym(void *handle, const char *name);
+void beos_dlclose(void *handle);
+
+#define pg_dlopen(f) beos_dlopen(f)
+#define pg_dlsym beos_dlsym
+#define pg_dlclose beos_dlclose
+#define pg_dlerror beos_dlerror
+
+
+#endif /* PORT_PROTOS_H */