From eced0b64537b0f2da4fedeb597c8d194eb8acc76 Mon Sep 17 00:00:00 2001 From: Amlal El Mahrouss Date: Fri, 20 Mar 2026 10:21:56 +0100 Subject: [FEAT] PThread and POSIXKit separation. Signed-off-by: Amlal El Mahrouss --- src/libPOSIXWrapper/POSIXKit/POSIX.h | 24 ++++++++++++++++++++++++ src/libPOSIXWrapper/POSIXKit/unistd.h | 17 ++--------------- src/libPOSIXWrapper/src/POSIX.cpp | 7 +++++++ 3 files changed, 33 insertions(+), 15 deletions(-) create mode 100644 src/libPOSIXWrapper/POSIXKit/POSIX.h create mode 100644 src/libPOSIXWrapper/src/POSIX.cpp (limited to 'src/libPOSIXWrapper') diff --git a/src/libPOSIXWrapper/POSIXKit/POSIX.h b/src/libPOSIXWrapper/POSIXKit/POSIX.h new file mode 100644 index 00000000..ea2067b3 --- /dev/null +++ b/src/libPOSIXWrapper/POSIXKit/POSIX.h @@ -0,0 +1,24 @@ +// SPDX-License-Identifier: Apache-2.0 +// Copyright 2026, Amlal El Mahrouss (amlal@nekernel.org) +// Licensed under the Apache License, Version 2.0 (see LICENSE file) +// Official repository: https://github.com/ne-foss-org/nekernel + +#ifndef LIBPOSIX_POSIXKIT_POSIX_H +#define LIBPOSIX_POSIXKIT_POSIX_H + +#include + +/// @file POSIX.h +/// @brief POSIX definitions header for the NeSystem. + +/// @brief Please use these macros to specify whether your function is thread safe or not. +#define PTHREAD_UNSAFE __THREAD_UNSAFE +#define PTHREAD_SAFE __THREAD_SAFE + +#define _POSIX_SOURCE __POSIX_SOURCE__ +#define _XOPEN_SOURCE __XOPEN_SOURCE__ + +PTHREAD_UNSAFE IMPORT_C SInt64 write(SizeT count, SInt32 fd, Void* data, SizeT sz); +PTHREAD_UNSAFE IMPORT_C SInt64 read(SizeT count, SInt32 fd, Void* data, SizeT sz); + +#endif // LIBPOSIX_POSIXKIT_POSIX_H diff --git a/src/libPOSIXWrapper/POSIXKit/unistd.h b/src/libPOSIXWrapper/POSIXKit/unistd.h index 0e133c89..96701f35 100644 --- a/src/libPOSIXWrapper/POSIXKit/unistd.h +++ b/src/libPOSIXWrapper/POSIXKit/unistd.h @@ -3,19 +3,6 @@ // Licensed under the Apache License, Version 2.0 (see LICENSE file) // Official repository: https://github.com/ne-foss-org/nekernel -#ifndef LIBPOSIX_POSIXKIT_UNISTD_H -#define LIBPOSIX_POSIXKIT_UNISTD_H +#pragma once -#include - -/// @file Unistd.h -/// @brief POSIX Standard Header for NeKernel. - -#define _POSIX_SOURCE __POSIX_SOURCE__ -#define _XOPEN_SOURCE __XOPEN_SOURCE__ - -IMPORT_C SInt64 write(SizeT count, SInt32 fd, Void* data, SizeT sz); - -IMPORT_C SInt64 read(SizeT count, SInt32 fd, Void* data, SizeT sz); - -#endif // LIBPOSIX_POSIXKIT_UNISTD_H +#include diff --git a/src/libPOSIXWrapper/src/POSIX.cpp b/src/libPOSIXWrapper/src/POSIX.cpp new file mode 100644 index 00000000..fda4355b --- /dev/null +++ b/src/libPOSIXWrapper/src/POSIX.cpp @@ -0,0 +1,7 @@ +// SPDX-License-Identifier: Apache-2.0 +// Copyright 2026, Amlal El Mahrouss (amlal@nekernel.org) +// Licensed under the Apache License, Version 2.0 (see LICENSE file) +// Official repository: https://github.com/ne-foss-org/nekernel + +#include + -- cgit v1.2.3