/*-------------------------------------------------------------------------
*
- * dynloader.c
+ * linux.c
* Dynamic Loader for Postgres for Linux, generated from those for
* Ultrix.
*
*
*
* IDENTIFICATION
- * $Header: /cvsroot/pgsql/src/backend/port/dynloader/linux.c,v 1.22 2002/06/20 20:29:33 momjian Exp $
+ * $Header: /cvsroot/pgsql/src/backend/port/dynloader/linux.c,v 1.23 2002/10/15 16:04:17 tgl Exp $
*
*-------------------------------------------------------------------------
*/
#include "postgres.h"
+
#ifdef HAVE_DLD_H
-#include "dld.h"
+#include <dld.h>
#endif
-#ifdef NOT_USED
-extern char pg_pathname[];
+#include "dynloader.h"
+#include "miscadmin.h"
+
+
+#ifndef HAVE_DLOPEN
void *
pg_dlopen(char *filename)
#endif
}
+PGFunction
+pg_dlsym(void *handle, char *funcname)
+{
+#ifndef HAVE_DLD_H
+ return NULL;
+#else
+ return (PGFunction) dld_get_func((funcname));
+#endif
+}
+
+void
+pg_dlclose(void *handle)
+{
+#ifndef HAVE_DLD_H
+#else
+ dld_unlink_by_file(handle, 1);
+ free(handle);
+#endif
+}
+
char *
-pg_dlerror()
+pg_dlerror(void)
{
#ifndef HAVE_DLD_H
return "dynaloader unspported";
#endif
}
-#endif
+#endif /* !HAVE_DLOPEN */
* Portions Copyright (c) 1996-2002, PostgreSQL Global Development Group
* Portions Copyright (c) 1994, Regents of the University of California
*
- * $Id: linux.h,v 1.18 2002/06/20 20:29:33 momjian Exp $
+ * $Id: linux.h,v 1.19 2002/10/15 16:04:17 tgl Exp $
*
*-------------------------------------------------------------------------
*/
#endif
-#ifndef HAVE_DLOPEN
-
-#ifndef HAVE_DLD_H
-#define pg_dlsym(handle, funcname) (NULL)
-#define pg_dlclose(handle) {}
-#else
-#define pg_dlsym(handle, funcname) ((PGFunction) dld_get_func((funcname)))
-#define pg_dlclose(handle) \
-do { \
- dld_unlink_by_file(handle, 1); \
- free(handle); \
-} while (0)
-#endif
-
-#else /* HAVE_DLOPEN */
+#ifdef HAVE_DLOPEN
/*
* In some older systems, the RTLD_NOW flag isn't defined and the mode
#define pg_dlsym dlsym
#define pg_dlclose dlclose
#define pg_dlerror dlerror
+
#endif /* HAVE_DLOPEN */
#endif /* PORT_PROTOS_H */