summaryrefslogtreecommitdiffhomepage
path: root/src/libDDK/DriverKit/macros.h
diff options
context:
space:
mode:
authorAmlal El Mahrouss <amlal@nekernel.org>2025-11-23 21:06:27 -0500
committerGitHub <noreply@github.com>2025-11-23 21:06:27 -0500
commit23040fad647634c08697451fc22ee2ca999629c8 (patch)
tree72888f88c7728c82f3f6df1f4f70591de15eab36 /src/libDDK/DriverKit/macros.h
parente5cc7351f0577b54c528fb827a7c7e6306c3e843 (diff)
parent83d870e58457a1d335a1d9b9966a6a1887cc297b (diff)
Merge pull request #81 from nekernel-org/dev
feat! breaking changes on kernel sources.
Diffstat (limited to 'src/libDDK/DriverKit/macros.h')
-rw-r--r--src/libDDK/DriverKit/macros.h48
1 files changed, 48 insertions, 0 deletions
diff --git a/src/libDDK/DriverKit/macros.h b/src/libDDK/DriverKit/macros.h
new file mode 100644
index 00000000..7fd1403b
--- /dev/null
+++ b/src/libDDK/DriverKit/macros.h
@@ -0,0 +1,48 @@
+/* ========================================
+
+ Copyright 2025 Amlal El Mahrouss.
+
+ FILE: ddk.h
+ PURPOSE: DDK Driver model base header.
+
+======================================== */
+
+#pragma once
+
+#include <stddef.h>
+#include <stdint.h>
+
+#if defined(__cplusplus)
+#define BOOL bool
+#define YES true
+#define NO false
+#define DDK_EXTERN extern "C"
+#define nil nullptr
+#undef NULL
+#define NULL 0
+#define DDK_FINAL final
+#else
+#define BOOL char
+#define YES 1
+#define NO 0
+#define DDK_EXTERN extern
+#define nil ((void*) 0)
+#undef NULL
+#define NULL ((void*) 0)
+#define DDK_FINAL
+#endif // defined(__cplusplus)
+
+#ifndef __DDK__
+#undef DDK_EXTERN
+#if defined(__cplusplus)
+#define DDK_EXTERN extern "C"
+#else
+#define DDK_EXTERN
+#endif
+#endif
+
+#define ATTRIBUTE(X) __attribute__((X))
+
+#ifndef __NEOSKRNL__
+#error !!! Do not include header in EL0/Ring 3 mode !!!
+#endif // __NEOSKRNL__ \ No newline at end of file