KClassToken: Difference between revisions

From 3dbrew
Jump to navigation Jump to search
Bond697 (talk | contribs)
No edit summary
mNo edit summary
 
(2 intermediate revisions by the same user not shown)
Line 1: Line 1:
[[Category:Kernel objects]]
[[Category:Kernel objects]]
Size : 0x5 bytes
Size : 0x5 bytes


Line 11: Line 9:
|-
|-
| 0x0
| 0x0
| char*
| const char *
| Pointer to kernel type string
| Pointer to kernel type string
|-
|-
Line 18: Line 16:
| Kernel object descriptive bitflags
| 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.
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 =
= Bitflags =
Line 53: Line 49:
|  
|  
|}
|}


== Bitflags and their corresponding objects ==
== Bitflags and their corresponding objects ==
{| class="wikitable" border="1"
{| class="wikitable sortable" border="1"
|-
|-
! colspan="8"|Bits
! colspan="8"|Bits
! Value
! rowspan="2"|Value
! Associated class
! rowspan="2"|Associated class
|-
|-
| 1
! 7
! 6
! 5
! 4
! 3
! 2
! 1
! 0
|-
| 0
| 0
| 0
| 0
| 0
| 0
| 0
| 0
| 1
| 1
| 0
| 0
| 1
| 0
| 0
| 0x59
| 0x0
| [[KDmaObject]]
| [[KAutoObject]]
|-
|-
| 1
| 0
| 0
| 1
| 0
| 0
| 1
| 0
| 0
| 1
| 0
| 0
| 0x55
| 0
| [[KServerPort]]
| 0
|-
| 1
| 0
| 0
| 1
| 1
| 0x1
| [[KSynchronizationObject]]
|-
| 0
| 0
| 0
| 0
Line 92: Line 93:
| 1
| 1
| 1
| 1
| 0xC5
| 1
| [[KProcess]]
| 1
| 1
| 0x1F
| [[KEvent]]
|-
|-
| 0
| 0
| 1
| 1
| 0
| 0
| 1
| 1
| 1
| 1
| 1
| 0x2F
| [[KSemaphore]]
|-
| 0
| 0
| 0
| 1
| 1
| 1
| 1
| 0
| 0
| 1
| 0
| 0
| 1
| 0x35
| 0x35
| [[KTimer]]
| [[KTimer]]
Line 108: Line 123:
| 0
| 0
| 0
| 0
| 0
| 1
| 0
| 1
| 1
| 1
| 1
| 0
| 0
| 0
| 1
| 1
| 0xB0
| 0x39
| [[KSharedMemory]]
| [[KMutex]]
|-
|-
| 0
| 0
| 1
| 0
| 0
| 0
| 0
| 1
| 1
| 0
| 1
| 0
| 0
| 1
| 1
| 1
| 0x4D
| 0xC8
| [[KDebug]]
| [[KResourceLimit]]
|-
|-
| 0
| 1
| 1
| 0
| 0
| 1
| 0
| 0
| 1
| 0
| 0
| 1
| 0x55
| [[KServerPort]]
|-
| 0
| 0
| 1
| 0
| 0
| 1
| 1
| 0
| 0
| 0
| 0
| 0x01
| 1
| [[KSynchronizationObject]]
| 0x59
| [[KDmaObject]]
|-
|-
| 0
| 0
| 0
| 0
| 0
| 1
| 1
| 1
| 1
| 1
| 0
| 0x70
| [[KSession]]
|-
| 0
| 0
| 0
| 0
| 0
Line 156: Line 173:
| 0
| 0
| 1
| 1
| 0x65
| [[KClientPort]]
|-
| 0
| 0
| 1
| 0xA8
| [[KPort]]
|-
| 1
| 1
| 1
| 1
| 1
| 0
| 1
| 1
| 0
| 0
| 1
| 0
| 0
| 0
| 0
| 0x2F
| 0x68
| [[KSemaphore]]
| [[KCodeSet]]
|-
|-
| 0
| 1
| 1
| 0
| 1
| 1
| 1
| 1
| 0
| 0
| 0
| 0
| 1
| 0
| 0
| 0x4D
| 0
| [[KDebug]]
| 0x70
| [[KSession]]
|-
|-
| 1
| 1
| 0
| 0
| 0
| 0
| 1
| 1
| 1
| 1
| 0
| 0
| 0
| 0
| 1
| 1
Line 195: Line 210:
|-
|-
| 1
| 1
| 0
| 0
| 0
| 1
| 1
| 0
| 0
| 1
| 1
| 0
| 0
| 0
| 1
| 1
Line 205: Line 220:
| [[KServerSession]]
| [[KServerSession]]
|-
|-
| 0
| 1
| 0
| 0
| 0
| 0
Line 212: Line 227:
| 0
| 0
| 0
| 0
| 1
| 0
| 0x98
| 0x98
| [[KAddressArbiter]]
| [[KAddressArbiter]]
|-
|-
| 1
| 0
| 0
| 1
| 0
| 0
| 0
| 0
Line 222: Line 239:
| 0
| 0
| 1
| 1
| 0xA5
| [[KClientSession]]
|-
| 1
| 1
| 0
| 0
| 0x68
| [[KCodeSet]]
|-
| 1
| 1
| 1
| 1
| 1
| 0
| 1
| 1
| 0
| 0
| 0
| 0
| 0
| 0
| 0x1F
| 0xA8
| [[KEvent]]
| [[KPort]]
|-
|-
| 1
| 1
| 0
| 1
| 0
| 0
| 0
| 1
| 1
| 1
| 1
| 0
| 0
| 0x65
| [[KClientPort]]
|-
| 0
| 0
| 0
| 0
| 0
| 0
| 0
| 0xB0
| 0
| [[KSharedMemory]]
| 0
| 0
| 0
| 0x00
| [[KAutoObject]]
|-
|-
| 1
| 1
| 1
| 0
| 0
| 1
| 0
| 0
| 0
| 0
Line 268: Line 272:
| 0
| 0
| 1
| 1
| 0xA5
| 0xC5
| [[KClientSession]]
| [[KProcess]]
|-
|-
| 1
| 1
| 1
| 0
| 0
| 0
| 0
| 1
| 1
| 1
| 1
| 0
| 0
| 0
| 0
| 0x39
| 0
| [[KMutex]]
| 0xC8
| [[KResourceLimit]]
|}
|}

Latest revision as of 23:36, 10 December 2016

Size : 0x5 bytes

Offset Type Description
0x0 const 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
7 6 5 4 3 2 1 0
0 0 0 0 0 0 0 0 0x0 KAutoObject
0 0 0 0 0 0 0 1 0x1 KSynchronizationObject
0 0 0 1 1 1 1 1 0x1F KEvent
0 0 1 0 1 1 1 1 0x2F KSemaphore
0 0 1 1 0 1 0 1 0x35 KTimer
0 0 1 1 1 0 0 1 0x39 KMutex
0 1 0 0 1 1 0 1 0x4D KDebug
0 1 0 1 0 1 0 1 0x55 KServerPort
0 1 0 1 1 0 0 1 0x59 KDmaObject
0 1 1 0 0 1 0 1 0x65 KClientPort
0 1 1 0 1 0 0 0 0x68 KCodeSet
0 1 1 1 0 0 0 0 0x70 KSession
1 0 0 0 1 1 0 1 0x8D KThread
1 0 0 1 0 1 0 1 0x95 KServerSession
1 0 0 1 1 0 0 0 0x98 KAddressArbiter
1 0 1 0 0 1 0 1 0xA5 KClientSession
1 0 1 0 1 0 0 0 0xA8 KPort
1 0 1 1 0 0 0 0 0xB0 KSharedMemory
1 1 0 0 0 1 0 1 0xC5 KProcess
1 1 0 0 1 0 0 0 0xC8 KResourceLimit