// Copyright 2010 The Chromium Authors
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#ifndef CHROME_BROWSER_NET_SERVICE_PROVIDERS_WIN_H_
#define CHROME_BROWSER_NET_SERVICE_PROVIDERS_WIN_H_
#include <string>
#include <vector>
struct WinsockNamespaceProvider {
std::wstring name;
int version;
bool active;
int type;
};
using WinsockNamespaceProviderList = std::vector<WinsockNamespaceProvider>;
struct WinsockLayeredServiceProvider {
WinsockLayeredServiceProvider();
WinsockLayeredServiceProvider(const WinsockLayeredServiceProvider& other);
~WinsockLayeredServiceProvider();
std::wstring name;
std::wstring path;
int version;
int chain_length;
int socket_type;
int socket_protocol;
};
using WinsockLayeredServiceProviderList =
std::vector<WinsockLayeredServiceProvider>;
// Returns all the Winsock namespace providers.
void GetWinsockNamespaceProviders(WinsockNamespaceProviderList* namespace_list);
// Returns all the Winsock layered service providers and their paths.
void GetWinsockLayeredServiceProviders(
WinsockLayeredServiceProviderList* service_list);
#endif // CHROME_BROWSER_NET_SERVICE_PROVIDERS_WIN_H_