Difference between revisions of "KClassToken"
Line 53: | Line 53: | ||
| | | | ||
|} | |} | ||
+ | |||
+ | |||
+ | == Bitflags and their corresponding objects == | ||
+ | 0 1 0 1 1 0 0 1 | 0x59 - KDmaObject<br> | ||
+ | 0 0 1 0 1 1 1 1 | 0x2F - KSemaphore<br> | ||
+ | 0 0 0 0 0 0 0 0 | 0x00 - KAutoObject<br> | ||
+ | 0 1 1 0 0 1 0 1 | 0x65 - KClientPort<br> | ||
+ | 0 1 0 1 0 1 0 1 | 0x55 - KServerPort<br> | ||
+ | 1 0 1 1 0 0 0 0 | 0xB0 - KSharedMemory<br> | ||
+ | 1 0 1 0 0 1 0 1 | 0xA5 - KClientSession<br> | ||
+ | 1 1 0 0 1 0 0 0 | 0xC8 - KResourceLimit<br> | ||
+ | 1 0 0 1 0 1 0 1 | 0x95 - KServerSession<br> | ||
+ | 1 0 0 1 1 0 0 0 | 0x98 - KAddressArbiter<br> | ||
+ | 0 0 0 0 0 0 0 1 | 0x01 - KSynchronizationObject<br> | ||
+ | 1 0 1 0 1 0 0 0 | 0xA8 - KPort<br> | ||
+ | 0 0 0 1 1 1 1 1 | 0x1F - KEvent<br> | ||
+ | 0 0 1 1 1 0 0 1 | 0x39 - KMutex<br> | ||
+ | 0 0 1 1 0 1 0 1 | 0x35 - KTimer<br> | ||
+ | 0 1 0 0 1 1 0 1 | 0x4D - KDebug<br> | ||
+ | 1 0 0 0 1 1 0 1 | 0x8D - KThread<br> | ||
+ | 0 1 1 0 1 0 0 0 | 0x68 - KCodeSet<br> | ||
+ | 1 1 0 0 0 1 0 1 | 0xC5 - KProcess<br> | ||
+ | 0 1 1 1 0 0 0 0 | 0x70 - KSession<br> |
Revision as of 20:57, 10 December 2016
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