AsmArch

AsmArch

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) ()
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 ARF_ALIAS
  AsmArchPlugin
  AsmArch

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);

Returns


get_function_by_id ()

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

Returns


get_instruction_by_opcode ()

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

Returns


get_register_by_id_size ()

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

Returns


get_register_by_name_size ()

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

Returns


get_string_by_id ()

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

Returns


write ()

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

Returns


peek ()

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

Returns


read ()

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

Returns


seek ()

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

Returns


init ()

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

Returns


destroy ()

void
(*destroy) (AsmArchPlugin *arch);


encode ()

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

Returns


decode ()

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

Returns

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


ARF_ALIAS

#define ARF_ALIAS 0x1


AsmArchPlugin

typedef struct _AsmArchPlugin AsmArchPlugin;


AsmArch

typedef struct _AsmArch AsmArch;