KClassToken
Size : 0x5 bytes
Offset | Type | Description |
---|---|---|
0x0 | char* | Pointer to kernel type string |
0x4 | u8 | Kernel object descriptive bitflags |
Each type of kernel object has a token that describes it. The token is used to make sure that a kernel object of a certain type is able to perform a function requested by the kernel.
Bitflags
Bit | Description |
---|---|
0 | Can synchronize |
1 | Is interruptible |
2 | |
3 | |
4 | |
5 | |
6 | |
7 |
Bitflags and their corresponding objects
0 1 0 1 1 0 0 1 | 0x59 - KDmaObject
0 0 1 0 1 1 1 1 | 0x2F - KSemaphore
0 0 0 0 0 0 0 0 | 0x00 - KAutoObject
0 1 1 0 0 1 0 1 | 0x65 - KClientPort
0 1 0 1 0 1 0 1 | 0x55 - KServerPort
1 0 1 1 0 0 0 0 | 0xB0 - KSharedMemory
1 0 1 0 0 1 0 1 | 0xA5 - KClientSession
1 1 0 0 1 0 0 0 | 0xC8 - KResourceLimit
1 0 0 1 0 1 0 1 | 0x95 - KServerSession
1 0 0 1 1 0 0 0 | 0x98 - KAddressArbiter
0 0 0 0 0 0 0 1 | 0x01 - KSynchronizationObject
1 0 1 0 1 0 0 0 | 0xA8 - KPort
0 0 0 1 1 1 1 1 | 0x1F - KEvent
0 0 1 1 1 0 0 1 | 0x39 - KMutex
0 0 1 1 0 1 0 1 | 0x35 - KTimer
0 1 0 0 1 1 0 1 | 0x4D - KDebug
1 0 0 0 1 1 0 1 | 0x8D - KThread
0 1 1 0 1 0 0 0 | 0x68 - KCodeSet
1 1 0 0 0 1 0 1 | 0xC5 - KProcess
0 1 1 1 0 0 0 0 | 0x70 - KSession