blob: 8d948a3518fd4b470955e636929b6ca6fb2177a5 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
|
/*
* ========================================================
*
* h-core
* Copyright Mahrouss Logic, all rights reserved.
*
* ========================================================
*/
//
// Created by Amlal on 1/27/24.
//
#ifndef __THREAD_API__
#define __THREAD_API__
#include <NewKit/Defines.hpp>
namespace hCore
{
/// @brief Thread Information Block for Local Storage.
/// Located in GS on AMD64, Virtual Address 0x10000 (64x0, 32x0, ARM64)
struct ThreadInformationBlock final
{
const Char TIB_NAME[255]; // Module Name
const UIntPtr TIB_START_CODE; // Start Address
const UIntPtr TIB_START_ALLOC; // Allocation Heap
const UIntPtr TIB_START_STACK; // Stack Pointer.
const Int32 TIB_ARCH; // Architecture and/or platform.
};
enum
{
kPC_IA64,
kPC_AMD64 = kPC_IA64,
kPC_ARM,
kMACS_64x0,
kMACS_32x0,
};
} // namespace hCore
#endif // __THREAD_API__
|