diff options
author | Marc G. Fournier <scrappy@hub.org> | 1997-12-20 04:48:11 +0000 |
---|---|---|
committer | Marc G. Fournier <scrappy@hub.org> | 1997-12-20 04:48:11 +0000 |
commit | 1783963cab9e938b04b936f61d287384d7f11f2a (patch) | |
tree | 9201e565281b1ad6a4d3af0c4b5a63b8659ea2ce /src/backend/port/dynloader/hpux.c | |
parent | 44be631dd8eb0f66222c779ca4eff49df5a30d76 (diff) | |
download | postgresql-1783963cab9e938b04b936f61d287384d7f11f2a.tar.gz |
Move more to dynloader subdir
Diffstat (limited to 'src/backend/port/dynloader/hpux.c')
-rw-r--r-- | src/backend/port/dynloader/hpux.c | 59 |
1 files changed, 59 insertions, 0 deletions
diff --git a/src/backend/port/dynloader/hpux.c b/src/backend/port/dynloader/hpux.c new file mode 100644 index 0000000000..68cc085ca7 --- /dev/null +++ b/src/backend/port/dynloader/hpux.c @@ -0,0 +1,59 @@ +/*------------------------------------------------------------------------- + * + * dynloader.c-- + * dynamic loader for HP-UX using the shared library mechanism + * + * Copyright (c) 1994, Regents of the University of California + * + * + * IDENTIFICATION + * $Header: /cvsroot/pgsql/src/backend/port/dynloader/hpux.c,v 1.1 1997/12/20 04:48:06 scrappy Exp $ + * + * NOTES + * all functions are defined here -- it's impossible to trace the + * shl_* routines from the bundled HP-UX debugger. + * + *------------------------------------------------------------------------- + */ +/* System includes */ +#include <stdio.h> +#include <a.out.h> +#include <dl.h> +#include "c.h" +#include "fmgr.h" +#include "utils/dynamic_loader.h" +#include "port-protos.h" + +void * +pg_dlopen(char *filename) +{ + shl_t handle = shl_load(filename, BIND_DEFERRED, 0); + + return ((void *) handle); +} + +func_ptr +pg_dlsym(void *handle, char *funcname) +{ + func_ptr f; + + if (shl_findsym((shl_t *) & handle, funcname, TYPE_PROCEDURE, &f) == -1) + { + f = (func_ptr) NULL; + } + return (f); +} + +void +pg_dlclose(void *handle) +{ + shl_unload((shl_t) handle); +} + +char * +pg_dlerror() +{ + static char errmsg[] = "shl_load failed"; + + return errmsg; +} |