Difference between revisions of "KClassToken"

From 3dbrew
Jump to navigation Jump to search
Line 56: Line 56:
  
 
== 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
 +
|-
 +
! 7
 +
! 6
 +
! 5
 +
! 4
 +
! 3
 +
! 2
 +
! 1
 +
! 0
 
|-
 
|-
 
| 0
 
| 0

Revision as of 23:20, 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
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