| 643 | } |
| 644 | |
| 645 | int sockaddr2endpoint(struct sockaddr_storage* ss, socklen_t size, EndPoint* point) { |
| 646 | if (ss->ss_family == AF_INET) { |
| 647 | *point = EndPoint(*(sockaddr_in*)ss); |
| 648 | return 0; |
| 649 | } |
| 650 | if (ExtendedEndPoint::create(ss, size, point)) { |
| 651 | return 0; |
| 652 | } |
| 653 | return -1; |
| 654 | } |
| 655 | |
| 656 | sa_family_t get_endpoint_type(const EndPoint& point) { |
| 657 | if (ExtendedEndPoint::is_extended(point)) { |