3 #include "platform_api.h"
6 #include "sockaddr_private.h"
14 SockAddr *SockAddr::new_from_sys(const SysAddr &sa)
16 switch(sa.addr.ss_family)
19 return new InetAddr(sa);
21 return new Inet6Addr(sa);
23 return new UnixAddr(sa);
25 throw invalid_argument("SockAddr::create");
29 SockAddr::SysAddr::SysAddr()
31 addr.ss_family = AF_UNSPEC;
35 int family_to_sys(Family f)
39 case UNSPEC: return AF_UNSPEC;
40 case INET: return AF_INET;
41 case INET6: return AF_INET6;
42 case UNIX: return AF_UNIX;
43 default: throw invalid_argument("family_to_sys");
47 Family family_from_sys(int f)
51 case AF_UNSPEC: return UNSPEC;
52 case AF_INET: return INET;
53 case AF_INET6: return INET6;
54 case AF_UNIX: return UNIX;
55 default: throw invalid_argument("family_from_sys");