blob: f09c84093550925ef93343116a51fec92419e40a [file] [log] [blame]
Daniel Veillard3c558c31999-12-22 11:30:41 +00001#define HAVE_CTYPE_H
2#define HAVE_STDLIB_H
3#define HAVE_MALLOC_H
4#define HAVE_TIME_H
5#define HAVE_FCNTL_H
6
Daniel Veillard3c558c31999-12-22 11:30:41 +00007#include <io.h>
Daniel Veillard686d6b62000-01-03 11:08:02 +00008
9#ifdef INCLUDE_WINSOCK
Daniel Veillard3c558c31999-12-22 11:30:41 +000010#include <winsock2.h>
11
12#define EWOULDBLOCK WSAEWOULDBLOCK
13#define EINPROGRESS WSAEINPROGRESS
14#define EALREADY WSAEALREADY
15#define ENOTSOCK WSAENOTSOCK
16#define EDESTADDRREQ WSAEDESTADDRREQ
17#define EMSGSIZE WSAEMSGSIZE
18#define EPROTOTYPE WSAEPROTOTYPE
19#define ENOPROTOOPT WSAENOPROTOOPT
20#define EPROTONOSUPPORT WSAEPROTONOSUPPORT
21#define ESOCKTNOSUPPORT WSAESOCKTNOSUPPORT
22#define EOPNOTSUPP WSAEOPNOTSUPP
23#define EPFNOSUPPORT WSAEPFNOSUPPORT
24#define EAFNOSUPPORT WSAEAFNOSUPPORT
25#define EADDRINUSE WSAEADDRINUSE
26#define EADDRNOTAVAIL WSAEADDRNOTAVAIL
27#define ENETDOWN WSAENETDOWN
28#define ENETUNREACH WSAENETUNREACH
29#define ENETRESET WSAENETRESET
30#define ECONNABORTED WSAECONNABORTED
31#define ECONNRESET WSAECONNRESET
32#define ENOBUFS WSAENOBUFS
33#define EISCONN WSAEISCONN
34#define ENOTCONN WSAENOTCONN
35#define ESHUTDOWN WSAESHUTDOWN
36#define ETOOMANYREFS WSAETOOMANYREFS
37#define ETIMEDOUT WSAETIMEDOUT
38#define ECONNREFUSED WSAECONNREFUSED
39#define ELOOP WSAELOOP
40#define ENAMETOOLONG WSAENAMETOOLONG
41#define EHOSTDOWN WSAEHOSTDOWN
42#define EHOSTUNREACH WSAEHOSTUNREACH
43#define ENOTEMPTY WSAENOTEMPTY
44#define EPROCLIM WSAEPROCLIM
45#define EUSERS WSAEUSERS
46#define EDQUOT WSAEDQUOT
47#define ESTALE WSAESTALE
48#define EREMOTE WSAEREMOTE
Daniel Veillard686d6b62000-01-03 11:08:02 +000049#endif /* INCLUDE_WINSOCK */
Daniel Veillard3c558c31999-12-22 11:30:41 +000050
Daniel Veillardf341f932000-02-02 14:52:08 +000051#define HAVE_ISINF #define HAVE_ISNAN
52
Daniel Veillard3c558c31999-12-22 11:30:41 +000053#include <math.h>
54static int isinf (double d) {
55 int expon = 0;
56 double val = frexp (d, &expon);
57 if (expon == 1025) {
58 if (val == 0.5) {
59 return 1;
60 } else if (val == -0.5) {
61 return -1;
62 } else {
63 return 0;
64 }
65 } else {
66 return 0;
67 }
68}
69static int isnan (double d) {
70 int expon = 0;
71 double val = frexp (d, &expon);
72 if (expon == 1025) {
73 if (val == 0.5) {
74 return 0;
75 } else if (val == -0.5) {
76 return 0;
77 } else {
78 return 1;
79 }
80 } else {
81 return 0;
82 }
83}