summaryrefslogtreecommitdiffhomepage
path: root/SCIKit
diff options
context:
space:
mode:
authorAmlal EL Mahrouss <amlalelmahrouss@icloud.com>2024-08-11 10:01:11 +0200
committerAmlal EL Mahrouss <amlalelmahrouss@icloud.com>2024-08-11 10:01:11 +0200
commit4bc2a20e699812c397e0d9e3901d91196d8681f0 (patch)
tree0a00c7d47236cacf21413f58341bec6c0ec97455 /SCIKit
parent25c6f11de8d859d2aab49848cfc2c2d9a7f33153 (diff)
[newoskrnl.dll] Fixes and improvements, mostly on New FS and User Security support.
[encryptfs.dll] Add new DLL for filesystem encryption. [sci.dll] Add protocols for IDL parsing. Signed-off-by: Amlal EL Mahrouss <amlalelmahrouss@icloud.com>
Diffstat (limited to 'SCIKit')
-rw-r--r--SCIKit/SCIBase.hxx12
-rw-r--r--SCIKit/build.json2
-rw-r--r--SCIKit/scm.idlparser.inl (renamed from SCIKit/scm.iclparser.inl)5
3 files changed, 14 insertions, 5 deletions
diff --git a/SCIKit/SCIBase.hxx b/SCIKit/SCIBase.hxx
index 88711f7c..c685a081 100644
--- a/SCIKit/SCIBase.hxx
+++ b/SCIKit/SCIBase.hxx
@@ -31,7 +31,7 @@ typedef void* VoidPtr;
typedef __UINTPTR_TYPE__ UIntPtr;
typedef char Char;
-#ifdef __NEWOS_SYMS__
+#ifdef __SCI_IMPL__
#include <SCIKit/scm.internal.inl>
#else
class UnknownInterface; // Refrenced from an IDB entry.
@@ -135,11 +135,17 @@ enum
/// @param uclsidOfCls UCLS factory class
/// @return TCLS interface
template <typename TCLS, typename UCLSID, typename... Args>
-inline TCLS* ScmQueryInterface(UCLSID* uclsidOfCls, Args&&... args);
+TCLS* ScmQueryInterface(UCLSID* uclsidOfCls, Args&&... args);
/// @brief Release SCM object.
/// @tparam TCLS the class type.
/// @param cls the class to release.
/// @return status code.
template <typename TCLS>
-inline SInt32 ScmReleaseClass(TCLS* cls); \ No newline at end of file
+SInt32 ScmReleaseClass(TCLS* cls);
+
+/// @brief Creates an SCM instance in the process.
+SInt32 ScmCreateInstance(UInt32 flags, VoidPtr* handle_instance);
+
+/// @brief Destroys an SCM instance of the process.
+UInt0 ScmDestroyInstance(VoidPtr handle_instance); \ No newline at end of file
diff --git a/SCIKit/build.json b/SCIKit/build.json
index 4c484652..7c80f1a8 100644
--- a/SCIKit/build.json
+++ b/SCIKit/build.json
@@ -5,6 +5,6 @@
"sources_path": ["*.cxx"],
"output_name": "sci.dll",
"compiler_flags": ["-fPIC", "-shared", "-Wl,--subsystem=17"],
- "cpp_macros": ["__NEWOS_SYMS__"]
+ "cpp_macros": ["__SCI_IMPL__", "cSCIVersion=0x0100"]
}
\ No newline at end of file
diff --git a/SCIKit/scm.iclparser.inl b/SCIKit/scm.idlparser.inl
index 5bed133f..6189eab6 100644
--- a/SCIKit/scm.iclparser.inl
+++ b/SCIKit/scm.idlparser.inl
@@ -15,4 +15,7 @@ Purpose: Base code of SCM.
#define clsid(X) __attribute__((uuid(X)))
#warning ! you may be using the clang version of the newos kit, please be cautious that some thing mayn't be present. !
-#endif // !__NDK__ \ No newline at end of file
+#endif // !__NDK__
+
+protocol IDLParserInterface;
+protocol IDLInterface; \ No newline at end of file