| 258 | } |
| 259 | |
| 260 | int getsockname(int sockfd, struct sockaddr *addr, socklen_t *addrlen) FL_NOEXCEPT { |
| 261 | SOCKET sock = static_cast<SOCKET>(sockfd); |
| 262 | int len = addrlen ? static_cast<int>(*addrlen) : 0; |
| 263 | int result = ::getsockname(sock, reinterpret_cast<::sockaddr*>(addr), &len); // ok reinterpret cast |
| 264 | if (addrlen) *addrlen = static_cast<socklen_t>(len); |
| 265 | return (result == SOCKET_ERROR) ? -1 : 0; |
| 266 | } |
| 267 | |
| 268 | // Address Resolution (simplified - Windows has these functions) |
| 269 | int inet_pton(int af, const char *src, void *dst) FL_NOEXCEPT { |