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
|
#ifndef _JOVE_API_OBJ_H
#define _JOVE_API_OBJ_H 1
#include <stdint.h>
typedef unsigned char objtype_t;
enum
{
JOVE_OBJ_NONE = 0,
JOVE_OBJ_UNTYPED,
JOVE_OBJ_OBJDIR,
JOVE_OBJ_PAGEDIR,
JOVE_OBJ_PROCESSOR,
JOVE_OBJ_REGION,
JOVE_OBJ_SHMEMORY,
JOVE_OBJ_INT_HANDLE,
JOVE_OBJ_PCB,
JOVE_OBJ_INITRD_FILE,
JOVE_OBJ_FRAMEBUFFER,
JOVE_OBJ_VIRTTERM,
JOVE_OBJ_MESSAGE,
JOVE_OBJ_LINK,
};
/*Link can read object states and map page frames as read only*/
#define JOVE_PERM_READ 1
/*Link can write object states and map page frames as writeable*/
#define JOVE_PERM_WRITE 2
/*Link can untype linked objects, split untyped memory, and retype untyped linked object.*/
#define JOVE_PERM_MUTATE 4
#define JOVE_PERM_ALL 7
#define OBJDIR_NUM_ENTRIES (0x1000 / sizeof(uintmax_t))
typedef uint16_t objpath_part_t;
#endif
|