Filesystem services: Difference between revisions

Neobrain (talk | contribs)
Neobrain (talk | contribs)
While this is technically a "common type", it's central enough to the FS design to deserve its own toplevel section.
Line 812: Line 812:
Only two sessions can be opened for this service at a time, hence no other processes can use this due to [[Process_Manager_Services|pm-module]] and [[Loader_Services|loader]] using this.
Only two sessions can be opened for this service at a time, hence no other processes can use this due to [[Process_Manager_Services|pm-module]] and [[Loader_Services|loader]] using this.


=SEEDDB=
= Archives =
With [[9.6.0-24|9.6.0-X]] new [[System_SaveData]] with saveID 0001000F was added, this seems to be handled by FS-module itself, probably via the new service-cmds added to fsuser. [[Home Menu]] and [[NIM_Services|NIM]] module have access to those commands.
 
The SEEDDB savedata contains the title-unique seed-data used for the new [[NCCH]] keyY generation added with FIRM [[9.6.0-24|9.6.0-X]].
 
= Common Types =
== MediaType ==
{| class="wikitable" border="1"
|-
!  Value
!  Description
|-
| 0
| NAND
|-
| 1
| SD
|-
| 2
| Game Card
|}
 
== SystemMediaType ==
{| class="wikitable" border="1"
|-
!  Value
!  Description
|-
| 0
| CTR NAND
|-
| 1
| TWL NAND
|-
| 2
| SD
|-
| 2
| TWL Photo
|}
 
== OpenFlags ==
{| class="wikitable" border="1"
|-
!  Bit
!  Description
|-
| 0
| Read
|-
| 1
| Write
|-
| 2
| Create
|}
 
== Attributes ==
{| class="wikitable" border="1"
|-
!  Offset
!  Size
!  Description
|-
| 0x0
| 0x1
| Is Directory
|-
| 0x1
| 0x1
| Is Hidden
|-
| 0x2
| 0x1
| Is Archive
|-
| 0x3
| 0x1
| Is Read-Only
|}
 
== WriteOption ==
{| class="wikitable" border="1"
|-
!  Offset
!  Size
!  Description
|-
| 0x0
| 0x1
| Flush
|-
| 0x1
| 0x1
| Update Time Stamp
|-
| 0x2
| 0x1
| Reserved
|-
| 0x3
| 0x1
| Reserved
|}
 
== DirectoryEntry ==
{| class="wikitable" border="1"
|-
!  Offset
!  Size
!  Description
|-
| 0x0
| 0x20C
| UTF-16 Entry Name
|-
| 0x20C
| 0xA
| 8.3 short filename name
|-
| 0x216
| 0x4
| 8.3 short filename extension
|-
| 0x21A
| 0x1
| Always 1
|-
| 0x21B
| 0x1
| Reserved
|-
| 0x21C
| 0x4
| [[Filesystem_services#Attributes|Attributes]]
|-
| 0x220
| 0x8
| Entry Size
|}
 
== ArchiveResource ==
{| class="wikitable" border="1"
|-
!  Offset
!  Size
!  Description
|-
| 0x0
| 0x4
| Sector byte-size
|-
| 0x4
| 0x4
| Cluster byte-size
|-
| 0x8
| 0x4
| Partition capacity in clusters
|-
| 0xC
| 0x4
| Available free space in clusters
|}
 
== ArchiveId ==
{| class="wikitable" border="1"
{| class="wikitable" border="1"
|-
|-
Idcode
ArchiveId
!  Description
!  Description
!  Accessible via [[Filesystem_services|FS]]
!  Accessible via [[Filesystem_services|FS]]
Line 1,178: Line 1,013:


The CARDSPI archive allows access to the gamecard CARD1 raw savedata flash(aka "cardspi:/" in [[FIRM|Process9]]), the file lowpath must be WCHAR "/". The "NAND W FS" archive allows access to the raw NAND image(aka "wnand:/" in Process9), the file lowpath must be WCHAR "/".
The CARDSPI archive allows access to the gamecard CARD1 raw savedata flash(aka "cardspi:/" in [[FIRM|Process9]]), the file lowpath must be WCHAR "/". The "NAND W FS" archive allows access to the raw NAND image(aka "wnand:/" in Process9), the file lowpath must be WCHAR "/".
=SEEDDB=
With [[9.6.0-24|9.6.0-X]] new [[System_SaveData]] with saveID 0001000F was added, this seems to be handled by FS-module itself, probably via the new service-cmds added to fsuser. [[Home Menu]] and [[NIM_Services|NIM]] module have access to those commands.
The SEEDDB savedata contains the title-unique seed-data used for the new [[NCCH]] keyY generation added with FIRM [[9.6.0-24|9.6.0-X]].
= Common Types =
== MediaType ==
{| class="wikitable" border="1"
|-
!  Value
!  Description
|-
| 0
| NAND
|-
| 1
| SD
|-
| 2
| Game Card
|}
== SystemMediaType ==
{| class="wikitable" border="1"
|-
!  Value
!  Description
|-
| 0
| CTR NAND
|-
| 1
| TWL NAND
|-
| 2
| SD
|-
| 2
| TWL Photo
|}
== OpenFlags ==
{| class="wikitable" border="1"
|-
!  Bit
!  Description
|-
| 0
| Read
|-
| 1
| Write
|-
| 2
| Create
|}
== Attributes ==
{| class="wikitable" border="1"
|-
!  Offset
!  Size
!  Description
|-
| 0x0
| 0x1
| Is Directory
|-
| 0x1
| 0x1
| Is Hidden
|-
| 0x2
| 0x1
| Is Archive
|-
| 0x3
| 0x1
| Is Read-Only
|}
== WriteOption ==
{| class="wikitable" border="1"
|-
!  Offset
!  Size
!  Description
|-
| 0x0
| 0x1
| Flush
|-
| 0x1
| 0x1
| Update Time Stamp
|-
| 0x2
| 0x1
| Reserved
|-
| 0x3
| 0x1
| Reserved
|}
== DirectoryEntry ==
{| class="wikitable" border="1"
|-
!  Offset
!  Size
!  Description
|-
| 0x0
| 0x20C
| UTF-16 Entry Name
|-
| 0x20C
| 0xA
| 8.3 short filename name
|-
| 0x216
| 0x4
| 8.3 short filename extension
|-
| 0x21A
| 0x1
| Always 1
|-
| 0x21B
| 0x1
| Reserved
|-
| 0x21C
| 0x4
| [[Filesystem_services#Attributes|Attributes]]
|-
| 0x220
| 0x8
| Entry Size
|}
== ArchiveResource ==
{| class="wikitable" border="1"
|-
!  Offset
!  Size
!  Description
|-
| 0x0
| 0x4
| Sector byte-size
|-
| 0x4
| 0x4
| Cluster byte-size
|-
| 0x8
| 0x4
| Partition capacity in clusters
|-
| 0xC
| 0x4
| Available free space in clusters
|}


== PathType ==
== PathType ==