00001
00012 #ifndef OPDIS_METADATA_H
00013 #define OPDIS_METADATA_H
00014
00015
00016
00017
00030 enum opdis_op_cat_t {
00031 opdis_op_cat_unknown,
00032 opdis_op_cat_register,
00033 opdis_op_cat_immediate,
00034 opdis_op_cat_absolute,
00035 opdis_op_cat_expr
00036 };
00037
00049 enum opdis_op_flag_t {
00050 opdis_op_flag_none = 0,
00051 opdis_op_flag_r = 1,
00052 opdis_op_flag_w = 2,
00053 opdis_op_flag_x = 4,
00054 opdis_op_flag_signed = 8,
00055 opdis_op_flag_address = 16,
00056 opdis_op_flag_indirect = 32
00057 };
00058
00070 enum opdis_reg_flag_t {
00071 opdis_reg_flag_unknown=0,
00072 opdis_reg_flag_gen=1,
00073 opdis_reg_flag_fpu=2,
00074 opdis_reg_flag_gpu=4,
00075 opdis_reg_flag_simd=8,
00076 opdis_reg_flag_task=16,
00077 opdis_reg_flag_mem=32,
00078 opdis_reg_flag_debug=64,
00079 opdis_reg_flag_pc=128,
00080 opdis_reg_flag_flags=256,
00081 opdis_reg_flag_stack=512,
00082 opdis_reg_flag_frame=1024,
00083 opdis_reg_flag_seg=2048,
00084 opdis_reg_flag_zero=4096,
00085 opdis_reg_flag_argsin=8192,
00086 opdis_reg_flag_argsout=16384,
00087 opdis_reg_flag_locals=32768,
00088 opdis_reg_flag_return=65536
00089 };
00090
00091
00092
00093
00103 enum opdis_insn_subset_t {
00104 opdis_insn_subset_gen,
00105 opdis_insn_subset_fpu,
00106 opdis_insn_subset_gpu,
00107 opdis_insn_subset_simd,
00108 opdis_insn_subset_vm
00109 };
00110
00124 enum opdis_insn_cat_t {
00125 opdis_insn_cat_unknown,
00126 opdis_insn_cat_cflow,
00127 opdis_insn_cat_stack,
00128 opdis_insn_cat_lost,
00129 opdis_insn_cat_test,
00130 opdis_insn_cat_math,
00131 opdis_insn_cat_bit,
00132 opdis_insn_cat_io,
00133 opdis_insn_cat_trap,
00134 opdis_insn_cat_priv,
00135 opdis_insn_cat_nop
00137 };
00138
00151 enum opdis_cflow_flag_t {
00152 opdis_cflow_flag_none=0,
00153 opdis_cflow_flag_call=1,
00154 opdis_cflow_flag_callcc=2,
00155 opdis_cflow_flag_jmp=4,
00156 opdis_cflow_flag_jmpcc=8,
00157 opdis_cflow_flag_ret=16
00158 };
00159
00172 enum opdis_stack_flag_t {
00173 opdis_stack_flag_none=0,
00174 opdis_stack_flag_push=1,
00175 opdis_stack_flag_pop=2,
00176 opdis_stack_flag_frame=4,
00177 opdis_stack_flag_unframe=8
00178 };
00179
00192 enum opdis_bit_flag_t {
00193 opdis_bit_flag_none=0,
00194 opdis_bit_flag_and=1,
00195 opdis_bit_flag_or=2,
00196 opdis_bit_flag_xor=4,
00197 opdis_bit_flag_not=8,
00198 opdis_bit_flag_lsl=16,
00199 opdis_bit_flag_lsr=32,
00200 opdis_bit_flag_asl=64,
00201 opdis_bit_flag_asr=128,
00202 opdis_bit_flag_rol=256,
00203 opdis_bit_flag_ror=512,
00204 opdis_bit_flag_rcl=1024,
00205 opdis_bit_flag_rcr=2048
00206 };
00207
00220 enum opdis_io_flag_t {
00221 opdis_io_flag_none=0,
00222 opdis_io_flag_in=1,
00223 opdis_io_flag_out=2
00224 };
00225
00226 #endif