blob: 28ebd2fed113017b521966eee75a39566974a6fa [file] [log] [blame]
// Copyright 2018 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#ifndef PLATFORM_API_NETWORK_INTERFACE_H_
#define PLATFORM_API_NETWORK_INTERFACE_H_
#include <vector>
#include "platform/base/interface_info.h"
namespace openscreen {
// Returns an InterfaceInfo for each currently active network interface on the
// system. No two entries in this vector can have the same NetworkInterfaceIndex
// value.
//
// This can return an empty vector if: 1) there are no active network
// interfaces, 2) an error occurred querying the system for them, or 3) Open
// Screen features that involve broadcast listening/publishing (e.g., mDNS
// discovery) are not being used.
std::vector<InterfaceInfo> GetNetworkInterfaces();
} // namespace openscreen
#endif // PLATFORM_API_NETWORK_INTERFACE_H_