getsockname(priv->handle, reinterpret_cast<sockaddr *>(&sa.addr), &sa.size);
local_addr = SockAddr::new_from_sys(sa);
getsockname(priv->handle, reinterpret_cast<sockaddr *>(&sa.addr), &sa.size);
local_addr = SockAddr::new_from_sys(sa);
*priv->event = CreateEvent(0, false, false, 0);
#else
*priv->event = priv->handle;
*priv->event = CreateEvent(0, false, false, 0);
#else
*priv->event = priv->handle;
*priv->event = CreateEvent(0, false, false, 0);
#else
*priv->event = priv->handle;
*priv->event = CreateEvent(0, false, false, 0);
#else
*priv->event = priv->handle;
timeval tv = Time::rawtime_to_timeval(timeout.raw());
priv->set_option(SOL_SOCKET, SO_RCVTIMEO, &tv, sizeof(timeval));
priv->set_option(SOL_SOCKET, SO_SNDTIMEO, &tv, sizeof(timeval));
timeval tv = Time::rawtime_to_timeval(timeout.raw());
priv->set_option(SOL_SOCKET, SO_RCVTIMEO, &tv, sizeof(timeval));
priv->set_option(SOL_SOCKET, SO_SNDTIMEO, &tv, sizeof(timeval));
int Socket::Private::set_option(int level, int optname, const void *optval, socklen_t optlen)
{
int Socket::Private::set_option(int level, int optname, const void *optval, socklen_t optlen)
{
return setsockopt(handle, level, optname, reinterpret_cast<const char *>(optval), optlen);
#else
return setsockopt(handle, level, optname, optval, optlen);
return setsockopt(handle, level, optname, reinterpret_cast<const char *>(optval), optlen);
#else
return setsockopt(handle, level, optname, optval, optlen);
int Socket::Private::get_option(int level, int optname, void *optval, socklen_t *optlen)
{
int Socket::Private::get_option(int level, int optname, void *optval, socklen_t *optlen)
{
return getsockopt(handle, level, optname, reinterpret_cast<char *>(optval), optlen);
#else
return getsockopt(handle, level, optname, optval, optlen);
return getsockopt(handle, level, optname, reinterpret_cast<char *>(optval), optlen);
#else
return getsockopt(handle, level, optname, optval, optlen);