8 #if defined (_WIN32) && !defined (__CYGWIN__)
14 struct sockaddr_in addr;
16 _pipe[0] =
::socket( PF_INET, SOCK_DGRAM, 0 );
17 if (_pipe[0] == INVALID_SOCKET) {
21 memset( &addr, 0,
sizeof (
struct sockaddr_in) );
22 addr.sin_addr.s_addr = htonl( INADDR_ANY );
24 addr.sin_family = AF_INET;
25 retval = ::bind( _pipe[0], (sockaddr*) &addr,
sizeof (addr) );
31 socklen_t addrlen =
sizeof (addr);
32 retval = ::getsockname( _pipe[0], (sockaddr*) &addr, &addrlen );
38 _pipe[1] =
::socket( PF_INET, SOCK_DGRAM, 0 );
39 if (_pipe[1] == INVALID_SOCKET) {
44 retval = ::connect( _pipe[1], (sockaddr*) &addr, addrlen );
55 return ::send( _pipe[1], buf, size, 0 );
69 int ret = pipe( _pipe );
78 return ::write( _pipe[1], buf, size );
83 return ::read( _pipe[0], buf, size );