wut  1.0.0-alpha
Wii U Toolchain
filesystem.h
Go to the documentation of this file.
1 #pragma once
2 #include <wut.h>
4 
20 #ifdef __cplusplus
21 extern "C" {
22 #endif
23 
24 typedef uint32_t FSDirectoryHandle;
25 typedef uint32_t FSFileHandle;
26 typedef uint32_t FSPriority;
27 
28 typedef struct FSAsyncData FSAsyncData;
30 typedef struct FSClient FSClient;
31 typedef struct FSCmdBlock FSCmdBlock;
33 typedef struct FSMessage FSMessage;
35 typedef struct FSStat FSStat;
37 
38 typedef enum FSStatus
39 {
59 } FSStatus;
60 
61 typedef enum FSError
62 {
63  FS_ERROR_NOT_INIT = -0x30001,
64  FS_ERROR_BUSY = -0x30002,
65  FS_ERROR_CANCELLED = -0x30003,
66  FS_ERROR_END_OF_DIR = -0x30004,
71  FS_ERROR_MAX_FILES = -0x30013,
72  FS_ERROR_MAX_DIRS = -0x30014,
75  FS_ERROR_NOT_FOUND = -0x30017,
76  FS_ERROR_NOT_EMPTY = -0x30018,
91  FS_ERROR_NOT_FILE = -0x30028,
92  FS_ERROR_NOT_DIR = -0x30029,
100 } FSError;
101 
102 typedef enum FSMode
103 {
107 
111 
115 } FSMode;
116 
117 typedef enum FSStatFlags
118 {
119  FS_STAT_DIRECTORY = 0x80000000,
120 } FSStatFlags;
121 
122 typedef enum FSVolumeState
123 {
136 } FSVolumeState;
137 
138 typedef enum FSMountSourceType
139 {
143 
144 typedef void(*FSAsyncCallback)(FSClient *, FSCmdBlock *, FSStatus, uint32_t);
145 
146 struct FSClient
147 {
148  WUT_UNKNOWN_BYTES(0x1700);
149 };
150 WUT_CHECK_SIZE(FSClient, 0x1700);
151 
153 {
154  WUT_UNKNOWN_BYTES(0xA80);
155 };
156 WUT_CHECK_SIZE(FSCmdBlock, 0xA80);
157 
158 struct WUT_PACKED FSStat
159 {
162  uint32_t owner;
163  uint32_t group;
164  uint32_t size;
165  WUT_UNKNOWN_BYTES(0xC);
166  uint32_t entryId;
167  int64_t created;
168  int64_t modified;
169  WUT_UNKNOWN_BYTES(0x30);
170 };
171 WUT_CHECK_OFFSET(FSStat, 0x00, flags);
172 WUT_CHECK_OFFSET(FSStat, 0x04, mode);
173 WUT_CHECK_OFFSET(FSStat, 0x08, owner);
174 WUT_CHECK_OFFSET(FSStat, 0x0C, group);
175 WUT_CHECK_OFFSET(FSStat, 0x10, size);
176 WUT_CHECK_OFFSET(FSStat, 0x20, entryId);
177 WUT_CHECK_OFFSET(FSStat, 0x24, created);
178 WUT_CHECK_OFFSET(FSStat, 0x2C, modified);
179 WUT_CHECK_SIZE(FSStat, 0x64);
180 
182 {
183  WUT_UNKNOWN_BYTES(0xC);
184 };
185 WUT_CHECK_SIZE(FSStateChangeInfo, 0xC);
186 
187 struct FSMessage
188 {
190  void *data;
191 
192  WUT_UNKNOWN_BYTES(8);
193 
196 };
197 WUT_CHECK_OFFSET(FSMessage, 0x00, data);
198 WUT_CHECK_OFFSET(FSMessage, 0x0C, type);
199 WUT_CHECK_SIZE(FSMessage, 0x10);
200 
202 {
204  uint32_t param;
206 };
207 WUT_CHECK_OFFSET(FSAsyncData, 0x00, callback);
208 WUT_CHECK_OFFSET(FSAsyncData, 0x04, param);
209 WUT_CHECK_OFFSET(FSAsyncData, 0x08, ioMsgQueue);
210 WUT_CHECK_SIZE(FSAsyncData, 0x0C);
211 
216 {
219 
222 
225 
228 
231 };
232 WUT_CHECK_OFFSET(FSAsyncResult, 0x00, asyncData);
233 WUT_CHECK_OFFSET(FSAsyncResult, 0x0c, ioMsg);
234 WUT_CHECK_OFFSET(FSAsyncResult, 0x1c, client);
235 WUT_CHECK_OFFSET(FSAsyncResult, 0x20, block);
236 WUT_CHECK_OFFSET(FSAsyncResult, 0x24, status);
237 WUT_CHECK_SIZE(FSAsyncResult, 0x28);
238 
240 {
242  char name[256];
243 };
244 WUT_CHECK_OFFSET(FSDirectoryEntry, 0x64, name);
245 WUT_CHECK_SIZE(FSDirectoryEntry, 0x164);
246 
248 {
249  WUT_UNKNOWN_BYTES(0x300);
250 };
251 WUT_CHECK_SIZE(FSMountSource, 0x300);
252 
253 void
254 FSInit();
255 
256 void
257 FSShutdown();
258 
259 FSStatus
260 FSAddClient(FSClient *client,
261  uint32_t flags);
262 
263 FSStatus
264 FSDelClient(FSClient *client,
265  uint32_t flags);
266 
267 uint32_t
269 
270 void
271 FSInitCmdBlock(FSCmdBlock *block);
272 
273 FSStatus
275  FSPriority priority);
276 
277 void
279  FSStateChangeInfo *info);
280 
281 FSStatus
282 FSGetCwd(FSClient *client,
283  FSCmdBlock *block,
284  char *buffer,
285  uint32_t bufferSize,
286  uint32_t flags);
287 
288 FSStatus
289 FSChangeDir(FSClient *client,
290  FSCmdBlock *block,
291  const char *path,
292  uint32_t flags);
293 
294 FSStatus
295 FSChangeDirAsync(FSClient *client,
296  FSCmdBlock *block,
297  const char *path,
298  uint32_t flags,
299  FSAsyncData *asyncData);
300 
302 FSGetAsyncResult(FSMessage *message);
303 
304 FSStatus
305 FSGetStat(FSClient *client,
306  FSCmdBlock *block,
307  const char *path,
308  FSStat *stat,
309  uint32_t flags);
310 
311 FSStatus
312 FSGetStatAsync(FSClient *client,
313  FSCmdBlock *block,
314  const char *path,
315  FSStat *stat,
316  uint32_t flags,
317  FSAsyncData *asyncData);
318 
319 FSStatus
320 FSRemove(FSClient *client,
321  FSCmdBlock *block,
322  const char *path,
323  uint32_t flags);
324 
325 FSStatus
326 FSRemoveAsync(FSClient *client,
327  FSCmdBlock *block,
328  const char *path,
329  uint32_t flags,
330  FSAsyncData *asyncData);
331 
332 
333 FSStatus
334 FSOpenFile(FSClient *client,
335  FSCmdBlock *block,
336  const char *path,
337  const char *mode,
338  FSFileHandle *handle,
339  uint32_t flags);
340 
341 FSStatus
342 FSOpenFileAsync(FSClient *client,
343  FSCmdBlock *block,
344  const char *path,
345  const char *mode,
346  FSFileHandle *outHandle,
347  uint32_t flags,
348  FSAsyncData *asyncData);
349 
350 FSStatus
351 FSCloseFile(FSClient *client,
352  FSCmdBlock *block,
353  FSFileHandle handle,
354  uint32_t flags);
355 
356 FSStatus
357 FSCloseFileAsync(FSClient *client,
358  FSCmdBlock *block,
359  FSFileHandle handle,
360  uint32_t flags,
361  FSAsyncData *asyncData);
362 
363 FSStatus
364 FSOpenDir(FSClient *client,
365  FSCmdBlock *block,
366  const char *path,
367  FSDirectoryHandle *handle,
368  uint32_t flags);
369 
370 FSStatus
371 FSOpenDirAsync(FSClient *client,
372  FSCmdBlock *block,
373  const char *path,
374  FSDirectoryHandle *handle,
375  uint32_t flags,
376  FSAsyncData *asyncData);
377 
378 FSStatus
379 FSMakeDir(FSClient *client,
380  FSCmdBlock *block,
381  const char *path,
382  uint32_t flags);
383 
384 FSStatus
385 FSMakeDirAsync(FSClient *client,
386  FSCmdBlock *block,
387  const char *path,
388  uint32_t flags,
389  FSAsyncData *asyncData);
390 
391 FSStatus
392 FSReadDir(FSClient *client,
393  FSCmdBlock *block,
394  FSDirectoryHandle handle,
395  FSDirectoryEntry *entry,
396  uint32_t flags);
397 
398 FSStatus
399 FSReadDirAsync(FSClient *client,
400  FSCmdBlock *block,
401  FSDirectoryHandle handle,
402  FSDirectoryEntry *entry,
403  uint32_t flags,
404  FSAsyncData *asyncData);
405 
406 FSStatus
407 FSRewindDir(FSClient *client,
408  FSCmdBlock *block,
409  FSDirectoryHandle handle,
410  uint32_t flags);
411 
412 FSStatus
413 FSCloseDir(FSClient *client,
414  FSCmdBlock *block,
415  FSDirectoryHandle handle,
416  uint32_t flags);
417 
418 FSStatus
419 FSCloseDirAsync(FSClient *client,
420  FSCmdBlock *block,
421  FSDirectoryHandle handle,
422  uint32_t flags,
423  FSAsyncData *asyncData);
424 FSStatus
425 FSChangeMode(FSClient *client,
426  FSCmdBlock *block,
427  char *path,
428  FSMode mode,
429  uint32_t flags);
430 
431 FSStatus
433  FSCmdBlock *block,
434  char *path,
435  FSMode mode,
436  uint32_t flags,
437  FSAsyncData *asyncData);
438 
439 FSStatus
441  FSCmdBlock *block,
442  char *path,
443  uint64_t *outSize,
444  uint32_t flags);
445 
446 FSStatus
448  FSCmdBlock *block,
449  char *path,
450  uint64_t *outSize,
451  uint32_t flags,
452  FSAsyncData *asyncData);
453 
454 FSStatus
455 FSGetStatFile(FSClient *client,
456  FSCmdBlock *block,
457  FSFileHandle handle,
458  FSStat *stat,
459  uint32_t flags);
460 
461 FSStatus
463  FSCmdBlock *block,
464  FSFileHandle handle,
465  FSStat *stat,
466  uint32_t flags,
467  FSAsyncData *asyncData);
468 
469 FSStatus
470 FSReadFile(FSClient *client,
471  FSCmdBlock *block,
472  uint8_t *buffer,
473  uint32_t size,
474  uint32_t count,
475  FSFileHandle handle,
476  uint32_t unk1,
477  uint32_t flags);
478 
479 FSStatus
480 FSReadFileAsync(FSClient *client,
481  FSCmdBlock *block,
482  uint8_t *buffer,
483  uint32_t size,
484  uint32_t count,
485  FSFileHandle handle,
486  uint32_t unk1,
487  uint32_t flags,
488  FSAsyncData *asyncData);
489 
490 FSStatus
492  FSCmdBlock *block,
493  uint8_t *buffer,
494  uint32_t size,
495  uint32_t count,
496  uint32_t pos,
497  FSFileHandle handle,
498  uint32_t unk1,
499  uint32_t flags);
500 
501 FSStatus
503  FSCmdBlock *block,
504  uint8_t *buffer,
505  uint32_t size,
506  uint32_t count,
507  uint32_t pos,
508  FSFileHandle handle,
509  uint32_t unk1,
510  uint32_t flags,
511  FSAsyncData *asyncData);
512 
513 FSStatus
514 FSWriteFile(FSClient *client,
515  FSCmdBlock *block,
516  uint8_t *buffer,
517  uint32_t size,
518  uint32_t count,
519  FSFileHandle handle,
520  uint32_t unk1,
521  uint32_t flags);
522 
523 FSStatus
524 FSWriteFileAsync(FSClient *client,
525  FSCmdBlock *block,
526  uint8_t *buffer,
527  uint32_t size,
528  uint32_t count,
529  FSFileHandle handle,
530  uint32_t unk1,
531  uint32_t flags,
532  FSAsyncData *asyncData);
533 
534 FSStatus
536  FSCmdBlock *block,
537  uint8_t *buffer,
538  uint32_t size,
539  uint32_t count,
540  uint32_t pos,
541  FSFileHandle handle,
542  uint32_t unk1,
543  uint32_t flags);
544 
545 FSStatus
547  FSCmdBlock *block,
548  uint8_t *buffer,
549  uint32_t size,
550  uint32_t count,
551  uint32_t pos,
552  FSFileHandle handle,
553  uint32_t unk1,
554  uint32_t flags,
555  FSAsyncData *asyncData);
556 
557 FSStatus
558 FSGetPosFile(FSClient *client,
559  FSCmdBlock *block,
560  FSFileHandle fileHandle,
561  uint32_t *pos,
562  uint32_t flags);
563 
564 FSStatus
566  FSCmdBlock *block,
567  FSFileHandle fileHandle,
568  uint32_t *pos,
569  uint32_t flags,
570  FSAsyncData *asyncData);
571 
572 FSStatus
573 FSSetPosFile(FSClient *client,
574  FSCmdBlock *block,
575  FSFileHandle handle,
576  uint32_t pos,
577  uint32_t flags);
578 
579 FSStatus
581  FSCmdBlock *block,
582  FSFileHandle handle,
583  uint32_t pos,
584  uint32_t flags,
585  FSAsyncData *asyncData);
586 
587 FSStatus
588 FSFlushFile(FSClient *client,
589  FSCmdBlock *block,
590  FSFileHandle handle,
591  uint32_t flags);
592 
593 FSStatus
594 FSFlushFileAsync(FSClient *client,
595  FSCmdBlock *block,
596  FSFileHandle handle,
597  uint32_t flags,
598  FSAsyncData *asyncData);
599 
600 FSStatus
601 FSTruncateFile(FSClient *client,
602  FSCmdBlock *block,
603  FSFileHandle handle,
604  uint32_t flags);
605 
606 FSStatus
608  FSCmdBlock *block,
609  FSFileHandle handle,
610  uint32_t flags,
611  FSAsyncData *asyncData);
612 
613 FSStatus
614 FSRename(FSClient *client,
615  FSCmdBlock *block,
616  const char *oldPath,
617  const char *newPath,
618  uint32_t flags);
619 
620 FSStatus
621 FSRenameAsync(FSClient *client,
622  FSCmdBlock *block,
623  const char *oldPath,
624  const char *newPath,
625  uint32_t flags,
626  FSAsyncData *asyncData);
627 
629 FSGetVolumeState(FSClient *client);
630 
631 FSError
633 
634 FSStatus
635 FSGetMountSource(FSClient *client,
636  FSCmdBlock *cmd,
637  FSMountSourceType type,
638  FSMountSource *out,
639  uint32_t flags);
640 
641 FSStatus
642 FSMount(FSClient *client,
643  FSCmdBlock *cmd,
644  FSMountSource *source,
645  const char *target,
646  uint32_t bytes,
647  uint32_t flags);
648 
649 FSStatus
650 FSUnmount(FSClient *client,
651  FSCmdBlock *cmd,
652  const char *target,
653  uint32_t flags);
654 
655 FSStatus
656 FSBindMount(FSClient *client,
657  FSCmdBlock *cmd,
658  const char *source,
659  const char *target,
660  uint32_t flags);
661 
662 FSStatus
663 FSbindUnmount(FSClient *client,
664  FSCmdBlock *cmd,
665  const char *target,
666  uint32_t flags);
667 
668 #ifdef __cplusplus
669 }
670 #endif
671 
int64_t created
Definition: filesystem.h:167
OSFunctionType
Definition: messagequeue.h:25
FSStatus FSCloseDir(FSClient *client, FSCmdBlock *block, FSDirectoryHandle handle, uint32_t flags)
FSAsyncResult * FSGetAsyncResult(FSMessage *message)
FSStatus FSGetPosFileAsync(FSClient *client, FSCmdBlock *block, FSFileHandle fileHandle, uint32_t *pos, uint32_t flags, FSAsyncData *asyncData)
FSStatus FSMakeDirAsync(FSClient *client, FSCmdBlock *block, const char *path, uint32_t flags, FSAsyncData *asyncData)
FSStatus FSSetCmdPriority(FSCmdBlock *block, FSPriority priority)
OSMessageQueue * ioMsgQueue
Definition: filesystem.h:205
FSStatFlags flags
Definition: filesystem.h:160
FSStatus FSReadDirAsync(FSClient *client, FSCmdBlock *block, FSDirectoryHandle handle, FSDirectoryEntry *entry, uint32_t flags, FSAsyncData *asyncData)
FSStatus FSMakeDir(FSClient *client, FSCmdBlock *block, const char *path, uint32_t flags)
FSMode
Definition: filesystem.h:102
uint32_t owner
Definition: filesystem.h:162
FSStatus FSGetCwd(FSClient *client, FSCmdBlock *block, char *buffer, uint32_t bufferSize, uint32_t flags)
FSMode mode
Definition: filesystem.h:161
FSStatus FSMount(FSClient *client, FSCmdBlock *cmd, FSMountSource *source, const char *target, uint32_t bytes, uint32_t flags)
uint32_t FSGetClientNum()
FSStatus FSbindUnmount(FSClient *client, FSCmdBlock *cmd, const char *target, uint32_t flags)
uint32_t param
Definition: filesystem.h:204
FSStatus FSSetPosFileAsync(FSClient *client, FSCmdBlock *block, FSFileHandle handle, uint32_t pos, uint32_t flags, FSAsyncData *asyncData)
FSVolumeState FSGetVolumeState(FSClient *client)
FSStatus FSChangeDir(FSClient *client, FSCmdBlock *block, const char *path, uint32_t flags)
uint32_t FSPriority
Definition: filesystem.h:26
FSStatus FSGetStat(FSClient *client, FSCmdBlock *block, const char *path, FSStat *stat, uint32_t flags)
FSStatus FSDelClient(FSClient *client, uint32_t flags)
FSStatus FSWriteFileWithPos(FSClient *client, FSCmdBlock *block, uint8_t *buffer, uint32_t size, uint32_t count, uint32_t pos, FSFileHandle handle, uint32_t unk1, uint32_t flags)
void FSInitCmdBlock(FSCmdBlock *block)
FSStatus FSGetPosFile(FSClient *client, FSCmdBlock *block, FSFileHandle fileHandle, uint32_t *pos, uint32_t flags)
FSMountSourceType
Definition: filesystem.h:138
FSStatus FSRename(FSClient *client, FSCmdBlock *block, const char *oldPath, const char *newPath, uint32_t flags)
FSStatus FSReadFile(FSClient *client, FSCmdBlock *block, uint8_t *buffer, uint32_t size, uint32_t count, FSFileHandle handle, uint32_t unk1, uint32_t flags)
FSStatus FSOpenDirAsync(FSClient *client, FSCmdBlock *block, const char *path, FSDirectoryHandle *handle, uint32_t flags, FSAsyncData *asyncData)
FSStatus FSChangeDirAsync(FSClient *client, FSCmdBlock *block, const char *path, uint32_t flags, FSAsyncData *asyncData)
FSStatus FSWriteFileWithPosAsync(FSClient *client, FSCmdBlock *block, uint8_t *buffer, uint32_t size, uint32_t count, uint32_t pos, FSFileHandle handle, uint32_t unk1, uint32_t flags, FSAsyncData *asyncData)
uint32_t entryId
Definition: filesystem.h:166
FSStatus FSChangeModeAsync(FSClient *client, FSCmdBlock *block, char *path, FSMode mode, uint32_t flags, FSAsyncData *asyncData)
FSStatus FSGetStatAsync(FSClient *client, FSCmdBlock *block, const char *path, FSStat *stat, uint32_t flags, FSAsyncData *asyncData)
FSStatus FSFlushFile(FSClient *client, FSCmdBlock *block, FSFileHandle handle, uint32_t flags)
FSStatus FSBindMount(FSClient *client, FSCmdBlock *cmd, const char *source, const char *target, uint32_t flags)
uint32_t size
Definition: filesystem.h:164
FSStatus FSSetPosFile(FSClient *client, FSCmdBlock *block, FSFileHandle handle, uint32_t pos, uint32_t flags)
FSVolumeState
Definition: filesystem.h:122
FSStatus FSRenameAsync(FSClient *client, FSCmdBlock *block, const char *oldPath, const char *newPath, uint32_t flags, FSAsyncData *asyncData)
uint32_t group
Definition: filesystem.h:163
FSStatus FSCloseFileAsync(FSClient *client, FSCmdBlock *block, FSFileHandle handle, uint32_t flags, FSAsyncData *asyncData)
FSStatus FSTruncateFileAsync(FSClient *client, FSCmdBlock *block, FSFileHandle handle, uint32_t flags, FSAsyncData *asyncData)
FSStatus FSCloseFile(FSClient *client, FSCmdBlock *block, FSFileHandle handle, uint32_t flags)
void(* FSAsyncCallback)(FSClient *, FSCmdBlock *, FSStatus, uint32_t)
Definition: filesystem.h:144
FSCmdBlock * block
FSCmdBlock which owns this result.
Definition: filesystem.h:227
FSStatus FSRewindDir(FSClient *client, FSCmdBlock *block, FSDirectoryHandle handle, uint32_t flags)
FSStatus FSReadFileWithPosAsync(FSClient *client, FSCmdBlock *block, uint8_t *buffer, uint32_t size, uint32_t count, uint32_t pos, FSFileHandle handle, uint32_t unk1, uint32_t flags, FSAsyncData *asyncData)
int64_t modified
Definition: filesystem.h:168
FSStatus FSUnmount(FSClient *client, FSCmdBlock *cmd, const char *target, uint32_t flags)
FSAsyncData asyncData
User supplied async data.
Definition: filesystem.h:218
FSAsyncCallback callback
Definition: filesystem.h:203
char name[256]
Definition: filesystem.h:242
FSStatus FSGetFreeSpaceSize(FSClient *client, FSCmdBlock *block, char *path, uint64_t *outSize, uint32_t flags)
void FSInit()
FSMessage ioMsg
Message to put into asyncdata.ioMsgQueue.
Definition: filesystem.h:221
FSStatus
Definition: filesystem.h:38
FSStatFlags
Definition: filesystem.h:117
Stores the result of an async FS command.
Definition: filesystem.h:215
FSStatus status
The result of the command.
Definition: filesystem.h:230
uint32_t FSFileHandle
Definition: filesystem.h:25
FSStatus FSOpenFile(FSClient *client, FSCmdBlock *block, const char *path, const char *mode, FSFileHandle *handle, uint32_t flags)
FSError FSGetLastErrorCodeForViewer(FSClient *client)
FSStatus FSChangeMode(FSClient *client, FSCmdBlock *block, char *path, FSMode mode, uint32_t flags)
FSStatus FSReadFileAsync(FSClient *client, FSCmdBlock *block, uint8_t *buffer, uint32_t size, uint32_t count, FSFileHandle handle, uint32_t unk1, uint32_t flags, FSAsyncData *asyncData)
FSStatus FSAddClient(FSClient *client, uint32_t flags)
FSStatus FSOpenFileAsync(FSClient *client, FSCmdBlock *block, const char *path, const char *mode, FSFileHandle *outHandle, uint32_t flags, FSAsyncData *asyncData)
FSStatus FSCloseDirAsync(FSClient *client, FSCmdBlock *block, FSDirectoryHandle handle, uint32_t flags, FSAsyncData *asyncData)
OSFunctionType type
Type of message.
Definition: filesystem.h:195
void * data
Message data.
Definition: filesystem.h:190
FSStatus FSReadDir(FSClient *client, FSCmdBlock *block, FSDirectoryHandle handle, FSDirectoryEntry *entry, uint32_t flags)
FSError
Definition: filesystem.h:61
FSStatus FSGetMountSource(FSClient *client, FSCmdBlock *cmd, FSMountSourceType type, FSMountSource *out, uint32_t flags)
uint32_t FSDirectoryHandle
Definition: filesystem.h:24
FSStatus FSFlushFileAsync(FSClient *client, FSCmdBlock *block, FSFileHandle handle, uint32_t flags, FSAsyncData *asyncData)
FSStatus FSGetStatFile(FSClient *client, FSCmdBlock *block, FSFileHandle handle, FSStat *stat, uint32_t flags)
FSStatus FSWriteFileAsync(FSClient *client, FSCmdBlock *block, uint8_t *buffer, uint32_t size, uint32_t count, FSFileHandle handle, uint32_t unk1, uint32_t flags, FSAsyncData *asyncData)
FSStatus FSRemove(FSClient *client, FSCmdBlock *block, const char *path, uint32_t flags)
void FSSetStateChangeNotification(FSClient *client, FSStateChangeInfo *info)
void FSShutdown()
FSStatus FSWriteFile(FSClient *client, FSCmdBlock *block, uint8_t *buffer, uint32_t size, uint32_t count, FSFileHandle handle, uint32_t unk1, uint32_t flags)
FSStatus FSTruncateFile(FSClient *client, FSCmdBlock *block, FSFileHandle handle, uint32_t flags)
FSStatus FSOpenDir(FSClient *client, FSCmdBlock *block, const char *path, FSDirectoryHandle *handle, uint32_t flags)
FSClient * client
FSClient which owns this result.
Definition: filesystem.h:224
FSStatus FSGetFreeSpaceSizeAsync(FSClient *client, FSCmdBlock *block, char *path, uint64_t *outSize, uint32_t flags, FSAsyncData *asyncData)
FSStatus FSGetStatFileAsync(FSClient *client, FSCmdBlock *block, FSFileHandle handle, FSStat *stat, uint32_t flags, FSAsyncData *asyncData)
FSStatus FSReadFileWithPos(FSClient *client, FSCmdBlock *block, uint8_t *buffer, uint32_t size, uint32_t count, uint32_t pos, FSFileHandle handle, uint32_t unk1, uint32_t flags)
FSStatus FSRemoveAsync(FSClient *client, FSCmdBlock *block, const char *path, uint32_t flags, FSAsyncData *asyncData)