summaryrefslogtreecommitdiff
path: root/ext/sockets/php_sockets_win.h
diff options
context:
space:
mode:
Diffstat (limited to 'ext/sockets/php_sockets_win.h')
-rw-r--r--ext/sockets/php_sockets_win.h83
1 files changed, 83 insertions, 0 deletions
diff --git a/ext/sockets/php_sockets_win.h b/ext/sockets/php_sockets_win.h
new file mode 100644
index 0000000000..cbb225b911
--- /dev/null
+++ b/ext/sockets/php_sockets_win.h
@@ -0,0 +1,83 @@
+/*
+ +----------------------------------------------------------------------+
+ | PHP version 4.0 |
+ +----------------------------------------------------------------------+
+ | Copyright (c) 1997, 1998, 1999, 2000 The PHP Group |
+ +----------------------------------------------------------------------+
+ | This source file is subject to version 2.02 of the PHP license, |
+ | that is bundled with this package in the file LICENSE, and is |
+ | available at through the world-wide-web at |
+ | http://www.php.net/license/2_02.txt. |
+ | If you did not receive a copy of the PHP license and are unable to |
+ | obtain it through the world-wide-web, please send a note to |
+ | license@php.net so we can mail you a copy immediately. |
+ +----------------------------------------------------------------------+
+ | Authors: Chris Vandomelen <chrisv@b0rked.dhs.org> |
+ | Sterling Hughes <sterling@php.net> |
+ | |
+ | WinSock: Daniel Beulshausen <daniel@php4win.de> |
+ +----------------------------------------------------------------------+
+ */
+
+#ifdef PHP_WIN32
+
+#define F_SETFL 0
+#define F_GETFL 1
+#define F_SETFD 2
+#define F_GETFD 3
+
+#define O_NONBLOCK FIONBIO
+
+#define EPROTONOSUPPORT WSAEPROTONOSUPPORT
+#define ECONNRESET WSAECONNRESET
+
+#ifdef errno
+#undef errno
+#endif
+
+#define errno WSAGetLastError()
+#define h_errno WSAGetLastError()
+#define set_errno(a) WSASetLastError(a)
+#define set_h_errno(a) WSASetLastError(a)
+#define close(a) closesocket(a)
+#define CMSG_DATA(cmsg) ((cmsg)->cmsg_data)
+#define IS_INVALID_SOCKET(a) (a->socket == INVALID_SOCKET)
+
+typedef long ssize_t;
+
+struct sockaddr_un {
+ short sun_family;
+ char sun_path[108];
+};
+
+struct iovec {
+ char * iov_base;
+ int iov_len;
+};
+
+struct msghdr {
+ void* msg_name;
+ socklen_t msg_namelen;
+ struct iovec* msg_iov;
+ int msg_iovlen;
+ void* msg_control;
+ socklen_t msg_controllen;
+ int msg_flags;
+};
+
+struct cmsghdr {
+ socklen_t cmsg_len;
+ int cmsg_level;
+ int cmsg_type;
+ unsigned char cmsg_data[];
+};
+
+ssize_t readv(SOCKET sock, const struct iovec *iov, int iovcnt);
+ssize_t writev(SOCKET sock, const struct iovec *iov, int iovcnt);
+ssize_t recvmsg(SOCKET sock, struct msghdr *msg, int flags);
+ssize_t sendmsg(SOCKET sock, struct msghdr *msg, int flags);
+int socketpair(int domain, int type, int protocol, SOCKET sock[2]);
+int inet_aton(const char *cp, struct in_addr *inp);
+int fcntl(int fd, int cmd, ...);
+
+#endif