Annotation of sys/arch/arm/arm/disassem.h, Revision 1.1.1.1
1.1 nbrk 1: /* $OpenBSD: disassem.h,v 1.1 2004/02/01 05:09:48 drahn Exp $ */
2: /* $NetBSD: disassem.h,v 1.4 2001/03/04 04:15:58 matt Exp $ */
3:
4: /*
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 without
11: * modification, are permitted provided that the following conditions
12: * are met:
13: * 1. Redistributions of source code must retain the above copyright
14: * notice, this list of conditions and the following disclaimer.
15: * 2. Redistributions in binary form must reproduce the above copyright
16: * notice, this list of conditions and the following disclaimer in the
17: * documentation and/or other materials provided with the distribution.
18: * 3. All advertising materials mentioning features or use of this software
19: * 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 to
22: * endorse or promote products derived from this software without specific
23: * prior written permission.
24: *
25: * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED
26: * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
27: * 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 DAMAGES
30: * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
31: * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
32: * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
33: * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
34: * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
35: * SUCH DAMAGE.
36: *
37: * Define the interface structure required by the disassembler.
38: */
39:
40: typedef struct {
41: db_expr_t (*di_readword)(db_expr_t);
42: void (*di_printaddr)(db_expr_t);
43: int (*di_printf)(const char *, ...);
44: } disasm_interface_t;
45:
46: /* Prototypes for callable functions */
47:
48: vaddr_t disasm(const disasm_interface_t *, vaddr_t, int);
49: void disassemble(u_int);
CVSweb