KProcess: Difference between revisions
		
		
		
		Jump to navigation
		Jump to search
		
No edit summary  | 
				No edit summary  | 
				||
| Line 53: | Line 53: | ||
|-  | |-  | ||
| 0xCC  | | 0xCC  | ||
| void*  | |||
| Pointer to the process's handle table.  | |||
|}  | |||
Structure for [[8.0.0-18]] NATIVE_FIRM:  | |||
{| class="wikitable" border="1"  | |||
|-  | |||
!  Offset  | |||
! Type  | |||
!  Description  | |||
|-  | |||
| 0x0  | |||
| u32  | |||
| Pointer to vtable  | |||
|-  | |||
| 0x4  | |||
| u32  | |||
| Reference count  | |||
|-  | |||
| 0x50  | |||
| u32*  | |||
| [[Memory_layout|LINEAR]] memory virtual address(userland) base for this process.  | |||
|-  | |||
| 0x5C  | |||
| u32  | |||
| Virtual address of the MMU table for this process  | |||
|-  | |||
| 0x84  | |||
| u32  | |||
| Number of threads which belong to this process.  | |||
|-  | |||
| 0x88  | |||
| 0x10-bytes  | |||
| SVC access control mask from the exheader kernel descriptors.  | |||
|-  | |||
| 0xA8  | |||
| u32  | |||
| Kernel flags from the exheader kernel descriptors.  | |||
|-  | |||
| 0xAC  | |||
| u16  | |||
| Handle table size from the exheader kernel descriptors. When this is 0, handle table is stored in WRAM.  | |||
|-  | |||
| 0xAE  | |||
| u16  | |||
| Kernel release version field, from the exheader kernel descriptors.  | |||
|-  | |||
| 0xB0  | |||
| u32  | |||
| Pointer to [[KCodeSet]] instance  | |||
|-  | |||
| 0xB4  | |||
| u32  | |||
| Process id, this always begins at 0x0 for the first process.  | |||
|-  | |||
| 0xC0  | |||
| KThread*  | |||
| Pointer to the process's main (?) thread.  | |||
|-  | |||
| 0xD4  | |||
| void*  | | void*  | ||
| Pointer to the process's handle table.  | | Pointer to the process's handle table.  | ||
|}  | |}  | ||
Revision as of 03:41, 19 July 2014
class KProcess extends KSynchronizationObject;
| Offset | Type | Description | 
|---|---|---|
| 0x0 | u32 | Pointer to vtable | 
| 0x4 | u32 | Reference count | 
| 0x54 | u32 | Virtual address of the MMU table for this process | 
| 0x7C | u32 | Number of threads which belong to this process. | 
| 0x80 | 0x10-bytes | SVC access control mask from the exheader kernel descriptors. | 
| 0xA0 | u32 | Kernel flags from the exheader kernel descriptors. | 
| 0xA4 | u16 | Handle table size from the exheader kernel descriptors. When this is 0, handle table is stored in WRAM. | 
| 0xA6 | u16 | Kernel release version field, from the exheader kernel descriptors. | 
| 0xA8 | u32 | Pointer to KCodeSet instance | 
| 0xAC | u32 | Process id, this always begins at 0x0 for the first process. | 
| 0xB8 | KThread* | Pointer to the process's main (?) thread. | 
| 0xCC | void* | Pointer to the process's handle table. | 
Structure for 8.0.0-18 NATIVE_FIRM:
| Offset | Type | Description | 
|---|---|---|
| 0x0 | u32 | Pointer to vtable | 
| 0x4 | u32 | Reference count | 
| 0x50 | u32* | LINEAR memory virtual address(userland) base for this process. | 
| 0x5C | u32 | Virtual address of the MMU table for this process | 
| 0x84 | u32 | Number of threads which belong to this process. | 
| 0x88 | 0x10-bytes | SVC access control mask from the exheader kernel descriptors. | 
| 0xA8 | u32 | Kernel flags from the exheader kernel descriptors. | 
| 0xAC | u16 | Handle table size from the exheader kernel descriptors. When this is 0, handle table is stored in WRAM. | 
| 0xAE | u16 | Kernel release version field, from the exheader kernel descriptors. | 
| 0xB0 | u32 | Pointer to KCodeSet instance | 
| 0xB4 | u32 | Process id, this always begins at 0x0 for the first process. | 
| 0xC0 | KThread* | Pointer to the process's main (?) thread. | 
| 0xD4 | void* | Pointer to the process's handle table. |