Juan Lang : ws2_32: Implement ws_sockaddr_u2ws for AF_IRDA.

Alexandre Julliard julliard at winehq.org
Thu Aug 13 10:41:40 CDT 2009


Module: wine
Branch: master
Commit: f166a9dfbd4fb9a4881444584f347c5a162480d0
URL:    http://source.winehq.org/git/wine.git/?a=commit;h=f166a9dfbd4fb9a4881444584f347c5a162480d0

Author: Juan Lang <juan.lang at gmail.com>
Date:   Wed Aug 12 09:15:05 2009 -0700

ws2_32: 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;




More information about the wine-cvs mailing list