hotspot/src/os/windows/vm/os_windows.hpp
changeset 35056 252c47a46a01
parent 34633 2a6c7c7b30a7
child 35071 a0910b1d3e0d
equal deleted inserted replaced
35055:a4cf2927e727 35056:252c47a46a01
   181       guarantee (_ParkEvent != NULL, "invariant") ;
   181       guarantee (_ParkEvent != NULL, "invariant") ;
   182     }
   182     }
   183 
   183 
   184 } ;
   184 } ;
   185 
   185 
   186 // JDK7 requires VS2010
       
   187 #if _MSC_VER < 1600
       
   188 #define JDK6_OR_EARLIER 1
       
   189 #endif
       
   190 
       
   191 
       
   192 
       
   193 class WinSock2Dll: AllStatic {
   186 class WinSock2Dll: AllStatic {
   194 public:
   187 public:
   195   static BOOL WSAStartup(WORD, LPWSADATA);
   188   static BOOL WSAStartup(WORD, LPWSADATA);
   196   static struct hostent* gethostbyname(const char *name);
   189   static struct hostent* gethostbyname(const char *name);
   197   static BOOL WinSock2Available();
   190   static BOOL WinSock2Available();
   198 #ifdef JDK6_OR_EARLIER
       
   199 private:
       
   200   static int (PASCAL FAR* _WSAStartup)(WORD, LPWSADATA);
       
   201   static struct hostent *(PASCAL FAR *_gethostbyname)(...);
       
   202   static BOOL initialized;
       
   203 
       
   204   static void initialize();
       
   205 #endif
       
   206 };
   191 };
   207 
   192 
   208 class Kernel32Dll: AllStatic {
   193 class Kernel32Dll: AllStatic {
   209 public:
   194 public:
   210   static BOOL SwitchToThread();
   195   static BOOL SwitchToThread();
   242   static USHORT (WINAPI *_RtlCaptureStackBackTrace)(ULONG, ULONG, PVOID*, PULONG);
   227   static USHORT (WINAPI *_RtlCaptureStackBackTrace)(ULONG, ULONG, PVOID*, PULONG);
   243   static BOOL initialized;
   228   static BOOL initialized;
   244 
   229 
   245   static void initialize();
   230   static void initialize();
   246   static void initializeCommon();
   231   static void initializeCommon();
   247 
       
   248 #ifdef JDK6_OR_EARLIER
       
   249 private:
       
   250   static BOOL (WINAPI *_SwitchToThread)(void);
       
   251   static HANDLE (WINAPI* _CreateToolhelp32Snapshot)(DWORD,DWORD);
       
   252   static BOOL (WINAPI* _Module32First)(HANDLE,LPMODULEENTRY32);
       
   253   static BOOL (WINAPI* _Module32Next)(HANDLE,LPMODULEENTRY32);
       
   254   static void (WINAPI *_GetNativeSystemInfo)(LPSYSTEM_INFO);
       
   255 #endif
       
   256 
       
   257 };
   232 };
   258 
   233 
   259 class Advapi32Dll: AllStatic {
   234 class Advapi32Dll: AllStatic {
   260 public:
   235 public:
   261   static BOOL AdjustTokenPrivileges(HANDLE, BOOL, PTOKEN_PRIVILEGES, DWORD, PTOKEN_PRIVILEGES, PDWORD);
   236   static BOOL AdjustTokenPrivileges(HANDLE, BOOL, PTOKEN_PRIVILEGES, DWORD, PTOKEN_PRIVILEGES, PDWORD);
   262   static BOOL OpenProcessToken(HANDLE, DWORD, PHANDLE);
   237   static BOOL OpenProcessToken(HANDLE, DWORD, PHANDLE);
   263   static BOOL LookupPrivilegeValue(LPCTSTR, LPCTSTR, PLUID);
   238   static BOOL LookupPrivilegeValue(LPCTSTR, LPCTSTR, PLUID);
   264 
   239 
   265   static BOOL AdvapiAvailable();
   240   static BOOL AdvapiAvailable();
   266 
       
   267 #ifdef JDK6_OR_EARLIER
       
   268 private:
       
   269   static BOOL (WINAPI *_AdjustTokenPrivileges)(HANDLE, BOOL, PTOKEN_PRIVILEGES, DWORD, PTOKEN_PRIVILEGES, PDWORD);
       
   270   static BOOL (WINAPI *_OpenProcessToken)(HANDLE, DWORD, PHANDLE);
       
   271   static BOOL (WINAPI *_LookupPrivilegeValue)(LPCTSTR, LPCTSTR, PLUID);
       
   272   static BOOL initialized;
       
   273 
       
   274   static void initialize();
       
   275 #endif
       
   276 };
   241 };
   277 
   242 
   278 class PSApiDll: AllStatic {
   243 class PSApiDll: AllStatic {
   279 public:
   244 public:
   280   static BOOL EnumProcessModules(HANDLE, HMODULE *, DWORD, LPDWORD);
   245   static BOOL EnumProcessModules(HANDLE, HMODULE *, DWORD, LPDWORD);
   281   static DWORD GetModuleFileNameEx(HANDLE, HMODULE, LPTSTR, DWORD);
   246   static DWORD GetModuleFileNameEx(HANDLE, HMODULE, LPTSTR, DWORD);
   282   static BOOL GetModuleInformation(HANDLE, HMODULE, LPMODULEINFO, DWORD);
   247   static BOOL GetModuleInformation(HANDLE, HMODULE, LPMODULEINFO, DWORD);
   283 
   248 
   284   static BOOL PSApiAvailable();
   249   static BOOL PSApiAvailable();
   285 
       
   286 #ifdef JDK6_OR_EARLIER
       
   287 private:
       
   288   static BOOL (WINAPI *_EnumProcessModules)(HANDLE, HMODULE *, DWORD, LPDWORD);
       
   289   static BOOL (WINAPI *_GetModuleFileNameEx)(HANDLE, HMODULE, LPTSTR, DWORD);;
       
   290   static BOOL (WINAPI *_GetModuleInformation)(HANDLE, HMODULE, LPMODULEINFO, DWORD);
       
   291   static BOOL initialized;
       
   292 
       
   293   static void initialize();
       
   294 #endif
       
   295 };
   250 };
   296 
   251 
   297 #endif // OS_WINDOWS_VM_OS_WINDOWS_HPP
   252 #endif // OS_WINDOWS_VM_OS_WINDOWS_HPP