X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/9a7e4a56b699e5072e6f3cab3fec0794e50e274d..164f091f4bb7bfd23c1f7af516327207c2193482:/src/unix/gsocket.cpp?ds=inline diff --git a/src/unix/gsocket.cpp b/src/unix/gsocket.cpp index 5225353a7d..f857c3c176 100644 --- a/src/unix/gsocket.cpp +++ b/src/unix/gsocket.cpp @@ -87,6 +87,10 @@ int _System bsdselect(int, int _System soclose(int); # endif #endif +#ifdef __EMX__ +#include +#endif + #include #include #include @@ -113,6 +117,12 @@ int _System soclose(int); # endif #endif +#else + /* undefine for OSX - its really an int */ +# ifdef __DARWIN__ +# undef SOCKLEN_T +# define SOCKLEN_T int +# endif #endif /* SOCKLEN_T */ /* @@ -164,7 +174,7 @@ int _System soclose(int); /* Table of GUI-related functions. We must call them indirectly because * of wxBase and GUI separation: */ -static struct GSocketGUIFunctionsTable *gs_gui_functions; +static GSocketGUIFunctionsTable *gs_gui_functions; class GSocketGUIFunctionsTableNull: public GSocketGUIFunctionsTable { @@ -200,7 +210,7 @@ void GSocketGUIFunctionsTableNull::Disable_Events(GSocket *socket) {} /* Global initialisers */ -void GSocket_SetGUIFunctions(struct GSocketGUIFunctionsTable *guifunc) +void GSocket_SetGUIFunctions(GSocketGUIFunctionsTable *guifunc) { gs_gui_functions = guifunc; } @@ -209,7 +219,7 @@ int GSocket_Init(void) { if (!gs_gui_functions) { - static class GSocketGUIFunctionsTableNull table; + static GSocketGUIFunctionsTableNull table; gs_gui_functions = &table; } if ( !gs_gui_functions->OnInit() ) @@ -240,13 +250,14 @@ GSocket::GSocket() m_local = NULL; m_peer = NULL; m_error = GSOCK_NOERROR; - m_server = FALSE; - m_stream = TRUE; + m_server = false; + m_stream = true; m_gui_dependent = NULL; - m_non_blocking = FALSE; + m_non_blocking = false; + m_reusable = false; m_timeout = 10*60*1000; /* 10 minutes * 60 sec * 1000 millisec */ - m_establishing = FALSE; + m_establishing = false; assert(gs_gui_functions); /* Per-socket GUI-specific initialization */ @@ -456,8 +467,8 @@ GSocketError GSocket::SetServer() } /* Initialize all fields */ - m_stream = TRUE; - m_server = TRUE; + m_stream = true; + m_server = true; /* Create the socket */ m_fd = socket(m_local->m_realfamily, SOCK_STREAM, 0); @@ -561,8 +572,8 @@ GSocket *GSocket::WaitConnection() } /* Initialize all fields */ - connection->m_server = FALSE; - connection->m_stream = TRUE; + connection->m_server = false; + connection->m_stream = true; /* Setup the peer address field */ connection->m_peer = GAddress_new(); @@ -590,14 +601,14 @@ GSocket *GSocket::WaitConnection() return connection; } -int GSocket::SetReusable() +bool GSocket::SetReusable() { /* socket must not be null, and must not be in use/already bound */ if (this && m_fd == INVALID_SOCKET) { - m_reusable = TRUE; - return TRUE; + m_reusable = true; + return true; } - return FALSE; + return false; } /* Client specific parts */ @@ -649,8 +660,8 @@ GSocketError GSocket::Connect(GSocketStream stream) /* Streamed or dgram socket? */ m_stream = (stream == GSOCK_STREAMED); - m_server = FALSE; - m_establishing = FALSE; + m_server = false; + m_establishing = false; /* Create the socket */ m_fd = socket(m_peer->m_realfamily, @@ -708,7 +719,7 @@ GSocketError GSocket::Connect(GSocketStream stream) */ if ((err == EINPROGRESS) && (m_non_blocking)) { - m_establishing = TRUE; + m_establishing = true; m_error = GSOCK_WOULDBLOCK; return GSOCK_WOULDBLOCK; } @@ -756,8 +767,8 @@ GSocketError GSocket::SetNonOriented() } /* Initialize all fields */ - m_stream = FALSE; - m_server = FALSE; + m_stream = false; + m_server = false; /* Create the socket */ m_fd = socket(m_local->m_realfamily, SOCK_DGRAM, 0); @@ -913,7 +924,7 @@ GSocketEventFlags GSocket::Select(GSocketEventFlags flags) /* Do not use a static struct, Linux can garble it */ tv.tv_sec = m_timeout / 1000; - tv.tv_usec = (m_timeout % 1000) / 1000; + tv.tv_usec = (m_timeout % 1000) * 1000; FD_ZERO(&readfds); FD_ZERO(&writefds); @@ -931,7 +942,7 @@ GSocketEventFlags GSocket::Select(GSocketEventFlags flags) */ if ((m_detected & GSOCK_LOST_FLAG) != 0) { - m_establishing = FALSE; + m_establishing = false; return (GSOCK_LOST_FLAG & flags); } @@ -962,7 +973,7 @@ GSocketEventFlags GSocket::Select(GSocketEventFlags flags) else { m_detected = GSOCK_LOST_FLAG; - m_establishing = FALSE; + m_establishing = false; /* LOST event: Abort any further processing */ return (GSOCK_LOST_FLAG & flags); @@ -978,7 +989,7 @@ GSocketEventFlags GSocket::Select(GSocketEventFlags flags) int error; SOCKLEN_T len = sizeof(error); - m_establishing = FALSE; + m_establishing = false; getsockopt(m_fd, SOL_SOCKET, SO_ERROR, (void*)&error, &len); @@ -1004,7 +1015,7 @@ GSocketEventFlags GSocket::Select(GSocketEventFlags flags) /* Check for exceptions and errors (is this useful in Unices?) */ if (FD_ISSET(m_fd, &exceptfds)) { - m_establishing = FALSE; + m_establishing = false; m_detected = GSOCK_LOST_FLAG; /* LOST event: Abort any further processing */ @@ -1029,7 +1040,7 @@ GSocketEventFlags GSocket::Select(GSocketEventFlags flags) * Sets the socket to non-blocking mode. All IO calls will return * immediately. */ -void GSocket::SetNonBlocking(int non_block) +void GSocket::SetNonBlocking(bool non_block) { assert(this); @@ -1356,7 +1367,7 @@ void GSocket::Detected_Read() */ if ((m_detected & GSOCK_LOST_FLAG) != 0) { - m_establishing = FALSE; + m_establishing = false; CALL_CALLBACK(this, GSOCK_LOST); Shutdown(); @@ -1388,7 +1399,7 @@ void GSocket::Detected_Write() */ if ((m_detected & GSOCK_LOST_FLAG) != 0) { - m_establishing = FALSE; + m_establishing = false; CALL_CALLBACK(this, GSOCK_LOST); Shutdown(); @@ -1400,7 +1411,7 @@ void GSocket::Detected_Write() int error; SOCKLEN_T len = sizeof(error); - m_establishing = FALSE; + m_establishing = false; getsockopt(m_fd, SOL_SOCKET, SO_ERROR, (void*)&error, &len);