blob: 0e7a22ea95b3f77ff77e42acfcb45ed700faee3e (
plain) (
blame)
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
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
|
/*
* 4coder_system_types.h - Types relating to the system api.
*/
// TOP
#if !defined(FCODER_SYSTEM_TYPES_H)
#define FCODER_SYSTEM_TYPES_H
typedef i32 Key_Mode;
enum{
KeyMode_LanguageArranged,
KeyMode_Physical,
};
struct Plat_Handle{
u32 d[4];
};
typedef Plat_Handle System_Library;
typedef Plat_Handle System_Thread;
typedef Plat_Handle System_Mutex;
typedef Plat_Handle System_Condition_Variable;
typedef void Thread_Function(void *ptr);
struct CLI_Handles{
Plat_Handle proc;
Plat_Handle out_read;
Plat_Handle out_write;
Plat_Handle in_read;
Plat_Handle in_write;
u32 scratch_space[4];
i32 exit;
};
typedef i32 System_Path_Code;
enum{
SystemPath_CurrentDirectory,
SystemPath_Binary,
SystemPath_UserDirectory,
};
struct Memory_Annotation_Node{
Memory_Annotation_Node *next;
String_Const_u8 location;
void *address;
u64 size;
};
struct Memory_Annotation{
Memory_Annotation_Node *first;
Memory_Annotation_Node *last;
i32 count;
};
struct Mutex_Lock{
Mutex_Lock(System_Mutex mutex);
~Mutex_Lock();
operator System_Mutex();
System_Mutex mutex;
};
#endif
// BOTTOM
|