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
10struct WinsockNamespaceProvider {
11  std::wstring name;
12  int version;
13  bool active;
14  int type;
15};
16typedef std::vector<WinsockNamespaceProvider> WinsockNamespaceProviderList;
17
18struct 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};
26typedef std::vector<WinsockLayeredServiceProvider>
27    WinsockLayeredServiceProviderList;
28
29// Returns all the Winsock namespace providers.
30void GetWinsockNamespaceProviders(
31    WinsockNamespaceProviderList* namespace_list);
32
33// Returns all the Winsock layered service providers and their paths.
34void GetWinsockLayeredServiceProviders(
35    WinsockLayeredServiceProviderList* service_list);
36
37#endif  // CHROME_BROWSER_NET_SERVICE_PROVIDERS_WIN_H_
38