arch

arch

Functions

#define AO_0
#define AO_1()
#define AO_2()
#define AO_3()
#define AO_4()
#define AO_5()
#define AO_GET_FLAGS()
#define AO_GET_OFFSET()
#define AO_GET_DSIZE()
#define AO_GET_RSIZE()
#define AO_GET_SIZE()
#define AO_GET_TYPE()
#define AO_GET_VALUE()
#define AO_CONSTANT()
#define AO_IMMEDIATE()
#define AO_REGISTER()
#define AO_DREGISTER()
#define AO_DREGISTER2()
char const * (*get_filename) ()
AsmFunction * (*get_function_by_id) ()
AsmArchPrefix const * (*get_prefix_by_opcode) ()
AsmArchInstruction const * (*get_instruction_by_opcode) ()
AsmArchRegister const * (*get_register_by_id_size) ()
AsmArchRegister const * (*get_register_by_name_size) ()
AsmString * (*get_string_by_id) ()
ssize_t (*write) ()
ssize_t (*peek) ()
ssize_t (*read) ()
off_t (*seek) ()
AsmArchPlugin * (*init) ()
void (*destroy) ()
int (*encode) ()
int (*decode) ()

Types and Values

enum AsmArchEndian
enum AsmArchOperandType
#define AOD_FLAGS
#define AOD_OFFSET
#define AOD_SIZE
#define AOD_TYPE
#define AOD_VALUE
#define AOM_TYPE
#define AOM_FLAGS
#define AOM_OFFSET
#define AOM_SIZE
#define AOM_VALUE
#define AOF_IMPLICIT
#define AOF_SIGNED
#define AOI_REFERS_STRING
#define AOI_REFERS_FUNCTION
#define ARO_COUNT
#define ARF_ALIAS
  AsmArch
  AsmArchPlugin

Description

Functions

AO_0

# define AO_0()		AOT_NONE, AOT_NONE, AOT_NONE, AOT_NONE, AOT_NONE

AO_1()

# define AO_1(op1) op1, AOT_NONE, AOT_NONE, AOT_NONE, AOT_NONE

AO_2()

# define AO_2(op1, op2) op1, op2, AOT_NONE, AOT_NONE, AOT_NONE

AO_3()

#define             AO_3(op1, op2, op3)

AO_4()

#define             AO_4(op1, op2, op3, op4)

AO_5()

#define             AO_5(op1, op2, op3, op4, op5)

AO_GET_FLAGS()

# define AO_GET_FLAGS(operand) ((operand & AOM_FLAGS) >> AOD_FLAGS)

AO_GET_OFFSET()

# define AO_GET_OFFSET(operand) ((operand & AOM_OFFSET) >> AOD_OFFSET)

AO_GET_DSIZE()

# define AO_GET_DSIZE(operand) ((operand & AOM_OFFSET) >> AOD_OFFSET)

AO_GET_RSIZE()

# define AO_GET_RSIZE(operand) ((operand & AOM_SIZE) >> AOD_SIZE)

AO_GET_SIZE()

# define AO_GET_SIZE(operand) ((operand & AOM_SIZE) >> AOD_SIZE)

AO_GET_TYPE()

# define AO_GET_TYPE(operand) ((operand & AOM_TYPE) >> AOD_TYPE)

AO_GET_VALUE()

# define AO_GET_VALUE(operand) ((operand & AOM_VALUE) >> AOD_VALUE)

AO_CONSTANT()

#define             AO_CONSTANT(flags, size, value)

AO_IMMEDIATE()

#define             AO_IMMEDIATE(flags, size, type)

AO_REGISTER()

#define             AO_REGISTER(flags, size, id)

AO_DREGISTER()

#define             AO_DREGISTER(flags, dsize, rsize, id)

AO_DREGISTER2()

#define             AO_DREGISTER2(flags, did, dsize, id)

get_filename ()

char const *
(*get_filename) (AsmArch *arch);

get_function_by_id ()

AsmFunction *
(*get_function_by_id) (AsmArch *arch,
                       AsmFunctionId id);

get_prefix_by_opcode ()

AsmArchPrefix const *
(*get_prefix_by_opcode) (AsmArch *arch,
                         uint8_t size,
                         uint32_t opcode);

get_instruction_by_opcode ()

AsmArchInstruction const *
(*get_instruction_by_opcode) (AsmArch *arch,
                              uint8_t size,
                              uint32_t opcode);

get_register_by_id_size ()

AsmArchRegister const *
(*get_register_by_id_size) (AsmArch *arch,
                            uint32_t id,
                            uint32_t size);

get_register_by_name_size ()

AsmArchRegister const *
(*get_register_by_name_size) (AsmArch *arch,
                              char const *name,
                              uint32_t size);

get_string_by_id ()

AsmString *
(*get_string_by_id) (AsmArch *arch,
                     AsmStringId id);

write ()

ssize_t
(*write) (AsmArch *arch,
          void const *buf,
          size_t size);

peek ()

ssize_t
(*peek) (AsmArch *arch,
         void *buf,
         size_t size);

read ()

ssize_t
(*read) (AsmArch *arch,
         void *buf,
         size_t size);

seek ()

off_t
(*seek) (AsmArch *arch,
         off_t offset,
         int whence);

init ()

AsmArchPlugin *
(*init) (AsmArchPluginHelper *helper);

destroy ()

void
(*destroy) (AsmArchPlugin *arch);

encode ()

int
(*encode) (AsmArchPlugin *arch,
           AsmArchPrefix const *prefix,
           AsmArchInstruction const *instruction,
           AsmArchInstructionCall const *call);

decode ()

int
(*decode) (AsmArchPlugin *arch,
           AsmArchInstructionCall *call);

Types and Values

enum AsmArchEndian

Members

ASM_ARCH_ENDIAN_BIG

   

ASM_ARCH_ENDIAN_LITTLE

   

ASM_ARCH_ENDIAN_BOTH

   

enum AsmArchOperandType

Members

AOT_NONE

   

AOT_CONSTANT

   

AOT_IMMEDIATE

   

AOT_REGISTER

   

AOT_DREGISTER

   

AOT_DREGISTER2

   

AOD_FLAGS

# define AOD_FLAGS 24

AOD_OFFSET

# define AOD_OFFSET 16

AOD_SIZE

# define AOD_SIZE 8

AOD_TYPE

# define AOD_TYPE 28

AOD_VALUE

# define AOD_VALUE 0

AOM_TYPE

# define AOM_TYPE 0xf0000000

AOM_FLAGS

# define AOM_FLAGS 0x0f000000

AOM_OFFSET

# define AOM_OFFSET 0x00ff0000

AOM_SIZE

# define AOM_SIZE 0x0000ff00

AOM_VALUE

# define AOM_VALUE 0x000000ff

AOF_IMPLICIT

# define AOF_IMPLICIT 0x1

AOF_SIGNED

# define AOF_SIGNED 0x1

AOI_REFERS_STRING

# define AOI_REFERS_STRING 0x1

AOI_REFERS_FUNCTION

# define AOI_REFERS_FUNCTION 0x2

ARO_COUNT

# define ARO_COUNT 5

ARF_ALIAS

# define ARF_ALIAS 0x1

AsmArch

typedef struct _AsmArch AsmArch;

AsmArchPlugin

typedef struct _AsmArchPlugin AsmArchPlugin;