From 36b8e46de0e92aff31664470bb3587a91517ab99 Mon Sep 17 00:00:00 2001 From: Amlal EL Mahrouss Date: Thu, 3 Oct 2024 05:32:46 +0200 Subject: IMP: Fixes improvements and new APIs and implementations. - Add more threading API calls. - Moved /dev/zka/modules/ to /dev/modules/. - Add APM API inside /dev/modules. - Add SInt{x} types inside Defines.hxx. - Fix formatting inside PRM. Signed-off-by: Amlal EL Mahrouss --- dev/sci/sci_base.hxx | 10 ++++++++-- dev/sci/sci_err.hxx | 47 ----------------------------------------------- dev/sci/sci_lpc.hxx | 47 +++++++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 55 insertions(+), 49 deletions(-) delete mode 100644 dev/sci/sci_err.hxx create mode 100644 dev/sci/sci_lpc.hxx (limited to 'dev/sci') diff --git a/dev/sci/sci_base.hxx b/dev/sci/sci_base.hxx index 7638ca1a..9f627f19 100644 --- a/dev/sci/sci_base.hxx +++ b/dev/sci/sci_base.hxx @@ -39,13 +39,13 @@ typedef void* VoidPtr; typedef __UINTPTR_TYPE__ UIntPtr; typedef char Char; -#include +#include #ifdef __SCI_IMPL__ #include #else class IUnknown; // Refrenced from an IDB entry. -class ICLSID; // From the IDB, the constructor of the object, e.g: WordUCLSID. +class ICLSID; // From the IDB, the constructor of the object, e.g: IAppCLSID. class UUID; class ATTRIBUTE(uuid("d7c144b6-0792-44b8-b06b-02b227b547df")) IUnknown @@ -214,6 +214,12 @@ IMPORT_C SInt32 ErrGetLastError(UInt0); IMPORT_C UInt0 ThrExitCurrentThread(_Input SInt32 exit_code); IMPORT_C UInt0 ThrExitMainThread(_Input SInt32 exit_code); +IMPORT_C UInt0 ThrExitThread(_Input ThreadObject thread, _Input SInt32 exit_code); + +typedef Void(*GenericThreadFn)(Void); + +IMPORT_C ThreadObject ThrCreateThread(GenericThreadFn proc); + IMPORT_C UInt0 ThrExitYieldThread(UInt0); IMPORT_C UInt0 ThrExitJoinThread(UInt0); diff --git a/dev/sci/sci_err.hxx b/dev/sci/sci_err.hxx deleted file mode 100644 index a1e56dfd..00000000 --- a/dev/sci/sci_err.hxx +++ /dev/null @@ -1,47 +0,0 @@ -/* ------------------------------------------- - - Copyright ZKA Technologies. - -------------------------------------------- */ - -#pragma once - -#define ErrLocalIsOk() (kLastError == kErrorSuccess) -#define ErrLocalFailed() (kLastError != kErrorSuccess) -#define ErrLocal() (kLastError) - -typedef SInt32 ZKAErr; - -inline constexpr ZKAErr kErrorSuccess = 0; -inline constexpr ZKAErr kErrorExecutable = 33; -inline constexpr ZKAErr kErrorExecutableLib = 34; -inline constexpr ZKAErr kErrorFileNotFound = 35; -inline constexpr ZKAErr kErrorDirectoryNotFound = 36; -inline constexpr ZKAErr kErrorDiskReadOnly = 37; -inline constexpr ZKAErr kErrorDiskIsFull = 38; -inline constexpr ZKAErr kErrorProcessFault = 39; -inline constexpr ZKAErr kErrorSocketHangUp = 40; -inline constexpr ZKAErr kErrorThreadLocalStorage = 41; -inline constexpr ZKAErr kErrorMath = 42; -inline constexpr ZKAErr kErrorNoNetwork = 43; -inline constexpr ZKAErr kErrorHeapOutOfMemory = 44; -inline constexpr ZKAErr kErrorNoSuchDisk = 45; -inline constexpr ZKAErr kErrorFileExists = 46; -inline constexpr ZKAErr kErrorFormatFailed = 47; -inline constexpr ZKAErr kErrorNetworkTimeout = 48; -inline constexpr ZKAErr kErrorInternal = 49; -inline constexpr ZKAErr kErrorForkAlreadyExists = 50; -inline constexpr ZKAErr kErrorOutOfTeamSlot = 51; -inline constexpr ZKAErr kErrorHeapNotPresent = 52; -inline constexpr ZKAErr kErrorNoEntrypoint = 53; -inline constexpr ZKAErr kErrorDiskIsCorrupted = 54; -inline constexpr ZKAErr kErrorDisk = 55; -inline constexpr ZKAErr kErrorInvalidData = 56; -inline constexpr ZKAErr kErrorAsync = 57; -inline constexpr ZKAErr kErrorNonBlocking = 58; -inline constexpr ZKAErr kErrorIPC = 59; -inline constexpr ZKAErr kErrorSign = 60; -inline constexpr ZKAErr kErrorInvalidCreds = 61; -inline constexpr ZKAErr kErrorUnimplemented = 0; - -IMPORT_C ZKAErr kLastError; diff --git a/dev/sci/sci_lpc.hxx b/dev/sci/sci_lpc.hxx new file mode 100644 index 00000000..6b52050b --- /dev/null +++ b/dev/sci/sci_lpc.hxx @@ -0,0 +1,47 @@ +/* ------------------------------------------- + + Copyright ZKA Technologies. + +------------------------------------------- */ + +#pragma once + +#define ErrLocalIsOk() (kLastError == kErrorSuccess) +#define ErrLocalFailed() (kLastError != kErrorSuccess) +#define ErrLocal() (kLastError) + +typedef SInt32 ErrObject; + +inline constexpr ErrObject kErrorSuccess = 0; +inline constexpr ErrObject kErrorExecutable = 33; +inline constexpr ErrObject kErrorExecutableLib = 34; +inline constexpr ErrObject kErrorFileNotFound = 35; +inline constexpr ErrObject kErrorDirectoryNotFound = 36; +inline constexpr ErrObject kErrorDiskReadOnly = 37; +inline constexpr ErrObject kErrorDiskIsFull = 38; +inline constexpr ErrObject kErrorProcessFault = 39; +inline constexpr ErrObject kErrorSocketHangUp = 40; +inline constexpr ErrObject kErrorThreadLocalStorage = 41; +inline constexpr ErrObject kErrorMath = 42; +inline constexpr ErrObject kErrorNoNetwork = 43; +inline constexpr ErrObject kErrorHeapOutOfMemory = 44; +inline constexpr ErrObject kErrorNoSuchDisk = 45; +inline constexpr ErrObject kErrorFileExists = 46; +inline constexpr ErrObject kErrorFormatFailed = 47; +inline constexpr ErrObject kErrorNetworkTimeout = 48; +inline constexpr ErrObject kErrorInternal = 49; +inline constexpr ErrObject kErrorForkAlreadyExists = 50; +inline constexpr ErrObject kErrorOutOfTeamSlot = 51; +inline constexpr ErrObject kErrorHeapNotPresent = 52; +inline constexpr ErrObject kErrorNoEntrypoint = 53; +inline constexpr ErrObject kErrorDiskIsCorrupted = 54; +inline constexpr ErrObject kErrorDisk = 55; +inline constexpr ErrObject kErrorInvalidData = 56; +inline constexpr ErrObject kErrorAsync = 57; +inline constexpr ErrObject kErrorNonBlocking = 58; +inline constexpr ErrObject kErrorIPC = 59; +inline constexpr ErrObject kErrorSign = 60; +inline constexpr ErrObject kErrorInvalidCreds = 61; +inline constexpr ErrObject kErrorUnimplemented = 0; + +IMPORT_C ErrObject kLastError; -- cgit v1.2.3