blob: 5b4db03dfb1f3b59ea3df5f50ec1f97441107f5f [file] [log] [blame]
// Copyright 2019 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 ddk.protocol.composite;
using ddk.driver;
using zx;
[Layout = "ddk-protocol"]
protocol Composite {
/// Returns the number of fragments that can be returned by GetFragments().
GetFragmentCount() -> (uint32 count);
/// Returns a list of all of the fragments of this device, in the order
/// in which they were provided to device_add_composite(). The returned
/// devices must not be used after the composite device is unbound.
GetFragments() -> (vector<ddk.driver.CompositeDeviceFragment> fragment);
GetFragment(string:32 name) -> (bool found, ddk.driver.ZxDevice? fragment);
};