diff options
| author | Daniel Beulshausen <dbeu@php.net> | 2001-05-17 17:02:37 +0000 |
|---|---|---|
| committer | Daniel Beulshausen <dbeu@php.net> | 2001-05-17 17:02:37 +0000 |
| commit | 9820c2a5af9d5a91da02f13a0f704ec4ada1ed15 (patch) | |
| tree | ea859777a486b8f8cd02b6f094b027435fff23de /ext/sockets/php_sockets_win.h | |
| parent | 5b12d6077e967ba2b3a215066ee9fd4c951f9517 (diff) | |
| download | php-git-9820c2a5af9d5a91da02f13a0f704ec4ada1ed15.tar.gz | |
update sockets to work with winsock as well
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 |
