Bitdefender Hypervisor Memory Introspection
defs.h
Go to the documentation of this file.
1
/*
2
* Copyright (c) 2020 Bitdefender
3
* SPDX-License-Identifier: Apache-2.0
4
*/
5
#ifndef _DEFS_H_
6
#define _DEES_H_
7
8
enum
pid_type
9
{
10
PIDTYPE_PID
,
11
PIDTYPE_TGID
,
12
PIDTYPE_PGID
,
13
PIDTYPE_SID
,
14
PIDTYPE_MAX
,
15
};
16
17
enum
jump_label_type
{
18
JUMP_LABEL_NOP
= 0,
19
JUMP_LABEL_JMP
,
20
};
21
22
23
#define VM_READ 0x00000001
24
#define VM_WRITE 0x00000002
25
#define VM_EXEC 0x00000004
26
#define VM_SHARED 0x00000008
27
28
// limits for mprotect() etc
29
#define VM_MAYREAD 0x00000010
30
#define VM_MAYWRITE 0x00000020
31
#define VM_MAYEXEC 0x00000040
32
#define VM_MAYSHARE 0x00000080
33
34
#define VM_GROWSDOWN 0x00000100 // general info on the segment
35
#define VM_UFFD_MISSING 0x00000200 // missing pages tracking
36
#define VM_PFNMAP 0x00000400 // Page-ranges managed without "struct page", just pure PFN
37
#define VM_DENYWRITE 0x00000800 // ETXTBSY on write attempts
38
#define VM_UFFD_WP 0x00001000 // write-protect pages tracking
39
40
#define VM_LOCKED 0x00002000
41
#define VM_IO 0x00004000 // Memory mapped I/O or similar
42
43
// Used by sys_madvise()
44
#define VM_SEQ_READ 0x00008000 // App will access data sequentially
45
#define VM_RAND_READ 0x00010000 // App will not benefit from clustered reads
46
47
#define VM_DONTCOPY 0x00020000 // Do not copy this vma on fork
48
#define VM_DONTEXPAND 0x00040000 // Cannot expand with mremap()
49
#define VM_LOCKONFAULT 0x00080000 // Lock the pages covered when they are faulted in
50
#define VM_ACCOUNT 0x00100000 // Is a VM accounted object
51
#define VM_NORESERVE 0x00200000 // should the VM suppress accounting
52
#define VM_HUGETLB 0x00400000 // Huge TLB Page VM
53
#define VM_ARCH_1 0x01000000 // Architecture-specific flag
54
#define VM_ARCH_2 0x02000000
55
#define VM_DONTDUMP 0x04000000 // Do not include in the core dump
56
57
#define VM_SOFTDIRTY 0x08000000 // Not soft dirty clean area
58
59
#define VM_MIXEDMAP 0x10000000 // Can contain "struct page" and pure PFN pages
60
#define VM_HUGEPAGE 0x20000000 // MADV_HUGEPAGE marked this vma
61
#define VM_NOHUGEPAGE 0x40000000 // MADV_NOHUGEPAGE marked this vma
62
#define VM_MERGEABLE 0x80000000 // KSM may merge identical pages
63
64
#define PTRACE_TRACEME 0
65
#define PTRACE_PEEKTEXT 1
66
#define PTRACE_PEEKDATA 2
67
#define PTRACE_PEEKUSR 3
68
#define PTRACE_POKETEXT 4
69
#define PTRACE_POKEDATA 5
70
#define PTRACE_POKEUSR 6
71
#define PTRACE_CONT 7
72
#define PTRACE_KILL 8
73
#define PTRACE_SINGLESTEP 9
74
75
#define PTRACE_GETREGS 12
76
#define PTRACE_SETREGS 13
77
#define PTRACE_GETFPREGS 14
78
#define PTRACE_SETFPREGS 15
79
#define PTRACE_GETFPXREGS 18
80
#define PTRACE_SETFPXREGS 19
81
82
#define PTRACE_ATTACH 16
83
#define PTRACE_DETACH 17
84
85
#define PTRACE_SYSCALL 24
86
87
#endif // _DEFS_H_
JUMP_LABEL_JMP
Definition:
defs.h:19
PIDTYPE_SID
Definition:
defs.h:13
pid_type
pid_type
Definition:
defs.h:8
jump_label_type
jump_label_type
Definition:
defs.h:17
PIDTYPE_MAX
Definition:
defs.h:14
PIDTYPE_TGID
Definition:
defs.h:11
JUMP_LABEL_NOP
Definition:
defs.h:18
PIDTYPE_PGID
Definition:
defs.h:12
PIDTYPE_PID
Definition:
defs.h:10
introcore
src
guests
linux
detours
defs.h
Generated by
1.8.13