Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(759)

Unified Diff: net/base/net_util.cc

Issue 236203018: win: Implement Bluetooth server. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: for #4 comments Created 6 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: net/base/net_util.cc
diff --git a/net/base/net_util.cc b/net/base/net_util.cc
index 106486df248e47db22675b669da71739ba546ba0..c5dd5733dcdc70ba45d2abfb35afe530a6d4104c 100644
--- a/net/base/net_util.cc
+++ b/net/base/net_util.cc
@@ -17,6 +17,7 @@
#include <windows.h>
#include <iphlpapi.h>
#include <winsock2.h>
+#include <ws2bth.h>
#pragma comment(lib, "iphlpapi.lib")
#elif defined(OS_POSIX)
#include <fcntl.h>
@@ -1188,13 +1189,27 @@ bool GetIPAddressFromSockAddr(const struct sockaddr* sock_addr,
return false;
const struct sockaddr_in6* addr =
reinterpret_cast<const struct sockaddr_in6*>(sock_addr);
- *address = reinterpret_cast<const unsigned char*>(&addr->sin6_addr);
+ *address = reinterpret_cast<const uint8*>(&addr->sin6_addr);
*address_len = kIPv6AddressSize;
if (port)
*port = base::NetToHost16(addr->sin6_port);
return true;
}
+#if defined(OS_WIN)
+ if (sock_addr->sa_family == AF_BTH) {
+ if (sock_addr_len < static_cast<socklen_t>(sizeof(SOCKADDR_BTH)))
+ return false;
+ const SOCKADDR_BTH* addr =
+ reinterpret_cast<const SOCKADDR_BTH*>(sock_addr);
+ *address = reinterpret_cast<const uint8*>(&addr->btAddr);
+ *address_len = kBthAddressSize;
+ if (port)
+ *port = addr->port;
+ return true;
+ }
+#endif
+
return false; // Unrecognized |sa_family|.
}

Powered by Google App Engine
This is Rietveld 408576698