about summary refs log tree commit diff
path: root/qemu_mode/hooking_bridge/inc/exports.h
blob: 186976f47052a0c5c9829f935d82905f8ecb5409 (plain) (blame)
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
#ifndef API_H
#define API_H

//# EXPORTS
// Returns 0 on success
int r_mem(unsigned long long addr, unsigned long long len, void *dest);
// // Returns 0 on success
int w_mem(unsigned long long addr, unsigned long long len, void *src);
// Returns num of bytes read; 
int r_reg(unsigned char reg, void *dest);
// // Returns num of bytes written
int w_reg(unsigned char reg, char *src);


//NOTE hook function must be named hook_<16 hex character at_addr>
//NOTE must define function `struct conf* configure()`
struct conf{
    unsigned char IP_reg_num;
    unsigned long long entry_addr;
    unsigned long long* hooks;
    unsigned long long num_hooks;
}conf;

struct ret{
    unsigned long long addr;
    char remove_bp;
};

#endif