Difference between revisions of "FSDir:Read"

From 3dbrew
Jump to navigation Jump to search
(Created page with "=Request= {| class="wikitable" border="1" |- ! Index Word ! Description |- | 0 | Header code [0x08010042] |- | 1 | Entrycount, number of entries to read. |- | 2 | ((entrycount*...")
 
Line 32: Line 32:
 
| 2
 
| 2
 
| Actually read entrycount
 
| Actually read entrycount
 +
|}
 +
 +
=Entry format=
 +
Below are the values that have been identified so far. There are unknown values from 0x219 to 0x227. The values following the entry name up to 0x20C appear to be garbage, likely coming from the kernel stack.
 +
{| class="wikitable" border="1"
 +
|-
 +
!  Byte offset
 +
!  Description
 +
|-
 +
| 0x000
 +
| Entry name (UTF-16, null-terminated)
 +
|-
 +
| 0x20C
 +
| 8.3 file name (8 characters, 'longfilename' -> 'LONGFI~1')
 +
|-
 +
| 0x214
 +
| Unknown value (2 bytes)
 +
|-
 +
| 0x216
 +
| 8.3 file extension (3 characters, set to spaces for directories)
 +
|-
 +
| 0x21A
 +
| (byte) unknown (always 0x01)
 +
|-
 +
| 0x21B
 +
| (byte) unknown (0x00 or 0x08)
 +
|-
 +
| 0x21C
 +
| (byte) 0x00 for files, 0x01 for directories
 +
|-
 +
| 0x21E
 +
| (byte) 0x01 for files, 0x00 for directories
 +
|-
 +
| 0x221
 +
| (byte) unknown (observed values: 0x00, 0x02, 0x08, 0x82)
 +
|-
 +
| 0x222
 +
| (byte) unknown (observed values: 0x00, 0x08, 0x10, 0x20, 0x30, 0x40)
 
|}
 
|}

Revision as of 01:40, 6 August 2014

Request

Index Word Description
0 Header code [0x08010042]
1 Entrycount, number of entries to read.
2 ((entrycount*0x228)<<4) | 12;
3 Entry receive ptr

Response

Index Word Description
0 Header code
1 Result code
2 Actually read entrycount

Entry format

Below are the values that have been identified so far. There are unknown values from 0x219 to 0x227. The values following the entry name up to 0x20C appear to be garbage, likely coming from the kernel stack.

Byte offset Description
0x000 Entry name (UTF-16, null-terminated)
0x20C 8.3 file name (8 characters, 'longfilename' -> 'LONGFI~1')
0x214 Unknown value (2 bytes)
0x216 8.3 file extension (3 characters, set to spaces for directories)
0x21A (byte) unknown (always 0x01)
0x21B (byte) unknown (0x00 or 0x08)
0x21C (byte) 0x00 for files, 0x01 for directories
0x21E (byte) 0x01 for files, 0x00 for directories
0x221 (byte) unknown (observed values: 0x00, 0x02, 0x08, 0x82)
0x222 (byte) unknown (observed values: 0x00, 0x08, 0x10, 0x20, 0x30, 0x40)