/* $NetBSD: disassem.h,v 1.4 2001/03/04 04:15:58 matt Exp $ */12/*-3* SPDX-License-Identifier: BSD-4-Clause4*5* Copyright (c) 1997 Mark Brinicombe.6* Copyright (c) 1997 Causality Limited.7*8* All rights reserved.9*10* Redistribution and use in source and binary forms, with or without11* modification, are permitted provided that the following conditions12* are met:13* 1. Redistributions of source code must retain the above copyright14* notice, this list of conditions and the following disclaimer.15* 2. Redistributions in binary form must reproduce the above copyright16* notice, this list of conditions and the following disclaimer in the17* documentation and/or other materials provided with the distribution.18* 3. All advertising materials mentioning features or use of this software19* must display the following acknowledgement:20* This product includes software developed by Mark Brinicombe.21* 4. The name of the company nor the name of the author may be used to22* endorse or promote products derived from this software without specific23* prior written permission.24*25* THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED26* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF27* MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.28* IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT,29* INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES30* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR31* SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)32* HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT33* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY34* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF35* SUCH DAMAGE.36*37* Define the interface structure required by the disassembler.38*/3940#ifndef _MACHINE_DISASSEM_H_41#define _MACHINE_DISASSEM_H_42typedef struct {43u_int (*di_readword)(u_int);44void (*di_printaddr)(u_int);45int (*di_printf)(const char *, ...) __printflike(1, 2);46} disasm_interface_t;4748/* Prototypes for callable functions */4950vm_offset_t disasm(const disasm_interface_t *, vm_offset_t, int);51void disassemble(u_int);5253#endif /* !_MACHINE_DISASSEM_H_ */545556