| // Copyright 2021 The Fuchsia Authors. All rights reserved. |
| // Use of this source code is governed by a BSD-style license that can be |
| // found in the LICENSE file. |
| |
| library fuchsia.net.debug; |
| |
| using fuchsia.net; |
| using fuchsia.hardware.network; |
| |
| /// Network interface debugging functionality. |
| /// |
| /// This protocol is intended for debugging and testing only; and not meant for |
| /// load-bearing code. |
| @discoverable |
| closed protocol Interfaces { |
| /// Provides access to the port backing an interface. |
| /// |
| /// `port` is closed with `ZX_ERR_NOT_FOUND` if an interface referenced by |
| /// `id` does not exist or `ZX_ERR_NOT_SUPPORTED` if it is not backed by a |
| /// [`fuchsia.hardware.network/Port`]. |
| /// |
| /// + request `id` identifies the interface whose port is granted. |
| /// + request `port` grants access to the interface's device port. |
| strict GetPort(resource struct { |
| id fuchsia.net.InterfaceId; |
| port server_end:fuchsia.hardware.network.Port; |
| }); |
| }; |