summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
-rw-r--r--dev/kernel/KernelKit/Semaphore.h16
-rw-r--r--public/frameworks/CoreFoundation.fwrk/CoreFoundation.json3
-rw-r--r--public/frameworks/CoreFoundation.fwrk/headers/Foundation.h2
-rw-r--r--public/frameworks/CoreFoundation.fwrk/headers/String.h5
4 files changed, 16 insertions, 10 deletions
diff --git a/dev/kernel/KernelKit/Semaphore.h b/dev/kernel/KernelKit/Semaphore.h
index 1bc61ed1..930b245d 100644
--- a/dev/kernel/KernelKit/Semaphore.h
+++ b/dev/kernel/KernelKit/Semaphore.h
@@ -14,27 +14,27 @@
#include <KernelKit/Timer.h>
#include <NeKit/Defines.h>
-#define kSemaphoreOwnerIndex (0)
-#define kSemaphoreCountIndex (1)
+#define kSemaphoreOwnerIndex (0U)
+#define kSemaphoreCountIndex (1U)
-#define kSemaphoreCount (2)
+#define kSemaphoreCount (2U)
#define kSemaphoreIncrementOwner(sem) (sem[kSemaphoreOwnerIndex]++)
#define kSemaphoreDecrementOwner(sem) (sem[kSemaphoreOwnerIndex]--)
namespace Kernel {
/// @brief Semaphore structure used for synchronization.
-typedef UInt64 Semaphore[kSemaphoreCount];
+typedef UInt64 SemaphoreArr[kSemaphoreCount];
/// @brief Checks if the semaphore is valid.
-inline BOOL rtl_sem_is_valid(const Semaphore& sem, UInt64 owner = 0) {
+inline BOOL rtl_sem_is_valid(const SemaphoreArr& sem, UInt64 owner = 0) {
return sem[kSemaphoreOwnerIndex] == owner && sem[kSemaphoreCountIndex] >= 0;
}
/// @brief Releases the semaphore, resetting its owner and count.
/// @param sem
/// @return
-inline BOOL rtl_sem_release(Semaphore& sem) {
+inline BOOL rtl_sem_release(SemaphoreArr& sem) {
sem[kSemaphoreOwnerIndex] = 0;
sem[kSemaphoreCountIndex] = 0;
@@ -45,7 +45,7 @@ inline BOOL rtl_sem_release(Semaphore& sem) {
/// @param sem
/// @param owner
/// @return
-inline BOOL rtl_sem_acquire(Semaphore& sem, UInt64 owner) {
+inline BOOL rtl_sem_acquire(SemaphoreArr& sem, UInt64 owner) {
if (!owner) {
err_global_get() = kErrorInvalidData;
return FALSE; // Invalid owner
@@ -61,7 +61,7 @@ inline BOOL rtl_sem_acquire(Semaphore& sem, UInt64 owner) {
/// @param sem
/// @param timeout
/// @return
-inline BOOL rtl_sem_wait(Semaphore& sem, UInt64 owner, UInt64 timeout, BOOL* condition = nullptr) {
+inline BOOL rtl_sem_wait(SemaphoreArr& sem, UInt64 owner, UInt64 timeout, BOOL* condition = nullptr) {
if (!rtl_sem_is_valid(sem, owner)) {
return FALSE;
}
diff --git a/public/frameworks/CoreFoundation.fwrk/CoreFoundation.json b/public/frameworks/CoreFoundation.fwrk/CoreFoundation.json
index 076b35ae..39e6b480 100644
--- a/public/frameworks/CoreFoundation.fwrk/CoreFoundation.json
+++ b/public/frameworks/CoreFoundation.fwrk/CoreFoundation.json
@@ -15,7 +15,8 @@
"kCFVersion=0x0100",
"kCFVersionHighest=0x0100",
"kCFVersionLowest=0x0100",
- "__NE_AMD64__"
+ "__NE_AMD64__",
+ "__CF_64BIT__"
]
}
\ No newline at end of file
diff --git a/public/frameworks/CoreFoundation.fwrk/headers/Foundation.h b/public/frameworks/CoreFoundation.fwrk/headers/Foundation.h
index 500ad544..8396a3e8 100644
--- a/public/frameworks/CoreFoundation.fwrk/headers/Foundation.h
+++ b/public/frameworks/CoreFoundation.fwrk/headers/Foundation.h
@@ -25,7 +25,7 @@ struct CFPoint;
struct CFRect;
struct CFColor;
-#ifndef __LP64__
+#ifndef __CF_64BIT__
typedef SInt32 CFInteger;
typedef float CFReal;
#else
diff --git a/public/frameworks/CoreFoundation.fwrk/headers/String.h b/public/frameworks/CoreFoundation.fwrk/headers/String.h
index c28c05cd..ea32038d 100644
--- a/public/frameworks/CoreFoundation.fwrk/headers/String.h
+++ b/public/frameworks/CoreFoundation.fwrk/headers/String.h
@@ -14,5 +14,10 @@ class CFString;
class CFString final CF_OBJECT {
public:
+ CFString() = default;
+ ~CFString() = default;
+
+ CFString(const CFString&) = delete;
+ CFString& operator=(const CFString&) = delete;
};
} // namespace CF \ No newline at end of file