diff options
Diffstat (limited to 'ext/sockets/php_sockets_win.h')
-rw-r--r-- | ext/sockets/php_sockets_win.h | 83 |
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 |