MCPcopy Create free account
hub / github.com/LUX-Core/lux / GetSockAddr

Method GetSockAddr

src/netbase.cpp:1156–1183  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

1154}
1155
1156bool CService::GetSockAddr(struct sockaddr* paddr, socklen_t* addrlen) const
1157{
1158 if (IsIPv4()) {
1159 if (*addrlen < (socklen_t)sizeof(struct sockaddr_in))
1160 return false;
1161 *addrlen = sizeof(struct sockaddr_in);
1162 struct sockaddr_in* paddrin = (struct sockaddr_in*)paddr;
1163 memset(paddrin, 0, *addrlen);
1164 if (!GetInAddr(&paddrin->sin_addr))
1165 return false;
1166 paddrin->sin_family = AF_INET;
1167 paddrin->sin_port = htons(port);
1168 return true;
1169 }
1170 if (IsIPv6()) {
1171 if (*addrlen < (socklen_t)sizeof(struct sockaddr_in6))
1172 return false;
1173 *addrlen = sizeof(struct sockaddr_in6);
1174 struct sockaddr_in6* paddrin6 = (struct sockaddr_in6*)paddr;
1175 memset(paddrin6, 0, *addrlen);
1176 if (!GetIn6Addr(&paddrin6->sin6_addr))
1177 return false;
1178 paddrin6->sin6_family = AF_INET6;
1179 paddrin6->sin6_port = htons(port);
1180 return true;
1181 }
1182 return false;
1183}
1184
1185std::vector<unsigned char> CService::GetKey() const
1186{

Callers 3

ConnectSocketDirectlyFunction · 0.80
ToStringIPMethod · 0.80
BindListenPortFunction · 0.80

Calls

no outgoing calls

Tested by

no test coverage detected