SceExfatfs: Difference between revisions
Jump to navigation
Jump to search
(→Types) |
|||
(21 intermediate revisions by 2 users not shown) | |||
Line 1: | Line 1: | ||
SceExfatfs handles FAT12/UVFAT12/FAT16/FAT32/exFAT file system parsing. It also supports TFAT32 or TexFAT which are transaction safe equivalents of FAT32 and exFAT. | |||
== Module == | == Module == | ||
Line 5: | Line 7: | ||
! Version !! World !! Privilege | ! Version !! World !! Privilege | ||
|- | |- | ||
| 1.69-3. | | 1.69-3.740.011 || Non-secure || Kernel | ||
|} | |} | ||
== Libraries == | == Libraries == | ||
This module doesn't have library. | |||
== Data segment layout == | == Data segment layout == | ||
Line 23: | Line 20: | ||
! Address !! Size !! Description | ! Address !! Size !! Description | ||
|- | |- | ||
| 0x0000 || | | 0x0000 || 4 || mutex to lock mempool | ||
|- | |- | ||
| 0x0004 || | | 0x0004 || 4 || SceUID mempool <code>SceExfatfsCommon</code> of size 0x7F000 | ||
|- | |- | ||
| 0x0008 || | | 0x0008 || 4 || unknown | ||
|- | |- | ||
| 0x000C || 0x20 || [[SceIofilemgr#sceVfsAddVfs|vfs_add_data]] <code>exfat</code> node | | 0x000C || 0x20 || [[SceIofilemgr#sceVfsAddVfs|vfs_add_data]] <code>exfat</code> node | ||
|- | |- | ||
| 0x002C || | | 0x002C || 4 || unknown | ||
|- | |||
| 0x0030 || 4 * 8(0x20) || Partition drive strings pointers. <code>os0:</code> etc. | |||
|- | |||
| 0x0050 || 0x10 || unknown | |||
|- | |||
| 0x0060 || 4 || SceFatfsCPTable memblock base. | |||
|- | |||
| 0x0064 || 4 || SceFatfsCPTable memblock guid. | |||
|- | |- | ||
| 0x0068 || 0x10 || array of void* pointers (pools) | | 0x0068 || 0x10 || array of void* pointers (pools) | ||
|- | |- | ||
| 0x0078 || | | 0x0078 || 4 || some counter. | ||
|- | |- | ||
| 0x007C || | | 0x007C || 4 || unused in order to next member align. | ||
|- | |- | ||
| 0x0080 || 0x430 * 15(0x3ED0) || 15 elements of type <code>exfat_ctx</code> | | 0x0080 || 0x430 * 15(0x3ED0) || 15 elements of type <code>exfat_ctx</code> | ||
Line 43: | Line 48: | ||
| 0x3F50 || 0x200 * 15(0x1E00) || Storage MBR | | 0x3F50 || 0x200 * 15(0x1E00) || Storage MBR | ||
|- | |- | ||
| 0x5D50 || | | 0x5D50 || 4 || pointer | ||
|- | |||
| 0x5D54 || 4 || unknown | |||
|- | |- | ||
| | | 0x5D58 || 0x290*0x400(0xA4000) || 0x400 elements of type <code>file_entry</code> | ||
|- | |- | ||
| | | 0xA9D58 || 0x290*0xC00(0x1EC000) || 0xC00 elements of type <code>file_entry</code>. maybe related to ReserveUnusedFd. | ||
|- | |- | ||
| | | 0x295D58 || 0x78 || unknown | ||
|- | |- | ||
| | | 0x295DD0 || 4 || All file_entry elements number? | ||
|- | |- | ||
| 0x295DE4 || | | 0x295DD4 || 4 || Available SceExfatfs_data_0x5D50 elements number | ||
|- | |||
| 0x295DD8 || 4 || Related to ReserveUnusedFd number of SceExfatfs_data_0x5D50 elements. 0x200 in many case. | |||
|- | |||
| 0x295DDC || 4 || Related to ReserveUnusedFd number of SceExfatfs_data_0x5D50 elements. 0x100 in many case. | |||
|- | |||
| 0x295DE0 || 4 || unknown | |||
|- | |||
| 0x295DE4 || 4 || <code>SceExfatfsSharedResource</code> fast mutex | |||
|- | |- | ||
| 0x295DE8 || 0x40 || unknown | | 0x295DE8 || 0x40 || unknown | ||
Line 61: | Line 76: | ||
== Types == | == Types == | ||
See [https://github.com/vitasdk/vita-headers/blob/master/include/psp2kern/internal/exfatfs.h here (vita-headers)] | |||
[[Category:ARM]] | |||
[[Category:Kernel]] | |||
[[Category:Modules]] | [[Category:Modules]] | ||
Latest revision as of 10:49, 12 November 2023
SceExfatfs handles FAT12/UVFAT12/FAT16/FAT32/exFAT file system parsing. It also supports TFAT32 or TexFAT which are transaction safe equivalents of FAT32 and exFAT.
Module
Version | World | Privilege |
---|---|---|
1.69-3.740.011 | Non-secure | Kernel |
Libraries
This module doesn't have library.
Data segment layout
Address | Size | Description |
---|---|---|
0x0000 | 4 | mutex to lock mempool |
0x0004 | 4 | SceUID mempool SceExfatfsCommon of size 0x7F000
|
0x0008 | 4 | unknown |
0x000C | 0x20 | vfs_add_data exfat node
|
0x002C | 4 | unknown |
0x0030 | 4 * 8(0x20) | Partition drive strings pointers. os0: etc.
|
0x0050 | 0x10 | unknown |
0x0060 | 4 | SceFatfsCPTable memblock base. |
0x0064 | 4 | SceFatfsCPTable memblock guid. |
0x0068 | 0x10 | array of void* pointers (pools) |
0x0078 | 4 | some counter. |
0x007C | 4 | unused in order to next member align. |
0x0080 | 0x430 * 15(0x3ED0) | 15 elements of type exfat_ctx
|
0x3F50 | 0x200 * 15(0x1E00) | Storage MBR |
0x5D50 | 4 | pointer |
0x5D54 | 4 | unknown |
0x5D58 | 0x290*0x400(0xA4000) | 0x400 elements of type file_entry
|
0xA9D58 | 0x290*0xC00(0x1EC000) | 0xC00 elements of type file_entry . maybe related to ReserveUnusedFd.
|
0x295D58 | 0x78 | unknown |
0x295DD0 | 4 | All file_entry elements number? |
0x295DD4 | 4 | Available SceExfatfs_data_0x5D50 elements number |
0x295DD8 | 4 | Related to ReserveUnusedFd number of SceExfatfs_data_0x5D50 elements. 0x200 in many case. |
0x295DDC | 4 | Related to ReserveUnusedFd number of SceExfatfs_data_0x5D50 elements. 0x100 in many case. |
0x295DE0 | 4 | unknown |
0x295DE4 | 4 | SceExfatfsSharedResource fast mutex
|
0x295DE8 | 0x40 | unknown |