diff options
author | Kalle Sommer Nielsen <kalle@php.net> | 2009-01-23 15:48:58 +0000 |
---|---|---|
committer | Kalle Sommer Nielsen <kalle@php.net> | 2009-01-23 15:48:58 +0000 |
commit | 6776d26fdcfd53479bb479e0211303337cd5c324 (patch) | |
tree | 064407b8110f9b9961af2ec1447b8458d9ad7426 /ext/sockets/php_sockets_win.c | |
parent | 8a81441f6a2858859f065ab7252e6e017e797e04 (diff) | |
download | php-git-6776d26fdcfd53479bb479e0211303337cd5c324.tar.gz |
Windows support for stream_socket_pair(), by moving the socketpair() implementation from ext/sockets to win32/
Diffstat (limited to 'ext/sockets/php_sockets_win.c')
-rw-r--r-- | ext/sockets/php_sockets_win.c | 75 |
1 files changed, 0 insertions, 75 deletions
diff --git a/ext/sockets/php_sockets_win.c b/ext/sockets/php_sockets_win.c deleted file mode 100644 index 809b79c557..0000000000 --- a/ext/sockets/php_sockets_win.c +++ /dev/null @@ -1,75 +0,0 @@ -/* - +----------------------------------------------------------------------+ - | PHP Version 5 | - +----------------------------------------------------------------------+ - | Copyright (c) 1997-2009 The PHP Group | - +----------------------------------------------------------------------+ - | This source file is subject to version 3.01 of the PHP license, | - | that is bundled with this package in the file LICENSE, and is | - | available through the world-wide-web at the following url: | - | http://www.php.net/license/3_01.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> | - +----------------------------------------------------------------------+ - */ - -/* $Id$ */ - - -#ifdef PHP_WIN32 - -#include <stdio.h> -#include <fcntl.h> - -#include "php.h" -#include "php_sockets.h" -#include "php_sockets_win.h" - -int socketpair(int domain, int type, int protocol, SOCKET sock[2]) { - struct sockaddr_in address; - SOCKET redirect; - int size = sizeof(address); - - if(domain != AF_INET) { - set_errno(WSAENOPROTOOPT); - return -1; - } - - - sock[0] = socket(domain, type, protocol); - address.sin_addr.s_addr = INADDR_ANY; - address.sin_family = AF_INET; - address.sin_port = 0; - - bind(sock[0], (struct sockaddr*)&address, sizeof(address)); - if(getsockname(sock[0], (struct sockaddr *)&address, &size) != 0) { - - } - - listen(sock[0], 2); - sock[1] = socket(domain, type, protocol); - address.sin_addr.s_addr = htonl(INADDR_LOOPBACK); - - connect(sock[1], (struct sockaddr*)&address, sizeof(address)); - redirect = accept(sock[0],(struct sockaddr*)&address, &size); - - close(sock[0]); - sock[0] = redirect; - - if(sock[0] == INVALID_SOCKET ) { - close(sock[0]); - close(sock[1]); - set_errno(WSAECONNABORTED); - return -1; - } - - return 0; -} - -#endif |