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 ==
0 1 0 1 1 0 0 1 | 0x59 - KDmaObject<br>
+
{| class="wikitable" border="1"
0 0 1 0 1 1 1 1 | 0x2F - KSemaphore<br>
+
|-
0 0 0 0 0 0 0 0 | 0x00 - KAutoObject<br>
+
! colspan="8"|Bits
0 1 1 0 0 1 0 1 | 0x65 - KClientPort<br>
+
! Value
0 1 0 1 0 1 0 1 | 0x55 - KServerPort<br>
+
! Associated class
1 0 1 1 0 0 0 0 | 0xB0 - KSharedMemory<br>
+
|-
1 0 1 0 0 1 0 1 | 0xA5 - KClientSession<br>
+
| 1
1 1 0 0 1 0 0 0 | 0xC8 - KResourceLimit<br>
+
| 0
1 0 0 1 0 1 0 1 | 0x95 - KServerSession<br>
+
| 0
1 0 0 1 1 0 0 0 | 0x98 - KAddressArbiter<br>
+
| 1
0 0 0 0 0 0 0 1 | 0x01 - KSynchronizationObject<br>
+
| 1
1 0 1 0 1 0 0 0 | 0xA8 - KPort<br>
+
| 0
0 0 0 1 1 1 1 1 | 0x1F - KEvent<br>
+
| 1
0 0 1 1 1 0 0 1 | 0x39 - KMutex<br>
+
| 0
0 0 1 1 0 1 0 1 | 0x35 - KTimer<br>
+
| 0x59
0 1 0 0 1 1 0 1 | 0x4D - KDebug<br>
+
| [[KDmaObject]]
1 0 0 0 1 1 0 1 | 0x8D - KThread<br>
+
|-
0 1 1 0 1 0 0 0 | 0x68 - KCodeSet<br>
+
| 1
1 1 0 0 0 1 0 1 | 0xC5 - KProcess<br>
+
| 0
0 1 1 1 0 0 0 0 | 0x70 - KSession<br>
+
| 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 22: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