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#pragma once
8
9#include <vector>
10
11class Value;
12
13struct WinsockNamespaceProvider {
14  std::wstring name;
15  int version;
16  bool active;
17  int type;
18};
19typedef std::vector<WinsockNamespaceProvider> WinsockNamespaceProviderList;
20
21struct WinsockLayeredServiceProvider {
22  std::wstring name;
23  std::wstring path;
24  int version;
25  int chain_length;
26  int socket_type;
27  int socket_protocol;
28};
29typedef std::vector<WinsockLayeredServiceProvider>
30    WinsockLayeredServiceProviderList;
31
32// Returns all the Winsock namespace providers.
33void GetWinsockNamespaceProviders(
34    WinsockNamespaceProviderList* namespace_list);
35
36// Returns all the Winsock layered service providers and their paths.
37void GetWinsockLayeredServiceProviders(
38    WinsockLayeredServiceProviderList* service_list);
39
40#endif  // CHROME_BROWSER_NET_SERVICE_PROVIDERS_WIN_H_
41
42