1 // win32.cc - Helper functions for Microsoft-flavored OSs.
3 /* Copyright (C) 2002 Free Software Foundation
5 This file is part of libgcj.
7 This software is copyrighted work licensed under the terms of the
8 Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
13 #include <sys/timeb.h>
16 #include <java/lang/ArithmeticException.h>
19 win32_exception_handler (LPEXCEPTION_POINTERS e)
21 if (e->ExceptionRecord->ExceptionCode == EXCEPTION_ACCESS_VIOLATION)
22 _Jv_ThrowNullPointerException();
23 else if (e->ExceptionRecord->ExceptionCode == EXCEPTION_INT_DIVIDE_BY_ZERO)
24 throw new java::lang::ArithmeticException;
26 return EXCEPTION_CONTINUE_SEARCH;
29 // Platform-specific VM initialization.
31 _Jv_platform_initialize (void)
33 // Initialise winsock for networking
35 if (WSAStartup (MAKEWORD (1, 1), &data))
36 MessageBox (NULL, "Error initialising winsock library.", "Error",
37 MB_OK | MB_ICONEXCLAMATION);
38 // Install exception handler
39 SetUnhandledExceptionFilter (win32_exception_handler);
42 // gettimeofday implementation.
44 _Jv_platform_gettimeofday ()
48 return t.time * 1000LL + t.millitm;