| 20 | #include "Internal/SocketServer.inl" |
| 21 | |
| 22 | SC::Result SC::SocketDescriptor::getAddressFamily(SocketFlags::AddressFamily& addressFamily) const |
| 23 | { |
| 24 | struct sockaddr_in6 socketInfo; |
| 25 | |
| 26 | socklen_t socketInfoLen = sizeof(socketInfo); |
| 27 | if (::getsockname(handle, reinterpret_cast<struct sockaddr*>(&socketInfo), &socketInfoLen) == SOCKET_ERROR) |
| 28 | { |
| 29 | return Result::Error("getsockname failed"); |
| 30 | } |
| 31 | addressFamily = SocketFlags::AddressFamilyFromInt(socketInfo.sin6_family); |
| 32 | return Result(true); |
| 33 | } |