blob: f3504b4c9c38a4be4a2e0a51e51c9754beda0fba (
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
34
35
36
37
38
39
40
41
|
#ifndef MEMMAP_H_
#define MEMMAP_H_
typedef enum {
READ_16,
READ_8,
WRITE_16,
WRITE_8
} ftype;
#define MMAP_READ 0x01
#define MMAP_WRITE 0x02
#define MMAP_CODE 0x04
#define MMAP_PTR_IDX 0x08
#define MMAP_ONLY_ODD 0x10
#define MMAP_ONLY_EVEN 0x20
#define MMAP_FUNC_NULL 0x40
#define MMAP_BYTESWAP 0x80
#define MMAP_AUX_BUFF 0x100
#define MMAP_READ_CODE 0x200
typedef uint16_t (*read_16_fun)(uint32_t address, void * context);
typedef uint8_t (*read_8_fun)(uint32_t address, void * context);
typedef void * (*write_16_fun)(uint32_t address, void * context, uint16_t value);
typedef void * (*write_8_fun)(uint32_t address, void * context, uint8_t value);
typedef struct {
uint32_t start;
uint32_t end;
uint32_t mask;
uint32_t aux_mask;
uint16_t ptr_index;
uint16_t flags;
void * buffer;
read_16_fun read_16;
write_16_fun write_16;
read_8_fun read_8;
write_8_fun write_8;
} memmap_chunk;
#endif //MEMMAP_H_
|