OLD | NEW |
1 // Copyright (c) 2014 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2014 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #ifndef NET_BASE_NET_UTIL_LINUX_H_ | 5 #ifndef NET_BASE_NET_UTIL_LINUX_H_ |
6 #define NET_BASE_NET_UTIL_LINUX_H_ | 6 #define NET_BASE_NET_UTIL_LINUX_H_ |
7 | 7 |
8 // This file is only used to expose some of the internals | 8 // This file is only used to expose some of the internals |
9 // of net_util_linux.cc to tests. | 9 // of net_util_linux.cc to tests. |
10 | 10 |
| 11 #include <string> |
| 12 |
11 #include "base/containers/hash_tables.h" | 13 #include "base/containers/hash_tables.h" |
12 #include "net/base/address_tracker_linux.h" | 14 #include "net/base/address_tracker_linux.h" |
13 #include "net/base/net_util.h" | 15 #include "net/base/net_util.h" |
| 16 #include "net/base/network_change_notifier.h" |
14 | 17 |
15 namespace net { | 18 namespace net { |
16 namespace internal { | 19 namespace internal { |
17 | 20 |
18 typedef char* (*GetInterfaceNameFunction)(unsigned int interface_index, | 21 typedef char* (*GetInterfaceNameFunction)(unsigned int interface_index, |
19 char* ifname); | 22 char* ifname); |
20 | 23 |
| 24 // Returns the name for the interface with interface index |interface_index|. |
| 25 // |buf| should be a pointer to an array of size IFNAMSIZ. The returned pointer |
| 26 // will point to |buf|. This function acts like if_indextoname which cannot be |
| 27 // used as net/if.h cannot be mixed with linux/if.h. We'll stick with |
| 28 // exclusively talking to the kernel and not the C library. |
| 29 char* GetInterfaceName(unsigned int interface_index, char* buf); |
| 30 |
| 31 // Gets the connection type for interface |ifname| by checking for wireless |
| 32 // extensions. |
| 33 NetworkChangeNotifier::ConnectionType GetInterfaceConnectionType( |
| 34 const std::string& ifname); |
| 35 |
21 NET_EXPORT bool GetNetworkListImpl( | 36 NET_EXPORT bool GetNetworkListImpl( |
22 NetworkInterfaceList* networks, | 37 NetworkInterfaceList* networks, |
23 int policy, | 38 int policy, |
24 const base::hash_set<int>& online_links, | 39 const base::hash_set<int>& online_links, |
25 const internal::AddressTrackerLinux::AddressMap& address_map, | 40 const internal::AddressTrackerLinux::AddressMap& address_map, |
26 GetInterfaceNameFunction get_interface_name); | 41 GetInterfaceNameFunction get_interface_name); |
27 | 42 |
28 } // namespace internal | 43 } // namespace internal |
29 } // namespace net | 44 } // namespace net |
30 | 45 |
31 #endif // NET_BASE_NET_UTIL_LINUX_H_ | 46 #endif // NET_BASE_NET_UTIL_LINUX_H_ |
OLD | NEW |