summaryrefslogtreecommitdiff
path: root/ace/os_include/dlfcn.h
diff options
context:
space:
mode:
Diffstat (limited to 'ace/os_include/dlfcn.h')
-rw-r--r--ace/os_include/dlfcn.h53
1 files changed, 25 insertions, 28 deletions
diff --git a/ace/os_include/dlfcn.h b/ace/os_include/dlfcn.h
index d60c0205c28..276f132a0f6 100644
--- a/ace/os_include/dlfcn.h
+++ b/ace/os_include/dlfcn.h
@@ -34,6 +34,10 @@
# endif /* ACE_HAS_DLFCN_H_BROKEN_EXTERN_C */
#endif /* !ACE_LACKS_DLFCN_H */
+/* Set the proper handle type for dynamically-loaded libraries. */
+/* Also define a default 'mode' for loading a library - the names and values */
+/* differ between OSes, so if you write code that uses the mode, be careful */
+/* of the platform differences. */
#if defined (ACE_PSOS)
typedef ACE_HANDLE ACE_SHLIB_HANDLE;
# define ACE_SHLIB_INVALID_HANDLE ACE_INVALID_HANDLE
@@ -43,36 +47,29 @@
typedef HINSTANCE ACE_SHLIB_HANDLE;
# define ACE_SHLIB_INVALID_HANDLE 0
# define ACE_DEFAULT_SHLIB_MODE 0
+#elif defined (ACE_HAS_SVR4_DYNAMIC_LINKING)
+ typedef void *ACE_SHLIB_HANDLE;
+# define ACE_SHLIB_INVALID_HANDLE 0
+# if defined (__KCC) && defined(RTLD_GROUP) && defined(RTLD_NODELETE)
+# define ACE_DEFAULT_SHLIB_MODE RTLD_LAZY | RTLD_GROUP | RTLD_NODELETE
+# else
+# define ACE_DEFAULT_SHLIB_MODE RTLD_LAZY
+# endif /* KCC */
+#elif defined (__hpux)
+# if defined(__GNUC__) || __cplusplus >= 199707L
+# include /**/x <dl.h>
+# else
+# include /**/x <cxxdl.h>
+# endif /* (g++ || HP aC++) vs. HP C++ */
+ typedef shl_t ACE_SHLIB_HANDLE;
+# define ACE_SHLIB_INVALID_HANDLE 0
+# define ACE_DEFAULT_SHLIB_MODE BIND_DEFERRED
+#else /* !ACE_PSOS && !ACE_WIN32 && !ACE_HAS_SVR4_DYNAMIC_LINKING && !__hpux */
+ typedef void *ACE_SHLIB_HANDLE;
+# define ACE_SHLIB_INVALID_HANDLE 0
+# define ACE_DEFAULT_SHLIB_MODE RTLD_LAZY
#endif /* ACE_PSOS */
-/* Set the proper handle type for dynamically-loaded libraries. */
-/* Also define a default 'mode' for loading a library - the names and values */
-/* differ between OSes, so if you write code that uses the mode, be careful */
-/* of the platform differences. */
-# if defined (ACE_HAS_SVR4_DYNAMIC_LINKING)
- typedef void *ACE_SHLIB_HANDLE;
-# define ACE_SHLIB_INVALID_HANDLE 0
-# if defined (__KCC) && defined(RTLD_GROUP) && defined(RTLD_NODELETE)
-# define ACE_DEFAULT_SHLIB_MODE RTLD_LAZY | RTLD_GROUP | RTLD_NODELETE
-# else
-# define ACE_DEFAULT_SHLIB_MODE RTLD_LAZY
-# endif /* KCC */
-# elif defined (__hpux)
-# if defined(__GNUC__) || __cplusplus >= 199707L
-# include /**/x <dl.h>
-# else
-# include /**/x <cxxdl.h>
-# endif /* (g++ || HP aC++) vs. HP C++ */
- typedef shl_t ACE_SHLIB_HANDLE;
-# define ACE_SHLIB_INVALID_HANDLE 0
-# define ACE_DEFAULT_SHLIB_MODE BIND_DEFERRED
-# else
- typedef void *ACE_SHLIB_HANDLE;
-# define ACE_SHLIB_INVALID_HANDLE 0
-# define ACE_DEFAULT_SHLIB_MODE RTLD_LAZY
-
-# endif /* ACE_HAS_SVR4_DYNAMIC_LINKING */
-
#if !defined (RTLD_LAZY)
#define RTLD_LAZY 1
#endif /* !RTLD_LAZY */