blob: 7ca1a8ca60fc9b4d8cfe15d1257340050cffc5b5 [file] [log] [blame]
[email protected]5490bb982010-09-14 13:40:541// 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_
[email protected]5490bb982010-09-14 13:40:547
8#include <vector>
9
thakis43ae9a22015-05-02 04:58:3910#include "base/strings/string16.h"
11
[email protected]5490bb982010-09-14 13:40:5412struct WinsockNamespaceProvider {
thakis43ae9a22015-05-02 04:58:3913 base::string16 name;
[email protected]5490bb982010-09-14 13:40:5414 int version;
15 bool active;
16 int type;
17};
18typedef std::vector<WinsockNamespaceProvider> WinsockNamespaceProviderList;
19
20struct WinsockLayeredServiceProvider {
thakis43ae9a22015-05-02 04:58:3921 WinsockLayeredServiceProvider();
22 ~WinsockLayeredServiceProvider();
23
24 base::string16 name;
25 base::string16 path;
[email protected]5490bb982010-09-14 13:40:5426 int version;
27 int chain_length;
28 int socket_type;
29 int socket_protocol;
30};
31typedef std::vector<WinsockLayeredServiceProvider>
32 WinsockLayeredServiceProviderList;
33
34// Returns all the Winsock namespace providers.
thakis43ae9a22015-05-02 04:58:3935void GetWinsockNamespaceProviders(WinsockNamespaceProviderList* namespace_list);
[email protected]5490bb982010-09-14 13:40:5436
37// Returns all the Winsock layered service providers and their paths.
38void GetWinsockLayeredServiceProviders(
39 WinsockLayeredServiceProviderList* service_list);
40
41#endif // CHROME_BROWSER_NET_SERVICE_PROVIDERS_WIN_H_