|
uOFW
Reverse engineered PSP kernel 6.60.
|
#include <loadcore.h>
Data Fields | |
| u32 | unk0 |
| u32 | modeAttribute |
| u32 | apiType |
| u32 | unk12 |
| SceSize | execSize |
| SceSize | maxAllocSize |
| SceUID | decompressionMemId |
| void * | fileBase |
| u32 | elfType |
| void * | topAddr |
| u32 | entryAddr |
| u32 | unk44 |
| SceSize | modCodeSize |
| SceSize | textSize |
| SceSize | dataSize |
| SceSize | bssSize |
| u32 | partitionId |
| u32 | isKernelMod |
| u32 | isDecrypted |
| u32 | moduleInfoOffset |
| SceModuleInfo * | moduleInfo |
| u32 | isCompressed |
| u16 | modInfoAttribute |
| u16 | execAttribute |
| SceSize | decSize |
| u32 | isDecompressed |
| u32 | isSignChecked |
| char * | secureInstallId |
| SceSize | overlapSize |
| void * | exportsInfo |
| SceSize | exportsSize |
| void * | importsInfo |
| SceSize | importsSize |
| void * | strtabOffset |
| u8 | numSegments |
| u8 | padding [3] |
| u32 | segmentAddr [SCE_KERNEL_MAX_MODULE_SEGMENT] |
| u32 | segmentSize [SCE_KERNEL_MAX_MODULE_SEGMENT] |
| SceUID | memBlockId |
| u32 | segmentAlign [SCE_KERNEL_MAX_MODULE_SEGMENT] |
| u32 | maxSegAlign |
This structure represents executable file information used to load the file.
| u32 SceLoadCoreExecFileInfo::unk0 |
Unknown.
| u32 SceLoadCoreExecFileInfo::modeAttribute |
The mode attribute of the executable file. One of SceExecFileModeAttr.
| u32 SceLoadCoreExecFileInfo::apiType |
The API type.
| u32 SceLoadCoreExecFileInfo::unk12 |
Unknown.
| SceSize SceLoadCoreExecFileInfo::execSize |
The size of the executable, including the ~PSP header.
| SceSize SceLoadCoreExecFileInfo::maxAllocSize |
The maximum size needed for the decompression.
| SceUID SceLoadCoreExecFileInfo::decompressionMemId |
The memory ID of the decompression buffer.
| void* SceLoadCoreExecFileInfo::fileBase |
Pointer to the compressed module data.
| u32 SceLoadCoreExecFileInfo::elfType |
Indicates the ELF type of the executable. One of SceExecFileElfType.
| void* SceLoadCoreExecFileInfo::topAddr |
The start address of the TEXT segment of the executable in memory.
| u32 SceLoadCoreExecFileInfo::entryAddr |
The entry address of the module. It is the offset from the start of the TEXT segment to the program's entry point.
| u32 SceLoadCoreExecFileInfo::unk44 |
Unknown.
| SceSize SceLoadCoreExecFileInfo::modCodeSize |
The total size of the loadable segments of the executable. Contains for example the size of the .text, .data and .bss segment.
| SceSize SceLoadCoreExecFileInfo::textSize |
The size of the TEXT segment.
| SceSize SceLoadCoreExecFileInfo::dataSize |
The size of the DATA segment.
| SceSize SceLoadCoreExecFileInfo::bssSize |
The size of the BSS segment.
| u32 SceLoadCoreExecFileInfo::partitionId |
The memory partition of the executable.
| u32 SceLoadCoreExecFileInfo::isKernelMod |
Indicates whether the executable is a kernel module or not. Set to 1 for kernel module, 0 for user module.
| u32 SceLoadCoreExecFileInfo::isDecrypted |
Indicates whether the executable is decrypted or not. Set to 1 if it is successfully decrypted, 0 for encrypted.
| u32 SceLoadCoreExecFileInfo::moduleInfoOffset |
The offset from the start address of the TEXT segment to the SceModuleInfo section.
| SceModuleInfo* SceLoadCoreExecFileInfo::moduleInfo |
The pointer to the module's SceModuleInfo section.
| u32 SceLoadCoreExecFileInfo::isCompressed |
Indicates whether the module is compressed or not. Set to 1 if it is compressed, otherwise 0.
| u16 SceLoadCoreExecFileInfo::modInfoAttribute |
The module's attributes. One or more of SceModuleAttribute and SceModulePrivilegeLevel.
| u16 SceLoadCoreExecFileInfo::execAttribute |
The attributes of the executable file. One of SceExecFileAttr.
| SceSize SceLoadCoreExecFileInfo::decSize |
The size of the decompressed module, including its headers.
| u32 SceLoadCoreExecFileInfo::isDecompressed |
Indicates whether the module is decompressed or not. Set to 1 for decompressed, otherwise 0.
| u32 SceLoadCoreExecFileInfo::isSignChecked |
Indicates whether the module was signChecked or not. Set to 1 for signChecked, otherwise 0. A signed module has a "mangled" executable header, in other words, the "~PSP" signature can't be seen.
| char* SceLoadCoreExecFileInfo::secureInstallId |
Unknown.
| SceSize SceLoadCoreExecFileInfo::overlapSize |
The size of the GZIP compression overlap.
| void* SceLoadCoreExecFileInfo::exportsInfo |
Pointer to the first resident library entry table of the module.
| SceSize SceLoadCoreExecFileInfo::exportsSize |
The size of all resident library entry tables of the module.
| void* SceLoadCoreExecFileInfo::importsInfo |
Pointer to the first stub library entry table of the module.
| SceSize SceLoadCoreExecFileInfo::importsSize |
The size of all stub library entry tables of the module.
| void* SceLoadCoreExecFileInfo::strtabOffset |
Pointer to the string table section.
| u8 SceLoadCoreExecFileInfo::numSegments |
The number of segments in the executable.
| u8 SceLoadCoreExecFileInfo::padding[3] |
Reserved.
| u32 SceLoadCoreExecFileInfo::segmentAddr[SCE_KERNEL_MAX_MODULE_SEGMENT] |
An array containing the start address of each segment.
| u32 SceLoadCoreExecFileInfo::segmentSize[SCE_KERNEL_MAX_MODULE_SEGMENT] |
An array containing the size of each segment.
| SceUID SceLoadCoreExecFileInfo::memBlockId |
The ID of the ELF memory block containing the TEXT, DATA and BSS segment.
| u32 SceLoadCoreExecFileInfo::segmentAlign[SCE_KERNEL_MAX_MODULE_SEGMENT] |
An array containing the alignment information of each segment.
| u32 SceLoadCoreExecFileInfo::maxSegAlign |
The largest value of the segmentAlign array.