00001 
00002 
00003 
00004 
00005 
00006 
00007 
00008 
00009 
00010 
00011 
00012 
00013 
00014 
00015 
00016 
00017 
00018 
00019 
00020 #if defined(__hpux)
00021 #ifdef USE_DLOPEN
00022 #include <dlfcn.h>
00023 #else
00024 
00025 #include <dl.h>
00026 #include <errno.h>
00027 
00028 #define RTLD_LAZY BIND_IMMEDIATE
00029 
00030 #define dlopen(path,flags) shl_load((path), (flags) | DYNAMIC_PATH, 0L)
00031 #define dlclose(handle)    shl_unload((handle))
00032 #define dlerror()          strerror(errno)
00033 void* dlsym(void* handle, const char *name) { 
00034   
00035   void *value;
00036   
00037   if ( shl_findsym((shl_t *)&handle, name, TYPE_PROCEDURE, &value) < 0 )
00038     return NULL;
00039   
00040   return value;
00041 }
00042 #endif 
00043 
00044 #else
00045 
00046 #include <dlfcn.h>
00047 
00048 #endif
00049 
00050 
00051 
00052 
00053