summaryrefslogtreecommitdiffhomepage
path: root/dev/user
diff options
context:
space:
mode:
Diffstat (limited to 'dev/user')
-rw-r--r--dev/user/AsmProc.h15
-rw-r--r--dev/user/Macros.h126
-rw-r--r--dev/user/SecurityPolicy.h12
-rw-r--r--dev/user/SystemCalls.h380
-rw-r--r--dev/user/SystemCodes.h58
-rw-r--r--dev/user/docs/SPECIFICATION_SYSCALLS.md25
-rw-r--r--dev/user/obj/.keep0
-rw-r--r--dev/user/src/GNUmakefile16
-rw-r--r--dev/user/src/SystemCalls+IO.asm66
-rw-r--r--dev/user/src/SystemCalls.cc94
-rw-r--r--dev/user/user.json20
11 files changed, 0 insertions, 812 deletions
diff --git a/dev/user/AsmProc.h b/dev/user/AsmProc.h
deleted file mode 100644
index 4b3b63c1..00000000
--- a/dev/user/AsmProc.h
+++ /dev/null
@@ -1,15 +0,0 @@
-/* -------------------------------------------
-
- Copyright (C) 2025, Amlal El Mahrouss, all rights reserved.
-
-------------------------------------------- */
-
-#pragma once
-
-#include <user/SystemCalls.h>
-#include <cstdarg>
-
-IMPORT_C VoidPtr sci_syscall_arg_1(SizeT id);
-IMPORT_C VoidPtr sci_syscall_arg_2(SizeT id, VoidPtr arg1);
-IMPORT_C VoidPtr sci_syscall_arg_3(SizeT id, VoidPtr arg1, VoidPtr arg3);
-IMPORT_C VoidPtr sci_syscall_arg_4(SizeT id, VoidPtr arg1, VoidPtr arg3, VoidPtr arg4);
diff --git a/dev/user/Macros.h b/dev/user/Macros.h
deleted file mode 100644
index 71957208..00000000
--- a/dev/user/Macros.h
+++ /dev/null
@@ -1,126 +0,0 @@
-/* -------------------------------------------
-
-Copyright (C) 2024-2025, Amlal El Mahrouss, all rights reserved.
-
-File: Macros.h
-Purpose: libsci Macros header.
-
-------------------------------------------- */
-
-#pragma once
-
-/***********************************************************************************/
-/// @file user/Macros.h
-/// @brief Macros and Core types of the SCI (System Call Interface).
-/***********************************************************************************/
-
-#include <hint/CompilerHint.h>
-
-#define ATTRIBUTE(X) __attribute__((X))
-
-#define IMPORT_CXX extern "C++"
-#define IMPORT_C extern "C"
-
-#define DEPRECATED ATTRIBUTE(deprecated)
-
-#define EXIT_SUCCESS (0)
-#define EXIT_FAILURE (1)
-
-#define FILE_MAX_LEN (256)
-
-#ifndef BOOL
-#define BOOL bool
-#endif
-
-typedef bool Bool;
-typedef bool Boolean;
-typedef void Void;
-
-#ifndef __cplusplus
-#define true (1)
-#define false (0)
-#endif
-
-#define YES true
-#define NO false
-
-typedef __UINT64_TYPE__ UInt64;
-typedef __UINT32_TYPE__ UInt32;
-typedef __UINT16_TYPE__ UInt16;
-typedef __UINT8_TYPE__ UInt8;
-
-typedef __SIZE_TYPE__ SizeT;
-
-typedef __INT64_TYPE__ SInt64;
-typedef __INT32_TYPE__ SInt32;
-typedef __INT16_TYPE__ SInt16;
-typedef __INT8_TYPE__ SInt8;
-
-typedef void* VoidPtr;
-typedef __UINTPTR_TYPE__ UIntPtr;
-typedef char Char;
-
-#ifdef __cplusplus
-typedef decltype(nullptr) nullPtr;
-typedef nullPtr NullPtr;
-
-#define SCI_COPY_DELETE(KLASS) \
- KLASS& operator=(const KLASS&) = delete; \
- KLASS(const KLASS&) = delete;
-
-#define SCI_COPY_DEFAULT(KLASS) \
- KLASS& operator=(const KLASS&) = default; \
- KLASS(const KLASS&) = default;
-
-#define SCI_MOVE_DELETE(KLASS) \
- KLASS& operator=(KLASS&&) = delete; \
- KLASS(KLASS&&) = delete;
-
-#define SCI_MOVE_DEFAULT(KLASS) \
- KLASS& operator=(KLASS&&) = default; \
- KLASS(KLASS&&) = default;
-
-#endif
-
-IMPORT_C void _rtl_assert(Bool expr, const Char* origin);
-
-#define MUST_PASS(X) _rtl_assert(X, __FILE__)
-
-#ifndef ARRAY_SIZE
-#define ARRAY_SIZE(X) \
- (((sizeof(X) / sizeof(*(X))) / (static_cast<SizeT>(!(sizeof(X) % sizeof(*(X)))))))
-#endif
-
-#ifndef KIB
-#define KIB(X) (UInt64)((X) / 1024)
-#endif
-
-#ifndef kib_cast
-#define kib_cast(X) (UInt64)((X) *1024)
-#endif
-
-#ifndef MIB
-#define MIB(X) (UInt64)((UInt64) KIB(X) / 1024)
-#endif
-
-#ifndef mib_cast
-#define mib_cast(X) (UInt64)((UInt64) kib_cast(X) * 1024)
-#endif
-
-#ifndef GIB
-#define GIB(X) (UInt64)((UInt64) MIB(X) / 1024)
-#endif
-
-#ifndef gib_cast
-#define gib_cast(X) (UInt64)((UInt64) mib_cast(X) * 1024)
-#endif
-
-#ifndef TIB
-#define TIB(X) (UInt64)((UInt64) GIB(X) / 1024)
-#endif
-
-#ifndef tib_cast
-#define tib_cast(X) ((UInt64) gib_cast(X) * 1024)
-#endif
-
-#define SCI_UNUSED(X) ((void) X)
diff --git a/dev/user/SecurityPolicy.h b/dev/user/SecurityPolicy.h
deleted file mode 100644
index a03c928b..00000000
--- a/dev/user/SecurityPolicy.h
+++ /dev/null
@@ -1,12 +0,0 @@
-/* -------------------------------------------
-
- Copyright (C) 2025, Amlal El Mahrouss, all rights reserved.
-
-------------------------------------------- */
-
-#pragma once
-
-#include <user/SystemCalls.h>
-
-/// @file SecurityPolicy.h
-/// @brief Hardened Security Policy, used to restrict access to certain system calls. \ No newline at end of file
diff --git a/dev/user/SystemCalls.h b/dev/user/SystemCalls.h
deleted file mode 100644
index d77c0b8f..00000000
--- a/dev/user/SystemCalls.h
+++ /dev/null
@@ -1,380 +0,0 @@
-/* -------------------------------------------
-
-Copyright (C) 2024-2025, Amlal El Mahrouss, all rights reserved.
-
-File: SystemCalls.h
-Purpose: System Call Interface.
-
-------------------------------------------- */
-
-#ifndef SCI_SYSTEM_CALLS_H
-#define SCI_SYSTEM_CALLS_H
-
-#include <user/Macros.h>
-
-// ------------------------------------------------------------------------------------------ //
-/// @brief Types API.
-// ------------------------------------------------------------------------------------------ //
-
-typedef VoidPtr Ref;
-
-typedef Ref IORef;
-typedef Ref FSRef;
-typedef Ref DylibRef;
-typedef Ref ThreadRef;
-typedef Ref SocketRef;
-typedef Ref NetworkRef;
-typedef Ref MutexRef;
-typedef Ref EventRef;
-typedef Ref SemaphoreRef;
-
-// ------------------------------------------------------------------------------------------ //
-/// @brief Dynamic Loader API.
-// ------------------------------------------------------------------------------------------ //
-
-/// @brief Get function which is part of the Dylib.
-/// @param symbol the symbol to look for
-/// @param dll_handle the Dylib handle.
-/// @return the proc pointer.
-IMPORT_C Ref LdrGetDylibSymbolFromHandle(_Input const Char* symbol, _Input Ref dll_handle);
-
-/// @brief Open Dylib handle.
-/// @param path dll path.
-/// @param drv driver letter.
-/// @return a dylib ref.
-IMPORT_C Ref LdrOpenDylibHandle(_Input const Char* path, _Input const Char* drive_letter);
-
-/// @brief Close Dylib handle
-/// @param dll_handle the dylib ref.
-/// @return whether it closed or not.
-IMPORT_C UInt32 LdrCloseDylibHandle(_Input Ref* dll_handle);
-
-// ------------------------------------------------------------------------------------------ //
-// File API.
-// ------------------------------------------------------------------------------------------ //
-
-/// @brief Opens a file from a drive.
-/// @param fs_path the filesystem path.
-/// @param drive_letter drive name, use NULL to use default drive location.
-/// @return the file descriptor of the file.
-IMPORT_C Ref IoOpenFile(const Char* fs_path, const Char* drive_letter);
-
-/// @brief Closes a file and flushes its content.
-/// @param file_desc the file descriptor.
-/// @return Function doesn't return a type.
-IMPORT_C Void IoCloseFile(_Input Ref file_desc);
-
-/// @brief I/O control (ioctl) on a file.
-/// @param file_desc the file descriptor.
-/// @param ioctl_code the ioctl code.
-/// @param in_data the input data.
-/// @param out_data the output data.
-/// @return the number of bytes written.
-/// @note This function is used to control the file descriptor, introduced for HeFS.
-IMPORT_C SInt32 IoCtrlFile(_Input Ref file_desc, _Input UInt32 ioctl_code, _Input VoidPtr in_data,
- _Output VoidPtr out_data);
-
-/// @brief Gets the file mime (if any)
-/// @param file_desc the file descriptor.
-IMPORT_C const Char* IoMimeFile(_Input Ref file_desc);
-
-/// @brief Gets the dir DIM.
-/// @param dir_desc directory descriptor.
-/// @note only works in HeFS, will return nil-x/nil if used on any other filesystem.
-IMPORT_C const Char* IoDimFile(_Input Ref dir_desc);
-
-/// @brief Write data to a file ref
-/// @param file_desc the file descriptor.
-/// @param out_data the data to write.
-/// @param sz_data the size of the data to write.
-/// @return the number of bytes written.
-IMPORT_C UInt32 IoWriteFile(_Input Ref file_desc, _Output VoidPtr out_data, SizeT sz_data);
-
-/// @brief Read data from a file.
-/// @param file_desc the file descriptor.
-/// @param out_data the data to read.
-/// @param sz_data the size of the data to read.
-IMPORT_C UInt32 IoReadFile(_Input Ref file_desc, _Output VoidPtr* out_data, SizeT sz_data);
-
-/// @brief Rewind the file pointer to the beginning of the file.
-/// @param file_desc the file descriptor.
-/// @return the number of bytes read.
-IMPORT_C UInt64 IoRewindFile(_Input Ref file_desc);
-
-/// @brief Tell the current position of the file pointer.
-/// @param file_desc the file descriptor.
-/// @return the current position of the file pointer.
-IMPORT_C UInt64 IoTellFile(_Input Ref file_desc);
-
-/// @brief Seek file offset from file descriptor.
-IMPORT_C UInt64 IoSeekFile(_Input Ref file_desc, UInt64 file_offset);
-
-// ------------------------------------------------------------------------
-// Process API.
-// ------------------------------------------------------------------------
-
-/// @brief Spawns a Thread Information Block and Global Information Block inside the current
-/// process.
-/// @param process_id Target Process ID, must be valid.
-/// @return > 0 error occurred or already present, = 0 success.
-IMPORT_C UInt32 RtlSpawnIB(UIntPtr process_id);
-
-/// @brief Spawns a process with a unique pid (stored as UIntPtr).
-/// @param process_path process filesystem path.
-/// @return > 0 process was created.
-IMPORT_C UIntPtr RtlSpawnProcess(const Char* process_path, SizeT argc, Char** argv, Char** envp,
- SizeT envp_len);
-
-/// @brief Exits a process with an exit_code.
-/// @return if it has succeeded true, otherwise false.
-IMPORT_C Bool RtlExitProcess(UIntPtr handle, UIntPtr exit_code);
-
-// ------------------------------------------------------------------------
-// Memory Manager API.
-// ------------------------------------------------------------------------
-
-/// @brief Creates a new heap from the process's address space.
-/// @param len the length of it.
-/// @param flags the flags of it.
-/// @return heap pointer.
-IMPORT_C VoidPtr MmCreateHeap(_Input SizeT len, _Input UInt32 flags);
-
-/// @brief Destroys the pointer
-/// @param heap the heap itself.
-/// @return void.
-IMPORT_C SInt32 MmDestroyHeap(_Input VoidPtr heap);
-
-/// @brief Change protection flags of a memory region.
-IMPORT_C SInt32 MmSetHeapFlags(_Input VoidPtr heap, _Input UInt32 flags);
-
-/// @brief Change protection flags of a memory region.
-IMPORT_C UInt32 MmGetHeapFlags(_Input VoidPtr heap);
-
-/// @brief Fill memory region with CRC32.
-IMPORT_C UInt32 MmFillCRC32Heap(_Input VoidPtr heap);
-
-/// @brief Copy memory region.
-IMPORT_C VoidPtr MmCopyMemory(_Input VoidPtr dest, _Input VoidPtr src, _Input SizeT len);
-
-/// @brief Compare memory regions.
-IMPORT_C SInt64 MmCmpMemory(_Input VoidPtr dest, _Input VoidPtr src, _Input SizeT len);
-
-/// @brief Fill memory region.
-IMPORT_C VoidPtr MmFillMemory(_Input VoidPtr dest, _Input SizeT len, _Input UInt8 value);
-
-/// @brief Compare string regions.
-IMPORT_C SInt64 MmStrCmp(_Input const Char* dest, _Input const Char* src);
-
-/// @brief Get length of string.
-IMPORT_C SInt64 MmStrLen(const Char* str);
-
-// ------------------------------------------------------------------------
-// @brief Error API.
-// ------------------------------------------------------------------------
-
-IMPORT_C SInt32 ErrGetLastError(Void);
-
-// ------------------------------------------------------------------------
-// @brief Threading API.
-// ------------------------------------------------------------------------
-
-/// @brief Exit the current thread.
-/// @param exit_code the exit code.
-IMPORT_C SInt32 ThrExitCurrentThread(_Input SInt32 exit_code);
-
-/// @brief Exit the main thread.
-/// @param exit_code the exit code.
-IMPORT_C SInt32 ThrExitMainThread(_Input SInt32 exit_code);
-
-/// @brief Exit a thread.
-/// @param thread the thread to exit.
-/// @param exit_code the exit code.
-IMPORT_C SInt32 ThrExitThread(_Input ThreadRef thread, _Input SInt32 exit_code);
-
-/// @brief Thread procedure function type.
-typedef SInt32 (*ThrProcKind)(SInt32 argc, Char** argv);
-
-/// @brief Creates a thread.
-/// @param procedure the thread procedure.
-/// @param argument_count number of arguments inside that thread.
-/// @param flags Thread flags.
-/// @return the thread object.
-IMPORT_C ThreadRef ThrCreateThread(const Char* thread_name, ThrProcKind procedure,
- SInt32 argument_count, SInt32 flags);
-
-/// @brief Yields the current thread.
-/// @param thread the thread to yield.
-IMPORT_C SInt32 ThrYieldThread(ThreadRef thrd);
-
-/// @brief Joins a thread.
-/// @param thread the thread to join.
-IMPORT_C SInt32 ThrJoinThread(ThreadRef thrd);
-
-/// @brief Detach a thread.
-/// @param thread the thread to detach.
-IMPORT_C SInt32 ThrDetachThread(ThreadRef thrd);
-
-// ------------------------------------------------------------------------
-// @brief Drive Management API.
-// ------------------------------------------------------------------------
-
-// ------------------------------------------------------------------------------------------ //
-/// @brief Get the default drive letter.
-/// @param void.
-/// @return the drive letter.
-// ------------------------------------------------------------------------------------------ //
-IMPORT_C Char* DrvGetDefaultDriveLetter(Void);
-
-// ------------------------------------------------------------------------------------------ //
-/// @brief Get the drive letter from a path.
-/// @param path the path.
-/// @return the drive letter.
-// ------------------------------------------------------------------------------------------ //
-IMPORT_C Char* DrvGetDriveLetterFromPath(_Input const Char* path);
-
-// ------------------------------------------------------------------------------------------ //
-/// @brief Get a mounted drive from a letter.
-/// @param letter the letter (A..Z).
-/// @return the drive object.
-// ------------------------------------------------------------------------------------------ //
-IMPORT_C Ref DrvGetMountedDrive(_Input Char letter);
-
-// ------------------------------------------------------------------------------------------ //
-/// @brief Mount a drive.
-/// @param path the path to mount.
-/// @param letter the letter to mount.
-// ------------------------------------------------------------------------------------------ //
-IMPORT_C Void DrvMountDrive(_Input const Char* path, _Input const Char* letter);
-
-// ------------------------------------------------------------------------------------------ //
-/// @brief Unmount a drive.
-/// @param letter the letter to unmount.
-// ------------------------------------------------------------------------------------------ //
-IMPORT_C Void DrvUnmountDrive(_Input Char letter);
-
-// ------------------------------------------------------------------------
-// Event handling API, use to listen to OS specific events.
-// ------------------------------------------------------------------------
-
-// ------------------------------------------------------------------------------------------ //
-/// @brief Add an event listener.
-/// @param event_name the event name.
-/// @param listener the listener to add.
-/// @return the event listener.
-// ------------------------------------------------------------------------------------------ //
-
-IMPORT_C Void EvtAddListener(_Input const Char* event_name, _Input Ref listener);
-
-// ------------------------------------------------------------------------------------------ //
-/// @brief Remove an event listener.
-/// @param event_name the event name.
-/// @param listener the listener to remove.
-/// @return the event listener.
-// ------------------------------------------------------------------------------------------ //
-
-IMPORT_C Void EvtRemoveListener(_Input const Char* event_name, _Input Ref listener);
-
-// ------------------------------------------------------------------------------------------ //
-/// @brief Dispatch an event.
-/// @param event_name the event name.
-/// @param event_data the event data.
-/// @return the event data.
-// ------------------------------------------------------------------------------------------ //
-
-IMPORT_C VoidPtr EvtDispatchEvent(_Input const Char* event_name, _Input VoidPtr event_data);
-
-// ------------------------------------------------------------------------------------------ //
-// Power API.
-// ------------------------------------------------------------------------------------------ //
-
-enum {
- kPowerCodeInvalid = 0,
- kPowerCodeShutdown = 12,
- kPowerCodeReboot,
- kPowerCodeSleep,
- kPowerCodeWake,
- kPowerCodeCount,
-};
-
-IMPORT_C SInt32 PwrReadCode(_Output SInt32& code);
-
-IMPORT_C SInt32 PwrSendCode(_Output SInt32& code);
-
-// ------------------------------------------------------------------------------------------ //
-// CD-ROM API.
-// ------------------------------------------------------------------------------------------ //
-
-IMPORT_C SInt32 CdEjectDrive(_Input Char drv_letter);
-
-IMPORT_C SInt32 CdOpenTray(Void);
-
-IMPORT_C SInt32 CdCloseTray(Void);
-
-// ------------------------------------------------------------------------------------------ //
-// Printer API.
-// ------------------------------------------------------------------------------------------ //
-
-IMPORT_C SInt32 PrintOut(IORef file /* nullptr to direct to stdout */, const Char* fmt, ...);
-
-IMPORT_C SInt32 PrintIn(IORef file /* nullptr to direct to stdout */, const Char* fmt, ...);
-
-IMPORT_C IORef PrintCreate(Void);
-
-IMPORT_C SInt32 PrintRelease(IORef);
-
-IMPORT_C IORef PrintGet(const Char* path);
-
-// ------------------------------------------------------------------------------------------ //
-// @brief Scheduler/Debug API.
-// ------------------------------------------------------------------------------------------ //
-
-typedef SInt32 AffinityRef;
-typedef UInt64 ProcessRef;
-
-IMPORT_C SInt32 SchedSetAffinity(_Input ProcessRef, SInt32 req, _Input AffinityRef*);
-
-IMPORT_C SInt32 SchedGetAffinity(_Input ProcessRef, _InOut AffinityRef*);
-
-IMPORT_C SInt32 SchedFireSignal(_Input ProcessRef, SInt32);
-
-IMPORT_C SInt32 SchedReadMemory(_Input ProcessRef, SInt32, SInt32);
-
-IMPORT_C SInt32 SchedWriteMemory(_Input ProcessRef, SInt32, SInt32);
-
-IMPORT_C UIntPtr SchedGetCurrentProcessID(Void);
-
-// ------------------------------------------------------------------------------------------ //
-// @brief Filesystem API.
-// ------------------------------------------------------------------------------------------ //
-
-IMPORT_C BOOL FsCopy(const Char* path, const Char* dst);
-
-IMPORT_C BOOL FsMove(const Char* path, const Char* dst);
-
-IMPORT_C BOOL FsExists(const Char* path);
-
-IMPORT_C BOOL FsCreateDir(const Char* path);
-
-IMPORT_C BOOL FsCreateFile(const Char* path);
-
-IMPORT_C BOOL FsCreateAlias(const Char* path, const Char* from);
-
-// ------------------------------------------------------------------------------------------ //
-// @brief Installable Filesystem API.
-// ------------------------------------------------------------------------------------------ //
-
-IMPORT_C BOOL IfsMount(const Char* path, const Char* drive_letter);
-
-IMPORT_C BOOL IfsUnmount(const Char* drive_letter);
-
-IMPORT_C BOOL IfsIsMounted(const Char* drive_letter);
-
-// ------------------------------------------------------------------------------------------ //
-// @brief String Manip API.
-// ------------------------------------------------------------------------------------------ //
-
-IMPORT_C Char* StrFmt(const Char* fmt, ...);
-
-IMPORT_C UInt64 StrMathToNumber(const Char* in, const Char** endp, const SInt16 base);
-
-#endif // ifndef SCI_SYSTEM_CALLS_H
diff --git a/dev/user/SystemCodes.h b/dev/user/SystemCodes.h
deleted file mode 100644
index 90457944..00000000
--- a/dev/user/SystemCodes.h
+++ /dev/null
@@ -1,58 +0,0 @@
-/* -------------------------------------------
-
- Copyright (C) 2024-2025, Amlal El Mahrouss, all rights reserved.
-
-------------------------------------------- */
-
-#pragma once
-
-#include <user/Macros.h>
-
-/// @file ProcessCodes.h
-/// @brief Process Codes type and values.
-/// @author Amlal El Mahrouss (amlal@nekernel.org)
-
-#define err_local_ok() (kLastError == kErrorSuccess)
-#define err_local_fail() (kLastError != kErrorSuccess)
-#define err_local_get() (kLastError)
-
-typedef SInt32 ErrRef;
-
-inline constexpr ErrRef kErrorSuccess = 0;
-inline constexpr ErrRef kErrorExecutable = 33;
-inline constexpr ErrRef kErrorExecutableLib = 34;
-inline constexpr ErrRef kErrorFileNotFound = 35;
-inline constexpr ErrRef kErrorDirectoryNotFound = 36;
-inline constexpr ErrRef kErrorDiskReadOnly = 37;
-inline constexpr ErrRef kErrorDiskIsFull = 38;
-inline constexpr ErrRef kErrorProcessFault = 39;
-inline constexpr ErrRef kErrorSocketHangUp = 40;
-inline constexpr ErrRef kErrorThreadLocalStorage = 41;
-inline constexpr ErrRef kErrorMath = 42;
-inline constexpr ErrRef kErrorNoNetwork = 43;
-inline constexpr ErrRef kErrorHeapOutOfMemory = 44;
-inline constexpr ErrRef kErrorNoSuchDisk = 45;
-inline constexpr ErrRef kErrorFileExists = 46;
-inline constexpr ErrRef kErrorFormatFailed = 47;
-inline constexpr ErrRef kErrorNetworkTimeout = 48;
-inline constexpr ErrRef kErrorInternal = 49;
-inline constexpr ErrRef kErrorForkAlreadyExists = 50;
-inline constexpr ErrRef kErrorOutOfTeamSlot = 51;
-inline constexpr ErrRef kErrorHeapNotPresent = 52;
-inline constexpr ErrRef kErrorNoEntrypoint = 53;
-inline constexpr ErrRef kErrorDiskIsCorrupted = 54;
-inline constexpr ErrRef kErrorDisk = 55;
-inline constexpr ErrRef kErrorInvalidData = 56;
-inline constexpr ErrRef kErrorAsync = 57;
-inline constexpr ErrRef kErrorNonBlocking = 58;
-inline constexpr ErrRef kErrorIPC = 59;
-inline constexpr ErrRef kErrorSign = 60;
-inline constexpr ErrRef kErrorInvalidCreds = 61;
-inline constexpr ErrRef kErrorCDTrayBroken = 62;
-inline constexpr ErrRef kErrorUnrecoverableDisk = 63;
-inline constexpr ErrRef kErrorFileLocked = 64;
-inline constexpr ErrRef kErrorDiskIsTooTiny = 65;
-inline constexpr ErrRef kErrorUnimplemented = -1;
-
-/// @brief The last error reported by the system to the process.
-IMPORT_C ErrRef kLastError;
diff --git a/dev/user/docs/SPECIFICATION_SYSCALLS.md b/dev/user/docs/SPECIFICATION_SYSCALLS.md
deleted file mode 100644
index b4b11c8c..00000000
--- a/dev/user/docs/SPECIFICATION_SYSCALLS.md
+++ /dev/null
@@ -1,25 +0,0 @@
-===================================
-# 0: General Information
-===================================
-
-- **Programming Language**: C / C++
-- **Build System**: Make / BTB (Build the Build)
-- **Purpose**: System Call Interface (SCI) for NeKernel
-
-===================================
-# 1: How It Works
-===================================
-
-- This header provides the raw API surface for accessing NeKernel's system calls.
-
-- It is **not** directly used by applications.
- - Instead, it is abstracted by the **SystemSDK**, which presents a stable, high-level interface.
-
-- At runtime:
- - System calls are routed from user-space code to the **kernel syscall manager**.
- - The syscall manager executes the requested operation and returns control to `libSystem`.
- - Finally, the result is delivered back to the originating process.
-
-- This separation ensures that:
- - The SCI remains low-level and close to the ABI.
- - `SystemSDK` provides portability and shielding from changes in syscall internals. \ No newline at end of file
diff --git a/dev/user/obj/.keep b/dev/user/obj/.keep
deleted file mode 100644
index e69de29b..00000000
--- a/dev/user/obj/.keep
+++ /dev/null
diff --git a/dev/user/src/GNUmakefile b/dev/user/src/GNUmakefile
deleted file mode 100644
index 9b901f9f..00000000
--- a/dev/user/src/GNUmakefile
+++ /dev/null
@@ -1,16 +0,0 @@
-##################################################
-# (c) Amlal El Mahrouss, all rights reserved.
-# This file is for libSystem.sys's syscall stubs.
-##################################################
-
-ASM=nasm
-FLAGS=-f win64
-
-.PHONY: error
-error:
- @echo "==> Invalid rule."
- @echo "==> Use sci_asm_io_<arch> instead."
-
-.PHONY: sci_asm_io_x64
-sci_asm_io_x64:
- $(ASM) $(FLAGS) SystemCalls+IO.asm -o SystemCalls+IO.stub.obj
diff --git a/dev/user/src/SystemCalls+IO.asm b/dev/user/src/SystemCalls+IO.asm
deleted file mode 100644
index 097046af..00000000
--- a/dev/user/src/SystemCalls+IO.asm
+++ /dev/null
@@ -1,66 +0,0 @@
-;; /*
-;; * ========================================================
-;; *
-;; * libSystem/src/SystemCalls+IO.asm
-;; * Copyright (C) 2024-2025, Amlal El Mahrouss, all rights reserved.
-;; *
-;; * ========================================================
-;; */
-
-[bits 64]
-
-section .text
-
-global sci_syscall_arg_1
-global sci_syscall_arg_2
-global sci_syscall_arg_3
-global sci_syscall_arg_4
-
-sci_syscall_arg_1:
- push rbp
- mov rbp, rsp
-
- mov r8, rcx
- syscall
-
- pop rbp
-
- ret
-
-sci_syscall_arg_2:
- push rbp
- mov rbp, rsp
-
- mov r8, rcx
- mov r9, rdx
- syscall
- pop rbp
-
- ret
-
-sci_syscall_arg_3:
- push rbp
- mov rbp, rsp
-
- mov r8, rcx
- mov r9, rdx
- mov r10, rbx
-
- syscall
- pop rbp
-
- ret
-
-sci_syscall_arg_4:
- push rbp
- mov rbp, rsp
-
- mov r8, rcx
- mov r9, rdx
- mov r10, rbx
- mov r11, rax
-
- syscall
- pop rbp
-
- ret
diff --git a/dev/user/src/SystemCalls.cc b/dev/user/src/SystemCalls.cc
deleted file mode 100644
index f004718c..00000000
--- a/dev/user/src/SystemCalls.cc
+++ /dev/null
@@ -1,94 +0,0 @@
-/* -------------------------------------------
-
- Copyright (C) 2024-2025, Amlal El Mahrouss, all rights reserved.
-
-------------------------------------------- */
-
-#include <user/AsmProc.h>
-#include <user/SystemCalls.h>
-
-/// @file SystemCalls.cc
-/// @brief Source file for the memory functions/syscalls for libSystem.sys
-
-IMPORT_C VoidPtr MmCopyMemory(_Input VoidPtr dest, _Input VoidPtr src, _Input SizeT len) {
- if (!len || !dest || !src) {
- return nullptr;
- }
-
- for (SizeT i = 0; i < len; i++) {
- ((Char*) dest)[i] = ((Char*) src)[i];
- }
-
- return dest;
-}
-
-IMPORT_C SInt64 MmStrLen(const Char* in) {
- if (!in) return 0;
-
- SizeT len{0};
-
- do {
- ++len;
- } while (in[len] != '\0');
-
- return len;
-}
-
-IMPORT_C VoidPtr MmFillMemory(_Input VoidPtr dest, _Input SizeT len, _Input UInt8 value) {
- if (!len || !dest) {
- return nullptr;
- }
-
- for (SizeT i = 0; i < len; i++) {
- ((Char*) dest)[i] = value;
- }
-
- return dest;
-}
-
-//-----------------------------------------------------------------------------------------------------------//
-/// @brief Systems Calls implementation.
-/// @internal
-//-----------------------------------------------------------------------------------------------------------//
-
-IMPORT_C Ref IoOpenFile(_Input const Char* path, _Input const Char* drv_letter) {
- return sci_syscall_arg_3(1, reinterpret_cast<VoidPtr>(const_cast<Char*>(path)),
- reinterpret_cast<VoidPtr>(const_cast<Char*>(drv_letter)));
-}
-
-IMPORT_C Void IoCloseFile(_Input Ref desc) {
- sci_syscall_arg_2(2, desc);
-}
-
-IMPORT_C UInt64 IoSeekFile(_Input Ref desc, _Input UInt64 off) {
- auto ret = (volatile UInt64*) sci_syscall_arg_3(3, reinterpret_cast<VoidPtr>(desc),
- reinterpret_cast<VoidPtr>(&off));
-
- MUST_PASS((*ret) != ~0UL);
- return *ret;
-}
-
-IMPORT_C UInt64 IoTellFile(_Input Ref desc) {
- auto ret = (volatile UInt64*) sci_syscall_arg_2(4, reinterpret_cast<VoidPtr>(desc));
- return *ret;
-}
-
-IMPORT_C SInt32 PrintOut(_Input IORef desc, const char* fmt, ...) {
- va_list args;
-
- va_start(args, fmt);
-
- auto ret = (volatile UInt64*) sci_syscall_arg_4(
- 5, reinterpret_cast<VoidPtr>(desc), reinterpret_cast<VoidPtr>(const_cast<Char*>(fmt)), args);
-
- va_end(args);
-
- return *ret;
-}
-
-IMPORT_C Void _rtl_assert(Bool expr, const Char* origin) {
- if (!expr) {
- PrintOut(nullptr, "Assertion failed: %s\r", origin);
- PrintOut(nullptr, "Origin: %s\r", origin);
- }
-}
diff --git a/dev/user/user.json b/dev/user/user.json
deleted file mode 100644
index 2267175e..00000000
--- a/dev/user/user.json
+++ /dev/null
@@ -1,20 +0,0 @@
-{
- "compiler_path": "x86_64-w64-mingw32-g++",
- "compiler_std": "c++20",
- "headers_path": ["../", "./"],
- "sources_path": ["src/*.cc", "src/*.stub.obj"],
- "output_name": "libSystem.sys",
- "compiler_flags": [
- "-ffreestanding",
- "-shared",
- "-fPIC",
- "-fno-rtti",
- "-fno-exceptions",
- "-Wl,--subsystem=17"
- ],
- "cpp_macros": [
- "kSCIVersion=0x0100",
- "kSCIVersionHighest=0x0100",
- "kSCIVersionLowest=0x0100"
- ]
-}