blob: 49994655315f99f33bf9ee006c8891cab33b69a8 [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();
vmpstrbcdec0d2016-04-14 01:24:5222 WinsockLayeredServiceProvider(const WinsockLayeredServiceProvider& other);
thakis43ae9a22015-05-02 04:58:3923 ~WinsockLayeredServiceProvider();
24
25 base::string16 name;
26 base::string16 path;
[email protected]5490bb982010-09-14 13:40:5427 int version;
28 int chain_length;
29 int socket_type;
30 int socket_protocol;
31};
32typedef std::vector<WinsockLayeredServiceProvider>
33 WinsockLayeredServiceProviderList;
34
35// Returns all the Winsock namespace providers.
thakis43ae9a22015-05-02 04:58:3936void GetWinsockNamespaceProviders(WinsockNamespaceProviderList* namespace_list);
[email protected]5490bb982010-09-14 13:40:5437
38// Returns all the Winsock layered service providers and their paths.
39void GetWinsockLayeredServiceProviders(
40 WinsockLayeredServiceProviderList* service_list);
41
42#endif // CHROME_BROWSER_NET_SERVICE_PROVIDERS_WIN_H_