Module: wine Branch: master Commit: f166a9dfbd4fb9a4881444584f347c5a162480d0 URL: http://source.winehq.org/git/wine.git/?a=commit;h=f166a9dfbd4fb9a4881444584f...
Author: Juan Lang juan.lang@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;