Difference between revisions of "KClassToken"

From 3dbrew
Jump to navigation Jump to search
(Created page with "Category:Kernel objects Size : 0x5 bytes {| class="wikitable" border="1" |- ! Offset ! Type ! Description |- | 0x0 | char* | Pointer to kernel type string |- | 0x4 | u8...")
 
m
 
(6 intermediate revisions by 2 users 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 34: Line 30:
 
| 1
 
| 1
 
| Is interruptible
 
| Is interruptible
 +
|-
 +
| 2
 +
|
 +
|-
 +
| 3
 +
|
 +
|-
 +
| 4
 +
|
 +
|-
 +
| 5
 +
|
 +
|-
 +
| 6
 +
|
 +
|-
 +
| 7
 +
|
 +
|}
 +
 +
== Bitflags and their corresponding objects ==
 +
{| class="wikitable sortable" border="1"
 +
|-
 +
! colspan="8"|Bits
 +
! rowspan="2"|Value
 +
! rowspan="2"|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]]
 
|}
 
|}

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[edit]

Bit Description
0 Can synchronize
1 Is interruptible
2
3
4
5
6
7

Bitflags and their corresponding objects[edit]

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