15 # include <ws2tcpip.h>
17 # include <sys/errno.h>
31 if (sb_ == 0 || sb_ ==
m_rdbuf) {
48 m_fd = ::socket(domain_, SOCK_STREAM, 0);
56 DL ((
SOCK,
"domain = %d, m_fd = %d\n", domain_,
m_fd));
107 if (e == EINPROGRESS || e == EWOULDBLOCK) {
108 DL((
SOCK,
"FD: %d OS::connect() error\n",
m_fd));
111 EL((
SOCK,
"FD: %d OS::connect() error\n",
m_fd));
118 DL((
SOCK,
"Connection opened on FD: %d\n",
m_fd));
134 m_path =
new char[strlen(p)+1];
138 if (stat (
m_path, &sb) == 0) {
139 if ( S_ISSOCK(sb.st_mode) || S_ISFIFO(sb.st_mode) ) {
181 socklen_t length = 0;
182 SA* remote_address = NULL;
188 length =
sizeof(
struct sockaddr_in);
189 remote_address = (
SA*)
new SA_IN;
193 remote_address = (
SA*)
new SA_UN;
194 length =
sizeof(
struct sockaddr_un);
196 memset(remote_address, 0, length);
198 #if !defined (_CYGWIN32__)
205 EL((
ASSAERR,
"::accept() failed (new_fd=%d)\n", new_fd));
209 if (length ==
sizeof(
SA_IN)) {
212 DL((
SOCK,
"Accepted new TCP connection from Addr %s, port %d\n",
213 inet_ntoa(sa_in->sin_addr), ntohs( sa_in->sin_port)));
218 DL((
SOCK,
"Accepted new UNIX connection from %s\n", sa_un->sun_path));
221 delete remote_address;
231 read (
char* packet_,
const unsigned int size_)
236 register int sz = size_;
274 if ((size_ - sz) == 0)
276 DL((
SOCK,
"Peer has dropped connection FD: %d\n",
m_fd));
294 write(
const char* packet_,
const unsigned int size_)
307 char* p = (
char*) packet_;
321 DL((
SOCK,
"<= FD: %d Wrote %d bytes (requested %d bytes)\n",
332 const char self[] =
"IPv4Socket::clone";
338 DL((
SOCK,
"Original socket has %d bytes in its get_area\n",