|
NeKernel dev
|
Go to the source code of this file.
Classes | |
| struct | THREAD_INFORMATION_BLOCK |
| Thread Information Block. Located in GS on AMD64, other architectures have their own stuff. (64x0, 32x0, ARM64). More... | |
Macros | |
| #define | kCookieMag0Idx (0U) |
| ! | |
| #define | kCookieMag1Idx (1U) |
| #define | kCookieMag2Idx (2U) |
| #define | kCookieMag0 'N' |
| #define | kCookieMag1 'K' |
| #define | kCookieMag2 'O' |
| #define | kCookieMagLen (3U) |
Functions | |
| Kernel::Boolean | tls_check_tib (THREAD_INFORMATION_BLOCK *the_tib) |
| ! | |
| template<typename T> | |
| T * | tls_new_ptr (void) |
| ! | |
| template<typename T> | |
| Kernel::Boolean | tls_delete_ptr (T *ptr) |
| ! | |
| template<typename T> | |
| Kernel::Bool | tls_delete_ptr (Kernel::ErrorOr< T > obj) |
| Delete process pointer. | |
| template<typename T> | |
| Kernel::Bool | tls_delete_ptr (Kernel::ErrorOr< T * > obj) |
| Delete process pointer. | |
| template<typename T, typename... Args> | |
| T * | tls_new_class (Args &&... args) |
| Allocate a C++ class, and then call the constructor of it. | |
| EXTERN_C Kernel::Void | rt_install_tib (THREAD_INFORMATION_BLOCK *TIB, THREAD_INFORMATION_BLOCK *PIB) |
| TLS install TIB and PIB. (syscall). | |
| EXTERN_C Kernel::Bool | tls_check_syscall_impl (Kernel::VoidPtr TIB) |
| TLS check (syscall). | |
| #define kCookieMag0 'N' |
| #define kCookieMag0Idx (0U) |
!
Thread Local Storage for NeKernel.
| #define kCookieMag1 'K' |
| #define kCookieMag1Idx (1U) |
| #define kCookieMag2 'O' |
| #define kCookieMag2Idx (2U) |
| #define kCookieMagLen (3U) |
| EXTERN_C Kernel::Void rt_install_tib | ( | THREAD_INFORMATION_BLOCK * | TIB, |
| THREAD_INFORMATION_BLOCK * | PIB ) |
TLS install TIB and PIB. (syscall).
| EXTERN_C Kernel::Bool tls_check_syscall_impl | ( | Kernel::VoidPtr | tib_ptr | ) |
TLS check (syscall).
TLS check (syscall).
| tib_ptr | The TIB record. |
| Kernel::Boolean tls_check_tib | ( | THREAD_INFORMATION_BLOCK * | tib_ptr | ) |
!
Cookie Sanity check.
!
| tib_ptr | the TIB to check. |
|
inline |
Delete process pointer.
| obj | The pointer to delete. |
|
inline |
Delete process pointer.
| obj | The pointer to delete. |
|
inline |
!
delete ptr syscall.
!
| obj | The pointer to delete. |
| T * tls_new_class | ( | Args &&... | args | ) |
Allocate a C++ class, and then call the constructor of it.
| T | class type. |
| ...Args | varg class type. |
| args | arguments list. |
|
inline |
!
new ptr syscall.