source: trunk/src/gcc/libjava/include/win32.h@ 2293

Last change on this file since 2293 was 1392, checked in by bird, 22 years ago

This commit was generated by cvs2svn to compensate for changes in r1391,
which included commits to RCS files with non-trunk default branches.

  • Property cvs2svn:cvs-rev set to 1.1.1.2
  • Property svn:eol-style set to native
  • Property svn:executable set to *
File size: 2.7 KB
RevLine 
[2]1// win32.h -- Helper functions for Microsoft-flavored OSs.
2
[1391]3/* Copyright (C) 2002, 2003 Free Software Foundation
[2]4
5 This file is part of libgcj.
6
7This software is copyrighted work licensed under the terms of the
8Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
9details. */
10
11#ifndef __JV_WIN32_H__
12#define __JV_WIN32_H__
13
14#include <windows.h>
15#undef STRICT
16
[1391]17#include <ws2tcpip.h>
[2]18#include <gcj/cni.h>
19#include <java/util/Properties.h>
20
[1391]21#include <io.h>
22
23// Prefix and suffix for shared libraries.
24#define _Jv_platform_solib_prefix ""
25#define _Jv_platform_solib_suffix ".dll"
26
27#ifndef DISABLE_JAVA_NET
28
29// these errors cannot occur on Win32
30#define ENOTCONN 0
31#define ECONNRESET 0
32
33/* This is incorrect, but allows java/net/natPlainDatagramSocketImpl.cc
34 to compile under MingW. This will be remedied in a subsequent gcj
35 release where the Win32 and Posix networking code have been forked. */
36#define ECONNREFUSED 0
37
38#ifndef ENOPROTOOPT
39#define ENOPROTOOPT 109
40#endif
41
42#endif // DISABLE_JAVA_NET
43
[2]44extern void _Jv_platform_initialize (void);
45extern void _Jv_platform_initProperties (java::util::Properties*);
46extern jlong _Jv_platform_gettimeofday ();
[1391]47extern int _Jv_select (int n, fd_set *, fd_set *, fd_set *, struct timeval *);
[2]48
49inline void
50_Jv_platform_close_on_exec (jint)
51{
52 // Ignore.
53}
54
[1391]55#ifdef JV_HASH_SYNCHRONIZATION
56/* Suspends the execution of the current thread for the specified
57 number of microseconds. Tries to emulate the behaviour of usleep()
58 on UNIX and provides a granularity of 1 millisecond. */
59inline void
60_Jv_platform_usleep (unsigned long usecs)
61{
62 if (usecs > 0UL)
63 {
64 unsigned long millis = ((usecs + 999UL) / 1000UL);