|
uOFW
Reverse engineered PSP kernel 6.60.
|
#include <loadcore.h>
Data Fields | |
| struct SceResidentLibrary * | next |
| SceResidentLibraryEntryTable * | libEntryTable |
| u8 | version [LIBRARY_VERSION_NUMBER_CATEGORY_SIZE] |
| u16 | attribute |
| u16 | stubCount |
| u16 | vStubCount |
| u32 | numExports |
| u8 | unk20 |
| u8 | unk21 |
| u8 | unk22 |
| s32 | unk24 |
| u32 | unk28 |
| u32 * | entryTable |
| u32 * | exportsBaseAddr |
| u32 | exportsSize |
| u32 | midFuncIndex |
| u32 | unk48 |
| SceStubLibrary * | stubLibs |
| u32 | sysTableEntry |
| u32 | isUserLib |
| u32 | unk64 |
| char * | libName |
| u32 | libNameInHeap |
| u16 | sysTableEntryStartIndex |
| u16 | extraExportEntries |
This structure represents a resident library control block. This control block is used to manage a resident library entry table registered to the system.
| struct SceResidentLibrary* SceResidentLibrary::next |
Pointer to the next resident library with the same hash value.
| SceResidentLibraryEntryTable* SceResidentLibrary::libEntryTable |
Pointer to the corresponding entry table used to register this library.
| u8 SceResidentLibrary::version[LIBRARY_VERSION_NUMBER_CATEGORY_SIZE] |
The version of the library. This member is set by the corresponding resident library entry table.
| u16 SceResidentLibrary::attribute |
The library's attributes. This member is set by the corresponding resident library entry table.
| u16 SceResidentLibrary::stubCount |
The number of exported functions by the resident library. This member is set by the corresponding resident library entry table.
| u16 SceResidentLibrary::vStubCount |
The number of exported variables by the resident library. This member is set by the corresponding resident library entry table.
| u32 SceResidentLibrary::numExports |
The number of total exports by the resident library (the sum of stubCount and vStubCount).
| u8 SceResidentLibrary::unk20 |
Unknown.
| u8 SceResidentLibrary::unk21 |
Unknown.
| u8 SceResidentLibrary::unk22 |
Unknown.
| s32 SceResidentLibrary::unk24 |
Unknown.
| u32 SceResidentLibrary::unk28 |
Unknown.
| u32* SceResidentLibrary::entryTable |
Pointer to the resident library's array of NIDs, exported subroutine/variable entries. Every subroutine/variable entry has a corresponding NID used to identify it. The NID array comes first, followed by pointers to the exported functions and variables.
| u32* SceResidentLibrary::exportsBaseAddr |
A pointer to the first export entry (either a subroutine or variable).
| u32 SceResidentLibrary::exportsSize |
The number of exported functions and variables + the number of NIDs used for them.
| u32 SceResidentLibrary::midFuncIndex |
The index into the middle of the exported functions/variables array.
| u32 SceResidentLibrary::unk48 |
Unknown.
| SceStubLibrary* SceResidentLibrary::stubLibs |
Pointer to a linked list of corresponding loaded stub libraries.
| u32 SceResidentLibrary::sysTableEntry |
The address of the system call table block belonging to the resident library.
| u32 SceResidentLibrary::isUserLib |
Indicates whether the resident library lives in User land or Kernel land.
| u32 SceResidentLibrary::unk64 |
Unknown.
| char* SceResidentLibrary::libName |
The name of the library.
| u32 SceResidentLibrary::libNameInHeap |
Indicates whether the library's name is located in the heap or not.
| u16 SceResidentLibrary::sysTableEntryStartIndex |
The entry index into Loadcore's system call table for an exported function of the resident library.
| u16 SceResidentLibrary::extraExportEntries |
Extra export entries in the system call table entry belonging to the resident library.