uOFW
Reverse engineered PSP kernel 6.60.
Loading...
Searching...
No Matches
Data Fields
SceResidentLibrary Struct Reference

#include <loadcore.h>

Data Fields

struct SceResidentLibrarynext
 
SceResidentLibraryEntryTablelibEntryTable
 
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
 
SceStubLibrarystubLibs
 
u32 sysTableEntry
 
u32 isUserLib
 
u32 unk64
 
char * libName
 
u32 libNameInHeap
 
u16 sysTableEntryStartIndex
 
u16 extraExportEntries
 

Detailed Description

This structure represents a resident library control block. This control block is used to manage a resident library entry table registered to the system.

Field Documentation

◆ next

struct SceResidentLibrary* SceResidentLibrary::next

Pointer to the next resident library with the same hash value.

◆ libEntryTable

SceResidentLibraryEntryTable* SceResidentLibrary::libEntryTable

Pointer to the corresponding entry table used to register this library.

◆ version

u8 SceResidentLibrary::version[LIBRARY_VERSION_NUMBER_CATEGORY_SIZE]

The version of the library. This member is set by the corresponding resident library entry table.

◆ attribute

u16 SceResidentLibrary::attribute

The library's attributes. This member is set by the corresponding resident library entry table.

◆ stubCount

u16 SceResidentLibrary::stubCount

The number of exported functions by the resident library. This member is set by the corresponding resident library entry table.

◆ vStubCount

u16 SceResidentLibrary::vStubCount

The number of exported variables by the resident library. This member is set by the corresponding resident library entry table.

◆ numExports

u32 SceResidentLibrary::numExports

The number of total exports by the resident library (the sum of stubCount and vStubCount).

◆ unk20

u8 SceResidentLibrary::unk20

Unknown.

◆ unk21

u8 SceResidentLibrary::unk21

Unknown.

◆ unk22

u8 SceResidentLibrary::unk22

Unknown.

◆ unk24

s32 SceResidentLibrary::unk24

Unknown.

◆ unk28

u32 SceResidentLibrary::unk28

Unknown.

◆ entryTable

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.

◆ exportsBaseAddr

u32* SceResidentLibrary::exportsBaseAddr

A pointer to the first export entry (either a subroutine or variable).

◆ exportsSize

u32 SceResidentLibrary::exportsSize

The number of exported functions and variables + the number of NIDs used for them.

◆ midFuncIndex

u32 SceResidentLibrary::midFuncIndex

The index into the middle of the exported functions/variables array.

◆ unk48

u32 SceResidentLibrary::unk48

Unknown.

◆ stubLibs

SceStubLibrary* SceResidentLibrary::stubLibs

Pointer to a linked list of corresponding loaded stub libraries.

◆ sysTableEntry

u32 SceResidentLibrary::sysTableEntry

The address of the system call table block belonging to the resident library.

◆ isUserLib

u32 SceResidentLibrary::isUserLib

Indicates whether the resident library lives in User land or Kernel land.

◆ unk64

u32 SceResidentLibrary::unk64

Unknown.

◆ libName

char* SceResidentLibrary::libName

The name of the library.

◆ libNameInHeap

u32 SceResidentLibrary::libNameInHeap

Indicates whether the library's name is located in the heap or not.

◆ sysTableEntryStartIndex

u16 SceResidentLibrary::sysTableEntryStartIndex

The entry index into Loadcore's system call table for an exported function of the resident library.

◆ extraExportEntries

u16 SceResidentLibrary::extraExportEntries

Extra export entries in the system call table entry belonging to the resident library.


The documentation for this struct was generated from the following file: