Rizin
unix-like reverse engineering framework and cli tools
rz_asm.h File Reference
#include <rz_util/rz_print.h>
#include <rz_types.h>
#include <rz_bin.h>
#include <rz_util.h>
#include <rz_parse.h>
#include <rz_bind.h>
#include <rz_config.h>

Go to the source code of this file.

Classes

struct  rz_asm_op_t
 
struct  rz_asm_code_t
 
struct  RzAsmEqu
 
struct  rz_asm_t
 
struct  rz_asm_plugin_t
 

Macros

#define RZ_ASM_ARCH_NONE   RZ_SYS_ARCH_NONE
 
#define RZ_ASM_ARCH_X86   RZ_SYS_ARCH_X86
 
#define RZ_ASM_ARCH_ARM   RZ_SYS_ARCH_ARM
 
#define RZ_ASM_ARCH_PPC   RZ_SYS_ARCH_PPC
 
#define RZ_ASM_ARCH_M68K   RZ_SYS_ARCH_M68K
 
#define RZ_ASM_ARCH_JAVA   RZ_SYS_ARCH_JAVA
 
#define RZ_ASM_ARCH_LM32   RZ_SYS_ARCH_LM32
 
#define RZ_ASM_ARCH_MIPS   RZ_SYS_ARCH_MIPS
 
#define RZ_ASM_ARCH_SPARC   RZ_SYS_ARCH_SPARC
 
#define RZ_ASM_ARCH_XAP   RZ_SYS_ARCH_XAP
 
#define RZ_ASM_ARCH_MSIL   RZ_SYS_ARCH_MSIL
 
#define RZ_ASM_ARCH_OBJD   RZ_SYS_ARCH_OBJD
 
#define RZ_ASM_ARCH_BF   RZ_SYS_ARCH_BF
 
#define RZ_ASM_ARCH_SH   RZ_SYS_ARCH_SH
 
#define RZ_ASM_ARCH_Z80   RZ_SYS_ARCH_Z80
 
#define RZ_ASM_ARCH_I8080   RZ_SYS_ARCH_I8080
 
#define RZ_ASM_ARCH_ARC   RZ_SYS_ARCH_ARC
 
#define RZ_ASM_ARCH_HPPA   RZ_SYS_ARCH_HPPA
 
#define RZ_ASM_GET_OFFSET(x, y, z)    (x && x->binb.bin && x->binb.get_offset) ? x->binb.get_offset(x->binb.bin, y, z) : -1
 
#define RZ_ASM_GET_NAME(x, y, z)    (x && x->binb.bin && x->binb.get_name) ? x->binb.get_name(x->binb.bin, y, z) : NULL
 
#define _RzAsmPlugin   struct rz_asm_plugin_t
 

Typedefs

typedef struct rz_asm_op_t RzAsmOp
 
typedef struct rz_asm_code_t RzAsmCode
 
typedef struct rz_asm_t RzAsm
 
typedef struct rz_asm_plugin_t RzAsmPlugin
 

Enumerations

enum  {
  RZ_ASM_SYNTAX_NONE = 0 , RZ_ASM_SYNTAX_INTEL , RZ_ASM_SYNTAX_ATT , RZ_ASM_SYNTAX_MASM ,
  RZ_ASM_SYNTAX_REGNUM , RZ_ASM_SYNTAX_JZ
}
 
enum  {
  RZ_ASM_MOD_RAWVALUE = 'r' , RZ_ASM_MOD_VALUE = 'v' , RZ_ASM_MOD_DSTREG = 'd' , RZ_ASM_MOD_SRCREG0 = '0' ,
  RZ_ASM_MOD_SRCREG1 = '1' , RZ_ASM_MOD_SRCREG2 = '2'
}
 

Functions

 RZ_LIB_VERSION_HEADER (rz_asm)
 

Macro Definition Documentation

◆ _RzAsmPlugin

#define _RzAsmPlugin   struct rz_asm_plugin_t

Definition at line 97 of file rz_asm.h.

◆ RZ_ASM_ARCH_ARC

#define RZ_ASM_ARCH_ARC   RZ_SYS_ARCH_ARC

Definition at line 39 of file rz_asm.h.

◆ RZ_ASM_ARCH_ARM

#define RZ_ASM_ARCH_ARM   RZ_SYS_ARCH_ARM

Definition at line 25 of file rz_asm.h.

◆ RZ_ASM_ARCH_BF

#define RZ_ASM_ARCH_BF   RZ_SYS_ARCH_BF

Definition at line 35 of file rz_asm.h.

◆ RZ_ASM_ARCH_HPPA

#define RZ_ASM_ARCH_HPPA   RZ_SYS_ARCH_HPPA

Definition at line 40 of file rz_asm.h.

◆ RZ_ASM_ARCH_I8080

#define RZ_ASM_ARCH_I8080   RZ_SYS_ARCH_I8080

Definition at line 38 of file rz_asm.h.

◆ RZ_ASM_ARCH_JAVA

#define RZ_ASM_ARCH_JAVA   RZ_SYS_ARCH_JAVA

Definition at line 28 of file rz_asm.h.

◆ RZ_ASM_ARCH_LM32

#define RZ_ASM_ARCH_LM32   RZ_SYS_ARCH_LM32

Definition at line 29 of file rz_asm.h.

◆ RZ_ASM_ARCH_M68K

#define RZ_ASM_ARCH_M68K   RZ_SYS_ARCH_M68K

Definition at line 27 of file rz_asm.h.

◆ RZ_ASM_ARCH_MIPS

#define RZ_ASM_ARCH_MIPS   RZ_SYS_ARCH_MIPS

Definition at line 30 of file rz_asm.h.

◆ RZ_ASM_ARCH_MSIL

#define RZ_ASM_ARCH_MSIL   RZ_SYS_ARCH_MSIL

Definition at line 33 of file rz_asm.h.

◆ RZ_ASM_ARCH_NONE

#define RZ_ASM_ARCH_NONE   RZ_SYS_ARCH_NONE

Definition at line 23 of file rz_asm.h.

◆ RZ_ASM_ARCH_OBJD

#define RZ_ASM_ARCH_OBJD   RZ_SYS_ARCH_OBJD

Definition at line 34 of file rz_asm.h.

◆ RZ_ASM_ARCH_PPC

#define RZ_ASM_ARCH_PPC   RZ_SYS_ARCH_PPC

Definition at line 26 of file rz_asm.h.

◆ RZ_ASM_ARCH_SH

#define RZ_ASM_ARCH_SH   RZ_SYS_ARCH_SH

Definition at line 36 of file rz_asm.h.

◆ RZ_ASM_ARCH_SPARC

#define RZ_ASM_ARCH_SPARC   RZ_SYS_ARCH_SPARC

Definition at line 31 of file rz_asm.h.

◆ RZ_ASM_ARCH_X86

#define RZ_ASM_ARCH_X86   RZ_SYS_ARCH_X86

Definition at line 24 of file rz_asm.h.

◆ RZ_ASM_ARCH_XAP

#define RZ_ASM_ARCH_XAP   RZ_SYS_ARCH_XAP

Definition at line 32 of file rz_asm.h.

◆ RZ_ASM_ARCH_Z80

#define RZ_ASM_ARCH_Z80   RZ_SYS_ARCH_Z80

Definition at line 37 of file rz_asm.h.

◆ RZ_ASM_GET_NAME

#define RZ_ASM_GET_NAME (   x,
  y,
 
)     (x && x->binb.bin && x->binb.get_name) ? x->binb.get_name(x->binb.bin, y, z) : NULL

Definition at line 45 of file rz_asm.h.

◆ RZ_ASM_GET_OFFSET

#define RZ_ASM_GET_OFFSET (   x,
  y,
 
)     (x && x->binb.bin && x->binb.get_offset) ? x->binb.get_offset(x->binb.bin, y, z) : -1

Definition at line 42 of file rz_asm.h.

Typedef Documentation

◆ RzAsm

typedef struct rz_asm_t RzAsm

◆ RzAsmCode

typedef struct rz_asm_code_t RzAsmCode

◆ RzAsmOp

typedef struct rz_asm_op_t RzAsmOp

◆ RzAsmPlugin

typedef struct rz_asm_plugin_t RzAsmPlugin

Enumeration Type Documentation

◆ anonymous enum

anonymous enum
Enumerator
RZ_ASM_SYNTAX_NONE 
RZ_ASM_SYNTAX_INTEL 
RZ_ASM_SYNTAX_ATT 
RZ_ASM_SYNTAX_MASM 
RZ_ASM_SYNTAX_REGNUM 
RZ_ASM_SYNTAX_JZ 

Definition at line 48 of file rz_asm.h.

48  {
53  RZ_ASM_SYNTAX_REGNUM, // alias for capstone's NOREGNAME
54  RZ_ASM_SYNTAX_JZ, // hack to use jz instead of je on x86
55 };
@ RZ_ASM_SYNTAX_NONE
Definition: rz_asm.h:49
@ RZ_ASM_SYNTAX_REGNUM
Definition: rz_asm.h:53
@ RZ_ASM_SYNTAX_ATT
Definition: rz_asm.h:51
@ RZ_ASM_SYNTAX_INTEL
Definition: rz_asm.h:50
@ RZ_ASM_SYNTAX_MASM
Definition: rz_asm.h:52
@ RZ_ASM_SYNTAX_JZ
Definition: rz_asm.h:54

◆ anonymous enum

anonymous enum
Enumerator
RZ_ASM_MOD_RAWVALUE 
RZ_ASM_MOD_VALUE 
RZ_ASM_MOD_DSTREG 
RZ_ASM_MOD_SRCREG0 
RZ_ASM_MOD_SRCREG1 
RZ_ASM_MOD_SRCREG2 

Definition at line 57 of file rz_asm.h.

57  {
58  RZ_ASM_MOD_RAWVALUE = 'r',
59  RZ_ASM_MOD_VALUE = 'v',
60  RZ_ASM_MOD_DSTREG = 'd',
61  RZ_ASM_MOD_SRCREG0 = '0',
62  RZ_ASM_MOD_SRCREG1 = '1',
63  RZ_ASM_MOD_SRCREG2 = '2'
64 };
@ RZ_ASM_MOD_RAWVALUE
Definition: rz_asm.h:58
@ RZ_ASM_MOD_SRCREG1
Definition: rz_asm.h:62
@ RZ_ASM_MOD_DSTREG
Definition: rz_asm.h:60
@ RZ_ASM_MOD_SRCREG2
Definition: rz_asm.h:63
@ RZ_ASM_MOD_VALUE
Definition: rz_asm.h:59
@ RZ_ASM_MOD_SRCREG0
Definition: rz_asm.h:61

Function Documentation

◆ RZ_LIB_VERSION_HEADER()

RZ_LIB_VERSION_HEADER ( rz_asm  )