Difference between revisions of "SceFios2Kernel"

From Vita Development Wiki
Jump to navigation Jump to search
(15 intermediate revisions by 2 users not shown)
Line 1: Line 1:
 +
FIOS sits on top of filesystem and provides the following functionality:
 +
 +
* Schedule i/o requests - queue i/o operations, prioritize i/o operations, delayed (scheduled for specific time) async i/o operations, parallelized i/o operations.
 +
* Overlays - remap i/o operations to different location. Good example is patches or localization.
 +
* Caching - caching layer for i/o operations. i/o operations are split into chunks. Chunks can be cached in RAM. Performance can increase.
 +
* Dearchiving - transparent filter for i/o operations that dearchives data. Good usage would be for psarc files.
 +
 
== Module ==
 
== Module ==
  
Line 8: Line 15:
 
| 1.69 || SceFios2Kernel || Non-secure || Kernel || 0x26E15F8F
 
| 1.69 || SceFios2Kernel || Non-secure || Kernel || 0x26E15F8F
 
|-
 
|-
| 3.60 || SceFios2Kernel || ? || Kernel || 0x10ECF2D0
+
| 3.60 || SceFios2Kernel || Non-secure || Kernel || 0x10ECF2D0
 
|}
 
|}
  
Line 19: Line 26:
 
! Version !! Name !! World !! Visibility !! NID
 
! Version !! Name !! World !! Visibility !! NID
 
|-
 
|-
| 1.69 || [[SceFios2Kernel#SceFios2KernelForDriver|SceFios2KernelForDriver]] || Non-secure || Kernel || 0x54D6B9EB
+
| 1.69-3.60 || [[SceFios2Kernel#SceFios2KernelForDriver|SceFios2KernelForDriver]] || Non-secure || Kernel || 0x54D6B9EB
|-
 
| 3.60 || [[SceFios2Kernel#SceFios2KernelForDriver|SceFios2KernelForDriver]] || ? || Kernel || 0x54D6B9EB
 
|-
 
| 1.69 || [[SceFios2Kernel#SceFios2Kernel|SceFios2Kernel]] || Non-secure || User || 0x8757B742
 
 
|-
 
|-
| 3.60 || [[SceFios2Kernel#SceFios2Kernel|SceFios2Kernel]] || ? || User || 0x8757B742
+
| 1.69-3.60 || [[SceFios2Kernel#SceFios2Kernel|SceFios2Kernel]] || Non-secure || User || 0x8757B742
 
|-
 
|-
| 3.60 || [[SceFios2Kernel#SceFios2Kernel02|SceFios2Kernel02]] || ? || ? || 0xE83E40A6
+
| 3.60 || [[SceFios2Kernel#SceFios2Kernel02|SceFios2Kernel02]] || Non-secure || ? || 0xE83E40A6
 
|}
 
|}
 +
 +
== Types ==
 +
 +
<source lang="C">
 +
typedef int32_t SceFiosOverlayID;
 +
 +
typedef struct SceFiosOverlay {
 +
  uint8_t type;
 +
  uint8_t order;
 +
  uint16_t dst_len;
 +
  uint16_t src_len;
 +
  uint16_t unk2;
 +
  SceUID pid;
 +
  SceFiosOverlayID id;
 +
  char dst[292];
 +
  char src[292]; // src path replaces dst path based on type policy
 +
} SceFiosOverlay;
 +
</source>
  
 
== SceFios2KernelForDriver ==
 
== SceFios2KernelForDriver ==
Line 40: Line 61:
 
|}
 
|}
  
derived from <code>_sceFiosKernelOverlayAdd </code>
+
derived from <code>_sceFiosKernelOverlayAdd</code>
  
 
=== sceFiosKernelOverlayAddForProcessForDriver ===
 
=== sceFiosKernelOverlayAddForProcessForDriver ===
Line 50: Line 71:
 
|}
 
|}
  
derived from <code>_sceFiosKernelOverlayAddForProcess </code>
+
derived from <code>_sceFiosKernelOverlayAddForProcess</code>
  
<source lang="c">int sceFiosKernelOverlayAddForProcessForDriver(int unk0, int unk1, int unk2); </source>
+
<source lang="c">
 +
int sceFiosKernelOverlayAddForProcessForDriver(SceUID pid, SceFiosOverlay *overlay, SceFiosOverlayID *outID);  
 +
</source>
  
 
=== sceFiosKernelOverlayGetInfoForDriver ===
 
=== sceFiosKernelOverlayGetInfoForDriver ===
Line 62: Line 85:
 
|}
 
|}
  
derived from <code>_sceFiosKernelOverlayGetInfo </code>
+
derived from <code>_sceFiosKernelOverlayGetInfo</code>
  
 
=== sceFiosKernelOverlayGetInfoForProcessForDriver ===
 
=== sceFiosKernelOverlayGetInfoForProcessForDriver ===
Line 72: Line 95:
 
|}
 
|}
  
derived from <code>_sceFiosKernelOverlayGetInfoForProcess </code>
+
derived from <code>_sceFiosKernelOverlayGetInfoForProcess</code>
 +
 
 +
<source lang="c">
 +
int sceFiosKernelOverlayGetInfoForProcessForDriver(SceUID pid, SceFiosOverlayID id, SceFiosOverlay *overla);
 +
</source>
  
 
=== sceFiosKernelOverlayGetListForDriver ===
 
=== sceFiosKernelOverlayGetListForDriver ===
Line 82: Line 109:
 
|}
 
|}
  
derived from <code>_sceFiosKernelOverlayGetList </code>
+
derived from <code>_sceFiosKernelOverlayGetList</code>
 +
 
 +
<source lang="c">
 +
int sceFiosKernelOverlayGetListForDriver(SceUID pid, char loOrderFilter, char hiOrderFilter, SceFiosOverlayID *outIDs, size_t maxIDs, size_t *actualIDs);
 +
</source>
  
 
=== sceFiosKernelOverlayGetRecommendedSchedulerForDriver ===
 
=== sceFiosKernelOverlayGetRecommendedSchedulerForDriver ===
Line 92: Line 123:
 
|}
 
|}
  
derived from <code>_sceFiosKernelOverlayGetRecommendedScheduler </code>
+
derived from <code>_sceFiosKernelOverlayGetRecommendedScheduler</code>
 +
 
 +
<source lang="c">
 +
int sceFiosKernelOverlayGetRecommendedSchedulerForDriver(int some_index, char *path);
 +
</source>
  
 
=== sceFiosKernelOverlayModifyForDriver ===
 
=== sceFiosKernelOverlayModifyForDriver ===
Line 102: Line 137:
 
|}
 
|}
  
derived from <code>_sceFiosKernelOverlayModify </code>
+
derived from <code>_sceFiosKernelOverlayModify</code>
  
 
=== sceFiosKernelOverlayModifyForProcessForDriver ===
 
=== sceFiosKernelOverlayModifyForProcessForDriver ===
Line 112: Line 147:
 
|}
 
|}
  
derived from <code>_sceFiosKernelOverlayModifyForProcess </code>
+
derived from <code>_sceFiosKernelOverlayModifyForProcess</code>
 +
 
 +
<source lang="c">
 +
int sceFiosKernelOverlayModifyForProcessForDriver(SceUID pid, SceFiosOverlayID id, const SceFiosOverlay *newValue);
 +
</source>
  
 
=== sceFiosKernelOverlayRemoveForDriver ===
 
=== sceFiosKernelOverlayRemoveForDriver ===
Line 122: Line 161:
 
|}
 
|}
  
derived from <code>_sceFiosKernelOverlayRemove </code>
+
derived from <code>_sceFiosKernelOverlayRemove</code>
  
 
=== sceFiosKernelOverlayRemoveForProcessForDriver ===
 
=== sceFiosKernelOverlayRemoveForProcessForDriver ===
Line 132: Line 171:
 
|}
 
|}
  
derived from <code>_sceFiosKernelOverlayRemoveForProcess </code>
+
derived from <code>_sceFiosKernelOverlayRemoveForProcess</code>
  
<source lang="c">int sceFiosKernelOverlayRemoveForProcessForDriver(int unk0, int unk1); </source>
+
<source lang="c">
 +
int sceFiosKernelOverlayRemoveForProcessForDriver(SceUID pid, SceFiosOverlayID id);  
 +
</source>
  
 
=== sceFiosKernelOverlayResolveSyncForDriver ===
 
=== sceFiosKernelOverlayResolveSyncForDriver ===
Line 146: Line 187:
 
derived from <code>_sceFiosKernelOverlayResolveSync</code>
 
derived from <code>_sceFiosKernelOverlayResolveSync</code>
  
<source lang="c">int sceFiosKernelOverlayResolveSyncForDriver(SceUID pid, int resolveFlag, const char *pInPath, char *pOutPath, size_t maxPath);</source>
+
<source lang="c">
 +
int sceFiosKernelOverlayResolveSyncForDriver(SceUID pid, int resolveFlag, const char *inPath, char *outPath, size_t maxPath);
 +
</source>
  
 
=== sceFiosKernelOverlayResolveWithRangeSyncForDriver ===
 
=== sceFiosKernelOverlayResolveWithRangeSyncForDriver ===
Line 156: Line 199:
 
|}
 
|}
  
derived from <code>_sceFiosKernelOverlayResolveWithRangeSync </code>
+
derived from <code>_sceFiosKernelOverlayResolveWithRangeSync</code>
 +
 
 +
<source lang="c">
 +
int sceFiosKernelOverlayResolveWithRangeSyncForDriver(SceUID pid, int resolveFlag, const char *inPath, char *outPath, size_t maxPath, char loOrderFilter, char hiOrderFilter);
 +
</source>
  
 
=== sceFiosKernelOverlayThreadIsDisabledForDriver ===
 
=== sceFiosKernelOverlayThreadIsDisabledForDriver ===
Line 166: Line 213:
 
|}
 
|}
  
derived from <code>_sceFiosKernelOverlayThreadIsDisabled </code>
+
derived from <code>_sceFiosKernelOverlayThreadIsDisabled</code>
 +
 
 +
<source lang="c">
 +
int sceFiosKernelOverlayThreadIsDisabledForDriver();
 +
</source>
  
 
=== sceFiosKernelOverlayThreadSetDisabledForDriver ===
 
=== sceFiosKernelOverlayThreadSetDisabledForDriver ===
Line 176: Line 227:
 
|}
 
|}
  
derived from <code>_sceFiosKernelOverlayThreadSetDisabled </code>
+
derived from <code>_sceFiosKernelOverlayThreadSetDisabled</code>
 +
 
 +
<source lang="c">
 +
int sceFiosKernelOverlayThreadSetDisabledForDriver(int value);
 +
</source>
  
 
=== SceFios2KernelForDriver_unk_2649408B ===
 
=== SceFios2KernelForDriver_unk_2649408B ===
Line 260: Line 315:
 
|}
 
|}
  
derived from <code> _sceFiosKernelOverlayAddForProcess </code>
+
derived from <code> _sceFiosKernelOverlayAddForProcess</code>
  
 
<source lang="C">
 
<source lang="C">
Line 274: Line 329:
 
|}
 
|}
  
derived from <code> _sceFiosKernelOverlayGetInfoForProcess </code>
+
derived from <code> _sceFiosKernelOverlayGetInfoForProcess</code>
  
 
<source lang="C">
 
<source lang="C">
Line 288: Line 343:
 
|}
 
|}
  
derived from <code> _sceFiosKernelOverlayGetList </code>
+
derived from <code> _sceFiosKernelOverlayGetList</code>
  
 
<source lang="C">
 
<source lang="C">
//size is 0x18
+
typedef struct sceFiosKernelOverlayGetList02_opt { // size is 0x18
struct sceFiosKernelOverlayGetList02Opt
 
{
 
 
   SceFiosOverlayID *outIDs;
 
   SceFiosOverlayID *outIDs;
 
   size_t maxIDs;
 
   size_t maxIDs;
Line 300: Line 353:
 
   int reserved1;
 
   int reserved1;
 
   int reserved2;
 
   int reserved2;
};
+
} sceFiosKernelOverlayGetList02_opt;
  
int sceFiosKernelOverlayGetList02(SceUID pid, char loOrderFilter, char hiOrderFilter, sceFiosKernelOverlayGetList02Opt *opt);
+
int sceFiosKernelOverlayGetList02(SceUID pid, char loOrderFilter, char hiOrderFilter, sceFiosKernelOverlayGetList02_opt *opt);
 
</source>
 
</source>
  
Line 313: Line 366:
 
|}
 
|}
  
derived from <code> _sceFiosKernelOverlayGetRecommendedScheduler </code>
+
derived from <code> _sceFiosKernelOverlayGetRecommendedScheduler</code>
  
 
<source lang="C">
 
<source lang="C">
//size is 0x8
+
typedef struct sceFiosKernelOverlayGetRecommendedScheduler02_opt { // size is 8
struct sceFiosKernelOverlayGetRecommendedScheduler02Opt
 
{
 
 
   int reserved1;
 
   int reserved1;
 
   int reserved2;
 
   int reserved2;
};
+
} sceFiosKernelOverlayGetRecommendedScheduler02_opt;
  
int sceFiosKernelOverlayGetRecommendedScheduler02(int some_index, char *path, sceFiosKernelOverlayGetRecommendedScheduler02Opt *opt);
+
int sceFiosKernelOverlayGetRecommendedScheduler02(int some_index, char *path, sceFiosKernelOverlayGetRecommendedScheduler02_opt *opt);
 
</source>
 
</source>
  
Line 334: Line 385:
 
|}
 
|}
  
derived from <code> _sceFiosKernelOverlayModifyForProcess </code>
+
derived from <code> _sceFiosKernelOverlayModifyForProcess</code>
  
 
<source lang="C">
 
<source lang="C">
Line 348: Line 399:
 
|}
 
|}
  
derived from <code> _sceFiosKernelOverlayRemoveForProcess </code>
+
derived from <code> _sceFiosKernelOverlayRemoveForProcess</code>
  
 
<source lang="C">
 
<source lang="C">
Line 362: Line 413:
 
|}
 
|}
  
derived from <code> _sceFiosKernelOverlayResolveSync </code>
+
derived from <code> _sceFiosKernelOverlayResolveSync</code>
  
 
<source lang="C">
 
<source lang="C">
//size is 0x18
+
typedef struct sceFiosKernelOverlayResolveSync02_opt { // size is 0x18
struct sceFiosKernelOverlayResolveSync02Opt
 
{
 
 
   char *outPath;
 
   char *outPath;
 
   size_t maxPath;
 
   size_t maxPath;
Line 374: Line 423:
 
   int reserved3;
 
   int reserved3;
 
   int reserved4;
 
   int reserved4;
};
+
} sceFiosKernelOverlayResolveSync02_opt;
  
int sceFiosKernelOverlayResolveSync02(SceUID pid, int resolveFlag, const char *inPath, sceFiosKernelOverlayResolveSync02Opt *opt);
+
int sceFiosKernelOverlayResolveSync02(SceUID pid, int resolveFlag, const char *inPath, sceFiosKernelOverlayResolveSync02_opt *opt);
 
</source>
 
</source>
  
Line 387: Line 436:
 
|}
 
|}
  
derived from <code> _sceFiosKernelOverlayResolveWithRangeSync </code>
+
derived from <code> _sceFiosKernelOverlayResolveWithRangeSync</code>
  
 
<source lang="C">
 
<source lang="C">
//size is 0x1C
+
typedef struct sceFiosKernelOverlayResolveWithRangeSync02_opt { // size is 0x1C
struct sceFiosKernelOverlayResolveWithRangeSync02Opt
 
{
 
 
   char *outPath;
 
   char *outPath;
 
   size_t maxPath;
 
   size_t maxPath;
Line 403: Line 450:
 
   int reserved5;
 
   int reserved5;
 
   int reserved6;
 
   int reserved6;
};
+
} sceFiosKernelOverlayResolveWithRangeSync02_opt;
  
int sceFiosKernelOverlayResolveWithRangeSync02(SceUID pid, int resolveFlag, const char *inPath, sceFiosKernelOverlayResolveWithRangeSync02Opt *opt);
+
int sceFiosKernelOverlayResolveWithRangeSync02(SceUID pid, int resolveFlag, const char *inPath, sceFiosKernelOverlayResolveWithRangeSync02_opt *opt);
 
</source>
 
</source>
  
Line 416: Line 463:
 
|}
 
|}
  
derived from <code> _sceFiosKernelOverlayThreadIsDisabled </code>
+
derived from <code> _sceFiosKernelOverlayThreadIsDisabled</code>
  
 
<source lang="C">
 
<source lang="C">
int sceFiosKernelOverlayThreadIsDisabled02();
+
int sceFiosKernelOverlayThreadIsDisabled02(void);
 
</source>
 
</source>
  
Line 430: Line 477:
 
|}
 
|}
  
derived from <code> _sceFiosKernelOverlayThreadSetDisabled </code>
+
derived from <code> _sceFiosKernelOverlayThreadSetDisabled</code>
  
 
<source lang="C">
 
<source lang="C">
 +
int sceFiosKernelOverlayThreadSetDisabled02(int value);
 
</source>
 
</source>
  
Line 442: Line 490:
 
! Version !! NID
 
! Version !! NID
 
|-
 
|-
| 1.69 || 0x2A381357
+
| 1.69-3.60 || 0x2A381357
|-
 
| 3.60 || 0x2A381357
 
 
|}
 
|}
  
Line 452: Line 498:
 
! Version !! NID
 
! Version !! NID
 
|-
 
|-
| 1.69 || 0x6DBCF0B2
+
| 1.69-3.60 || 0x6DBCF0B2
|-
 
| 3.60 || 0x6DBCF0B2
 
 
|}
 
|}
  
Line 462: Line 506:
 
! Version !! NID
 
! Version !! NID
 
|-
 
|-
| 1.69 || 0xF6A3E335
+
| 1.69-3.60 || 0xF6A3E335
|-
 
| 3.60 || 0xF6A3E335
 
 
|}
 
|}
  
Line 474: Line 516:
 
! Version !! NID
 
! Version !! NID
 
|-
 
|-
| 1.69 || 0x021B4AF7
+
| 1.69-3.60 || 0x021B4AF7
|-
 
| 3.60 || 0x021B4AF7
 
 
|}
 
|}
  
Line 486: Line 526:
 
! Version !! NID
 
! Version !! NID
 
|-
 
|-
| 1.69 || 0x5D6A1CCE
+
| 1.69-3.60 || 0x5D6A1CCE
|-
 
| 3.60 || 0x5D6A1CCE
 
 
|}
 
|}
  
Line 498: Line 536:
 
! Version !! NID
 
! Version !! NID
 
|-
 
|-
| 1.69 || 0x2F06ADC6
+
| 1.69-3.60 || 0x2F06ADC6
|-
 
| 3.60 || 0x2F06ADC6
 
 
|}
 
|}
  
Line 510: Line 546:
 
! Version !! NID
 
! Version !! NID
 
|-
 
|-
| 1.69 || 0x759EBEE6
+
| 1.69-3.60 || 0x759EBEE6
|-
 
| 3.60 || 0x759EBEE6
 
 
|}
 
|}
  
Line 522: Line 556:
 
! Version !! NID
 
! Version !! NID
 
|-
 
|-
| 1.69 || 0x2A9724C9
+
| 1.69-3.60 || 0x2A9724C9
|-
 
| 3.60 || 0x2A9724C9
 
 
|}
 
|}
  
Line 534: Line 566:
 
! Version !! NID
 
! Version !! NID
 
|-
 
|-
| 1.69 || 0xBC6B3CC5
+
| 1.69-3.60 || 0xBC6B3CC5
|-
 
| 3.60 || 0xBC6B3CC5
 
 
|}
 
|}
  
Line 544: Line 574:
 
! Version !! NID
 
! Version !! NID
 
|-
 
|-
| 1.69 || 0xF44F3505
+
| 1.69-3.60 || 0xF44F3505
|-
 
| 3.60 || 0xF44F3505
 
 
|}
 
|}
  
Line 554: Line 582:
 
! Version !! NID
 
! Version !! NID
 
|-
 
|-
| 1.69 || 0x9379E2D5
+
| 1.69-3.60 || 0x9379E2D5
|-
 
| 3.60 || 0x9379E2D5
 
 
|}
 
|}
  
Line 564: Line 590:
 
! Version !! NID
 
! Version !! NID
 
|-
 
|-
| 1.69 || 0xB02E0B26
+
| 1.69-3.60 || 0xB02E0B26
|-
 
| 3.60 || 0xB02E0B26
 
 
|}
 
|}
  
Line 574: Line 598:
 
! Version !! NID
 
! Version !! NID
 
|-
 
|-
| 1.69 || 0x6DF2FC05
+
| 1.69-3.60 || 0x6DF2FC05
|-
 
| 3.60 || 0x6DF2FC05
 
 
|}
 
|}
  
Line 584: Line 606:
 
! Version !! NID
 
! Version !! NID
 
|-
 
|-
| 1.69 || 0x6D6CDE05
+
| 1.69-3.60 || 0x6D6CDE05
|-
 
| 3.60 || 0x6D6CDE05
 
 
|}
 
|}
  
Line 594: Line 614:
 
! Version !! NID
 
! Version !! NID
 
|-
 
|-
| 1.69 || 0xF8277E07
+
| 1.69-3.60 || 0xF8277E07
|-
 
| 3.60 || 0xF8277E07
 
 
|}
 
|}
  
Line 604: Line 622:
 
! Version !! NID
 
! Version !! NID
 
|-
 
|-
| 1.69 || 0xB4927173
+
| 1.69-3.60 || 0xB4927173
|-
 
| 3.60 || 0xB4927173
 
 
|}
 
|}
  
Line 614: Line 630:
 
! Version !! NID
 
! Version !! NID
 
|-
 
|-
| 1.69 || 0xE9AE60FB
+
| 1.69-3.60 || 0xE9AE60FB
|-
 
| 3.60 || 0xE9AE60FB
 
 
|}
 
|}
  
Line 624: Line 638:
 
! Version !! NID
 
! Version !! NID
 
|-
 
|-
| 1.69 || 0x8CCA471A
+
| 1.69-3.60 || 0x8CCA471A
|-
 
| 3.60 || 0x8CCA471A
 
 
|}
 
|}
  
Line 634: Line 646:
 
! Version !! NID
 
! Version !! NID
 
|-
 
|-
| 1.69 || 0x629F4FE4
+
| 1.69-3.60 || 0x629F4FE4
|-
 
| 3.60 || 0x629F4FE4
 
 
|}
 
|}
  
Line 644: Line 654:
 
! Version !! NID
 
! Version !! NID
 
|-
 
|-
| 1.69 || 0x3E9172EA
+
| 1.69-3.60 || 0x3E9172EA
|-
 
| 3.60 || 0x3E9172EA
 
 
|}
 
|}
  

Revision as of 17:58, 23 October 2019

FIOS sits on top of filesystem and provides the following functionality:

  • Schedule i/o requests - queue i/o operations, prioritize i/o operations, delayed (scheduled for specific time) async i/o operations, parallelized i/o operations.
  • Overlays - remap i/o operations to different location. Good example is patches or localization.
  • Caching - caching layer for i/o operations. i/o operations are split into chunks. Chunks can be cached in RAM. Performance can increase.
  • Dearchiving - transparent filter for i/o operations that dearchives data. Good usage would be for psarc files.

Module

Known NIDs

Version Name World Privilege NID
1.69 SceFios2Kernel Non-secure Kernel 0x26E15F8F
3.60 SceFios2Kernel Non-secure Kernel 0x10ECF2D0

Libraries

Known NIDs

Version Name World Visibility NID
1.69-3.60 SceFios2KernelForDriver Non-secure Kernel 0x54D6B9EB
1.69-3.60 SceFios2Kernel Non-secure User 0x8757B742
3.60 SceFios2Kernel02 Non-secure ? 0xE83E40A6

Types

typedef int32_t SceFiosOverlayID;

typedef struct SceFiosOverlay {
  uint8_t type;
  uint8_t order;
  uint16_t dst_len;
  uint16_t src_len;
  uint16_t unk2;
  SceUID pid;
  SceFiosOverlayID id;
  char dst[292];
  char src[292]; // src path replaces dst path based on type policy
} SceFiosOverlay;

SceFios2KernelForDriver

sceFiosKernelOverlayAddForDriver

Version NID
3.60 0x2607EE4C

derived from _sceFiosKernelOverlayAdd

sceFiosKernelOverlayAddForProcessForDriver

Version NID
3.60 0x17E65A1C

derived from _sceFiosKernelOverlayAddForProcess

int sceFiosKernelOverlayAddForProcessForDriver(SceUID pid, SceFiosOverlay *overlay, SceFiosOverlayID *outID);

sceFiosKernelOverlayGetInfoForDriver

Version NID
3.60 0x725E6817

derived from _sceFiosKernelOverlayGetInfo

sceFiosKernelOverlayGetInfoForProcessForDriver

Version NID
3.60 0xF1762BC2

derived from _sceFiosKernelOverlayGetInfoForProcess

int sceFiosKernelOverlayGetInfoForProcessForDriver(SceUID pid, SceFiosOverlayID id, SceFiosOverlay *overla);

sceFiosKernelOverlayGetListForDriver

Version NID
3.60 0xFF42AAF0

derived from _sceFiosKernelOverlayGetList

int sceFiosKernelOverlayGetListForDriver(SceUID pid, char loOrderFilter, char hiOrderFilter, SceFiosOverlayID *outIDs, size_t maxIDs, size_t *actualIDs);

sceFiosKernelOverlayGetRecommendedSchedulerForDriver

Version NID
3.60 0x241BF0D6

derived from _sceFiosKernelOverlayGetRecommendedScheduler

int sceFiosKernelOverlayGetRecommendedSchedulerForDriver(int some_index, char *path);

sceFiosKernelOverlayModifyForDriver

Version NID
3.60 0x7F8B960C

derived from _sceFiosKernelOverlayModify

sceFiosKernelOverlayModifyForProcessForDriver

Version NID
3.60 0x853EA82A

derived from _sceFiosKernelOverlayModifyForProcess

int sceFiosKernelOverlayModifyForProcessForDriver(SceUID pid, SceFiosOverlayID id, const SceFiosOverlay *newValue);

sceFiosKernelOverlayRemoveForDriver

Version NID
3.60 0x2368FEB5

derived from _sceFiosKernelOverlayRemove

sceFiosKernelOverlayRemoveForProcessForDriver

Version NID
3.60 0x23247EFB

derived from _sceFiosKernelOverlayRemoveForProcess

int sceFiosKernelOverlayRemoveForProcessForDriver(SceUID pid, SceFiosOverlayID id);

sceFiosKernelOverlayResolveSyncForDriver

Version NID
3.60 0x0F456345

derived from _sceFiosKernelOverlayResolveSync

int sceFiosKernelOverlayResolveSyncForDriver(SceUID pid, int resolveFlag, const char *inPath, char *outPath, size_t maxPath);

sceFiosKernelOverlayResolveWithRangeSyncForDriver

Version NID
3.60 0xD3D968FC

derived from _sceFiosKernelOverlayResolveWithRangeSync

int sceFiosKernelOverlayResolveWithRangeSyncForDriver(SceUID pid, int resolveFlag, const char *inPath, char *outPath, size_t maxPath, char loOrderFilter, char hiOrderFilter);

sceFiosKernelOverlayThreadIsDisabledForDriver

Version NID
3.60 0xE71192C5

derived from _sceFiosKernelOverlayThreadIsDisabled

int sceFiosKernelOverlayThreadIsDisabledForDriver();

sceFiosKernelOverlayThreadSetDisabledForDriver

Version NID
3.60 0x03727E5E

derived from _sceFiosKernelOverlayThreadSetDisabled

int sceFiosKernelOverlayThreadSetDisabledForDriver(int value);

SceFios2KernelForDriver_unk_2649408B

Version NID
3.60 0x2649408B

should map to one of six functions that return 0x80820000

used by SceIofilemgr so probably can be derived

SceFios2KernelForDriver_unk_28E28A58

Version NID
3.60 0x28E28A58

should map to one of six functions that return 0x80820000

used by SceIofilemgr so probably can be derived

SceFios2KernelForDriver_unk_35E7E75C

Version NID
3.60 0x35E7E75C

should map to one of six functions that return 0x80820000

used by SceIofilemgr so probably can be derived

SceFios2KernelForDriver_unk_3B329E86

Version NID
3.60 0x3B329E86

should map to one of six functions that return 0x80820000

used by SceIofilemgr so probably can be derived

SceFios2KernelForDriver_unk_990F46A5

Version NID
3.60 0x990F46A5

should map to one of six functions that return 0x80820000

used by SceIofilemgr so probably can be derived

SceFios2KernelForDriver_unk_DD7627EC

Version NID
3.60 0xDD7627EC

should map to one of six functions that return 0x80820000

used by SceIofilemgr so probably can be derived

SceFios2Kernel02

sceFiosKernelOverlayAddForProcess02

Version NID
3.60 0xB77C366D

derived from _sceFiosKernelOverlayAddForProcess

int sceFiosKernelOverlayAddForProcess02(SceUID pid, SceFiosOverlay *overlay, SceFiosOverlayID *outID);

sceFiosKernelOverlayGetInfoForProcess02

Version NID
3.60 0x111DCCFA

derived from _sceFiosKernelOverlayGetInfoForProcess

int sceFiosKernelOverlayGetInfoForProcess02(SceUID pid, SceFiosOverlayID id, SceFiosOverlay *overlay);

sceFiosKernelOverlayGetList02

Version NID
3.60 0xD90FC293

derived from _sceFiosKernelOverlayGetList

typedef struct sceFiosKernelOverlayGetList02_opt { // size is 0x18
  SceFiosOverlayID *outIDs;
  size_t maxIDs;
  size_t *actualIDs;
  int buffer_size;
  int reserved1;
  int reserved2;
} sceFiosKernelOverlayGetList02_opt;

int sceFiosKernelOverlayGetList02(SceUID pid, char loOrderFilter, char hiOrderFilter, sceFiosKernelOverlayGetList02_opt *opt);

sceFiosKernelOverlayGetRecommendedScheduler02

Version NID
3.60 0x26B9D08A

derived from _sceFiosKernelOverlayGetRecommendedScheduler

typedef struct sceFiosKernelOverlayGetRecommendedScheduler02_opt { // size is 8
  int reserved1;
  int reserved2;
} sceFiosKernelOverlayGetRecommendedScheduler02_opt;

int sceFiosKernelOverlayGetRecommendedScheduler02(int some_index, char *path, sceFiosKernelOverlayGetRecommendedScheduler02_opt *opt);

sceFiosKernelOverlayModifyForProcess02

Version NID
3.60 0x6A976528

derived from _sceFiosKernelOverlayModifyForProcess

int sceFiosKernelOverlayModifyForProcess02(SceUID pid, SceFiosOverlayID id, const SceFiosOverlay *newValue);

sceFiosKernelOverlayRemoveForProcess02

Version NID
3.60 0x50A7167C

derived from _sceFiosKernelOverlayRemoveForProcess

int sceFiosKernelOverlayRemoveForProcess02(SceUID pid, SceFiosOverlayID id);

sceFiosKernelOverlayResolveSync02

Version NID
3.60 0xD76F046A

derived from _sceFiosKernelOverlayResolveSync

typedef struct sceFiosKernelOverlayResolveSync02_opt { // size is 0x18
  char *outPath;
  size_t maxPath;
  int reserved1;
  int reserved2;
  int reserved3;
  int reserved4;
} sceFiosKernelOverlayResolveSync02_opt;

int sceFiosKernelOverlayResolveSync02(SceUID pid, int resolveFlag, const char *inPath, sceFiosKernelOverlayResolveSync02_opt *opt);

sceFiosKernelOverlayResolveWithRangeSync02

Version NID
3.60 0x8DAD1FED

derived from _sceFiosKernelOverlayResolveWithRangeSync

typedef struct sceFiosKernelOverlayResolveWithRangeSync02_opt { // size is 0x1C
  char *outPath;
  size_t maxPath;
  char loOrderFilter;
  char hiOrderFilter;
  char reserved1;
  char reserved2;
  int reserved3;
  int reserved4;
  int reserved5;
  int reserved6;
} sceFiosKernelOverlayResolveWithRangeSync02_opt;

int sceFiosKernelOverlayResolveWithRangeSync02(SceUID pid, int resolveFlag, const char *inPath, sceFiosKernelOverlayResolveWithRangeSync02_opt *opt);

sceFiosKernelOverlayThreadIsDisabled02

Version NID
3.60 0xD6A4FDD6

derived from _sceFiosKernelOverlayThreadIsDisabled

int sceFiosKernelOverlayThreadIsDisabled02(void);

sceFiosKernelOverlayThreadSetDisabled02

Version NID
3.60 0x7F26D4DD

derived from _sceFiosKernelOverlayThreadSetDisabled

int sceFiosKernelOverlayThreadSetDisabled02(int value);

SceFios2Kernel

_sceFiosKernelOverlayAddForProcess

Version NID
1.69-3.60 0x2A381357

_sceFiosKernelOverlayAdd

Version NID
1.69-3.60 0x6DBCF0B2

_sceFiosKernelOverlayDHChstatSync

Version NID
1.69-3.60 0xF6A3E335

returns 0x80820000 ? is it not callable from userspace?

_sceFiosKernelOverlayDHCloseSync

Version NID
1.69-3.60 0x021B4AF7

returns 0x80820000 ? is it not callable from userspace?

_sceFiosKernelOverlayDHOpenSync

Version NID
1.69-3.60 0x5D6A1CCE

returns 0x80820000 ? is it not callable from userspace?

_sceFiosKernelOverlayDHReadSync

Version NID
1.69-3.60 0x2F06ADC6

returns 0x80820000 ? is it not callable from userspace?

_sceFiosKernelOverlayDHStatSync

Version NID
1.69-3.60 0x759EBEE6

returns 0x80820000 ? is it not callable from userspace?

_sceFiosKernelOverlayDHSyncSync

Version NID
1.69-3.60 0x2A9724C9

returns 0x80820000 ? is it not callable from userspace?

_sceFiosKernelOverlayGetInfoForProcess

Version NID
1.69-3.60 0xBC6B3CC5

_sceFiosKernelOverlayGetInfo

Version NID
1.69-3.60 0xF44F3505

_sceFiosKernelOverlayGetList

Version NID
1.69-3.60 0x9379E2D5

_sceFiosKernelOverlayGetRecommendedScheduler

Version NID
1.69-3.60 0xB02E0B26

_sceFiosKernelOverlayModifyForProcess

Version NID
1.69-3.60 0x6DF2FC05

_sceFiosKernelOverlayModify

Version NID
1.69-3.60 0x6D6CDE05

_sceFiosKernelOverlayRemoveForProcess

Version NID
1.69-3.60 0xF8277E07

_sceFiosKernelOverlayRemove

Version NID
1.69-3.60 0xB4927173

_sceFiosKernelOverlayResolveSync

Version NID
1.69-3.60 0xE9AE60FB

_sceFiosKernelOverlayResolveWithRangeSync

Version NID
1.69-3.60 0x8CCA471A

_sceFiosKernelOverlayThreadIsDisabled

Version NID
1.69-3.60 0x629F4FE4

_sceFiosKernelOverlayThreadSetDisabled

Version NID
1.69-3.60 0x3E9172EA