Rizin
unix-like reverse engineering framework and cli tools
rz_il_events.h
Go to the documentation of this file.
1 // SPDX-FileCopyrightText: 2021 RizinOrg <info@rizin.re>
2 // SPDX-FileCopyrightText: 2021 deroad <wargio@libero.it>
3 // SPDX-License-Identifier: LGPL-3.0-only
4 
5 #ifndef RZ_IL_VM_EVENTS_H
6 #define RZ_IL_VM_EVENTS_H
7 
9 
10 #ifdef __cplusplus
11 extern "C" {
12 #endif
13 
19 typedef enum rz_il_event_id_t {
27 
28 typedef struct rz_il_vm_event_mem_read_t {
32 
33 typedef struct rz_il_vm_event_var_read_t {
37 
38 typedef struct rz_il_vm_event_pc_write_t {
42 
48 
54 
55 typedef struct rz_il_vm_event_t {
57  union {
58  char *exception;
64  } data;
66 
74 
75 // Printing/Export
78 
79 #ifdef __cplusplus
80 }
81 #endif
82 
83 #endif // RZ_IL_VM_EVENTS_H
@ exception
Definition: aarch64.h:495
static SblHeader sb
Definition: bin_mbn.c:26
static int value
Definition: cmd_api.c:93
#define RZ_API
RZ_API RZ_OWN RzILEvent * rz_il_event_pc_write_new(RZ_NONNULL const RzBitVector *old_pc, RZ_NONNULL const RzBitVector *new_pc)
Definition: il_events.c:76
RZ_API void rz_il_event_json(RZ_NONNULL RzILEvent *evt, RZ_NONNULL PJ *pj)
Definition: il_export.c:797
rz_il_event_id_t
Definition: rz_il_events.h:19
@ RZ_IL_EVENT_VAR_READ
Definition: rz_il_events.h:23
@ RZ_IL_EVENT_MEM_READ
Definition: rz_il_events.h:22
@ RZ_IL_EVENT_MEM_WRITE
Definition: rz_il_events.h:24
@ RZ_IL_EVENT_EXCEPTION
Definition: rz_il_events.h:20
@ RZ_IL_EVENT_VAR_WRITE
Definition: rz_il_events.h:25
@ RZ_IL_EVENT_PC_WRITE
Definition: rz_il_events.h:21
RZ_API void rz_il_event_free(RZ_NULLABLE RzILEvent *evt)
Definition: il_events.c:11
RZ_API RZ_OWN RzILEvent * rz_il_event_var_write_new(RZ_NONNULL const char *name, RZ_NULLABLE const RzILVal *old_v, RZ_NONNULL const RzILVal *new_v)
Definition: il_events.c:177
struct rz_il_vm_event_t RzILEvent
RZ_API RZ_OWN RzILEvent * rz_il_event_mem_read_new(RZ_NONNULL const RzBitVector *addr, RZ_NULLABLE const RzBitVector *value)
Definition: il_events.c:100
enum rz_il_event_id_t RzILEventId
RZ_API RZ_OWN RzILEvent * rz_il_event_mem_write_new(RZ_NONNULL const RzBitVector *addr, RZ_NONNULL const RzBitVector *old_v, RZ_NONNULL const RzBitVector *new_v)
Definition: il_events.c:125
struct rz_il_vm_event_mem_read_t RzILEventMemRead
RZ_API RZ_OWN RzILEvent * rz_il_event_exception_new(RZ_NONNULL const char *exception)
Definition: il_events.c:52
struct rz_il_vm_event_var_write_t RzILEventVarWrite
RZ_API RZ_OWN RzILEvent * rz_il_event_var_read_new(RZ_NONNULL const char *name, RZ_NULLABLE const RzILVal *value)
Definition: il_events.c:152
struct rz_il_vm_event_mem_write_t RzILEventMemWrite
RZ_API void rz_il_event_stringify(RZ_NONNULL const RzILEvent *evt, RZ_NONNULL RzStrBuf *sb)
Definition: il_export.c:753
struct rz_il_vm_event_pc_write_t RzILEventPCWrite
struct rz_il_vm_event_var_read_t RzILEventVarRead
#define RZ_NULLABLE
Definition: rz_types.h:65
#define RZ_OWN
Definition: rz_types.h:62
#define RZ_NONNULL
Definition: rz_types.h:64
structure for bitvector
Definition: rz_bitvector.h:19
Definition: z80asm.h:102
Definition: rz_pj.h:12
RZ_NONNULL RzBitVector * value
Definition: rz_il_events.h:30
RZ_NONNULL RzBitVector * address
Definition: rz_il_events.h:29
RZ_NONNULL RzBitVector * old_value
Definition: rz_il_events.h:45
RZ_NONNULL RzBitVector * address
Definition: rz_il_events.h:44
RZ_NONNULL RzBitVector * new_value
Definition: rz_il_events.h:46
RzILEventMemWrite mem_write
Definition: rz_il_events.h:61
RzILEventId type
Definition: rz_il_events.h:56
RzILEventVarWrite var_write
Definition: rz_il_events.h:63
union rz_il_vm_event_t::@285 data
RzILEventMemRead mem_read
Definition: rz_il_events.h:60
RzILEventVarRead var_read
Definition: rz_il_events.h:62
RzILEventPCWrite pc_write
Definition: rz_il_events.h:59
RZ_NONNULL char * variable
Definition: rz_il_events.h:34
RZ_NONNULL RzILVal * value
Definition: rz_il_events.h:35
RZ_NONNULL RzILVal * new_value
Definition: rz_il_events.h:52
RZ_NONNULL RzILVal * old_value
Definition: rz_il_events.h:51
RZ_NONNULL char * variable
Definition: rz_il_events.h:50
static int addr
Definition: z80asm.c:58