| // Copyright 2017 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. |
| |
| #pragma once |
| |
| #include <zircon/compiler.h> |
| #include <zircon/types.h> |
| #include <zircon/driver/binding.h> |
| |
| __BEGIN_CDECLS; |
| |
| zx_status_t di_read_driver_info(int fd, void *cookie, |
| void (*func)( |
| zircon_driver_note_payload_t* note, |
| const zx_bind_inst_t* binding, |
| void *cookie)); |
| |
| // Lookup the human readable name of a bind program parameter, or return NULL if |
| // the name is not known. Used by debug code to do things like dump the |
| // published parameters of a device, or dump the bind program of a driver. |
| const char* di_bind_param_name(uint32_t param_num); |
| |
| // Disassemble a bind program instruction and dump it to the buffer provided by |
| // the caller. If the buffer is too small, the disassembly may be truncated. |
| void di_dump_bind_inst(const zx_bind_inst_t* b, char* buf, size_t buf_len); |
| |
| __END_CDECLS; |