KClassToken: Difference between revisions
Jump to navigation
Jump to search
No edit summary |
|||
| 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 |