diff options
| author | Amlal El Mahrouss <amlal@nekernel.org> | 2025-11-15 06:07:15 +0100 |
|---|---|---|
| committer | Amlal El Mahrouss <amlal@nekernel.org> | 2025-11-15 06:07:15 +0100 |
| commit | b2c4d9a8ebebf87be33dcc357af86102d31dac47 (patch) | |
| tree | d92f48fa8c936b849de60ad3cad61a75ad1983df /dev | |
| parent | 41d29ecc10da26c9e03095376569216a43550be5 (diff) | |
feat: DDK: compiler improvements and working on fwrk standard and launch
design.
Signed-off-by: Amlal El Mahrouss <amlal@nekernel.org>
Diffstat (limited to 'dev')
| -rw-r--r-- | dev/libDDK/DriverKit/dki/contract.h | 2 | ||||
| -rw-r--r-- | dev/libDDK/DriverKit/macros.h | 8 | ||||
| -rw-r--r-- | dev/libSystem/src/SystemCalls.cc | 17 | ||||
| -rw-r--r-- | dev/libSystem/src/Utils.cc | 29 |
4 files changed, 34 insertions, 22 deletions
diff --git a/dev/libDDK/DriverKit/dki/contract.h b/dev/libDDK/DriverKit/dki/contract.h index 23884e02..f701de56 100644 --- a/dev/libDDK/DriverKit/dki/contract.h +++ b/dev/libDDK/DriverKit/dki/contract.h @@ -10,7 +10,7 @@ #pragma once #include <CompilerKit/CompilerKit.h> -#include <DriverKit/macros.h> +#include <libDDK/DriverKit/macros.h> #define DKI_CONTRACT_IMPL : public ::Kernel::DKIContract diff --git a/dev/libDDK/DriverKit/macros.h b/dev/libDDK/DriverKit/macros.h index 9b7b3d50..e5aa4b96 100644 --- a/dev/libDDK/DriverKit/macros.h +++ b/dev/libDDK/DriverKit/macros.h @@ -16,7 +16,7 @@ #define BOOL bool #define YES true #define NO false -#define DDK_EXTERN extern "C" __declspec(dllexport) +#define DDK_EXTERN extern "C" #define nil nullptr #undef NULL #define NULL 0 @@ -25,7 +25,7 @@ #define BOOL char #define YES 1 #define NO 0 -#define DDK_EXTERN extern __declspec(dllexport) +#define DDK_EXTERN extern #define nil ((void*) 0) #undef NULL #define NULL ((void*) 0) @@ -35,9 +35,9 @@ #ifndef __DDK__ #undef DDK_EXTERN #if defined(__cplusplus) -#define DDK_EXTERN extern "C" __declspec(dllimport) +#define DDK_EXTERN extern "C" #else -#define DDK_EXTERN __declspec(dllimport) +#define DDK_EXTERN #endif #endif diff --git a/dev/libSystem/src/SystemCalls.cc b/dev/libSystem/src/SystemCalls.cc index 3db9368d..3d7a7447 100644 --- a/dev/libSystem/src/SystemCalls.cc +++ b/dev/libSystem/src/SystemCalls.cc @@ -11,23 +11,6 @@ using namespace LibSystem;
-/// @note this uses the FNV 64-bit variant.
-IMPORT_C UInt64 libsys_hash_64(const Char* path) {
- if (!path || *path == 0) return 0;
-
- const UInt64 kFNVSeed = 0xcbf29ce484222325ULL;
- const UInt64 kFNVPrime = 0x100000001b3ULL;
-
- UInt64 hash = kFNVSeed;
-
- while (*path) {
- hash ^= (Char) (*path++);
- hash *= kFNVPrime;
- }
-
- return hash;
-}
-
IMPORT_C Char* StrFmt(const Char* fmt, ...) {
if (!fmt || *fmt == 0) return const_cast<Char*>("(null)");
diff --git a/dev/libSystem/src/Utils.cc b/dev/libSystem/src/Utils.cc new file mode 100644 index 00000000..0688cd57 --- /dev/null +++ b/dev/libSystem/src/Utils.cc @@ -0,0 +1,29 @@ +/* ------------------------------------------- + + Copyright (C) 2025, Amlal El Mahrouss, all rights reserved. + +------------------------------------------- */ + +#include <libSystem/SystemKit/Err.h> +#include <libSystem/SystemKit/Syscall.h> +#include <libSystem/SystemKit/System.h> +#include <libSystem/SystemKit/Verify.h> + +using namespace LibSystem; + +/// @note This uses the FNV 64-bit variant. +IMPORT_C UInt64 libsys_hash_64(const Char* path) { + if (!path || *path == 0) return 0; + + const UInt64 kFNVSeed = 0xcbf29ce484222325ULL; + const UInt64 kFNVPrime = 0x100000001b3ULL; + + UInt64 hash = kFNVSeed; + + while (*path) { + hash ^= (Char) (*path++); + hash *= kFNVPrime; + } + + return hash; +} |
