| 804 | } |
| 805 | |
| 806 | bool CService::SetSockAddr(const struct sockaddr *paddr, socklen_t addrlen) |
| 807 | { |
| 808 | switch (paddr->sa_family) { |
| 809 | case AF_INET: |
| 810 | if (addrlen != sizeof(struct sockaddr_in)) return false; |
| 811 | *this = CService(*(const struct sockaddr_in*)paddr); |
| 812 | return true; |
| 813 | case AF_INET6: |
| 814 | if (addrlen != sizeof(struct sockaddr_in6)) return false; |
| 815 | *this = CService(*(const struct sockaddr_in6*)paddr); |
| 816 | return true; |
| 817 | default: |
| 818 | return false; |
| 819 | } |
| 820 | } |
| 821 | |
| 822 | sa_family_t CService::GetSAFamily() const |
| 823 | { |