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 {
15 };
16 
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_
pid_type
Definition: defs.h:8
jump_label_type
Definition: defs.h:17