From fca7e2533bfd9ed5fd678aeec2600d1c13a2c5c8 Mon Sep 17 00:00:00 2001 From: Amlal El Mahrouss Date: Sun, 15 Mar 2026 13:04:33 +0100 Subject: [CHORE] Add PThread core features and NeLaunch ProgramData feature. Signed-off-by: Amlal El Mahrouss --- src/libPThread/PThreadKit/Thread.h | 14 ++++++++++++++ src/libPThread/PThreadKit/pthread.h | 14 -------------- src/libPThread/src/PThreadHandle.cpp | 0 src/libPThread/src/Thread.cpp | 33 +++++++++++++++++++++++++++++++++ 4 files changed, 47 insertions(+), 14 deletions(-) create mode 100644 src/libPThread/PThreadKit/Thread.h delete mode 100644 src/libPThread/PThreadKit/pthread.h delete mode 100644 src/libPThread/src/PThreadHandle.cpp create mode 100644 src/libPThread/src/Thread.cpp (limited to 'src/libPThread') diff --git a/src/libPThread/PThreadKit/Thread.h b/src/libPThread/PThreadKit/Thread.h new file mode 100644 index 00000000..053885e7 --- /dev/null +++ b/src/libPThread/PThreadKit/Thread.h @@ -0,0 +1,14 @@ +// 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_THREAD_H +#define LIBPOSIX_POSIXKIT_THREAD_H + +#include + +#define PTHREAD_UNSAFE /* hint */ +#define PTHREAD_SAFE /* hint */ + +#endif // LIBPOSIX_POSIXKIT_THREAD_H diff --git a/src/libPThread/PThreadKit/pthread.h b/src/libPThread/PThreadKit/pthread.h deleted file mode 100644 index 053885e7..00000000 --- a/src/libPThread/PThreadKit/pthread.h +++ /dev/null @@ -1,14 +0,0 @@ -// 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_THREAD_H -#define LIBPOSIX_POSIXKIT_THREAD_H - -#include - -#define PTHREAD_UNSAFE /* hint */ -#define PTHREAD_SAFE /* hint */ - -#endif // LIBPOSIX_POSIXKIT_THREAD_H diff --git a/src/libPThread/src/PThreadHandle.cpp b/src/libPThread/src/PThreadHandle.cpp deleted file mode 100644 index e69de29b..00000000 diff --git a/src/libPThread/src/Thread.cpp b/src/libPThread/src/Thread.cpp new file mode 100644 index 00000000..34a610cd --- /dev/null +++ b/src/libPThread/src/Thread.cpp @@ -0,0 +1,33 @@ +// 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 + +namespace POSIXKit::Detail { + + /// @brief Max path structure. + constexpr auto kMaxPathLen = 255; + static constexpr auto kCanaryValue = 0xf0f0488f; + + /// @brief Thread Information Structure. + struct ThreadFrameParams final { + SInt64 fCanary; + VoidPtr fStackPtr; + VoidPtr fCodePtr; + SizeT fCodeSz; + SizeT fStackSz; + SInt64 fThrdID; + SInt64 fUsrID, fGrpID; + SInt64* fFD{}; + SizeT fFDCnt; + Char fCWD[kMaxPathLen]; + Char fRoot[kMaxPathLen]; + ThreadRef fRef; + }; + +} // namespace POSIX::Detail + + + -- cgit v1.2.3