blob: 78fd0c84c26b9b3851f3fe5cc56157a33d9d0e05 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
|
#ifndef X86_BACKEND_H_
#define X86_BACKEND_H_
#include <stdint.h>
#define INVALID_OFFSET 0xFFFFFFFF
typedef struct {
int32_t disp;
uint8_t mode;
uint8_t base;
uint8_t index;
uint8_t cycles;
} x86_ea;
typedef struct {
uint8_t *base;
int32_t *offsets;
} native_map_slot;
typedef struct deferred_addr {
struct deferred_addr *next;
uint8_t *dest;
uint32_t address;
} deferred_addr;
typedef uint8_t * (*native_addr_func)(void * context, uint32_t address);
deferred_addr * defer_address(deferred_addr * old_head, uint32_t address, uint8_t *dest);
void process_deferred(deferred_addr ** head_ptr, void * context, native_addr_func get_native);
#endif //X86_BACKEND_H_
|