diff options
| author | Amlal EL Mahrouss <amlalelmahrouss@icloud.com> | 2024-10-03 05:32:46 +0200 |
|---|---|---|
| committer | Amlal EL Mahrouss <amlalelmahrouss@icloud.com> | 2024-10-03 05:32:46 +0200 |
| commit | 36b8e46de0e92aff31664470bb3587a91517ab99 (patch) | |
| tree | 780ce906e9273ebbee00a96230557e0b7e9ac9d9 /dev/sci | |
| parent | 3e30ee1749d19f5188560f9a5cdab922180c71ca (diff) | |
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 <amlalelmahrouss@icloud.com>
Diffstat (limited to 'dev/sci')
| -rw-r--r-- | dev/sci/sci_base.hxx | 10 | ||||
| -rw-r--r-- | dev/sci/sci_err.hxx | 47 | ||||
| -rw-r--r-- | dev/sci/sci_lpc.hxx | 47 |
3 files changed, 55 insertions, 49 deletions
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 <sci/sci_err.hxx>
+#include <sci/sci_lpc.hxx>
#ifdef __SCI_IMPL__
#include <sci/xpcom_core.hxx>
#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; |
