aboutsummaryrefslogtreecommitdiff
path: root/libjava/include/win32.h
blob: 62bc0c33cbba396e9a92d03ca6dd742a667a7109 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
// win32.h -- Helper functions for Microsoft-flavored OSs.

/* Copyright (C) 2002  Free Software Foundation

   This file is part of libgcj.

This software is copyrighted work licensed under the terms of the
Libgcj License.  Please consult the file "LIBGCJ_LICENSE" for
details.  */

#ifndef __JV_WIN32_H__
#define __JV_WIN32_H__

#include <windows.h>
#undef STRICT

#undef __INSIDE_CYGWIN__
#include <winsock.h>
#define IP_TOS 3
#include <gcj/cni.h>
#include <java/util/Properties.h>

#include <io.h>

#ifndef DISBALE_JAVA_NET

// these errors cannot occur on Win32
#define ENOTCONN 0
#define ECONNRESET 0

#ifndef ENOPROTOOPT
#define ENOPROTOOPT 109
#endif

#endif // DISBALE_JAVA_NET

extern void _Jv_platform_initialize (void);
extern void _Jv_platform_initProperties (java::util::Properties*);
extern jlong _Jv_platform_gettimeofday ();

inline void
_Jv_platform_close_on_exec (jint)
{
  // Ignore.
}

#ifndef DISBALE_JAVA_NET

static inline int
_Jv_socket (int domain, int type, int protocol)
{
  return ::socket (domain, type, protocol);
}

inline int
_Jv_connect (jint fd, sockaddr *ptr, int len)
{
   return ::connect (fd, ptr, len);
}

inline int
_Jv_close (jint fd)
{
  return ::closesocket (fd);
}

inline int
_Jv_bind (int fd, struct sockaddr *addr, int addrlen)
{
  return ::bind (fd, addr, addrlen);
}

inline int
_Jv_accept (int fd, struct sockaddr *addr, socklen_t *addrlen)
{
  return ::accept (fd, addr, addrlen);
}

inline int
_Jv_listen (int fd, int backlog)
{
  return ::listen (fd, backlog);
}

inline int
_Jv_write(int s, void *buf, int len)
{
  return ::send (s, (char*) buf, len, 0);
}

inline int
_Jv_read(int s, void *buf, int len)
{
  return ::recv (s, (char*) buf, len, 0);
}

#endif /* DISBALE_JAVA_NET */

#define HAVE_BACKTRACE

/* Store up to SIZE return address of the current program state in
   ARRAY and return the exact number of values stored.  */
extern int backtrace (void **__array, int __size);

#endif /* __JV_WIN32_H__ */