1 // Copyright (c) 2010 The Chromium Authors. All rights reserved. 2 // Use of this source code is governed by a BSD-style license that can be 3 // found in the LICENSE file. 4 5 #ifndef CHROME_BROWSER_NET_SERVICE_PROVIDERS_WIN_H_ 6 #define CHROME_BROWSER_NET_SERVICE_PROVIDERS_WIN_H_ 7 8 #include <vector> 9 10 struct WinsockNamespaceProvider { 11 std::wstring name; 12 int version; 13 bool active; 14 int type; 15 }; 16 typedef std::vector<WinsockNamespaceProvider> WinsockNamespaceProviderList; 17 18 struct WinsockLayeredServiceProvider { 19 std::wstring name; 20 std::wstring path; 21 int version; 22 int chain_length; 23 int socket_type; 24 int socket_protocol; 25 }; 26 typedef std::vector<WinsockLayeredServiceProvider> 27 WinsockLayeredServiceProviderList; 28 29 // Returns all the Winsock namespace providers. 30 void GetWinsockNamespaceProviders( 31 WinsockNamespaceProviderList* namespace_list); 32 33 // Returns all the Winsock layered service providers and their paths. 34 void GetWinsockLayeredServiceProviders( 35 WinsockLayeredServiceProviderList* service_list); 36 37 #endif // CHROME_BROWSER_NET_SERVICE_PROVIDERS_WIN_H_ 38