summaryrefslogtreecommitdiff
path: root/source/base/base.h
diff options
context:
space:
mode:
authornasr <nsrddyn@gmail.com>2026-04-13 15:33:05 +0200
committernasr <nsrddyn@gmail.com>2026-04-13 15:36:24 +0200
commit9d09d66a273f68fae7efb71504bf40c664b91983 (patch)
tree41a46c52a01338bf22d5f3ebdf0bb27dc3d33cc1 /source/base/base.h
feature(main): init
feature(main): init feature(main): init feature(main): init
Diffstat (limited to 'source/base/base.h')
-rwxr-xr-xsource/base/base.h81
1 files changed, 81 insertions, 0 deletions
diff --git a/source/base/base.h b/source/base/base.h
new file mode 100755
index 0000000..b9e317a
--- /dev/null
+++ b/source/base/base.h
@@ -0,0 +1,81 @@
1#ifndef BASE_H
2#define BASE_H
3
4/* assert an expression and output the file and the line */
5
6#define internal static
7#define global_variable static
8#define local_persist static
9
10#define ERR_OK 0
11#define ERR_IO 1
12#define ERR_PARSE 2
13#define ERR_PERM 3
14#define ERR_INVALID 4
15
16#define KiB(n) (((u64)(n)) << 10)
17#define MiB(n) (((u64)(n)) << 20)
18#define GiB(n) (((u64)(n)) << 30)
19
20#define unused(x) (void)(x)
21
22#define PATH_MAX_LEN 128
23#define BUFF_SMALL 128
24#define BUFF_DEFAULT 256
25#define BUFF_LARGE 512
26
27#define NIL 0
28
29#define DEPRECATED __attribute__((__deprecated__))
30
31#if defined(__arm__) || defined(__aarch64__)
32#define breakpoint __asm__ volatile("brk #0");
33#define temp_breakpoint __asm__ volatile("udf #0");
34#elif defined(__i386__) || defined(__x86_64__)
35#define breakpoint __asm__ volatile("int3");
36#endif
37
38#define MemCpy(dest, src, len) memcpy((dest), (src), (len))
39#define MemSet(dest, len) memset((dest), (0), (len))
40
41#if COMPILER_MSVC || (COMPILER_CLANG && OS_WINDOWS)
42#pragma section(".rdata$", read)
43#define read_only __declspec(allocate(".rdata$"))
44#elif (COMPILER_CLANG && OS_LINUX)
45#define read_only __attribute__((section(".rodata")))
46#else
47#define read_only
48#endif
49
50typedef uint64_t u64;
51typedef uint32_t u32;
52typedef uint16_t u16;
53typedef uint8_t u8;
54
55typedef int8_t s8;
56typedef int16_t s16;
57typedef int32_t s32;
58typedef int64_t s64;
59
60typedef float f32;
61typedef double f64;
62
63typedef s32 b32;
64typedef s16 b16;
65typedef s8 b8;
66
67typedef uintptr_t umm;
68typedef intptr_t smm;
69
70#define TRUE (1 == 1)
71#define FALSE (1 != 1)
72
73#define RED "\x1b[31m"
74#define GREEN "\x1b[32m"
75#define RESET "\x1b[0m"
76#define BLUE "\x1b[34m"
77#define YELLOW "\x1b[33m"
78
79#define LEN(s) (sizeof(s) - 1)
80
81#endif