@samitouri / QOSamiQemu / commits / bb5223d0c1

bsd-user: Add target_to_host_sockaddr_in6 function

Add helper function to convert target IPv6 socket address structure to host format, handling all sockaddr_in6 fields including address, port, flow info, and scope ID. Signed-off-by: Stacey Son <sson@FreeBSD.org> Reviewed-by: Pierrick Bouvier <pierrick.bouvier@oss.qualcomm.com> Signed-off-by: Warner Losh <imp@bsdimp.com>

Stacey Son committed Mar 14, 2026 at 11:32 UTC bb5223d0c14e7ffe775569c10bb0973c65a6bef6
1 file changed +11
bsd-user/bsd-ioctl.c
+11
@@ -249,3 +249,14 @@ static abi_long do_ioctl_unsupported(__unused const IOCTLEntry *ie,
249 {
250 return -TARGET_ENXIO;
251 }
252 +
253 +static void target_to_host_sockaddr_in6(struct sockaddr_in6 *hsa_in6,
254 + struct target_sockaddr_in6 *tsa_in6)
255 +{
256 + __get_user(hsa_in6->sin6_len, &tsa_in6->sin6_len);
257 + __get_user(hsa_in6->sin6_family, &tsa_in6->sin6_family);
258 + __get_user(hsa_in6->sin6_port, &tsa_in6->sin6_port);
259 + __get_user(hsa_in6->sin6_flowinfo, &tsa_in6->sin6_flowinfo);
260 + memcpy(&hsa_in6->sin6_addr, &tsa_in6->sin6_addr, 16);
261 + __get_user(hsa_in6->sin6_scope_id, &tsa_in6->sin6_scope_id);
262 +}