mirror of
https://github.com/postgres/postgres.git
synced 2025-05-13 01:13:08 -04:00
48 lines
1.3 KiB
C
48 lines
1.3 KiB
C
/*-------------------------------------------------------------------------
|
|
*
|
|
* osf.h
|
|
* prototypes for OSF/1-specific routines
|
|
*
|
|
*
|
|
* Portions Copyright (c) 1996-2003, PostgreSQL Global Development Group
|
|
* Portions Copyright (c) 1994, Regents of the University of California
|
|
*
|
|
* $PostgreSQL: pgsql/src/backend/port/dynloader/osf.h,v 1.11 2003/11/29 22:39:55 pgsql Exp $
|
|
*
|
|
*-------------------------------------------------------------------------
|
|
*/
|
|
|
|
#ifndef PORT_PROTOS_H
|
|
#define PORT_PROTOS_H
|
|
|
|
#include <dlfcn.h>
|
|
#include "utils/dynamic_loader.h"
|
|
|
|
/*
|
|
* Dynamic Loader on Alpha OSF/1.x
|
|
*
|
|
* this dynamic loader uses the system dynamic loading interface for shared
|
|
* libraries (ie. dlopen/dlsym/dlclose). The user must specify a shared
|
|
* library as the file to be dynamically loaded.
|
|
*/
|
|
|
|
/*
|
|
* In some older systems, the RTLD_NOW flag isn't defined and the mode
|
|
* argument to dlopen must always be 1. The RTLD_GLOBAL flag is wanted
|
|
* if available, but it doesn't exist everywhere.
|
|
* If it doesn't exist, set it to 0 so it has no effect.
|
|
*/
|
|
#ifndef RTLD_NOW
|
|
#define RTLD_NOW 1
|
|
#endif
|
|
#ifndef RTLD_GLOBAL
|
|
#define RTLD_GLOBAL 0
|
|
#endif
|
|
|
|
#define pg_dlopen(f) dlopen((f), RTLD_NOW | RTLD_GLOBAL)
|
|
#define pg_dlsym(h, f) ((PGFunction) dlsym(h, f))
|
|
#define pg_dlclose(h) dlclose(h)
|
|
#define pg_dlerror() dlerror()
|
|
|
|
#endif /* PORT_PROTOS_H */
|