-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathtypes.h
More file actions
108 lines (83 loc) · 1.76 KB
/
types.h
File metadata and controls
108 lines (83 loc) · 1.76 KB
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
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
#define ARG_STRING 0
#define ARG_INT 1
#define ARG_BOOL 2
#ifndef TYPES_H
#define TYPES_H
#include <stdint.h>
#include <stddef.h>
/*
* Platform Detection
*/
#if defined(_WIN32) || defined(_WIN64)
#define OS_WINDOWS 1
#else
#define OS_WINDOWS 0
#endif
typedef char CHAR;
typedef unsigned char UCHAR;
typedef unsigned char BYTE;
typedef short SHORT;
typedef unsigned short USHORT;
typedef int INT;
typedef unsigned int UINT;
typedef long LONG;
typedef unsigned long ULONG;
typedef int64_t LONGLONG;
typedef uint64_t ULONGLONG;
typedef float FLOAT;
typedef double DOUBLE;
#ifndef BOOL
typedef int BOOL;
#endif
#ifndef TRUE
#define TRUE 1
#endif
#ifndef FALSE
#define FALSE 0
#endif
typedef void* PVOID;
typedef void* HANDLE;
typedef char* PCHAR;
typedef const char* PCCHAR;
typedef unsigned long DWORD;
typedef DWORD* PDWORD;
#if OS_WINDOWS
#include <Windows.h>
#else
#define WINAPI
#define MAX_PATH 260
typedef unsigned long DWORD;
typedef unsigned int WPARAM;
typedef unsigned long LPARAM;
typedef void* LPVOID;
typedef const char* LPCSTR;
typedef char* LPSTR;
#endif
typedef struct Argument* pArgument;
typedef struct {
CHAR* value;
CHAR* default_value;
}StringArg;
typedef struct {
INT value;
INT default_value;
}IntArg;
typedef struct {
BOOL value;
BOOL default_value;
}BoolArg;
typedef struct Argument {
LPCSTR Flag;
LPCSTR Usage;
PVOID Arg;
CHAR Type;
BOOL UseDefault;
pArgument Next;
} Argument,*pArgument;
typedef struct {
pArgument Node;
pArgument LastNode;
CHAR** Argv;
INT Argc;
} ArgTable;
#endif