php-internal-docs 8.4.8
Unofficial docs for php/php-src
Loading...
Searching...
No Matches
windows_common.h
Go to the documentation of this file.
1/*
2 +----------------------------------------------------------------------+
3 | Copyright (c) The PHP Group |
4 +----------------------------------------------------------------------+
5 | This source file is subject to version 3.01 of the PHP license, |
6 | that is bundled with this package in the file LICENSE, and is |
7 | available through the world-wide-web at the following url: |
8 | https://www.php.net/license/3_01.txt |
9 | If you did not receive a copy of the PHP license and are unable to |
10 | obtain it through the world-wide-web, please send a note to |
11 | license@php.net so we can mail you a copy immediately. |
12 +----------------------------------------------------------------------+
13 */
14#ifndef WINDOWS_COMMON_H
15#define WINDOWS_COMMON_H
16
17#include <Winsock2.h>
18#define NTDDI_XP NTDDI_WINXP /* bug in SDK */
19#include <IPHlpApi.h> /* conflicting definition of CMSG_DATA */
20#undef NTDDI_XP
21
22#define HAVE_IF_NAMETOINDEX 1
23
24#define IS_INVALID_SOCKET(a) (a->bsd_socket == INVALID_SOCKET)
25
26#ifdef errno
27# undef errno
28#endif
29#define errno WSAGetLastError()
30#define h_errno WSAGetLastError()
31#define set_errno(a) WSASetLastError(a)
32#define close(a) closesocket(a)
33
34#ifdef ENETUNREACH /* errno.h probably included */
35# undef EWOULDBLOCK
36# undef EINPROGRESS
37# undef EALREADY
38# undef ENOTSOCK
39# undef EDESTADDRREQ
40# undef EMSGSIZE
41# undef EPROTOTYPE
42# undef ENOPROTOOPT
43# undef EPROTONOSUPPORT
44# undef ESOCKTNOSUPPORT
45# undef EOPNOTSUPP
46# undef EPFNOSUPPORT
47# undef EAFNOSUPPORT
48# undef EADDRINUSE
49# undef EADDRNOTAVAIL
50# undef ENETDOWN
51# undef ENETUNREACH
52# undef ENETRESET
53# undef ECONNABORTED
54# undef ECONNRESET
55# undef ENOBUFS
56# undef EISCONN
57# undef ENOTCONN
58# undef ESHUTDOWN
59# undef ETOOMANYREFS
60# undef ETIMEDOUT
61# undef ECONNREFUSED
62# undef ELOOP
63# undef ENAMETOOLONG
64# undef EHOSTDOWN
65# undef EHOSTUNREACH
66# undef ENOTEMPTY
67# undef EPROCLIM
68# undef EUSERS
69# undef EDQUOT
70# undef ESTALE
71# undef EREMOTE
72
73# undef EAGAIN
74#endif
75
76/* section disabled in WinSock2.h */
77#define EWOULDBLOCK WSAEWOULDBLOCK
78#define EINPROGRESS WSAEINPROGRESS
79#define EALREADY WSAEALREADY
80#define ENOTSOCK WSAENOTSOCK
81#define EDESTADDRREQ WSAEDESTADDRREQ
82#define EMSGSIZE WSAEMSGSIZE
83#define EPROTOTYPE WSAEPROTOTYPE
84#define ENOPROTOOPT WSAENOPROTOOPT
85#define EPROTONOSUPPORT WSAEPROTONOSUPPORT
86#define ESOCKTNOSUPPORT WSAESOCKTNOSUPPORT
87#define EOPNOTSUPP WSAEOPNOTSUPP
88#define EPFNOSUPPORT WSAEPFNOSUPPORT
89#define EAFNOSUPPORT WSAEAFNOSUPPORT
90#define EADDRINUSE WSAEADDRINUSE
91#define EADDRNOTAVAIL WSAEADDRNOTAVAIL
92#define ENETDOWN WSAENETDOWN
93#define ENETUNREACH WSAENETUNREACH
94#define ENETRESET WSAENETRESET
95#define ECONNABORTED WSAECONNABORTED
96#define ECONNRESET WSAECONNRESET
97#define ENOBUFS WSAENOBUFS
98#define EISCONN WSAEISCONN
99#define ENOTCONN WSAENOTCONN
100#define ESHUTDOWN WSAESHUTDOWN
101#define ETOOMANYREFS WSAETOOMANYREFS
102#define ETIMEDOUT WSAETIMEDOUT
103#define ECONNREFUSED WSAECONNREFUSED
104#define ELOOP WSAELOOP
105#define ENAMETOOLONG WSAENAMETOOLONG
106#define EHOSTDOWN WSAEHOSTDOWN
107#define EHOSTUNREACH WSAEHOSTUNREACH
108#define ENOTEMPTY WSAENOTEMPTY
109#define EPROCLIM WSAEPROCLIM
110#define EUSERS WSAEUSERS
111#define EDQUOT WSAEDQUOT
112#define ESTALE WSAESTALE
113#define EREMOTE WSAEREMOTE
114
115/* and an extra one */
116#define EAGAIN WSAEWOULDBLOCK
117
118#endif