| // 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 fuchsia.device.manager; |
| |
| using zx; |
| |
| /// Dumps text debug information. |
| /// |
| /// All methods dump ascii text into a VMO, this allows the caller the flexibility to decide |
| /// how much data they want. Use the returned `written` value to read the data, no string |
| /// termination is guaranteed. |
| @discoverable |
| @for_deprecated_c_bindings |
| protocol DebugDumper { |
| /// Print device tree into `output`, returns bytes `written` and bytes `available` to write. |
| DumpTree(resource struct { |
| output zx.handle:VMO; |
| }) -> (struct { |
| status zx.status; |
| written uint64; |
| available uint64; |
| }); |
| |
| /// Print information about all drivers into `output`, returns bytes `written` and bytes `available` to write. |
| DumpDrivers(resource struct { |
| output zx.handle:VMO; |
| }) -> (struct { |
| status zx.status; |
| written uint64; |
| available uint64; |
| }); |
| |
| /// Print all devices and their binding properties into `output`, returns bytes `written` |
| /// and bytes `available` to write. |
| DumpBindingProperties(resource struct { |
| output zx.handle:VMO; |
| }) -> (struct { |
| status zx.status; |
| written uint64; |
| available uint64; |
| }); |
| }; |