// Copyright 2018 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.hardware.usb.hub;

using zx;

@transport("Banjo")
@banjo_layout("ddk-interface")
closed protocol UsbHubInterface {
    /// Resets the specified port on the hub.
    strict ResetPort(struct {
        port uint32;
    }) -> (struct {
        s zx.Status;
    });
};
