Difference between revisions of "FSDir:Read"

From 3dbrew
Jump to navigation Jump to search
m
 
(3 intermediate revisions by 2 users not shown)
Line 9: Line 9:
 
|-
 
|-
 
| 1
 
| 1
| Entrycount, number of entries to read.
+
| [[Filesystem_services#DirectoryEntry|Entry]] Count
 
|-
 
|-
 
| 2
 
| 2
| ((entrycount*0x228)<<4) <nowiki>|</nowiki> 12;
+
| ((EntryCount * 0x228) << 4) <nowiki>|</nowiki> 0xC
 
|-
 
|-
 
| 3
 
| 3
| Entry receive ptr
+
| [[Filesystem_services#DirectoryEntry|Entry]] Output Pointer
 
|}
 
|}
  
Line 31: Line 31:
 
|-
 
|-
 
| 2
 
| 2
| Actually read entrycount
+
| Actual Entry Count
|}
 
 
 
=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)
 
 
|}
 
|}

Latest revision as of 20:40, 18 October 2015

Request[edit]

Index Word Description
0 Header code [0x08010042]
1 Entry Count
2 ((EntryCount * 0x228) << 4) | 0xC
3 Entry Output Pointer

Response[edit]

Index Word Description
0 Header code
1 Result code
2 Actual Entry Count