summaryrefslogtreecommitdiffhomepage
path: root/dev/sci
diff options
context:
space:
mode:
Diffstat (limited to 'dev/sci')
-rw-r--r--dev/sci/sci_base.hxx10
-rw-r--r--dev/sci/sci_err.hxx47
-rw-r--r--dev/sci/sci_lpc.hxx47
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;