summaryrefslogtreecommitdiffhomepage
path: root/dev/LibSCI/Macros.h
diff options
context:
space:
mode:
authorAmlal El Mahrouss <amlal.elmahrouss@icloud.com>2024-12-26 21:19:14 +0100
committerAmlal El Mahrouss <amlal.elmahrouss@icloud.com>2024-12-26 21:19:14 +0100
commit486425ed00acec134f8799bdde64bfd093c5fb55 (patch)
tree5104af49b56f39d0b14941d76f9d6d746cd1677b /dev/LibSCI/Macros.h
parentc0f7f3f300d603d355fc7ec5be317afe1f0ee1b6 (diff)
IMPL: A lot of new changes, see details.
Signed-off-by: Amlal El Mahrouss <amlal.elmahrouss@icloud.com>
Diffstat (limited to 'dev/LibSCI/Macros.h')
-rw-r--r--dev/LibSCI/Macros.h56
1 files changed, 56 insertions, 0 deletions
diff --git a/dev/LibSCI/Macros.h b/dev/LibSCI/Macros.h
new file mode 100644
index 00000000..5443252c
--- /dev/null
+++ b/dev/LibSCI/Macros.h
@@ -0,0 +1,56 @@
+/* -------------------------------------------
+
+Copyright (C) 2024, Theater Quality Inc, all rights reserved.
+
+File: Macros.h
+Purpose: LibSCI Macros header.
+
+------------------------------------------- */
+
+#pragma once
+
+/***********************************************************************************/
+/// @file LibSCI/Macros.h
+/// @brief Macros and core types.
+/***********************************************************************************/
+
+#include <CompilerHint.h>
+
+#define ATTRIBUTE(X) __attribute__((X))
+#define IMPORT_CXX extern "C++"
+#define IMPORT_C extern "C"
+
+#define DEPRECATED ATTRIBUTE(deprecated)
+
+typedef bool Bool;
+typedef void Void;
+
+typedef __UINT64_TYPE__ UInt64;
+typedef __UINT32_TYPE__ UInt32;
+typedef __UINT16_TYPE__ UInt16;
+typedef __UINT8_TYPE__ UInt8;
+
+typedef __SIZE_TYPE__ SizeT;
+
+typedef __INT64_TYPE__ SInt64;
+typedef __INT32_TYPE__ SInt32;
+typedef __INT16_TYPE__ SInt16;
+typedef __INT8_TYPE__ SInt8;
+
+typedef void* VoidPtr;
+typedef __UINTPTR_TYPE__ UIntPtr;
+typedef char Char;
+
+typedef VoidPtr SCIObject;
+
+typedef SCIObject IOObject;
+typedef IOObject FSObject;
+typedef SCIObject DLLObject;
+typedef SCIObject ThreadObject;
+typedef SCIObject SocketObject;
+
+#ifdef SYSCALL_DECL
+#undef SYSCALL_DECL
+#endif // SYSCALL_DECL
+
+#define SYSCALL_DECL(NAME, ...) IMPORT_C VoidPtr NAME(__VA_ARGS__);