ws2_32(6/8): Implement ws_sockaddr_u2ws for AF_IRDA (try 3)
Juan Lang
juan.lang at gmail.com
Tue Aug 11 14:22:37 CDT 2009
--Juan
-------------- next part --------------
From 33daa9a4e5d7463423d4d3dddd9d39ed2525f960 Mon Sep 17 00:00:00 2001
From: Juan Lang <juan.lang at gmail.com>
Date: Tue, 11 Aug 2009 12:19:16 -0700
Subject: [PATCH 6/8] Implement ws_sockaddr_u2ws for AF_IRDA
---
dlls/ws2_32/socket.c | 17 +++++++++++++++++
1 files changed, 17 insertions(+), 0 deletions(-)
diff --git a/dlls/ws2_32/socket.c b/dlls/ws2_32/socket.c
index 39bc1c8..7d408e0 100644
--- a/dlls/ws2_32/socket.c
+++ b/dlls/ws2_32/socket.c
@@ -1086,6 +1086,23 @@ static int ws_sockaddr_u2ws(const struct sockaddr* uaddr, struct WS_sockaddr* ws
}
break;
#endif
+#ifdef HAVE_IRDA
+ case AF_IRDA: {
+ const struct sockaddr_irda *uin = (const struct sockaddr_irda *)uaddr;
+ SOCKADDR_IRDA *win = (SOCKADDR_IRDA *)wsaddr;
+
+ if (*wsaddrlen < sizeof(SOCKADDR_IRDA))
+ return -1;
+ win->irdaAddressFamily = WS_AF_IRDA;
+ memcpy( win->irdaDeviceID, &uin->sir_addr, sizeof(win->irdaDeviceID) );
+ if (uin->sir_lsap_sel != LSAP_ANY)
+ sprintf( win->irdaServiceName, "LSAP-SEL%u", uin->sir_lsap_sel );
+ else
+ memcpy( win->irdaServiceName, uin->sir_name,
+ sizeof(win->irdaServiceName) );
+ return 0;
+ }
+#endif
case AF_INET6: {
const struct sockaddr_in6* uin6 = (const struct sockaddr_in6*)uaddr;
struct WS_sockaddr_in6_old* win6old = (struct WS_sockaddr_in6_old*)wsaddr;
--
1.6.3.2
More information about the wine-patches
mailing list