Changes

Jump to navigation Jump to search
262 bytes added ,  08:03, 25 January 2015
More handle info
Line 168: Line 168:  
| 0x8
 
| 0x8
 
| HandleData*
 
| HandleData*
| Pointer to the next available HandleData entry in the handle table.
+
| Pointer to the next open HandleData entry in the handle table.  
 
|-
 
|-
 
| 0xC
 
| 0xC
Line 215: Line 215:     
The high byte is a remainder from the pointer to the next entry that originally occupied the handle table entry.  It is unused. Byte 2 is either the class type token starting with firmware version 9.0 or the lowest byte of the char* that points to the class type name in firmware versions below 9.0.  The lower halfword is the handle number of the current handle taken from the total handle count for the KProcess that owns the table.
 
The high byte is a remainder from the pointer to the next entry that originally occupied the handle table entry.  It is unused. Byte 2 is either the class type token starting with firmware version 9.0 or the lowest byte of the char* that points to the class type name in firmware versions below 9.0.  The lower halfword is the handle number of the current handle taken from the total handle count for the KProcess that owns the table.
 +
 +
On table creation, each entry in the handle data table is populated with a pointer to the next entry in the table.  When a new handle is created, that pointer is moved into offset 0x8 of the KProcessHandleTable info struct to use for generation of the next handle.
374

edits

Navigation menu