From: TravisCI-DocBuilder Date: Sun, 15 Nov 2015 12:51:47 +0000 (+0000) Subject: Doc generated from commit b96697f7a4d2bce4f34e06fd5b977ea92be75a7c X-Git-Url: https://chaos.moe/g/?a=commitdiff_plain;h=68301115b96ff4ba8430231cfd62b5ce43e5c5fa;p=corbenik%2Fctrulib.git Doc generated from commit b96697f7a4d2bce4f34e06fd5b977ea92be75a7c --- diff --git a/fs_8h_source.html b/fs_8h_source.html index 585c4b7..4f68804 100644 --- a/fs_8h_source.html +++ b/fs_8h_source.html @@ -313,7 +313,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
221 {
222  FS_PathType type; ///< FS path type.
223  u32 size; ///< FS path size.
-
224  const u8* data; ///< Pointer to FS path data.
+
224  const void* data; ///< Pointer to FS path data.
225 } FS_Path;
226 
227 /// FS archive.
@@ -331,795 +331,803 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
239 void fsExit(void);
240 
241 /**
-
242  * @brief Gets the current FS session handle.
-
243  * @return The current FS session handle.
-
244  */
-
245 Handle* fsGetSessionHandle(void);
-
246 
-
247 /**
-
248  * @brief Performs a control operation on the filesystem.
-
249  * @param action Action to perform.
-
250  * @param input Buffer to read input from.
-
251  * @param inputSize Size of the input.
-
252  * @param output Buffer to write output to.
-
253  * @param outputSize Size of the output.
-
254  */
-
255 Result FSUSER_Control(FS_Action action, void* input, u32 inputSize, void* output, u32 outputSize);
-
256 
-
257 /// Initializes the FSUSER session.
-
258 Result FSUSER_Initialize(void);
-
259 
-
260 /**
-
261  * @brief Opens a file.
-
262  * @param out Pointer to output the file handle to.
-
263  * @param archive Archive containing the file.
-
264  * @param path Path of the file.
-
265  * @param openFlags Flags to open the file with.
-
266  * @param attributes Attributes of the file.
-
267  */
-
268 Result FSUSER_OpenFile(Handle* out, FS_Archive archive, FS_Path path, u32 openFlags, u32 attributes);
-
269 
-
270 /**
-
271  * @brief Opens a file directly.
-
272  * @param out Pointer to output the file handle to.
-
273  * @param archive Archive containing the file.
-
274  * @param path Path of the file.
-
275  * @param openFlags Flags to open the file with.
-
276  * @param attributes Attributes of the file.
-
277  */
-
278 Result FSUSER_OpenFileDirectly(Handle* out, FS_Archive archive, FS_Path path, u32 openFlags, u32 attributes);
-
279 
-
280 /**
-
281  * @brief Deletes a file.
-
282  * @param archive Archive containing the file.
-
283  * @param path Path of the file.
-
284  */
-
285 Result FSUSER_DeleteFile(FS_Archive archive, FS_Path path);
-
286 
-
287 /**
-
288  * @brief Renames a file.
-
289  * @param srcArchive Archive containing the source file.
-
290  * @param srcPath Path of the source file.
-
291  * @param dstArchive Archive containing the destination file.
-
292  * @param dstPath Path of the destination file.
-
293  */
-
294 Result FSUSER_RenameFile(FS_Archive srcArchive, FS_Path srcPath, FS_Archive dstArchive, FS_Path dstPath);
-
295 
-
296 /**
-
297  * @brief Deletes a directory, failing if it is not empty.
-
298  * @param archive Archive containing the directory.
-
299  * @param path Path of the directory.
-
300  */
-
301 Result FSUSER_DeleteDirectory(FS_Archive archive, FS_Path path);
-
302 
-
303 /**
-
304  * @brief Deletes a directory, also deleting its contents.
-
305  * @param archive Archive containing the directory.
-
306  * @param path Path of the directory.
-
307  */
-
308 Result FSUSER_DeleteDirectoryRecursively(FS_Archive archive, FS_Path path);
-
309 
-
310 /**
-
311  * @brief Creates a file.
-
312  * @param archive Archive containing the file.
-
313  * @param path Path of the file.
-
314  * @param attributes Attributes of the file.
-
315  * @param fileSize Size of the file.
-
316  */
-
317 Result FSUSER_CreateFile(FS_Archive archive, FS_Path path, u32 attributes, u64 fileSize);
-
318 
-
319 /**
-
320  * @brief Creates a directory
-
321  * @param archive Archive containing the directory.
-
322  * @param path Path of the directory.
-
323  * @param attributes Attributes of the directory.
+
242  * Creates an FS_Path instance.
+
243  * @param type Type of path.
+
244  * @param path Path to use.
+
245  * @return The created FS_Path instance.
+
246  */
+
247 FS_Path fsMakePath(FS_PathType type, const void* path);
+
248 
+
249 /**
+
250  * @brief Gets the current FS session handle.
+
251  * @return The current FS session handle.
+
252  */
+
253 Handle* fsGetSessionHandle(void);
+
254 
+
255 /**
+
256  * @brief Performs a control operation on the filesystem.
+
257  * @param action Action to perform.
+
258  * @param input Buffer to read input from.
+
259  * @param inputSize Size of the input.
+
260  * @param output Buffer to write output to.
+
261  * @param outputSize Size of the output.
+
262  */
+
263 Result FSUSER_Control(FS_Action action, void* input, u32 inputSize, void* output, u32 outputSize);
+
264 
+
265 /// Initializes the FSUSER session.
+
266 Result FSUSER_Initialize(void);
+
267 
+
268 /**
+
269  * @brief Opens a file.
+
270  * @param out Pointer to output the file handle to.
+
271  * @param archive Archive containing the file.
+
272  * @param path Path of the file.
+
273  * @param openFlags Flags to open the file with.
+
274  * @param attributes Attributes of the file.
+
275  */
+
276 Result FSUSER_OpenFile(Handle* out, FS_Archive archive, FS_Path path, u32 openFlags, u32 attributes);
+
277 
+
278 /**
+
279  * @brief Opens a file directly.
+
280  * @param out Pointer to output the file handle to.
+
281  * @param archive Archive containing the file.
+
282  * @param path Path of the file.
+
283  * @param openFlags Flags to open the file with.
+
284  * @param attributes Attributes of the file.
+
285  */
+
286 Result FSUSER_OpenFileDirectly(Handle* out, FS_Archive archive, FS_Path path, u32 openFlags, u32 attributes);
+
287 
+
288 /**
+
289  * @brief Deletes a file.
+
290  * @param archive Archive containing the file.
+
291  * @param path Path of the file.
+
292  */
+
293 Result FSUSER_DeleteFile(FS_Archive archive, FS_Path path);
+
294 
+
295 /**
+
296  * @brief Renames a file.
+
297  * @param srcArchive Archive containing the source file.
+
298  * @param srcPath Path of the source file.
+
299  * @param dstArchive Archive containing the destination file.
+
300  * @param dstPath Path of the destination file.
+
301  */
+
302 Result FSUSER_RenameFile(FS_Archive srcArchive, FS_Path srcPath, FS_Archive dstArchive, FS_Path dstPath);
+
303 
+
304 /**
+
305  * @brief Deletes a directory, failing if it is not empty.
+
306  * @param archive Archive containing the directory.
+
307  * @param path Path of the directory.
+
308  */
+
309 Result FSUSER_DeleteDirectory(FS_Archive archive, FS_Path path);
+
310 
+
311 /**
+
312  * @brief Deletes a directory, also deleting its contents.
+
313  * @param archive Archive containing the directory.
+
314  * @param path Path of the directory.
+
315  */
+
316 Result FSUSER_DeleteDirectoryRecursively(FS_Archive archive, FS_Path path);
+
317 
+
318 /**
+
319  * @brief Creates a file.
+
320  * @param archive Archive containing the file.
+
321  * @param path Path of the file.
+
322  * @param attributes Attributes of the file.
+
323  * @param fileSize Size of the file.
324  */
-
325 Result FSUSER_CreateDirectory(FS_Archive archive, FS_Path path, u32 attributes);
+
325 Result FSUSER_CreateFile(FS_Archive archive, FS_Path path, u32 attributes, u64 fileSize);
326 
327 /**
-
328  * @brief Renames a directory.
-
329  * @param srcArchive Archive containing the source directory.
-
330  * @param srcPath Path of the source directory.
-
331  * @param dstArchive Archive containing the destination directory.
-
332  * @param dstPath Path of the destination directory.
-
333  */
-
334 Result FSUSER_RenameDirectory(FS_Archive srcArchive, FS_Path srcPath, FS_Archive dstArchive, FS_Path dstPath);
-
335 
-
336 /**
-
337  * @brief Opens a directory.
-
338  * @param out Pointer to output the directory handle to.
-
339  * @param archive Archive containing the directory.
-
340  * @param path Path of the directory.
+
328  * @brief Creates a directory
+
329  * @param archive Archive containing the directory.
+
330  * @param path Path of the directory.
+
331  * @param attributes Attributes of the directory.
+
332  */
+
333 Result FSUSER_CreateDirectory(FS_Archive archive, FS_Path path, u32 attributes);
+
334 
+
335 /**
+
336  * @brief Renames a directory.
+
337  * @param srcArchive Archive containing the source directory.
+
338  * @param srcPath Path of the source directory.
+
339  * @param dstArchive Archive containing the destination directory.
+
340  * @param dstPath Path of the destination directory.
341  */
-
342 Result FSUSER_OpenDirectory(Handle *out, FS_Archive archive, FS_Path path);
+
342 Result FSUSER_RenameDirectory(FS_Archive srcArchive, FS_Path srcPath, FS_Archive dstArchive, FS_Path dstPath);
343 
344 /**
-
345  * @brief Opens an archive.
-
346  * @param archive Archive to open.
-
347  */
-
348 Result FSUSER_OpenArchive(FS_Archive* archive);
-
349 
-
350 /**
-
351  * @brief Performs a control operation on an archive.
-
352  * @param archive Archive to control.
-
353  * @param action Action to perform.
-
354  * @param input Buffer to read input from.
-
355  * @param inputSize Size of the input.
-
356  * @param output Buffer to write output to.
-
357  * @param outputSize Size of the output.
-
358  */
-
359 Result FSUSER_ControlArchive(FS_Archive archive, FS_ArchiveAction action, void* input, u32 inputSize, void* output, u32 outputSize);
-
360 
-
361 /**
-
362  * @brief Closes an archive.
-
363  * @param archive Archive to close.
-
364  */
-
365 Result FSUSER_CloseArchive(FS_Archive* archive);
-
366 
-
367 /**
-
368  * @brief Gets the number of free bytes within an archive.
-
369  * @param freeBytes Pointer to output the free bytes to.
-
370  * @param archive Archive to check.
-
371  */
-
372 Result FSUSER_GetFreeBytes(u64* freeBytes, FS_Archive archive);
-
373 
-
374 /**
-
375  * @brief Gets the inserted card type.
-
376  * @param type Pointer to output the card type to.
-
377  */
-
378 Result FSUSER_GetCardType(FS_CardType* type);
-
379 
-
380 /**
-
381  * @brief Gets the SDMC archive resource information.
-
382  * @param archiveResource Pointer to output the archive resource information to.
-
383  */
-
384 Result FSUSER_GetSdmcArchiveResource(FS_ArchiveResource* archiveResource);
-
385 
-
386 /**
-
387  * @brief Gets the NAND archive resource information.
-
388  * @param archiveResource Pointer to output the archive resource information to.
-
389  */
-
390 Result FSUSER_GetNandArchiveResource(FS_ArchiveResource* archiveResource);
-
391 
-
392 /**
-
393  * @brief Gets the last SDMC fatfs error.
-
394  * @param error Pointer to output the error to.
-
395  */
-
396 Result FSUSER_GetSdmcFatfsError(u32* error);
-
397 
-
398 /**
-
399  * @brief Gets whether an SD card is detected.
-
400  * @param detected Pointer to output the detection status to.
-
401  */
-
402 Result FSUSER_IsSdmcDetected(bool *detected);
-
403 
-
404 /**
-
405  * @brief Gets whether the SD card is writable.
-
406  * @param detected Pointer to output the writable status to.
-
407  */
-
408 Result FSUSER_IsSdmcWritable(bool *writable);
-
409 
-
410 /**
-
411  * @brief Gets the SDMC CID.
-
412  * @param out Pointer to output the CID to.
-
413  * @param length Length of the CID buffer. (should be 0x10)
-
414  */
-
415 Result FSUSER_GetSdmcCid(u8* out, u32 length);
-
416 
-
417 /**
-
418  * @brief Gets the NAND CID.
-
419  * @param out Pointer to output the CID to.
-
420  * @param length Length of the CID buffer. (should be 0x10)
-
421  */
-
422 Result FSUSER_GetNandCid(u8* out, u32 length);
-
423 
-
424 /**
-
425  * @brief Gets the SDMC speed info.
-
426  * @param speedInfo Pointer to output the speed info to.
-
427  */
-
428 Result FSUSER_GetSdmcSpeedInfo(u32 *speedInfo);
-
429 
-
430 /**
-
431  * @brief Gets the NAND speed info.
-
432  * @param speedInfo Pointer to output the speed info to.
-
433  */
-
434 Result FSUSER_GetNandSpeedInfo(u32 *speedInfo);
-
435 
-
436 /**
-
437  * @brief Gets the SDMC log.
-
438  * @param out Pointer to output the log to.
-
439  * @param length Length of the log buffer.
-
440  */
-
441 Result FSUSER_GetSdmcLog(u8* out, u32 length);
-
442 
-
443 /**
-
444  * @brief Gets the NAND log.
-
445  * @param out Pointer to output the log to.
-
446  * @param length Length of the log buffer.
-
447  */
-
448 Result FSUSER_GetNandLog(u8* out, u32 length);
-
449 
-
450 /// Clears the SDMC log.
-
451 Result FSUSER_ClearSdmcLog(void);
-
452 
-
453 /// Clears the NAND log.
-
454 Result FSUSER_ClearNandLog(void);
-
455 
-
456 /**
-
457  * @brief Gets whether a card is inserted.
-
458  * @param inserted Pointer to output the insertion status to.
-
459  */
-
460 Result FSUSER_CardSlotIsInserted(bool* inserted);
-
461 
-
462 /**
-
463  * @brief Powers on the card slot.
-
464  * @param status Pointer to output the power status to.
-
465  */
-
466 Result FSUSER_CardSlotPowerOn(bool* status);
-
467 
-
468 /**
-
469  * @brief Powers off the card slot.
-
470  * @param status Pointer to output the power status to.
-
471  */
-
472 Result FSUSER_CardSlotPowerOff(bool* status);
-
473 
-
474 /**
-
475  * @brief Gets the card's power status.
-
476  * @param status Pointer to output the power status to.
-
477  */
-
478 Result FSUSER_CardSlotGetCardIFPowerStatus(bool* status);
-
479 
-
480 /**
-
481  * @brief Executes a CARDNOR direct command.
-
482  * @param commandId ID of the command.
-
483  */
-
484 Result FSUSER_CardNorDirectCommand(u8 commandId);
-
485 
-
486 /**
-
487  * @brief Executes a CARDNOR direct command with an address.
-
488  * @param commandId ID of the command.
-
489  * @param address Address to provide.
-
490  */
-
491 Result FSUSER_CardNorDirectCommandWithAddress(u8 commandId, u32 address);
-
492 
-
493 /**
-
494  * @brief Executes a CARDNOR direct read.
-
495  * @param commandId ID of the command.
-
496  * @param size Size of the output buffer.
-
497  * @param output Output buffer.
+
345  * @brief Opens a directory.
+
346  * @param out Pointer to output the directory handle to.
+
347  * @param archive Archive containing the directory.
+
348  * @param path Path of the directory.
+
349  */
+
350 Result FSUSER_OpenDirectory(Handle *out, FS_Archive archive, FS_Path path);
+
351 
+
352 /**
+
353  * @brief Opens an archive.
+
354  * @param archive Archive to open.
+
355  */
+
356 Result FSUSER_OpenArchive(FS_Archive* archive);
+
357 
+
358 /**
+
359  * @brief Performs a control operation on an archive.
+
360  * @param archive Archive to control.
+
361  * @param action Action to perform.
+
362  * @param input Buffer to read input from.
+
363  * @param inputSize Size of the input.
+
364  * @param output Buffer to write output to.
+
365  * @param outputSize Size of the output.
+
366  */
+
367 Result FSUSER_ControlArchive(FS_Archive archive, FS_ArchiveAction action, void* input, u32 inputSize, void* output, u32 outputSize);
+
368 
+
369 /**
+
370  * @brief Closes an archive.
+
371  * @param archive Archive to close.
+
372  */
+
373 Result FSUSER_CloseArchive(FS_Archive* archive);
+
374 
+
375 /**
+
376  * @brief Gets the number of free bytes within an archive.
+
377  * @param freeBytes Pointer to output the free bytes to.
+
378  * @param archive Archive to check.
+
379  */
+
380 Result FSUSER_GetFreeBytes(u64* freeBytes, FS_Archive archive);
+
381 
+
382 /**
+
383  * @brief Gets the inserted card type.
+
384  * @param type Pointer to output the card type to.
+
385  */
+
386 Result FSUSER_GetCardType(FS_CardType* type);
+
387 
+
388 /**
+
389  * @brief Gets the SDMC archive resource information.
+
390  * @param archiveResource Pointer to output the archive resource information to.
+
391  */
+
392 Result FSUSER_GetSdmcArchiveResource(FS_ArchiveResource* archiveResource);
+
393 
+
394 /**
+
395  * @brief Gets the NAND archive resource information.
+
396  * @param archiveResource Pointer to output the archive resource information to.
+
397  */
+
398 Result FSUSER_GetNandArchiveResource(FS_ArchiveResource* archiveResource);
+
399 
+
400 /**
+
401  * @brief Gets the last SDMC fatfs error.
+
402  * @param error Pointer to output the error to.
+
403  */
+
404 Result FSUSER_GetSdmcFatfsError(u32* error);
+
405 
+
406 /**
+
407  * @brief Gets whether an SD card is detected.
+
408  * @param detected Pointer to output the detection status to.
+
409  */
+
410 Result FSUSER_IsSdmcDetected(bool *detected);
+
411 
+
412 /**
+
413  * @brief Gets whether the SD card is writable.
+
414  * @param detected Pointer to output the writable status to.
+
415  */
+
416 Result FSUSER_IsSdmcWritable(bool *writable);
+
417 
+
418 /**
+
419  * @brief Gets the SDMC CID.
+
420  * @param out Pointer to output the CID to.
+
421  * @param length Length of the CID buffer. (should be 0x10)
+
422  */
+
423 Result FSUSER_GetSdmcCid(u8* out, u32 length);
+
424 
+
425 /**
+
426  * @brief Gets the NAND CID.
+
427  * @param out Pointer to output the CID to.
+
428  * @param length Length of the CID buffer. (should be 0x10)
+
429  */
+
430 Result FSUSER_GetNandCid(u8* out, u32 length);
+
431 
+
432 /**
+
433  * @brief Gets the SDMC speed info.
+
434  * @param speedInfo Pointer to output the speed info to.
+
435  */
+
436 Result FSUSER_GetSdmcSpeedInfo(u32 *speedInfo);
+
437 
+
438 /**
+
439  * @brief Gets the NAND speed info.
+
440  * @param speedInfo Pointer to output the speed info to.
+
441  */
+
442 Result FSUSER_GetNandSpeedInfo(u32 *speedInfo);
+
443 
+
444 /**
+
445  * @brief Gets the SDMC log.
+
446  * @param out Pointer to output the log to.
+
447  * @param length Length of the log buffer.
+
448  */
+
449 Result FSUSER_GetSdmcLog(u8* out, u32 length);
+
450 
+
451 /**
+
452  * @brief Gets the NAND log.
+
453  * @param out Pointer to output the log to.
+
454  * @param length Length of the log buffer.
+
455  */
+
456 Result FSUSER_GetNandLog(u8* out, u32 length);
+
457 
+
458 /// Clears the SDMC log.
+
459 Result FSUSER_ClearSdmcLog(void);
+
460 
+
461 /// Clears the NAND log.
+
462 Result FSUSER_ClearNandLog(void);
+
463 
+
464 /**
+
465  * @brief Gets whether a card is inserted.
+
466  * @param inserted Pointer to output the insertion status to.
+
467  */
+
468 Result FSUSER_CardSlotIsInserted(bool* inserted);
+
469 
+
470 /**
+
471  * @brief Powers on the card slot.
+
472  * @param status Pointer to output the power status to.
+
473  */
+
474 Result FSUSER_CardSlotPowerOn(bool* status);
+
475 
+
476 /**
+
477  * @brief Powers off the card slot.
+
478  * @param status Pointer to output the power status to.
+
479  */
+
480 Result FSUSER_CardSlotPowerOff(bool* status);
+
481 
+
482 /**
+
483  * @brief Gets the card's power status.
+
484  * @param status Pointer to output the power status to.
+
485  */
+
486 Result FSUSER_CardSlotGetCardIFPowerStatus(bool* status);
+
487 
+
488 /**
+
489  * @brief Executes a CARDNOR direct command.
+
490  * @param commandId ID of the command.
+
491  */
+
492 Result FSUSER_CardNorDirectCommand(u8 commandId);
+
493 
+
494 /**
+
495  * @brief Executes a CARDNOR direct command with an address.
+
496  * @param commandId ID of the command.
+
497  * @param address Address to provide.
498  */
-
499 Result FSUSER_CardNorDirectRead(u8 commandId, u32 size, u8* output);
+
499 Result FSUSER_CardNorDirectCommandWithAddress(u8 commandId, u32 address);
500 
501 /**
-
502  * @brief Executes a CARDNOR direct read with an address.
+
502  * @brief Executes a CARDNOR direct read.
503  * @param commandId ID of the command.
-
504  * @param address Address to provide.
-
505  * @param size Size of the output buffer.
-
506  * @param output Output buffer.
-
507  */
-
508 Result FSUSER_CardNorDirectReadWithAddress(u8 commandId, u32 address, u32 size, u8* output);
-
509 
-
510 /**
-
511  * @brief Executes a CARDNOR direct write.
-
512  * @param commandId ID of the command.
-
513  * @param size Size of the input buffer.
-
514  * @param output Input buffer.
+
504  * @param size Size of the output buffer.
+
505  * @param output Output buffer.
+
506  */
+
507 Result FSUSER_CardNorDirectRead(u8 commandId, u32 size, u8* output);
+
508 
+
509 /**
+
510  * @brief Executes a CARDNOR direct read with an address.
+
511  * @param commandId ID of the command.
+
512  * @param address Address to provide.
+
513  * @param size Size of the output buffer.
+
514  * @param output Output buffer.
515  */
-
516 Result FSUSER_CardNorDirectWrite(u8 commandId, u32 size, u8* input);
+
516 Result FSUSER_CardNorDirectReadWithAddress(u8 commandId, u32 address, u32 size, u8* output);
517 
518 /**
-
519  * @brief Executes a CARDNOR direct write with an address.
+
519  * @brief Executes a CARDNOR direct write.
520  * @param commandId ID of the command.
-
521  * @param address Address to provide.
-
522  * @param size Size of the input buffer.
-
523  * @param input Input buffer.
-
524  */
-
525 Result FSUSER_CardNorDirectWriteWithAddress(u8 commandId, u32 address, u32 size, u8* input);
-
526 
-
527 /**
-
528  * @brief Executes a CARDNOR 4xIO direct read.
-
529  * @param commandId ID of the command.
-
530  * @param address Address to provide.
-
531  * @param size Size of the output buffer.
-
532  * @param output Output buffer.
-
533  */
-
534 Result FSUSER_CardNorDirectRead_4xIO(u8 commandId, u32 address, u32 size, u8* output);
-
535 
-
536 /**
-
537  * @brief Executes a CARDNOR direct CPU write without verify.
+
521  * @param size Size of the input buffer.
+
522  * @param output Input buffer.
+
523  */
+
524 Result FSUSER_CardNorDirectWrite(u8 commandId, u32 size, u8* input);
+
525 
+
526 /**
+
527  * @brief Executes a CARDNOR direct write with an address.
+
528  * @param commandId ID of the command.
+
529  * @param address Address to provide.
+
530  * @param size Size of the input buffer.
+
531  * @param input Input buffer.
+
532  */
+
533 Result FSUSER_CardNorDirectWriteWithAddress(u8 commandId, u32 address, u32 size, u8* input);
+
534 
+
535 /**
+
536  * @brief Executes a CARDNOR 4xIO direct read.
+
537  * @param commandId ID of the command.
538  * @param address Address to provide.
-
539  * @param size Size of the input buffer.
-
540  * @param output Input buffer.
+
539  * @param size Size of the output buffer.
+
540  * @param output Output buffer.
541  */
-
542 Result FSUSER_CardNorDirectCpuWriteWithoutVerify(u32 address, u32 size, u8* input);
+
542 Result FSUSER_CardNorDirectRead_4xIO(u8 commandId, u32 address, u32 size, u8* output);
543 
544 /**
-
545  * @brief Executes a CARDNOR direct sector erase without verify.
+
545  * @brief Executes a CARDNOR direct CPU write without verify.
546  * @param address Address to provide.
-
547  */
-
548 Result FSUSER_CardNorDirectSectorEraseWithoutVerify(u32 address);
-
549 
-
550 /**
-
551  * @brief Gets a process's product info.
-
552  * @param info Pointer to output the product info to.
-
553  * @param processId ID of the process.
-
554  */
-
555 Result FSUSER_GetProductInfo(FS_ProductInfo* info, u32 processId);
-
556 
-
557 /**
-
558  * @brief Gets a process's program launch info.
-
559  * @param info Pointer to output the program launch info to.
-
560  * @param processId ID of the process.
-
561  */
-
562 Result FSUSER_GetProgramLaunchInfo(FS_ProgramInfo* info, u32 processId);
-
563 
-
564 /**
-
565  * @brief Sets the CARDSPI baud rate.
-
566  * @param baudRate Baud rate to set.
-
567  */
-
568 Result FSUSER_SetCardSpiBaudRate(FS_CardSpiBaudRate baudRate);
-
569 
-
570 /**
-
571  * @brief Sets the CARDSPI bus mode.
-
572  * @param baudRate Bus mode to set.
-
573  */
-
574 Result FSUSER_SetCardSpiBusMode(FS_CardSpiBusMode busMode);
-
575 
-
576 /// Sends initialization info to ARM9.
-
577 Result FSUSER_SendInitializeInfoTo9(void);
-
578 
-
579 /**
-
580  * @brief Gets a special content's index.
-
581  * @param index Pointer to output the index to.
-
582  * @param mediaType Media type of the special content.
-
583  * @param programId Program ID owning the special content.
-
584  * @param type Type of special content.
-
585  */
-
586 Result FSUSER_GetSpecialContentIndex(u16* index, FS_MediaType mediaType, u64 programId, FS_SpecialContentType type);
-
587 
-
588 /**
-
589  * @brief Gets the legacy ROM header of a program.
-
590  * @param mediaType Media type of the program.
-
591  * @param programId ID of the program.
-
592  * @param header Pointer to output the legacy ROM header to. (size = 0x3B4)
+
547  * @param size Size of the input buffer.
+
548  * @param output Input buffer.
+
549  */
+
550 Result FSUSER_CardNorDirectCpuWriteWithoutVerify(u32 address, u32 size, u8* input);
+
551 
+
552 /**
+
553  * @brief Executes a CARDNOR direct sector erase without verify.
+
554  * @param address Address to provide.
+
555  */
+
556 Result FSUSER_CardNorDirectSectorEraseWithoutVerify(u32 address);
+
557 
+
558 /**
+
559  * @brief Gets a process's product info.
+
560  * @param info Pointer to output the product info to.
+
561  * @param processId ID of the process.
+
562  */
+
563 Result FSUSER_GetProductInfo(FS_ProductInfo* info, u32 processId);
+
564 
+
565 /**
+
566  * @brief Gets a process's program launch info.
+
567  * @param info Pointer to output the program launch info to.
+
568  * @param processId ID of the process.
+
569  */
+
570 Result FSUSER_GetProgramLaunchInfo(FS_ProgramInfo* info, u32 processId);
+
571 
+
572 /**
+
573  * @brief Sets the CARDSPI baud rate.
+
574  * @param baudRate Baud rate to set.
+
575  */
+
576 Result FSUSER_SetCardSpiBaudRate(FS_CardSpiBaudRate baudRate);
+
577 
+
578 /**
+
579  * @brief Sets the CARDSPI bus mode.
+
580  * @param baudRate Bus mode to set.
+
581  */
+
582 Result FSUSER_SetCardSpiBusMode(FS_CardSpiBusMode busMode);
+
583 
+
584 /// Sends initialization info to ARM9.
+
585 Result FSUSER_SendInitializeInfoTo9(void);
+
586 
+
587 /**
+
588  * @brief Gets a special content's index.
+
589  * @param index Pointer to output the index to.
+
590  * @param mediaType Media type of the special content.
+
591  * @param programId Program ID owning the special content.
+
592  * @param type Type of special content.
593  */
-
594 Result FSUSER_GetLegacyRomHeader(FS_MediaType mediaType, u64 programId, u8* header);
+
594 Result FSUSER_GetSpecialContentIndex(u16* index, FS_MediaType mediaType, u64 programId, FS_SpecialContentType type);
595 
596 /**
-
597  * @brief Gets the legacy banner data of a program.
+
597  * @brief Gets the legacy ROM header of a program.
598  * @param mediaType Media type of the program.
599  * @param programId ID of the program.
-
600  * @param header Pointer to output the legacy banner data to. (size = 0x23C0)
+
600  * @param header Pointer to output the legacy ROM header to. (size = 0x3B4)
601  */
-
602 Result FSUSER_GetLegacyBannerData(FS_MediaType mediaType, u64 programId, u8* banner);
+
602 Result FSUSER_GetLegacyRomHeader(FS_MediaType mediaType, u64 programId, u8* header);
603 
604 /**
-
605  * @brief Checks a process's authority to access a save data archive.
-
606  * @param access Pointer to output the access status to.
-
607  * @param mediaType Media type of the save data.
-
608  * @param saveId ID of the save data.
-
609  * @param processId ID of the process to check.
-
610  */
-
611 Result FSUSER_CheckAuthorityToAccessExtSaveData(bool* access, FS_MediaType mediaType, u64 saveId, u32 processId);
-
612 
-
613 /**
-
614  * @brief Queries the total quota size of a save data archive.
-
615  * @param quotaSize Pointer to output the quota size to.
-
616  * @param directories Number of directories.
-
617  * @param files Number of files.
-
618  * @param fileSizeCount Number of file sizes to provide.
-
619  * @param fileSizes File sizes to provide.
-
620  */
-
621 Result FSUSER_QueryTotalQuotaSize(u64* quotaSize, u32 directories, u32 files, u32 fileSizeCount, u64* fileSizes);
-
622 
-
623 /**
-
624  * @brief Abnegates an access right.
-
625  * @param accessRight Access right to abnegate.
-
626  */
-
627 Result FSUSER_AbnegateAccessRight(u32 accessRight);
-
628 
-
629 /// Deletes the 3DS SDMC root.
-
630 Result FSUSER_DeleteSdmcRoot(void);
-
631 
-
632 /// Deletes all ext save data on the NAND.
-
633 Result FSUSER_DeleteAllExtSaveDataOnNand(void);
-
634 
-
635 /// Initializes the CTR file system.
-
636 Result FSUSER_InitializeCtrFileSystem(void);
-
637 
-
638 /// Creates the FS seed.
-
639 Result FSUSER_CreateSeed(void);
-
640 
-
641 /**
-
642  * @brief Retrieves archive format info.
-
643  * @param totalSize Pointer to output the total size to.
-
644  * @param directories Pointer to output the number of directories to.
-
645  * @param files Pointer to output the number of files to.
-
646  * @param duplicateData Pointer to output whether to duplicate data to.
-
647  * @param archiveId ID of the archive.
-
648  * @param path Path of the archive.
-
649  */
-
650 Result FSUSER_GetFormatInfo(u32* totalSize, u32* directories, u32* files, bool* duplicateData, FS_ArchiveID archiveId, FS_Path path);
-
651 
-
652 /**
-
653  * @brief Gets the legacy ROM header of a program.
-
654  * @param headerSize Size of the ROM header.
-
655  * @param mediaType Media type of the program.
-
656  * @param programId ID of the program.
-
657  * @param header Pointer to output the legacy ROM header to.
-
658  */
-
659 Result FSUSER_GetLegacyRomHeader2(u32 headerSize, FS_MediaType mediaType, u64 programId, u8* header);
-
660 
-
661 /**
-
662  * @brief Gets the CTR SDMC root path.
-
663  * @param out Pointer to output the root path to.
-
664  * @param length Length of the output buffer.
-
665  */
-
666 Result FSUSER_GetSdmcCtrRootPath(u8* out, u32 length);
-
667 
-
668 /**
-
669  * @brief Gets an archive's resource information.
-
670  * @param archiveResource Pointer to output the archive resource information to.
-
671  * @param mediaType Media type to check.
-
672  */
-
673 Result FSUSER_GetArchiveResource(FS_ArchiveResource* archiveResource, FS_MediaType mediaType);
-
674 
-
675 /**
-
676  * @brief Exports the integrity verification seed.
-
677  * @param seed Pointer to output the seed to.
-
678  */
-
679 Result FSUSER_ExportIntegrityVerificationSeed(FS_IntegrityVerificationSeed* seed);
-
680 
-
681 /**
-
682  * @brief Imports an integrity verification seed.
-
683  * @param seed Seed to import.
-
684  */
-
685 Result FSUSER_ImportIntegrityVerificationSeed(FS_IntegrityVerificationSeed* seed);
-
686 
-
687 /**
-
688  * @brief Formats save data.
-
689  * @param archiveId ID of the save data archive.
-
690  * @param path Path of the save data.
-
691  * @param blocks Size of the save data in blocks. (512 bytes)
-
692  * @param directories Number of directories.
-
693  * @param files Number of files.
-
694  * @param directoryBuckets Directory hash tree bucket count.
-
695  * @param fileBuckets File hash tree bucket count.
-
696  * @param duplicateData Whether to store an internal duplicate of the data.
-
697  */
-
698 Result FSUSER_FormatSaveData(FS_ArchiveID archiveId, FS_Path path, u32 blocks, u32 directories, u32 files, u32 directoryBuckets, u32 fileBuckets, bool duplicateData);
-
699 
-
700 /**
-
701  * @brief Gets the legacy sub banner data of a program.
-
702  * @param bannerSize Size of the banner.
-
703  * @param mediaType Media type of the program.
-
704  * @param programId ID of the program.
-
705  * @param header Pointer to output the legacy sub banner data to.
-
706  */
-
707 Result FSUSER_GetLegacySubBannerData(u32 bannerSize, FS_MediaType mediaType, u64 programId, u8* banner);
-
708 
-
709 /**
-
710  * @brief Reads from a special file.
-
711  * @param bytesRead Pointer to output the number of bytes read to.
-
712  * @param fileOffset Offset of the file.
-
713  * @param size Size of the buffer.
-
714  * @param data Buffer to read to.
-
715  */
-
716 Result FSUSER_ReadSpecialFile(u32* bytesRead, u64 fileOffset, u32 size, u8* data);
-
717 
-
718 /**
-
719  * @brief Gets the size of a special file.
-
720  * @param fileSize Pointer to output the size to.
-
721  */
-
722 Result FSUSER_GetSpecialFileSize(u64* fileSize);
-
723 
-
724 /**
-
725  * @brief Creates ext save data.
-
726  * @param info Info of the save data.
-
727  * @param directories Number of directories.
-
728  * @param files Number of files.
-
729  * @param sizeLimit Size limit of the save data.
-
730  * @param smdhSize Size of the save data's SMDH data.
-
731  * @param smdh SMDH data.
-
732  */
-
733 Result FSUSER_CreateExtSaveData(FS_ExtSaveDataInfo info, u32 directories, u32 files, u64 sizeLimit, u32 smdhSize, u8* smdh);
-
734 
-
735 /**
-
736  * @brief Deletes ext save data.
-
737  * @param info Info of the save data.
-
738  */
-
739 Result FSUSER_DeleteExtSaveData(FS_ExtSaveDataInfo info);
-
740 
-
741 /**
-
742  * @brief Reads the SMDH icon of ext save data.
-
743  * @param bytesRead Pointer to output the number of bytes read to.
-
744  * @param info Info of the save data.
-
745  * @param smdhSize Size of the save data SMDH.
-
746  * @param smdh Pointer to output SMDH data to.
-
747  */
-
748 Result FSUSER_ReadExtSaveDataIcon(u32* bytesRead, FS_ExtSaveDataInfo info, u32 smdhSize, u8* smdh);
-
749 
-
750 /**
-
751  * @brief Gets an ext data archive's block information.
-
752  * @param totalBlocks Pointer to output the total blocks to.
-
753  * @param freeBlocks Pointer to output the free blocks to.
-
754  * @param blockSize Pointer to output the block size to.
-
755  * @param info Info of the save data.
-
756  */
-
757 Result FSUSER_GetExtDataBlockSize(u64* totalBlocks, u64* freeBlocks, u32* blockSize, FS_ExtSaveDataInfo info);
-
758 
-
759 /**
-
760  * @brief Enumerates ext save data.
-
761  * @param idsWritten Pointer to output the number of IDs written to.
-
762  * @param idsSize Size of the IDs buffer.
-
763  * @param mediaType Media type to enumerate over.
-
764  * @param idSize Size of each ID element.
-
765  * @param shared Whether to enumerate shared ext save data.
-
766  * @param ids Pointer to output IDs to.
-
767  */
-
768 Result FSUSER_EnumerateExtSaveData(u32* idsWritten, u32 idsSize, FS_MediaType mediaType, u32 idSize, bool shared, u8* ids);
-
769 
-
770 /**
-
771  * @brief Creates system save data.
-
772  * @param info Info of the save data.
-
773  * @param totalSize Total size of the save data.
-
774  * @param blockSize Block size of the save data. (usually 0x1000)
-
775  * @param directories Number of directories.
-
776  * @param files Number of files.
-
777  * @param directoryBuckets Directory hash tree bucket count.
-
778  * @param fileBuckets File hash tree bucket count.
-
779  * @param duplicateData Whether to store an internal duplicate of the data.
-
780  */
-
781 Result FSUSER_CreateSystemSaveData(FS_SystemSaveDataInfo info, u32 totalSize, u32 blockSize, u32 directories, u32 files, u32 directoryBuckets, u32 fileBuckets, bool duplicateData);
-
782 
-
783 /**
-
784  * @brief Deletes system save data.
-
785  * @param info Info of the save data.
-
786  */
-
787 Result FSUSER_DeleteSystemSaveData(FS_SystemSaveDataInfo info);
-
788 
-
789 /**
-
790  * @brief Initiates a device move as the source device.
-
791  * @param context Pointer to output the context to.
-
792  */
-
793 Result FSUSER_StartDeviceMoveAsSource(FS_DeviceMoveContext* context);
-
794 
-
795 /**
-
796  * @brief Initiates a device move as the destination device.
-
797  * @param context Context to use.
-
798  * @param clear Whether to clear the device's data first.
-
799  */
-
800 Result FSUSER_StartDeviceMoveAsDestination(FS_DeviceMoveContext context, bool clear);
-
801 
-
802 /**
-
803  * @brief Sets an archive's priority.
-
804  * @param archive Archive to use.
-
805  * @param priority Priority to set.
-
806  */
-
807 Result FSUSER_SetArchivePriority(FS_Archive archive, u32 priority);
-
808 
-
809 /**
-
810  * @brief Gets an archive's priority.
-
811  * @param priority Pointer to output the priority to.
+
605  * @brief Gets the legacy banner data of a program.
+
606  * @param mediaType Media type of the program.
+
607  * @param programId ID of the program.
+
608  * @param header Pointer to output the legacy banner data to. (size = 0x23C0)
+
609  */
+
610 Result FSUSER_GetLegacyBannerData(FS_MediaType mediaType, u64 programId, u8* banner);
+
611 
+
612 /**
+
613  * @brief Checks a process's authority to access a save data archive.
+
614  * @param access Pointer to output the access status to.
+
615  * @param mediaType Media type of the save data.
+
616  * @param saveId ID of the save data.
+
617  * @param processId ID of the process to check.
+
618  */
+
619 Result FSUSER_CheckAuthorityToAccessExtSaveData(bool* access, FS_MediaType mediaType, u64 saveId, u32 processId);
+
620 
+
621 /**
+
622  * @brief Queries the total quota size of a save data archive.
+
623  * @param quotaSize Pointer to output the quota size to.
+
624  * @param directories Number of directories.
+
625  * @param files Number of files.
+
626  * @param fileSizeCount Number of file sizes to provide.
+
627  * @param fileSizes File sizes to provide.
+
628  */
+
629 Result FSUSER_QueryTotalQuotaSize(u64* quotaSize, u32 directories, u32 files, u32 fileSizeCount, u64* fileSizes);
+
630 
+
631 /**
+
632  * @brief Abnegates an access right.
+
633  * @param accessRight Access right to abnegate.
+
634  */
+
635 Result FSUSER_AbnegateAccessRight(u32 accessRight);
+
636 
+
637 /// Deletes the 3DS SDMC root.
+
638 Result FSUSER_DeleteSdmcRoot(void);
+
639 
+
640 /// Deletes all ext save data on the NAND.
+
641 Result FSUSER_DeleteAllExtSaveDataOnNand(void);
+
642 
+
643 /// Initializes the CTR file system.
+
644 Result FSUSER_InitializeCtrFileSystem(void);
+
645 
+
646 /// Creates the FS seed.
+
647 Result FSUSER_CreateSeed(void);
+
648 
+
649 /**
+
650  * @brief Retrieves archive format info.
+
651  * @param totalSize Pointer to output the total size to.
+
652  * @param directories Pointer to output the number of directories to.
+
653  * @param files Pointer to output the number of files to.
+
654  * @param duplicateData Pointer to output whether to duplicate data to.
+
655  * @param archiveId ID of the archive.
+
656  * @param path Path of the archive.
+
657  */
+
658 Result FSUSER_GetFormatInfo(u32* totalSize, u32* directories, u32* files, bool* duplicateData, FS_ArchiveID archiveId, FS_Path path);
+
659 
+
660 /**
+
661  * @brief Gets the legacy ROM header of a program.
+
662  * @param headerSize Size of the ROM header.
+
663  * @param mediaType Media type of the program.
+
664  * @param programId ID of the program.
+
665  * @param header Pointer to output the legacy ROM header to.
+
666  */
+
667 Result FSUSER_GetLegacyRomHeader2(u32 headerSize, FS_MediaType mediaType, u64 programId, u8* header);
+
668 
+
669 /**
+
670  * @brief Gets the CTR SDMC root path.
+
671  * @param out Pointer to output the root path to.
+
672  * @param length Length of the output buffer.
+
673  */
+
674 Result FSUSER_GetSdmcCtrRootPath(u8* out, u32 length);
+
675 
+
676 /**
+
677  * @brief Gets an archive's resource information.
+
678  * @param archiveResource Pointer to output the archive resource information to.
+
679  * @param mediaType Media type to check.
+
680  */
+
681 Result FSUSER_GetArchiveResource(FS_ArchiveResource* archiveResource, FS_MediaType mediaType);
+
682 
+
683 /**
+
684  * @brief Exports the integrity verification seed.
+
685  * @param seed Pointer to output the seed to.
+
686  */
+
687 Result FSUSER_ExportIntegrityVerificationSeed(FS_IntegrityVerificationSeed* seed);
+
688 
+
689 /**
+
690  * @brief Imports an integrity verification seed.
+
691  * @param seed Seed to import.
+
692  */
+
693 Result FSUSER_ImportIntegrityVerificationSeed(FS_IntegrityVerificationSeed* seed);
+
694 
+
695 /**
+
696  * @brief Formats save data.
+
697  * @param archiveId ID of the save data archive.
+
698  * @param path Path of the save data.
+
699  * @param blocks Size of the save data in blocks. (512 bytes)
+
700  * @param directories Number of directories.
+
701  * @param files Number of files.
+
702  * @param directoryBuckets Directory hash tree bucket count.
+
703  * @param fileBuckets File hash tree bucket count.
+
704  * @param duplicateData Whether to store an internal duplicate of the data.
+
705  */
+
706 Result FSUSER_FormatSaveData(FS_ArchiveID archiveId, FS_Path path, u32 blocks, u32 directories, u32 files, u32 directoryBuckets, u32 fileBuckets, bool duplicateData);
+
707 
+
708 /**
+
709  * @brief Gets the legacy sub banner data of a program.
+
710  * @param bannerSize Size of the banner.
+
711  * @param mediaType Media type of the program.
+
712  * @param programId ID of the program.
+
713  * @param header Pointer to output the legacy sub banner data to.
+
714  */
+
715 Result FSUSER_GetLegacySubBannerData(u32 bannerSize, FS_MediaType mediaType, u64 programId, u8* banner);
+
716 
+
717 /**
+
718  * @brief Reads from a special file.
+
719  * @param bytesRead Pointer to output the number of bytes read to.
+
720  * @param fileOffset Offset of the file.
+
721  * @param size Size of the buffer.
+
722  * @param data Buffer to read to.
+
723  */
+
724 Result FSUSER_ReadSpecialFile(u32* bytesRead, u64 fileOffset, u32 size, u8* data);
+
725 
+
726 /**
+
727  * @brief Gets the size of a special file.
+
728  * @param fileSize Pointer to output the size to.
+
729  */
+
730 Result FSUSER_GetSpecialFileSize(u64* fileSize);
+
731 
+
732 /**
+
733  * @brief Creates ext save data.
+
734  * @param info Info of the save data.
+
735  * @param directories Number of directories.
+
736  * @param files Number of files.
+
737  * @param sizeLimit Size limit of the save data.
+
738  * @param smdhSize Size of the save data's SMDH data.
+
739  * @param smdh SMDH data.
+
740  */
+
741 Result FSUSER_CreateExtSaveData(FS_ExtSaveDataInfo info, u32 directories, u32 files, u64 sizeLimit, u32 smdhSize, u8* smdh);
+
742 
+
743 /**
+
744  * @brief Deletes ext save data.
+
745  * @param info Info of the save data.
+
746  */
+
747 Result FSUSER_DeleteExtSaveData(FS_ExtSaveDataInfo info);
+
748 
+
749 /**
+
750  * @brief Reads the SMDH icon of ext save data.
+
751  * @param bytesRead Pointer to output the number of bytes read to.
+
752  * @param info Info of the save data.
+
753  * @param smdhSize Size of the save data SMDH.
+
754  * @param smdh Pointer to output SMDH data to.
+
755  */
+
756 Result FSUSER_ReadExtSaveDataIcon(u32* bytesRead, FS_ExtSaveDataInfo info, u32 smdhSize, u8* smdh);
+
757 
+
758 /**
+
759  * @brief Gets an ext data archive's block information.
+
760  * @param totalBlocks Pointer to output the total blocks to.
+
761  * @param freeBlocks Pointer to output the free blocks to.
+
762  * @param blockSize Pointer to output the block size to.
+
763  * @param info Info of the save data.
+
764  */
+
765 Result FSUSER_GetExtDataBlockSize(u64* totalBlocks, u64* freeBlocks, u32* blockSize, FS_ExtSaveDataInfo info);
+
766 
+
767 /**
+
768  * @brief Enumerates ext save data.
+
769  * @param idsWritten Pointer to output the number of IDs written to.
+
770  * @param idsSize Size of the IDs buffer.
+
771  * @param mediaType Media type to enumerate over.
+
772  * @param idSize Size of each ID element.
+
773  * @param shared Whether to enumerate shared ext save data.
+
774  * @param ids Pointer to output IDs to.
+
775  */
+
776 Result FSUSER_EnumerateExtSaveData(u32* idsWritten, u32 idsSize, FS_MediaType mediaType, u32 idSize, bool shared, u8* ids);
+
777 
+
778 /**
+
779  * @brief Creates system save data.
+
780  * @param info Info of the save data.
+
781  * @param totalSize Total size of the save data.
+
782  * @param blockSize Block size of the save data. (usually 0x1000)
+
783  * @param directories Number of directories.
+
784  * @param files Number of files.
+
785  * @param directoryBuckets Directory hash tree bucket count.
+
786  * @param fileBuckets File hash tree bucket count.
+
787  * @param duplicateData Whether to store an internal duplicate of the data.
+
788  */
+
789 Result FSUSER_CreateSystemSaveData(FS_SystemSaveDataInfo info, u32 totalSize, u32 blockSize, u32 directories, u32 files, u32 directoryBuckets, u32 fileBuckets, bool duplicateData);
+
790 
+
791 /**
+
792  * @brief Deletes system save data.
+
793  * @param info Info of the save data.
+
794  */
+
795 Result FSUSER_DeleteSystemSaveData(FS_SystemSaveDataInfo info);
+
796 
+
797 /**
+
798  * @brief Initiates a device move as the source device.
+
799  * @param context Pointer to output the context to.
+
800  */
+
801 Result FSUSER_StartDeviceMoveAsSource(FS_DeviceMoveContext* context);
+
802 
+
803 /**
+
804  * @brief Initiates a device move as the destination device.
+
805  * @param context Context to use.
+
806  * @param clear Whether to clear the device's data first.
+
807  */
+
808 Result FSUSER_StartDeviceMoveAsDestination(FS_DeviceMoveContext context, bool clear);
+
809 
+
810 /**
+
811  * @brief Sets an archive's priority.
812  * @param archive Archive to use.
-
813  */
-
814 Result FSUSER_GetArchivePriority(u32* priority, FS_Archive archive);
-
815 
-
816 /**
-
817  * @brief Configures CTRCARD latency emulation.
-
818  * @param latency Latency to apply, in milliseconds.
-
819  * @param emulateEndurance Whether to emulate card endurance.
-
820  */
-
821 Result FSUSER_SetCtrCardLatencyParameter(u64 latency, bool emulateEndurance);
-
822 
-
823 /**
-
824  * @brief Toggles cleaning up invalid save data.
-
825  * @param Whether to enable cleaning up invalid save data.
-
826  */
-
827 Result FSUSER_SwitchCleanupInvalidSaveData(bool enable);
-
828 
-
829 /**
-
830  * @brief Enumerates system save data.
-
831  * @param idsWritten Pointer to output the number of IDs written to.
-
832  * @param idsSize Size of the IDs buffer.
-
833  * @param ids Pointer to output IDs to.
+
813  * @param priority Priority to set.
+
814  */
+
815 Result FSUSER_SetArchivePriority(FS_Archive archive, u32 priority);
+
816 
+
817 /**
+
818  * @brief Gets an archive's priority.
+
819  * @param priority Pointer to output the priority to.
+
820  * @param archive Archive to use.
+
821  */
+
822 Result FSUSER_GetArchivePriority(u32* priority, FS_Archive archive);
+
823 
+
824 /**
+
825  * @brief Configures CTRCARD latency emulation.
+
826  * @param latency Latency to apply, in milliseconds.
+
827  * @param emulateEndurance Whether to emulate card endurance.
+
828  */
+
829 Result FSUSER_SetCtrCardLatencyParameter(u64 latency, bool emulateEndurance);
+
830 
+
831 /**
+
832  * @brief Toggles cleaning up invalid save data.
+
833  * @param Whether to enable cleaning up invalid save data.
834  */
-
835 Result FSUSER_EnumerateSystemSaveData(u32* idsWritten, u32 idsSize, u64* ids);
+
835 Result FSUSER_SwitchCleanupInvalidSaveData(bool enable);
836 
837 /**
-
838  * @brief Initializes the FSUSER session with an SDK version.
-
839  * @param version SDK version to initialize with.
-
840  */
-
841 Result FSUSER_InitializeWithSdkVersion(u32 version);
-
842 
-
843 /**
-
844  * @brief Sets the file system priority.
-
845  * @param priority Priority to set.
-
846  */
-
847 Result FSUSER_SetPriority(u32 priority);
-
848 
-
849 /**
-
850  * @brief Gets the file system priority.
-
851  * @param priority Pointer to output the priority to.
-
852  */
-
853 Result FSUSER_GetPriority(u32* priority);
-
854 
-
855 /**
-
856  * @brief Sets the save data secure value.
-
857  * @param value Secure value to set.
-
858  * @param slot Slot of the secure value.
-
859  * @param titleUniqueId Unique ID of the title. (default = 0)
-
860  * @param titleVariation Variation of the title. (default = 0)
-
861  */
-
862 Result FSUSER_SetSaveDataSecureValue(u64 value, FS_SecureValueSlot slot, u32 titleUniqueId, u8 titleVariation);
-
863 
-
864 /**
-
865  * @brief Gets the save data secure value.
-
866  * @param exists Pointer to output whether the secure value exists to.
-
867  * @param value Pointer to output the secure value to.
-
868  * @param slot Slot of the secure value.
-
869  * @param titleUniqueId Unique ID of the title. (default = 0)
-
870  * @param titleVariation Variation of the title. (default = 0)
-
871  */
-
872 Result FSUSER_GetSaveDataSecureValue(bool* exists, u64* value, FS_SecureValueSlot slot, u32 titleUniqueId, u8 titleVariation);
-
873 
-
874 /**
-
875  * @brief Performs a control operation on a secure save.
-
876  * @param action Action to perform.
-
877  * @param input Buffer to read input from.
-
878  * @param inputSize Size of the input.
-
879  * @param output Buffer to write output to.
-
880  * @param outputSize Size of the output.
-
881  */
-
882 Result FSUSER_ControlSecureSave(FS_SecureSaveAction action, void* input, u32 inputSize, void* output, u32 outputSize);
-
883 
-
884 /**
-
885  * @brief Gets the media type of the current application.
-
886  * @param mediaType Pointer to output the media type to.
-
887  */
-
888 Result FSUSER_GetMediaType(FS_MediaType* mediaType);
-
889 
-
890 /**
-
891  * @brief Performs a control operation on a file.
-
892  * @param handle Handle of the file.
-
893  * @param action Action to perform.
-
894  * @param input Buffer to read input from.
-
895  * @param inputSize Size of the input.
-
896  * @param output Buffer to write output to.
-
897  * @param outputSize Size of the output.
-
898  */
-
899 Result FSFILE_Control(Handle handle, FS_FileAction action, void* input, u32 inputSize, void* output, u32 outputSize);
-
900 
-
901 /**
-
902  * @brief Opens a handle to a sub-section of a file.
-
903  * @param handle Handle of the file.
-
904  * @param subFile Pointer to output the sub-file to.
-
905  * @param offset Offset of the sub-section.
-
906  * @param size Size of the sub-section.
-
907  */
-
908 Result FSFILE_OpenSubFile(Handle handle, Handle* subFile, u64 offset, u64 size);
-
909 
-
910 /**
-
911  * @brief Reads from a file.
-
912  * @param handle Handle of the file.
-
913  * @param bytesRead Pointer to output the number of bytes read to.
-
914  * @param offset Offset to read from.
-
915  * @param buffer Buffer to read to.
-
916  * @param size Size of the buffer.
-
917  */
-
918 Result FSFILE_Read(Handle handle, u32* bytesRead, u64 offset, void* buffer, u32 size);
-
919 
-
920 /**
-
921  * @brief Writes to a file.
-
922  * @param handle Handle of the file.
-
923  * @param bytesWritten Pointer to output the number of bytes written to.
-
924  * @param offset Offset to write to.
-
925  * @param buffer Buffer to write from.
-
926  * @param size Size of the buffer.
-
927  * @param flags Flags to use when writing.
-
928  */
-
929 Result FSFILE_Write(Handle handle, u32* bytesWritten, u64 offset, const void* buffer, u32 size, u32 flags);
-
930 
-
931 /**
-
932  * @brief Gets the size of a file.
-
933  * @param handle Handle of the file.
-
934  * @param size Pointer to output the size to.
-
935  */
-
936 Result FSFILE_GetSize(Handle handle, u64* size);
-
937 
-
938 /**
-
939  * @brief Sets the size of a file.
-
940  * @param handle Handle of the file.
-
941  * @param size Size to set.
-
942  */
-
943 Result FSFILE_SetSize(Handle handle, u64 size);
-
944 
-
945 /**
-
946  * @brief Gets the attributes of a file.
-
947  * @param handle Handle of the file.
-
948  * @param attributes Pointer to output the attributes to.
-
949  */
-
950 Result FSFILE_GetAttributes(Handle handle, u32* attributes);
-
951 
-
952 /**
-
953  * @brief Sets the attributes of a file.
-
954  * @param handle Handle of the file.
-
955  * @param attributes Attributes to set.
-
956  */
-
957 Result FSFILE_SetAttributes(Handle handle, u32 attributes);
-
958 
-
959 /**
-
960  * @brief Closes a file.
-
961  * @param handle Handle of the file.
-
962  */
-
963 Result FSFILE_Close(Handle handle);
-
964 
-
965 /**
-
966  * @brief Flushes a file's contents.
-
967  * @param handle Handle of the file.
-
968  */
-
969 Result FSFILE_Flush(Handle handle);
-
970 
-
971 /**
-
972  * @brief Sets a file's priority.
-
973  * @param handle Handle of the file.
-
974  * @param priority Priority to set.
-
975  */
-
976 Result FSFILE_SetPriority(Handle handle, u32 priority);
-
977 
-
978 /**
-
979  * @brief Gets a file's priority.
-
980  * @param handle Handle of the file.
-
981  * @param priority Pointer to output the priority to.
-
982  */
-
983 Result FSFILE_GetPriority(Handle handle, u32* priority);
-
984 
-
985 /**
-
986  * @brief Opens a duplicate handle to a file.
-
987  * @param handle Handle of the file.
-
988  * @param linkFile Pointer to output the link handle to.
-
989  */
-
990 Result FSFILE_OpenLinkFile(Handle handle, Handle* linkFile);
-
991 
-
992 /**
-
993  * @brief Performs a control operation on a directory.
-
994  * @param handle Handle of the directory.
-
995  * @param action Action to perform.
-
996  * @param input Buffer to read input from.
-
997  * @param inputSize Size of the input.
-
998  * @param output Buffer to write output to.
-
999  * @param outputSize Size of the output.
-
1000  */
-
1001 Result FSDIR_Control(Handle handle, FS_DirectoryAction action, void* input, u32 inputSize, void* output, u32 outputSize);
-
1002 
-
1003 /**
-
1004  * @brief Reads one or more directory entries.
-
1005  * @param handle Handle of the directory.
-
1006  * @param entriesRead Pointer to output the number of entries read to.
-
1007  * @param entryCount Number of entries to read.
-
1008  * @param entryOut Pointer to output directory entries to.
-
1009  */
-
1010 Result FSDIR_Read(Handle handle, u32* entriesRead, u32 entryCount, FS_DirectoryEntry* entries);
-
1011 
-
1012 /**
-
1013  * @brief Closes a directory.
-
1014  * @param handle Handle of the directory.
-
1015  */
-
1016 Result FSDIR_Close(Handle handle);
-
1017 
-
1018 /**
-
1019  * @brief Sets a directory's priority.
-
1020  * @param handle Handle of the directory.
-
1021  * @param priority Priority to set.
-
1022  */
-
1023 Result FSDIR_SetPriority(Handle handle, u32 priority);
-
1024 
-
1025 /**
-
1026  * @brief Gets a directory's priority.
-
1027  * @param handle Handle of the directory.
-
1028  * @param priority Pointer to output the priority to.
-
1029  */
-
1030 Result FSDIR_GetPriority(Handle handle, u32* priority);
+
838  * @brief Enumerates system save data.
+
839  * @param idsWritten Pointer to output the number of IDs written to.
+
840  * @param idsSize Size of the IDs buffer.
+
841  * @param ids Pointer to output IDs to.
+
842  */
+
843 Result FSUSER_EnumerateSystemSaveData(u32* idsWritten, u32 idsSize, u64* ids);
+
844 
+
845 /**
+
846  * @brief Initializes the FSUSER session with an SDK version.
+
847  * @param version SDK version to initialize with.
+
848  */
+
849 Result FSUSER_InitializeWithSdkVersion(u32 version);
+
850 
+
851 /**
+
852  * @brief Sets the file system priority.
+
853  * @param priority Priority to set.
+
854  */
+
855 Result FSUSER_SetPriority(u32 priority);
+
856 
+
857 /**
+
858  * @brief Gets the file system priority.
+
859  * @param priority Pointer to output the priority to.
+
860  */
+
861 Result FSUSER_GetPriority(u32* priority);
+
862 
+
863 /**
+
864  * @brief Sets the save data secure value.
+
865  * @param value Secure value to set.
+
866  * @param slot Slot of the secure value.
+
867  * @param titleUniqueId Unique ID of the title. (default = 0)
+
868  * @param titleVariation Variation of the title. (default = 0)
+
869  */
+
870 Result FSUSER_SetSaveDataSecureValue(u64 value, FS_SecureValueSlot slot, u32 titleUniqueId, u8 titleVariation);
+
871 
+
872 /**
+
873  * @brief Gets the save data secure value.
+
874  * @param exists Pointer to output whether the secure value exists to.
+
875  * @param value Pointer to output the secure value to.
+
876  * @param slot Slot of the secure value.
+
877  * @param titleUniqueId Unique ID of the title. (default = 0)
+
878  * @param titleVariation Variation of the title. (default = 0)
+
879  */
+
880 Result FSUSER_GetSaveDataSecureValue(bool* exists, u64* value, FS_SecureValueSlot slot, u32 titleUniqueId, u8 titleVariation);
+
881 
+
882 /**
+
883  * @brief Performs a control operation on a secure save.
+
884  * @param action Action to perform.
+
885  * @param input Buffer to read input from.
+
886  * @param inputSize Size of the input.
+
887  * @param output Buffer to write output to.
+
888  * @param outputSize Size of the output.
+
889  */
+
890 Result FSUSER_ControlSecureSave(FS_SecureSaveAction action, void* input, u32 inputSize, void* output, u32 outputSize);
+
891 
+
892 /**
+
893  * @brief Gets the media type of the current application.
+
894  * @param mediaType Pointer to output the media type to.
+
895  */
+
896 Result FSUSER_GetMediaType(FS_MediaType* mediaType);
+
897 
+
898 /**
+
899  * @brief Performs a control operation on a file.
+
900  * @param handle Handle of the file.
+
901  * @param action Action to perform.
+
902  * @param input Buffer to read input from.
+
903  * @param inputSize Size of the input.
+
904  * @param output Buffer to write output to.
+
905  * @param outputSize Size of the output.
+
906  */
+
907 Result FSFILE_Control(Handle handle, FS_FileAction action, void* input, u32 inputSize, void* output, u32 outputSize);
+
908 
+
909 /**
+
910  * @brief Opens a handle to a sub-section of a file.
+
911  * @param handle Handle of the file.
+
912  * @param subFile Pointer to output the sub-file to.
+
913  * @param offset Offset of the sub-section.
+
914  * @param size Size of the sub-section.
+
915  */
+
916 Result FSFILE_OpenSubFile(Handle handle, Handle* subFile, u64 offset, u64 size);
+
917 
+
918 /**
+
919  * @brief Reads from a file.
+
920  * @param handle Handle of the file.
+
921  * @param bytesRead Pointer to output the number of bytes read to.
+
922  * @param offset Offset to read from.
+
923  * @param buffer Buffer to read to.
+
924  * @param size Size of the buffer.
+
925  */
+
926 Result FSFILE_Read(Handle handle, u32* bytesRead, u64 offset, void* buffer, u32 size);
+
927 
+
928 /**
+
929  * @brief Writes to a file.
+
930  * @param handle Handle of the file.
+
931  * @param bytesWritten Pointer to output the number of bytes written to.
+
932  * @param offset Offset to write to.
+
933  * @param buffer Buffer to write from.
+
934  * @param size Size of the buffer.
+
935  * @param flags Flags to use when writing.
+
936  */
+
937 Result FSFILE_Write(Handle handle, u32* bytesWritten, u64 offset, const void* buffer, u32 size, u32 flags);
+
938 
+
939 /**
+
940  * @brief Gets the size of a file.
+
941  * @param handle Handle of the file.
+
942  * @param size Pointer to output the size to.
+
943  */
+
944 Result FSFILE_GetSize(Handle handle, u64* size);
+
945 
+
946 /**
+
947  * @brief Sets the size of a file.
+
948  * @param handle Handle of the file.
+
949  * @param size Size to set.
+
950  */
+
951 Result FSFILE_SetSize(Handle handle, u64 size);
+
952 
+
953 /**
+
954  * @brief Gets the attributes of a file.
+
955  * @param handle Handle of the file.
+
956  * @param attributes Pointer to output the attributes to.
+
957  */
+
958 Result FSFILE_GetAttributes(Handle handle, u32* attributes);
+
959 
+
960 /**
+
961  * @brief Sets the attributes of a file.
+
962  * @param handle Handle of the file.
+
963  * @param attributes Attributes to set.
+
964  */
+
965 Result FSFILE_SetAttributes(Handle handle, u32 attributes);
+
966 
+
967 /**
+
968  * @brief Closes a file.
+
969  * @param handle Handle of the file.
+
970  */
+
971 Result FSFILE_Close(Handle handle);
+
972 
+
973 /**
+
974  * @brief Flushes a file's contents.
+
975  * @param handle Handle of the file.
+
976  */
+
977 Result FSFILE_Flush(Handle handle);
+
978 
+
979 /**
+
980  * @brief Sets a file's priority.
+
981  * @param handle Handle of the file.
+
982  * @param priority Priority to set.
+
983  */
+
984 Result FSFILE_SetPriority(Handle handle, u32 priority);
+
985 
+
986 /**
+
987  * @brief Gets a file's priority.
+
988  * @param handle Handle of the file.
+
989  * @param priority Pointer to output the priority to.
+
990  */
+
991 Result FSFILE_GetPriority(Handle handle, u32* priority);
+
992 
+
993 /**
+
994  * @brief Opens a duplicate handle to a file.
+
995  * @param handle Handle of the file.
+
996  * @param linkFile Pointer to output the link handle to.
+
997  */
+
998 Result FSFILE_OpenLinkFile(Handle handle, Handle* linkFile);
+
999 
+
1000 /**
+
1001  * @brief Performs a control operation on a directory.
+
1002  * @param handle Handle of the directory.
+
1003  * @param action Action to perform.
+
1004  * @param input Buffer to read input from.
+
1005  * @param inputSize Size of the input.
+
1006  * @param output Buffer to write output to.
+
1007  * @param outputSize Size of the output.
+
1008  */
+
1009 Result FSDIR_Control(Handle handle, FS_DirectoryAction action, void* input, u32 inputSize, void* output, u32 outputSize);
+
1010 
+
1011 /**
+
1012  * @brief Reads one or more directory entries.
+
1013  * @param handle Handle of the directory.
+
1014  * @param entriesRead Pointer to output the number of entries read to.
+
1015  * @param entryCount Number of entries to read.
+
1016  * @param entryOut Pointer to output directory entries to.
+
1017  */
+
1018 Result FSDIR_Read(Handle handle, u32* entriesRead, u32 entryCount, FS_DirectoryEntry* entries);
+
1019 
+
1020 /**
+
1021  * @brief Closes a directory.
+
1022  * @param handle Handle of the directory.
+
1023  */
+
1024 Result FSDIR_Close(Handle handle);
+
1025 
+
1026 /**
+
1027  * @brief Sets a directory's priority.
+
1028  * @param handle Handle of the directory.
+
1029  * @param priority Priority to set.
+
1030  */
+
1031 Result FSDIR_SetPriority(Handle handle, u32 priority);
+
1032 
+
1033 /**
+
1034  * @brief Gets a directory's priority.
+
1035  * @param handle Handle of the directory.
+
1036  * @param priority Pointer to output the priority to.
+
1037  */
+
1038 Result FSDIR_GetPriority(Handle handle, u32* priority);
#define PACKED
Packs a struct (and other types?) so it won't include padding bytes.
Definition: types.h:44
u32 reserved2
Reserved.
Definition: fs.h:200
Various system types.
@@ -1133,6 +1141,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
u32 id
Archive ID.
Definition: fs.h:230
u16 reserved1
Reserved.
Definition: fs.h:198
FS_PathType type
FS path type.
Definition: fs.h:222
+
const void * data
Pointer to FS path data.
Definition: fs.h:224
u32 Handle
Resource handle.
Definition: types.h:34
FS archive.
Definition: fs.h:228
Archive resource information.
Definition: fs.h:162
@@ -1140,7 +1149,6 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
uint8_t u8
8-bit unsigned integer
Definition: types.h:14
u64 programId
Program ID.
Definition: fs.h:173
uint64_t u64
64-bit unsigned integer
Definition: types.h:17
-
const u8 * data
Pointer to FS path data.
Definition: fs.h:224
System save data information.
Definition: fs.h:204
u8 valid
Valid flag. (Always 1)
Definition: fs.h:155
u32 saveId
Save ID.
Definition: fs.h:209
diff --git a/functions_d.html b/functions_d.html index 775665f..b65ac1f 100644 --- a/functions_d.html +++ b/functions_d.html @@ -124,7 +124,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
  • data : DVLE_constEntry_s , float24Uniform_s -, FS_Path +, FS_Path
  • data_adpcm : ndspWaveBuf diff --git a/functions_vars_d.html b/functions_vars_d.html index 2a69e51..de4f972 100644 --- a/functions_vars_d.html +++ b/functions_vars_d.html @@ -124,7 +124,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
  • data : DVLE_constEntry_s , float24Uniform_s -, FS_Path +, FS_Path
  • data_adpcm : ndspWaveBuf diff --git a/structFS__Path.html b/structFS__Path.html index ffbaea8..489aaef 100644 --- a/structFS__Path.html +++ b/structFS__Path.html @@ -105,10 +105,10 @@ FS_PathType u32 size  FS path size.
      - -const u8data - Pointer to FS path data.
    -  + +const void * data + Pointer to FS path data.

    Detailed Description

    FS path.