Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016 #ifndef ACE_OS_INCLUDE_OS_DLFCN_H
00017 #define ACE_OS_INCLUDE_OS_DLFCN_H
00018
00019 #include "ace/pre.h"
00020
00021 #include "ace/config-all.h"
00022
00023 #if !defined (ACE_LACKS_PRAGMA_ONCE)
00024 # pragma once
00025 #endif
00026
00027 #if !defined (ACE_LACKS_DLFCN_H)
00028 # include <dlfcn.h>
00029 #endif
00030
00031 #if defined (__hpux)
00032 # if defined(__GNUC__) || __cplusplus >= 199707L
00033 # include <dl.h>
00034 # else
00035 # include <cxxdl.h>
00036 # endif
00037 #endif
00038
00039 #if defined (ACE_VXWORKS) && !defined (__RTP__)
00040 # include <loadLib.h>
00041 # include <unldLib.h>
00042 # include <symLib.h>
00043 # include <sysSymTbl.h>
00044 #endif
00045
00046
00047 #ifdef __cplusplus
00048 extern "C"
00049 {
00050 #endif
00051
00052 #if defined (_M_UNIX)
00053 int _dlclose (void *);
00054 char *_dlerror (void);
00055 void *_dlopen (const char *, int);
00056 void * _dlsym (void *, const char *);
00057 #endif
00058
00059
00060
00061
00062
00063 #if defined (ACE_WIN32)
00064
00065 typedef HINSTANCE ACE_SHLIB_HANDLE;
00066 # define ACE_SHLIB_INVALID_HANDLE 0
00067 # define ACE_DEFAULT_SHLIB_MODE 0
00068 #elif defined (ACE_HAS_SVR4_DYNAMIC_LINKING)
00069 typedef void *ACE_SHLIB_HANDLE;
00070 # define ACE_SHLIB_INVALID_HANDLE 0
00071
00072
00073 # define ACE_DEFAULT_SHLIB_MODE RTLD_LAZY | RTLD_GLOBAL
00074 #elif defined (__hpux)
00075 typedef shl_t ACE_SHLIB_HANDLE;
00076 # define ACE_SHLIB_INVALID_HANDLE 0
00077 # define ACE_DEFAULT_SHLIB_MODE BIND_DEFERRED | DYNAMIC_PATH
00078 #else
00079 typedef void *ACE_SHLIB_HANDLE;
00080 # define ACE_SHLIB_INVALID_HANDLE 0
00081 # define ACE_DEFAULT_SHLIB_MODE RTLD_LAZY
00082 #endif
00083
00084 #if !defined (RTLD_LAZY)
00085 #define RTLD_LAZY 1
00086 #endif
00087
00088 #if !defined (RTLD_NOW)
00089 #define RTLD_NOW 2
00090 #endif
00091
00092 #if !defined (RTLD_GLOBAL)
00093 #define RTLD_GLOBAL 3
00094 #endif
00095
00096 #ifdef __cplusplus
00097 }
00098 #endif
00099
00100 #include "ace/post.h"
00101 #endif