Difference between revisions of "KClassToken"
Jump to navigation
Jump to search
Line 56: | Line 56: | ||
== Bitflags and their corresponding objects == | == Bitflags and their corresponding objects == | ||
− | 0 | + | {| class="wikitable" border="1" |
− | 0 0 1 0 1 | + | |- |
− | 0 0 0 0 0 0 0 0 | | + | ! colspan="8"|Bits |
− | 0 | + | ! Value |
− | 0 1 0 | + | ! Associated class |
− | 1 0 | + | |- |
− | + | | 1 | |
− | + | | 0 | |
− | 1 0 | + | | 0 |
− | 1 0 | + | | 1 |
− | 0 0 0 0 | + | | 1 |
− | 1 0 1 0 1 0 0 | + | | 0 |
− | 0 0 0 1 1 1 | + | | 1 |
− | 0 0 1 1 1 0 | + | | 0 |
− | + | | 0x59 | |
− | 0 | + | | [[KDmaObject]] |
− | 1 0 0 0 1 1 0 | + | |- |
− | 0 | + | | 1 |
− | 1 1 0 0 | + | | 0 |
− | 0 1 1 1 0 0 | + | | 1 |
+ | | 0 | ||
+ | | 1 | ||
+ | | 0 | ||
+ | | 1 | ||
+ | | 0 | ||
+ | | 0x55 | ||
+ | | [[KServerPort]] | ||
+ | |- | ||
+ | | 1 | ||
+ | | 0 | ||
+ | | 1 | ||
+ | | 0 | ||
+ | | 0 | ||
+ | | 0 | ||
+ | | 1 | ||
+ | | 1 | ||
+ | | 0xc5 | ||
+ | | [[KProcess]] | ||
+ | |- | ||
+ | | 1 | ||
+ | | 0 | ||
+ | | 1 | ||
+ | | 0 | ||
+ | | 1 | ||
+ | | 1 | ||
+ | | 0 | ||
+ | | 0 | ||
+ | | 0x35 | ||
+ | | [[KTimer]] | ||
+ | |- | ||
+ | | 0 | ||
+ | | 0 | ||
+ | | 0 | ||
+ | | 0 | ||
+ | | 1 | ||
+ | | 1 | ||
+ | | 0 | ||
+ | | 1 | ||
+ | | 0xb0 | ||
+ | | [[KSharedMemory]] | ||
+ | |- | ||
+ | | 0 | ||
+ | | 0 | ||
+ | | 0 | ||
+ | | 1 | ||
+ | | 0 | ||
+ | | 0 | ||
+ | | 1 | ||
+ | | 1 | ||
+ | | 0xc8 | ||
+ | | [[KResourceLimit]] | ||
+ | |- | ||
+ | | 1 | ||
+ | | 0 | ||
+ | | 0 | ||
+ | | 0 | ||
+ | | 0 | ||
+ | | 0 | ||
+ | | 0 | ||
+ | | 0 | ||
+ | | 0x1 | ||
+ | | [[KSynchronizationObject]] | ||
+ | |- | ||
+ | | 0 | ||
+ | | 0 | ||
+ | | 0 | ||
+ | | 0 | ||
+ | | 1 | ||
+ | | 1 | ||
+ | | 1 | ||
+ | | 0 | ||
+ | | 0x70 | ||
+ | | [[KSession]] | ||
+ | |- | ||
+ | | 0 | ||
+ | | 0 | ||
+ | | 0 | ||
+ | | 1 | ||
+ | | 0 | ||
+ | | 1 | ||
+ | | 0 | ||
+ | | 1 | ||
+ | | 0xa8 | ||
+ | | [[KPort]] | ||
+ | |- | ||
+ | | 1 | ||
+ | | 1 | ||
+ | | 1 | ||
+ | | 1 | ||
+ | | 0 | ||
+ | | 1 | ||
+ | | 0 | ||
+ | | 0 | ||
+ | | 0x2f | ||
+ | | [[KSemaphore]] | ||
+ | |- | ||
+ | | 1 | ||
+ | | 0 | ||
+ | | 1 | ||
+ | | 1 | ||
+ | | 0 | ||
+ | | 0 | ||
+ | | 1 | ||
+ | | 0 | ||
+ | | 0x4d | ||
+ | | [[KDebug]] | ||
+ | |- | ||
+ | | 1 | ||
+ | | 0 | ||
+ | | 1 | ||
+ | | 1 | ||
+ | | 0 | ||
+ | | 0 | ||
+ | | 0 | ||
+ | | 1 | ||
+ | | 0x8d | ||
+ | | [[KThread]] | ||
+ | |- | ||
+ | | 1 | ||
+ | | 0 | ||
+ | | 1 | ||
+ | | 0 | ||
+ | | 1 | ||
+ | | 0 | ||
+ | | 0 | ||
+ | | 1 | ||
+ | | 0x95 | ||
+ | | [[KServerSession]] | ||
+ | |- | ||
+ | | 0 | ||
+ | | 0 | ||
+ | | 0 | ||
+ | | 1 | ||
+ | | 1 | ||
+ | | 0 | ||
+ | | 0 | ||
+ | | 1 | ||
+ | | 0x98 | ||
+ | | [[KAddressArbiter]] | ||
+ | |- | ||
+ | | 0 | ||
+ | | 0 | ||
+ | | 0 | ||
+ | | 1 | ||
+ | | 0 | ||
+ | | 1 | ||
+ | | 1 | ||
+ | | 0 | ||
+ | | 0x68 | ||
+ | | [[KCodeSet]] | ||
+ | |- | ||
+ | | 1 | ||
+ | | 1 | ||
+ | | 1 | ||
+ | | 1 | ||
+ | | 1 | ||
+ | | 0 | ||
+ | | 0 | ||
+ | | 0 | ||
+ | | 0x1f | ||
+ | | [[KEvent]] | ||
+ | |- | ||
+ | | 1 | ||
+ | | 0 | ||
+ | | 1 | ||
+ | | 0 | ||
+ | | 0 | ||
+ | | 1 | ||
+ | | 1 | ||
+ | | 0 | ||
+ | | 0x65 | ||
+ | | [[KClientPort]] | ||
+ | |- | ||
+ | | 0 | ||
+ | | 0 | ||
+ | | 0 | ||
+ | | 0 | ||
+ | | 0 | ||
+ | | 0 | ||
+ | | 0 | ||
+ | | 0 | ||
+ | | 0x0 | ||
+ | | [[KAutoObject]] | ||
+ | |- | ||
+ | | 1 | ||
+ | | 0 | ||
+ | | 1 | ||
+ | | 0 | ||
+ | | 0 | ||
+ | | 1 | ||
+ | | 0 | ||
+ | | 1 | ||
+ | | 0xa5 | ||
+ | | [[KClientSession]] | ||
+ | |- | ||
+ | | 1 | ||
+ | | 0 | ||
+ | | 0 | ||
+ | | 1 | ||
+ | | 1 | ||
+ | | 1 | ||
+ | | 0 | ||
+ | | 0 | ||
+ | | 0x39 | ||
+ | | [[KMutex]] | ||
+ | |} |
Revision as of 21:15, 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
Bits | Value | Associated class | |||||||
---|---|---|---|---|---|---|---|---|---|
1 | 0 | 0 | 1 | 1 | 0 | 1 | 0 | 0x59 | KDmaObject |
1 | 0 | 1 | 0 | 1 | 0 | 1 | 0 | 0x55 | KServerPort |
1 | 0 | 1 | 0 | 0 | 0 | 1 | 1 | 0xc5 | KProcess |
1 | 0 | 1 | 0 | 1 | 1 | 0 | 0 | 0x35 | KTimer |
0 | 0 | 0 | 0 | 1 | 1 | 0 | 1 | 0xb0 | KSharedMemory |
0 | 0 | 0 | 1 | 0 | 0 | 1 | 1 | 0xc8 | KResourceLimit |
1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0x1 | KSynchronizationObject |
0 | 0 | 0 | 0 | 1 | 1 | 1 | 0 | 0x70 | KSession |
0 | 0 | 0 | 1 | 0 | 1 | 0 | 1 | 0xa8 | KPort |
1 | 1 | 1 | 1 | 0 | 1 | 0 | 0 | 0x2f | KSemaphore |
1 | 0 | 1 | 1 | 0 | 0 | 1 | 0 | 0x4d | KDebug |
1 | 0 | 1 | 1 | 0 | 0 | 0 | 1 | 0x8d | KThread |
1 | 0 | 1 | 0 | 1 | 0 | 0 | 1 | 0x95 | KServerSession |
0 | 0 | 0 | 1 | 1 | 0 | 0 | 1 | 0x98 | KAddressArbiter |
0 | 0 | 0 | 1 | 0 | 1 | 1 | 0 | 0x68 | KCodeSet |
1 | 1 | 1 | 1 | 1 | 0 | 0 | 0 | 0x1f | KEvent |
1 | 0 | 1 | 0 | 0 | 1 | 1 | 0 | 0x65 | KClientPort |
0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0x0 | KAutoObject |
1 | 0 | 1 | 0 | 0 | 1 | 0 | 1 | 0xa5 | KClientSession |
1 | 0 | 0 | 1 | 1 | 1 | 0 | 0 | 0x39 | KMutex |