diff options
Diffstat (limited to 'src/pl/plpython/linux.h')
-rw-r--r-- | src/pl/plpython/linux.h | 44 |
1 files changed, 44 insertions, 0 deletions
diff --git a/src/pl/plpython/linux.h b/src/pl/plpython/linux.h new file mode 100644 index 00000000000..b6c65a07052 --- /dev/null +++ b/src/pl/plpython/linux.h @@ -0,0 +1,44 @@ +/*------------------------------------------------------------------------- + * + * port_protos.h + * port-specific prototypes for Linux + * + * + * Portions Copyright (c) 1996-2000, PostgreSQL, Inc + * Portions Copyright (c) 1994, Regents of the University of California + * + * $Id: linux.h,v 1.1 2001/05/09 19:54:38 momjian Exp $ + * + *------------------------------------------------------------------------- + */ +#ifndef PORT_PROTOS_H +#define PORT_PROTOS_H + +#include "fmgr.h" +#include "utils/dynamic_loader.h" +#ifdef __ELF__ +#include <dlfcn.h> +#endif + +/* dynloader.c */ + +#ifndef __ELF__ +#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) ({ dld_unlink_by_file(handle, 1); free(handle); }) +#endif +#else +/* #define pg_dlopen(f) dlopen(f, 1) */ +/* #define pg_dlopen(f) dlopen(f, 2) */ +#define pg_dlopen(f) dlopen(f, (RTLD_NOW|RTLD_GLOBAL)) +#define pg_dlsym dlsym +#define pg_dlclose dlclose +#define pg_dlerror dlerror +#endif + +/* port.c */ + +#endif /* PORT_PROTOS_H */ |