KClassToken

From 3dbrew
Revision as of 20:57, 10 December 2016 by Bond697 (talk | contribs)
Jump to navigation Jump to search


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