Difference between revisions of "Filesystem driver"

From DSiBrew
Jump to navigation Jump to search
(→‎Structs: added next pointer to Filesystem)
(→‎Structs: more FS fields and fixed a pointer typo)
 
(2 intermediate revisions by the same user not shown)
Line 6: Line 6:
 
u32 name; // either a pointer to the name or the name itself if the name is 3 chars
 
u32 name; // either a pointer to the name or the name itself if the name is 3 chars
 
Filesystem *next;
 
Filesystem *next;
 +
FILE *partialFileList;
 +
OSThreadQueue unknownThreadQueue;
 +
u32 flags;
 
// ...
 
// ...
 
} Filesystem;
 
} Filesystem;
  
 
typedef struct {
 
typedef struct {
u32 unknown[2];
+
FILE *next;
 +
u32 unknown;
 
Filesystem *fs;
 
Filesystem *fs;
 
u32 flags;
 
u32 flags;
 
u32 unknown2;
 
u32 unknown2;
 
u32 state;
 
u32 state;
u32 unknown3[13];
+
OSThreadQueue unknownThreadQueue;
 +
u32 unknown3[12];
 
} FILE;
 
} FILE;
 
</pre>
 
</pre>

Latest revision as of 06:03, 2 October 2022

The filesystem driver is a PXI service with a complex protocol.

Structs

typedef struct {
	u32 name; // either a pointer to the name or the name itself if the name is 3 chars
	Filesystem *next;
	FILE *partialFileList;
	OSThreadQueue unknownThreadQueue;
	u32 flags;
	// ...
} Filesystem;

typedef struct {
	FILE *next;
	u32 unknown;
	Filesystem *fs;
	u32 flags;
	u32 unknown2;
	u32 state;
	OSThreadQueue unknownThreadQueue;
	u32 unknown3[12];
} FILE;