feature_tests.h: always use largefile interfaces
[unleashed.git] / usr / src / lib / libdisasm / common / dis_sparc.h
blobb11eea85939702ca79c5bf09e1f374297a0bbfbc
1 /*
2 * CDDL HEADER START
4 * The contents of this file are subject to the terms of the
5 * Common Development and Distribution License (the "License").
6 * You may not use this file except in compliance with the License.
8 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
9 * or http://www.opensolaris.org/os/licensing.
10 * See the License for the specific language governing permissions
11 * and limitations under the License.
13 * When distributing Covered Code, include this CDDL HEADER in each
14 * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
15 * If applicable, add the following below this CDDL HEADER, with the
16 * fields enclosed by brackets "[]" replaced with your own identifying
17 * information: Portions Copyright [yyyy] [name of copyright owner]
19 * CDDL HEADER END
23 * Copyright 2007 Sun Microsystems, Inc. All rights reserved.
24 * Use is subject to license terms.
28 * Copyright 2007 Jason King. All rights reserved.
29 * Use is subject to license terms.
33 #ifndef _DIS_SPARC_H
34 #define _DIS_SPARC_H
36 #ifdef __cplusplus
37 extern "C" {
38 #endif
40 #include <sys/types.h>
42 #define DIS_DEBUG_NONE 0x00L
43 #define DIS_DEBUG_COMPAT 0x01L
44 #define DIS_DEBUG_SYN_ALL 0x02L
45 #define DIS_DEBUG_PRTBIN 0x04L
46 #define DIS_DEBUG_PRTFMT 0x08L
48 #define DIS_DEBUG_ALL DIS_DEBUG_SYN_ALL|DIS_DEBUG_PRTBIN|DIS_DEBUG_PRTFMT
50 typedef struct dis_handle_sparc {
51 char *dhx_buf;
52 size_t dhx_buflen;
53 int dhx_debug;
54 } dis_handle_sparc_t;
56 /* different types of things we can have in inst_t */
57 #define INST_NONE 0x00
58 #define INST_DEF 0x01
59 #define INST_TBL 0x02
61 struct inst;
62 struct overlay;
64 typedef struct inst inst_t;
65 typedef struct overlay overlay_t;
67 typedef int (*format_fcn)(dis_handle_t *, uint32_t, const inst_t *, int);
69 typedef struct table {
70 const struct inst *tbl_inp;
71 const struct overlay *tbl_ovp;
72 format_fcn tbl_fmt;
73 uint32_t tbl_field;
74 uint32_t tbl_len;
75 } table_t;
77 struct inst {
78 int in_type;
79 int in_arch;
80 union {
81 struct {
82 const char *in_name;
83 uint32_t in_flags;
84 } in_def;
85 const table_t *in_tbl;
86 } in_data;
89 struct overlay {
90 int ov_idx;
91 inst_t ov_inst;
94 extern const table_t initial_table;
96 void prt_binary(uint32_t, int);
97 #ifdef __cplusplus
99 #endif
101 #endif /* _DIS_SPARC_H */