The Pedigree Project 0.1
sentinel-layout.h
1#ifndef PTRACE_SENTINEL_LAYOUT_H
2#define PTRACE_SENTINEL_LAYOUT_H
3
4#define TC_PID 0
5#define TC_TID 8
6#define TC_FS_BASE 16
7#define TC_STACK 24
8#define TC_LABEL 32
9#define TC_CS 40
10#define TC_SS 48
11#define TC_DS 56
12#define TC_ES 64
13#define TC_FS 72
14#define TC_GS 80
15#define TC_SETUP_SIZE 88
16#define TC_ENTRY_FLAGS 88
17#define TC_RESUMED 96
18#define TC_CAPTURE_SIZE 312
19
20#define TC_R15 0
21#define TC_R14 8
22#define TC_R13 16
23#define TC_R12 24
24#define TC_RBP 32
25#define TC_RBX 40
26#define TC_R11 48
27#define TC_R10 56
28#define TC_R9 64
29#define TC_R8 72
30#define TC_RAX 80
31#define TC_RCX 88
32#define TC_RDX 96
33#define TC_RSI 104
34#define TC_RDI 112
35#define TC_ORIG_RAX 120
36#define TC_RIP 128
37#define TC_REG_CS 136
38#define TC_EFLAGS 144
39#define TC_RSP 152
40#define TC_REG_SS 160
41#define TC_REG_FS_BASE 168
42#define TC_REG_GS_BASE 176
43#define TC_REG_DS 184
44#define TC_REG_ES 192
45#define TC_REG_FS 200
46#define TC_REG_GS 208
47#define TC_REG_SIZE 216
48
49#define TC_SENT_R15 0x1515151515151515
50#define TC_SENT_R14 0x1414141414141414
51#define TC_SENT_R13 0x1313131313131313
52#define TC_SENT_R12 0x1212121212121212
53#define TC_SENT_RBP 0x0b0b0b0b0b0b0b0b
54#define TC_SENT_RBX 0x0c0c0c0c0c0c0c0c
55#define TC_SENT_R10 0x1010101010101010
56#define TC_SENT_R9 0x0909090909090909
57#define TC_SENT_R8 0x0808080808080808
58
59#endif