Difference between revisions of "NSKBL Subroutines"

From Vita Development Wiki
Jump to navigation Jump to search
Line 41: Line 41:
  
 
== Common functions ==
 
== Common functions ==
 +
 +
=== read_sector ===
 +
 +
{| class="wikitable"
 +
|-
 +
! Version !! offset !! mode
 +
|-
 +
| 3.60 || 0x510010FC || thumb
 +
|}
 +
 +
<source lang="C">int read_sector(void *ctx, unsigned int sector_pos, unsigned int sector_num, void *data);</source>
 +
 +
=== read_sector_for_debug ===
 +
 +
{| class="wikitable"
 +
|-
 +
! Version !! offset !! mode
 +
|-
 +
| 3.60 || 0x510010C4 || thumb
 +
|}
 +
 +
<source lang="C">int read_sector_for_debug(void *ctx, unsigned int sector_pos, unsigned int sector_num, void *data);</source>
  
 
=== sceKernelCreateClass ===
 
=== sceKernelCreateClass ===

Revision as of 08:25, 27 July 2020

Common data

pSceUIDModuleClass

Version offset size description
3.60 0x5113F39C 4 pointer of SceClass.

There is no mistake that there are two

pSceUIDModuleClass

Version offset size description
3.60 0x5113F3A4 4 pointer of SceClass.

pSceUIDLibStubClass

Version offset size description
3.60 0x5113F3A8 4 pointer of SceClass.

pSceUIDLibraryClass

Version offset size description
3.60 0x5113F3AC 4 pointer of SceClass.

Common functions

read_sector

Version offset mode
3.60 0x510010FC thumb
int read_sector(void *ctx, unsigned int sector_pos, unsigned int sector_num, void *data);

read_sector_for_debug

Version offset mode
3.60 0x510010C4 thumb
int read_sector_for_debug(void *ctx, unsigned int sector_pos, unsigned int sector_num, void *data);

sceKernelCreateClass

Version offset mode
3.60 0x510059A0 thumb
int sceKernelCreateClass(SceClass *cls, const char *name, void *uidclass, SceSize itemsize, SceClassCallback create, SceClassCallback destroy);

sceKernelGetUidClass

Version offset mode
3.60 0x51005A04 thumb
SceClass *sceKernelGetUidClass(void);

sceGUIDReferObjectWithClass

Version offset mode
3.60 0x510069E8 thumb
int sceGUIDReferObjectWithClass(SceUID uid, SceClass *pClass, SceKernelObject **ppEntry);

sceKernelUidRelease

Version offset mode
3.60 0x51006A50 thumb
int sceKernelUidRelease(SceUID uid);

sceKernelSysrootSetModulePrivate

Version offset mode
3.60 0x510124D0 thumb
void sceKernelSysrootSetModulePrivate(int idx, void *data);

__stack_chk_fail

Version offset mode
3.60 0x51014508 thumb
void __stack_chk_fail(void);

strnlen

Version offset mode
3.60 0x51013B80 thumb
SceSize strnlen(const char *src, SceSize maxlen);

snprintf

Version offset mode
3.60 0x51014458 thumb
int snprintf(char *dst, int dstmax, const char *fmt, ...);

strncpy

Version offset mode
3.60 0x510144A0 thumb
char *strncpy(char *dst, const char *src, SceSize len);

vaddr_to_paddr_with_mode

Version offset mode
3.60 0x51014E3C thumb

same to sysmem 3.60 sub_81023308

int vaddr_to_paddr_with_mode(int mode, int a2, const void *VA, int *pPA, int a5);

get_module_object

Version offset mode
3.60 0x51017648 thumb
SceModuleObject *get_module_object(SceUID modid);

initialize_module_class

Version offset mode
3.60 0x51017680 thumb

sceKernelLoadModule

Version offset mode
3.60 0x51017930 thumb
SceUID sceKernelLoadModule(const char *path, int flags, void *option);

sceKernelLoadModuleForPidInternal

Version offset mode
3.60 0x51017830 thumb

don't have flags check

SceUID sceKernelLoadModuleForPidInternal(SceUID pid, const char *path, int flags, void *option);

sceSdifInitializeMmcDevice

Version offset mode
3.60 0x5101D7D0 thumb
int sceSdifInitializeMmcDevice(int sd_ctx_index, void **result);

sceSdifInitializeSdDevice

Version offset mode
3.60 0x5101D820 thumb
int sceSdifInitializeSdDevice(int sd_ctx_index, void **result);

sceSdifGetSdContextGlobal

Version offset mode
3.60 0x5101A9F4 thumb
void *sceSdifGetSdContextGlobal(int type);

sceSdifReadSectorSd

Version offset mode
3.60 0x5101E670 thumb
int sceSdifReadSectorSd(void *part_ctx, SceSize sector_pos, void *data, SceSize sector_num);

sceSdifReadSectorMmc

Version offset mode
3.60 0x5101C5C8 thumb
int sceSdifReadSectorMmc(void *part_ctx, SceSize sector_pos, void *data, SceSize sector_num);