SceSysmodule: Difference between revisions

From Vita Development Wiki
Jump to navigation Jump to search
(Swapped Module <-> Library, see revision 1.1 under "Revision History" of "Vita SDK specifications" (https://wiki.henkaku.xyz/vita/File:Vita_SDK_specifications.pdf))
No edit summary
 
(2 intermediate revisions by 2 users not shown)
Line 1: Line 1:
== Module ==
== Module ==


=== Known NIDs ===
{| class="wikitable"
{| class="wikitable"
|-
|-
! Version !! Name !! World !! Privilege !! NID
! Version !! World !! Privilege
|-
|-
| 1.69 || SceSysmodule || Non-secure || Kernel || 0x7CFC2CC4
| 1.000.071-3.740.011 || Non-secure || Kernel
|}
|}


Line 17: Line 16:
! Version !! Name !! World !! Visibility !! NID
! Version !! Name !! World !! Visibility !! NID
|-
|-
| 1.69 || [[SceSysmodule#SceSysmodule|SceSysmodule]] || Non-secure || User || 0x3FCF19D
| 1.000.071-3.740.011 || [[SceSysmodule#SceSysmodule|SceSysmodule]] || Non-secure || User || 0x3FCF19D
|}
|}


Line 27: Line 26:
! Version !! NID
! Version !! NID
|-
|-
| 1.69 || 0x9A4AF1D
| 1.000.071-3.740.011 || 0x9A4AF1D
|}
|}


Line 37: Line 36:
! Version !! NID
! Version !! NID
|-
|-
| 1.69 || 0x2399BF45
| 1.000.071-3.740.011 || 0x2399BF45
|}
|}
The internal version of the calls ORs <code>0x40000000</code> with the <code>id</code>. It also takes in a 32-bit id (the non-internal ones use 16-bit ids).


<source lang="c">int sceSysmoduleLoadModuleInternal(uint32_t id);</source>
<source lang="c">int sceSysmoduleLoadModuleInternal(uint32_t id);</source>
The "internal" version of the calls ORs <code>0x40000000</code> with the <code>id</code>. It also takes in a 32-bit id (the non-internal ones use 16-bit ids).


=== sceSysmoduleUnloadModule ===
=== sceSysmoduleUnloadModule ===
Line 49: Line 48:
! Version !! NID
! Version !! NID
|-
|-
| 1.69 || 0x31D87805
| 1.000.071-3.740.011 || 0x31D87805
|}
|}


Line 59: Line 58:
! Version !! NID
! Version !! NID
|-
|-
| 1.69 || 0x53099B7A
| 1.000.071-3.740.011 || 0x53099B7A
|}
|}


Line 69: Line 68:
! Version !! NID
! Version !! NID
|-
|-
| 1.69 || 0x79A0160A
| 1.000.071-3.740.011 || 0x79A0160A
|}
|}


Line 79: Line 78:
! Version !! NID
! Version !! NID
|-
|-
| 1.69 || 0xA2F40C4C
| 1.000.071-3.740.011 || 0xA2F40C4C
|}
|}


Line 87: Line 86:
! Version !! NID
! Version !! NID
|-
|-
| 1.69 || 0xC3C26339
| 1.000.071-3.740.011 || 0xC3C26339
|}
|}


Line 97: Line 96:
! Version !! NID
! Version !! NID
|-
|-
| 1.69 || 0xFF206B19
| 1.000.071-3.740.011 || 0xFF206B19
|}
|}


<source lang="c">int sceSysmoduleUnloadModuleInternal(uint32_t id);</source>
<source lang="c">int sceSysmoduleUnloadModuleInternal(uint32_t id);</source>


== Undocumented Module IDs ==
== Internal Sysmodules ==


While many IDs are documented in the SDK, there are some that are not. Note that the internal ones must be called with the "internal" load functions because they take 32-bit values.
Some sysmodules are not documented in the SDK because they are internal. Internal sysmodules are caracterized by their negative IDs.
 
Internal ones must be called with the "internal" load functions because they take 32-bit values.


{| class="wikitable"
{| class="wikitable"
|-
|-
! ID !! Name !! Information
! Sysmodule ID !! Name !! Comments
|-
| 0x80000000 || ? ||
|-
| 0x80000001|| [[SceJpegEncArm]] ||
|-
| 0x80000002 || [[SceAudiocodec]] ||
|-
| 0x80000003 || [[SceJpegArm]] ||
|-
| 0x80000004 || [[SceLibG729]] ||
|-
| 0x80000005 || [[ScebXCe]] || requires ScePaf to be loaded
|-
|-
| 0x80000001|| SceJpegEncArm ||  
| 0x80000006 || [[SceIniFileProcessor]] || requires ScePaf to be loaded
|-
|-
| 0x80000002 || SceAudiocodec ||
| 0x80000007 || [[SceNpActivityNet]] ||
|-
|-
| 0x80000003 || SceJpegArm ||
| 0x80000008 || [[ScePaf]] ||
|-
|-
| 0x80000004 || SceLibG729 ||
| 0x80000009 || ? ||
|-
|-
| 0x80000005 || ScebXCe || requires ScePaf to be loaded
| 0x8000000A || ? ||
|-
|-
| 0x80000006 || SceIniFileProcessor || requires ScePaf to be loaded
| 0x8000000B || ? ||
|-
|-
| 0x80000007 || SceNpActivityNet ||
| 0x8000000C || ? ||
|-
|-
| 0x80000008 || ScePaf ||
| 0x8000000D || ? ||
|-
|-
| 0x80000012 || SceCommonDialogMain ||
| 0x8000000E || ? ||
|-
|-
| 0x8000001A || SceNearProfile ||
| 0x8000000F || ? ||
|-
|-
| 0x8000001B || SceNpFriendPrivacyLevel ||
| 0x80000010 || ? ||
|-
|-
| 0x8000001E || SceNpKdc ||
| 0x80000011 || ? ||
|-
|-
| 0x80000021 || SceNpMessageDlgImplPlugin ||
| 0x80000012 || [[SceCommonDialogMain]] ||
|-
|-
| 0x80000022 || SceNpMessageContactsPlugin ||
| 0x80000013 || ? ||
|-
|-
| 0x80000023 || SceDbrecoveryUtility ||
| 0x80000014 || ? ||
|-
|-
| 0x80000024 || ScePromoterUtil ||
| 0x80000015 || ? ||
|-
|-
| 0x80000026 || ScePartyMemberListPlugin ||
| 0x80000016 || ? ||
|-
|-
| 0x80000027 || SceDrmPsmKdc ||
| 0x80000017 || ? ||
|-
|-
| 0x80000018 || ? ||
|-
| 0x80000019 || ? ||
|-
| 0x8000001A || [[SceNearProfile]] ||
|-
| 0x8000001B || [[SceNpFriendPrivacyLevel]] ||
|-
| 0x8000001C || ? ||
|-
| 0x8000001D || ? ||
|-
| 0x8000001E || [[SceNpKdc]] ||
|-
| 0x8000001F || ? ||
|-
| 0x80000020 || ? ||
|-
| 0x80000021 || [[SceNpMessageDlgImplPlugin]] ||
|-
| 0x80000022 || [[SceNpMessageContactsPlugin]] ||
|-
| 0x80000023 || [[SceDbrecoveryUtility]] ||
|-
| 0x80000024 || [[ScePromoterUtil]] ||
|-
| 0x80000025 || ? ||
|-
| 0x80000026 || [[ScePartyMemberListPlugin]] ||
|-
| 0x80000027 || [[SceDrmPsmKdc]] ||
|}
|}


[[Category:ARM]]
[[Category:Kernel]]
[[Category:Modules]]
[[Category:Modules]]
[[Category:Kernel]]
[[Category:Library]]

Latest revision as of 21:34, 1 May 2023

Module

Version World Privilege
1.000.071-3.740.011 Non-secure Kernel

Libraries

Known NIDs

Version Name World Visibility NID
1.000.071-3.740.011 SceSysmodule Non-secure User 0x3FCF19D

SceSysmodule

sceSysmoduleIsLoadedInternal

Version NID
1.000.071-3.740.011 0x9A4AF1D
int sceSysmoduleIsLoadedInternal(uint32_t id);

sceSysmoduleLoadModuleInternal

Version NID
1.000.071-3.740.011 0x2399BF45

The internal version of the calls ORs 0x40000000 with the id. It also takes in a 32-bit id (the non-internal ones use 16-bit ids).

int sceSysmoduleLoadModuleInternal(uint32_t id);

sceSysmoduleUnloadModule

Version NID
1.000.071-3.740.011 0x31D87805
int sceSysmoduleUnloadModule(uint16_t id);

sceSysmoduleIsLoaded

Version NID
1.000.071-3.740.011 0x53099B7A
int sceSysmoduleIsLoaded(uint16_t id);

sceSysmoduleLoadModule

Version NID
1.000.071-3.740.011 0x79A0160A
int sceSysmoduleLoadModule(uint16_t id);

_sceSysmoduleUnloadModuleInternalWithArg

Version NID
1.000.071-3.740.011 0xA2F40C4C

_sceSysmoduleLoadModuleInternalWithArg

Version NID
1.000.071-3.740.011 0xC3C26339
int sceSysmoduleLoadModuleInternalWithArg(uint32_t id, uint32_t argc, const void *argp, void *out);

sceSysmoduleUnloadModuleInternal

Version NID
1.000.071-3.740.011 0xFF206B19
int sceSysmoduleUnloadModuleInternal(uint32_t id);

Internal Sysmodules

Some sysmodules are not documented in the SDK because they are internal. Internal sysmodules are caracterized by their negative IDs.

Internal ones must be called with the "internal" load functions because they take 32-bit values.

Sysmodule ID Name Comments
0x80000000 ?
0x80000001 SceJpegEncArm
0x80000002 SceAudiocodec
0x80000003 SceJpegArm
0x80000004 SceLibG729
0x80000005 ScebXCe requires ScePaf to be loaded
0x80000006 SceIniFileProcessor requires ScePaf to be loaded
0x80000007 SceNpActivityNet
0x80000008 ScePaf
0x80000009 ?
0x8000000A ?
0x8000000B ?
0x8000000C ?
0x8000000D ?
0x8000000E ?
0x8000000F ?
0x80000010 ?
0x80000011 ?
0x80000012 SceCommonDialogMain
0x80000013 ?
0x80000014 ?
0x80000015 ?
0x80000016 ?
0x80000017 ?
0x80000018 ?
0x80000019 ?
0x8000001A SceNearProfile
0x8000001B SceNpFriendPrivacyLevel
0x8000001C ?
0x8000001D ?
0x8000001E SceNpKdc
0x8000001F ?
0x80000020 ?
0x80000021 SceNpMessageDlgImplPlugin
0x80000022 SceNpMessageContactsPlugin
0x80000023 SceDbrecoveryUtility
0x80000024 ScePromoterUtil
0x80000025 ?
0x80000026 ScePartyMemberListPlugin
0x80000027 SceDrmPsmKdc