wut  1.0.0-beta8
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  uint32_t allocSize;
166  uint64_t quotaSize;
167  uint32_t entryId;
168  int64_t created;
169  int64_t modified;
170  WUT_UNKNOWN_BYTES(0x30);
171 };
172 WUT_CHECK_OFFSET(FSStat, 0x00, flags);
173 WUT_CHECK_OFFSET(FSStat, 0x04, mode);
174 WUT_CHECK_OFFSET(FSStat, 0x08, owner);
175 WUT_CHECK_OFFSET(FSStat, 0x0C, group);
176 WUT_CHECK_OFFSET(FSStat, 0x10, size);
177 WUT_CHECK_OFFSET(FSStat, 0x14, allocSize);
178 WUT_CHECK_OFFSET(FSStat, 0x18, quotaSize);
179 WUT_CHECK_OFFSET(FSStat, 0x20, entryId);
180 WUT_CHECK_OFFSET(FSStat, 0x24, created);
181 WUT_CHECK_OFFSET(FSStat, 0x2C, modified);
182 WUT_CHECK_SIZE(FSStat, 0x64);
183 
185 {
186  WUT_UNKNOWN_BYTES(0xC);
187 };
188 WUT_CHECK_SIZE(FSStateChangeInfo, 0xC);
189 
190 struct FSMessage
191 {
193  void *data;
194 
195  WUT_UNKNOWN_BYTES(8);
196 
199 };
200 WUT_CHECK_OFFSET(FSMessage, 0x00, data);
201 WUT_CHECK_OFFSET(FSMessage, 0x0C, type);
202 WUT_CHECK_SIZE(FSMessage, 0x10);
203 
205 {
207  uint32_t param;
209 };
210 WUT_CHECK_OFFSET(FSAsyncData, 0x00, callback);
211 WUT_CHECK_OFFSET(FSAsyncData, 0x04, param);
212 WUT_CHECK_OFFSET(FSAsyncData, 0x08, ioMsgQueue);
213 WUT_CHECK_SIZE(FSAsyncData, 0x0C);
214 
219 {
222 
225 
228 
231 
234 };
235 WUT_CHECK_OFFSET(FSAsyncResult, 0x00, asyncData);
236 WUT_CHECK_OFFSET(FSAsyncResult, 0x0c, ioMsg);
237 WUT_CHECK_OFFSET(FSAsyncResult, 0x1c, client);
238 WUT_CHECK_OFFSET(FSAsyncResult, 0x20, block);
239 WUT_CHECK_OFFSET(FSAsyncResult, 0x24, status);
240 WUT_CHECK_SIZE(FSAsyncResult, 0x28);
241 
243 {
245  char name[256];
246 };
247 WUT_CHECK_OFFSET(FSDirectoryEntry, 0x64, name);
248 WUT_CHECK_SIZE(FSDirectoryEntry, 0x164);
249 
251 {
252  WUT_UNKNOWN_BYTES(0x300);
253 };
254 WUT_CHECK_SIZE(FSMountSource, 0x300);
255 
256 void
257 FSInit();
258 
259 void
260 FSShutdown();
261 
262 FSStatus
263 FSAddClient(FSClient *client,
264  uint32_t flags);
265 
266 FSStatus
267 FSDelClient(FSClient *client,
268  uint32_t flags);
269 
270 uint32_t
272 
273 void
274 FSInitCmdBlock(FSCmdBlock *block);
275 
276 FSStatus
278  FSPriority priority);
279 
280 void
282  FSStateChangeInfo *info);
283 
284 FSStatus
285 FSGetCwd(FSClient *client,
286  FSCmdBlock *block,
287  char *buffer,
288  uint32_t bufferSize,
289  uint32_t flags);
290 
291 FSStatus
292 FSChangeDir(FSClient *client,
293  FSCmdBlock *block,
294  const char *path,
295  uint32_t flags);
296 
297 FSStatus
298 FSChangeDirAsync(FSClient *client,
299  FSCmdBlock *block,
300  const char *path,
301  uint32_t flags,
302  FSAsyncData *asyncData);
303 
305 FSGetAsyncResult(FSMessage *message);
306 
307 FSStatus
308 FSGetStat(FSClient *client,
309  FSCmdBlock *block,
310  const char *path,
311  FSStat *stat,
312  uint32_t flags);
313 
314 FSStatus
315 FSGetStatAsync(FSClient *client,
316  FSCmdBlock *block,
317  const char *path,
318  FSStat *stat,
319  uint32_t flags,
320  FSAsyncData *asyncData);
321 
322 FSStatus
323 FSRemove(FSClient *client,
324  FSCmdBlock *block,
325  const char *path,
326  uint32_t flags);
327 
328 FSStatus
329 FSRemoveAsync(FSClient *client,
330  FSCmdBlock *block,
331  const char *path,
332  uint32_t flags,
333  FSAsyncData *asyncData);
334 
335 
336 FSStatus
337 FSOpenFile(FSClient *client,
338  FSCmdBlock *block,
339  const char *path,
340  const char *mode,
341  FSFileHandle *handle,
342  uint32_t flags);
343 
344 FSStatus
345 FSOpenFileAsync(FSClient *client,
346  FSCmdBlock *block,
347  const char *path,
348  const char *mode,
349  FSFileHandle *outHandle,
350  uint32_t flags,
351  FSAsyncData *asyncData);
352 
353 FSStatus
354 FSCloseFile(FSClient *client,
355  FSCmdBlock *block,
356  FSFileHandle handle,
357  uint32_t flags);
358 
359 FSStatus
360 FSCloseFileAsync(FSClient *client,
361  FSCmdBlock *block,
362  FSFileHandle handle,
363  uint32_t flags,
364  FSAsyncData *asyncData);
365 
366 FSStatus
367 FSOpenDir(FSClient *client,
368  FSCmdBlock *block,
369  const char *path,
370  FSDirectoryHandle *handle,
371  uint32_t flags);
372 
373 FSStatus
374 FSOpenDirAsync(FSClient *client,
375  FSCmdBlock *block,
376  const char *path,
377  FSDirectoryHandle *handle,
378  uint32_t flags,
379  FSAsyncData *asyncData);
380 
381 FSStatus
382 FSMakeDir(FSClient *client,
383  FSCmdBlock *block,
384  const char *path,
385  uint32_t flags);
386 
387 FSStatus
388 FSMakeDirAsync(FSClient *client,
389  FSCmdBlock *block,
390  const char *path,
391  uint32_t flags,
392  FSAsyncData *asyncData);
393 
394 FSStatus
395 FSReadDir(FSClient *client,
396  FSCmdBlock *block,
397  FSDirectoryHandle handle,
398  FSDirectoryEntry *entry,
399  uint32_t flags);
400 
401 FSStatus
402 FSReadDirAsync(FSClient *client,
403  FSCmdBlock *block,
404  FSDirectoryHandle handle,
405  FSDirectoryEntry *entry,
406  uint32_t flags,
407  FSAsyncData *asyncData);
408 
409 FSStatus
410 FSRewindDir(FSClient *client,
411  FSCmdBlock *block,
412  FSDirectoryHandle handle,
413  uint32_t flags);
414 
415 FSStatus
416 FSCloseDir(FSClient *client,
417  FSCmdBlock *block,
418  FSDirectoryHandle handle,
419  uint32_t flags);
420 
421 FSStatus
422 FSCloseDirAsync(FSClient *client,
423  FSCmdBlock *block,
424  FSDirectoryHandle handle,
425  uint32_t flags,
426  FSAsyncData *asyncData);
427 FSStatus
428 FSChangeMode(FSClient *client,
429  FSCmdBlock *block,
430  char *path,
431  FSMode mode,
432  uint32_t flags);
433 
434 FSStatus
436  FSCmdBlock *block,
437  char *path,
438  FSMode mode,
439  uint32_t flags,
440  FSAsyncData *asyncData);
441 
442 FSStatus
444  FSCmdBlock *block,
445  char *path,
446  uint64_t *outSize,
447  uint32_t flags);
448 
449 FSStatus
451  FSCmdBlock *block,
452  char *path,
453  uint64_t *outSize,
454  uint32_t flags,
455  FSAsyncData *asyncData);
456 
457 FSStatus
458 FSGetStatFile(FSClient *client,
459  FSCmdBlock *block,
460  FSFileHandle handle,
461  FSStat *stat,
462  uint32_t flags);
463 
464 FSStatus
466  FSCmdBlock *block,
467  FSFileHandle handle,
468  FSStat *stat,
469  uint32_t flags,
470  FSAsyncData *asyncData);
471 
472 FSStatus
473 FSReadFile(FSClient *client,
474  FSCmdBlock *block,
475  uint8_t *buffer,
476  uint32_t size,
477  uint32_t count,
478  FSFileHandle handle,
479  uint32_t unk1,
480  uint32_t flags);
481 
482 FSStatus
483 FSReadFileAsync(FSClient *client,
484  FSCmdBlock *block,
485  uint8_t *buffer,
486  uint32_t size,
487  uint32_t count,
488  FSFileHandle handle,
489  uint32_t unk1,
490  uint32_t flags,
491  FSAsyncData *asyncData);
492 
493 FSStatus
495  FSCmdBlock *block,
496  uint8_t *buffer,
497  uint32_t size,
498  uint32_t count,
499  uint32_t pos,
500  FSFileHandle handle,
501  uint32_t unk1,
502  uint32_t flags);
503 
504 FSStatus
506  FSCmdBlock *block,
507  uint8_t *buffer,
508  uint32_t size,
509  uint32_t count,
510  uint32_t pos,
511  FSFileHandle handle,
512  uint32_t unk1,
513  uint32_t flags,
514  FSAsyncData *asyncData);
515 
516 FSStatus
517 FSWriteFile(FSClient *client,
518  FSCmdBlock *block,
519  uint8_t *buffer,
520  uint32_t size,
521  uint32_t count,
522  FSFileHandle handle,
523  uint32_t unk1,
524  uint32_t flags);
525 
526 FSStatus
527 FSWriteFileAsync(FSClient *client,
528  FSCmdBlock *block,
529  uint8_t *buffer,
530  uint32_t size,
531  uint32_t count,
532  FSFileHandle handle,
533  uint32_t unk1,
534  uint32_t flags,
535  FSAsyncData *asyncData);
536 
537 FSStatus
539  FSCmdBlock *block,
540  uint8_t *buffer,
541  uint32_t size,
542  uint32_t count,
543  uint32_t pos,
544  FSFileHandle handle,
545  uint32_t unk1,
546  uint32_t flags);
547 
548 FSStatus
550  FSCmdBlock *block,
551  uint8_t *buffer,
552  uint32_t size,
553  uint32_t count,
554  uint32_t pos,
555  FSFileHandle handle,
556  uint32_t unk1,
557  uint32_t flags,
558  FSAsyncData *asyncData);
559 
560 FSStatus
561 FSGetPosFile(FSClient *client,
562  FSCmdBlock *block,
563  FSFileHandle fileHandle,
564  uint32_t *pos,
565  uint32_t flags);
566 
567 FSStatus
569  FSCmdBlock *block,
570  FSFileHandle fileHandle,
571  uint32_t *pos,
572  uint32_t flags,
573  FSAsyncData *asyncData);
574 
575 FSStatus
576 FSSetPosFile(FSClient *client,
577  FSCmdBlock *block,
578  FSFileHandle handle,
579  uint32_t pos,
580  uint32_t flags);
581 
582 FSStatus
584  FSCmdBlock *block,
585  FSFileHandle handle,
586  uint32_t pos,
587  uint32_t flags,
588  FSAsyncData *asyncData);
589 
590 FSStatus
591 FSFlushFile(FSClient *client,
592  FSCmdBlock *block,
593  FSFileHandle handle,
594  uint32_t flags);
595 
596 FSStatus
597 FSFlushFileAsync(FSClient *client,
598  FSCmdBlock *block,
599  FSFileHandle handle,
600  uint32_t flags,
601  FSAsyncData *asyncData);
602 
603 FSStatus
604 FSTruncateFile(FSClient *client,
605  FSCmdBlock *block,
606  FSFileHandle handle,
607  uint32_t flags);
608 
609 FSStatus
611  FSCmdBlock *block,
612  FSFileHandle handle,
613  uint32_t flags,
614  FSAsyncData *asyncData);
615 
616 FSStatus
617 FSRename(FSClient *client,
618  FSCmdBlock *block,
619  const char *oldPath,
620  const char *newPath,
621  uint32_t flags);
622 
623 FSStatus
624 FSRenameAsync(FSClient *client,
625  FSCmdBlock *block,
626  const char *oldPath,
627  const char *newPath,
628  uint32_t flags,
629  FSAsyncData *asyncData);
630 
632 FSGetVolumeState(FSClient *client);
633 
634 FSError
636 
637 FSStatus
638 FSGetMountSource(FSClient *client,
639  FSCmdBlock *cmd,
640  FSMountSourceType type,
641  FSMountSource *out,
642  uint32_t flags);
643 
644 FSStatus
645 FSMount(FSClient *client,
646  FSCmdBlock *cmd,
647  FSMountSource *source,
648  const char *target,
649  uint32_t bytes,
650  uint32_t flags);
651 
652 FSStatus
653 FSUnmount(FSClient *client,
654  FSCmdBlock *cmd,
655  const char *target,
656  uint32_t flags);
657 
658 FSStatus
659 FSBindMount(FSClient *client,
660  FSCmdBlock *cmd,
661  const char *source,
662  const char *target,
663  uint32_t flags);
664 
665 FSStatus
666 FSbindUnmount(FSClient *client,
667  FSCmdBlock *cmd,
668  const char *target,
669  uint32_t flags);
670 
671 #ifdef __cplusplus
672 }
673 #endif
674 
int64_t created
Definition: filesystem.h:168
uint64_t quotaSize
Definition: filesystem.h:166
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:208
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:207
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:167
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:230
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:169
FSStatus FSUnmount(FSClient *client, FSCmdBlock *cmd, const char *target, uint32_t flags)
FSAsyncData asyncData
User supplied async data.
Definition: filesystem.h:221
FSAsyncCallback callback
Definition: filesystem.h:206
uint32_t allocSize
Definition: filesystem.h:165
char name[256]
Definition: filesystem.h:245
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:224
FSStatus
Definition: filesystem.h:38
FSStatFlags
Definition: filesystem.h:117
Stores the result of an async FS command.
Definition: filesystem.h:218
FSStatus status
The result of the command.
Definition: filesystem.h:233
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:198
void * data
Message data.
Definition: filesystem.h:193
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:227
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)