Bitdefender Hypervisor Memory Introspection
init.h
Go to the documentation of this file.
1 /*
2  * Copyright (c) 2020 Bitdefender
3  * SPDX-License-Identifier: Apache-2.0
4  */
5 #ifndef _INIT_H_
6 #define _INIT_H_
7 
8 typedef int (change_page_attr_set_clr_fn)(unsigned long *addr, int numpages, unsigned long mask_set, unsigned long mask_clr,
9  int force_split, int in_flag, void **pages);
10 typedef void * (module_alloc_fn)(int size);
11 typedef void * (vmalloc_fn)(int size);
12 
13 #pragma pack(push, 1)
14 struct data {
16  struct {
17  unsigned long hypercall;
18  unsigned long completion;
19  unsigned long error;
20  } token;
21 
23  struct {
27  } func;
28 
29  struct {
30  unsigned long module_alloc_size;
31  unsigned long vmalloc_size;
32  } args;
33 };
34 
35 #pragma pack(pop)
36 #endif // _INIT_H_
struct data::@2 args
The arguments of the agent.
unsigned long mask_set
The set mask for the allocated memory region.
Definition: uninit.h:33
struct data::@0 token
The tokens used to communicate with Intocore.
int() change_page_attr_set_clr_fn(unsigned long *addr, int numpages, unsigned long mask_set, unsigned long mask_clr, int force_split, int in_flag, void **pages)
Definition: init.h:8
unsigned long hypercall
Definition: kthread.c:14
unsigned long module_alloc_size
The size of the 'module' region to allocate.
Definition: init.h:30
void *() vmalloc_fn(int size)
Definition: init.h:11
module_alloc_fn * module_alloc
Definition: init.h:24
void *() module_alloc_fn(int size)
Definition: init.h:10
struct data::@1 func
The functions used by this agent.
change_page_attr_set_clr_fn * change_page_attr_set_clr
Definition: init.h:25
unsigned long vmalloc_size
The size of allocation.
Definition: kthread.c:28
unsigned long mask_clr
The clear mask for the allocated memory region.
Definition: uninit.h:32
unsigned long completion
Definition: kthread.c:15
unsigned long error
Definition: kthread.c:16
vmalloc_fn * vmalloc
Definition: deploy.c:36
Definition: kthread.c:11