wut/include/nn/temp/temp.h
GaryOderNichts 2c98cc91aa
Some checks failed
C/C++ CI / ubuntu-latest (push) Has been cancelled
Run clang-format
`find . -regex '.*\.\(cpp\|hpp\|cu\|cuh\|c\|h\)' -exec clang-format -style=file -i {} \;`
2025-06-05 11:06:04 +01:00

221 lines
5.3 KiB
C

#pragma once
#include <wut.h>
#include <coreinit/filesystem.h>
#ifdef __cplusplus
extern "C" {
#endif
typedef enum TEMPTargetPreference
{
//! Use whichever target has more available space
TEMP_PREF_DEFAULT = 0,
//! Always prefer USB
TEMP_PREF_USB = 1,
} TEMPTargetPreference;
typedef uint64_t TEMPDirId;
FSStatus
TEMPInit();
void
TEMPShutdown();
FSStatus
TEMPCreateAndInitTempDir(uint32_t maxSize,
TEMPTargetPreference pref,
TEMPDirId *outDir);
FSStatus
TEMPShutdownTempDir(TEMPDirId tempId);
FSStatus
TEMPGetDirGlobalPath(TEMPDirId dirId,
char *path,
uint32_t pathLen);
FSStatus
TEMPGetDirPath(TEMPDirId dirId,
char *path,
uint32_t pathLen);
FSStatus
TEMPChangeDir(FSClient *client,
FSCmdBlock *block,
TEMPDirId dirId,
const char *path,
FSErrorFlag errorMask);
FSStatus
TEMPChangeDirAsync(FSClient *client,
FSCmdBlock *block,
TEMPDirId dirId,
const char *path,
FSErrorFlag errorMask,
FSAsyncData *asyncData);
/*
* Only FS_MODE_READ_OTHER can be set
*/
FSStatus
TEMPChangeOthersMode(FSClient *client,
FSCmdBlock *block,
TEMPDirId dirId,
const char *path,
FSMode mode,
FSErrorFlag errorMask);
/*
* Only FS_MODE_READ_OTHER can be set
*/
FSStatus
TEMPChangeOthersModeAsync(FSClient *client,
FSCmdBlock *block,
TEMPDirId dirId,
const char *path,
FSMode mode,
FSErrorFlag errorMask,
FSAsyncData *asyncData);
FSStatus
TEMPGetFreeSpaceSize(FSClient *client,
FSCmdBlock *block,
TEMPDirId dirId,
uint64_t *outSize,
FSErrorFlag errorMask);
FSStatus
TEMPGetFreeSpaceSizeAsync(FSClient *client,
FSCmdBlock *block,
TEMPDirId dirId,
uint64_t *outSize,
FSErrorFlag errorMask,
FSAsyncData *asyncData);
FSStatus
TEMPGetStat(FSClient *client,
FSCmdBlock *block,
TEMPDirId dirId,
const char *path,
FSStat *stat,
FSErrorFlag errorMask);
FSStatus
TEMPGetStatAsync(FSClient *client,
FSCmdBlock *block,
TEMPDirId dirId,
const char *path,
FSStat *stat,
FSErrorFlag errorMask,
FSAsyncData *asyncData);
FSStatus
TEMPMakeDir(FSClient *client,
FSCmdBlock *block,
TEMPDirId dirId,
const char *path,
FSErrorFlag errorMask);
FSStatus
TEMPMakeDirAsync(FSClient *client,
FSCmdBlock *block,
TEMPDirId dirId,
const char *path,
FSErrorFlag errorMask,
FSAsyncData *asyncData);
FSStatus
TEMPOpenDir(FSClient *client,
FSCmdBlock *block,
TEMPDirId dirId,
const char *path,
FSDirectoryHandle *handle,
FSErrorFlag errorMask);
FSStatus
TEMPOpenDirAsync(FSClient *client,
FSCmdBlock *block,
TEMPDirId dirId,
const char *path,
FSDirectoryHandle *handle,
FSErrorFlag errorMask,
FSAsyncData *asyncData);
FSStatus
TEMPOpenFile(FSClient *client,
FSCmdBlock *block,
TEMPDirId dirId,
const char *path,
const char *mode,
FSFileHandle *handle,
FSErrorFlag errorMask);
FSStatus
TEMPOpenFileAsync(FSClient *client,
FSCmdBlock *block,
TEMPDirId dirId,
const char *path,
const char *mode,
FSFileHandle *outHandle,
FSErrorFlag errorMask,
FSAsyncData *asyncData);
FSStatus
TEMPRemove(FSClient *client,
FSCmdBlock *block,
TEMPDirId dirId,
const char *path,
FSErrorFlag errorMask);
FSStatus
TEMPRemoveAsync(FSClient *client,
FSCmdBlock *block,
TEMPDirId dirId,
const char *path,
FSErrorFlag errorMask,
FSAsyncData *asyncData);
FSStatus
TEMPRename(FSClient *client,
FSCmdBlock *block,
TEMPDirId dirId,
const char *oldPath,
const char *newPath,
FSErrorFlag errorMask);
FSStatus
TEMPRenameAsync(FSClient *client,
FSCmdBlock *block,
TEMPDirId dirId,
const char *oldPath,
const char *newPath,
FSErrorFlag errorMask,
FSAsyncData *asyncData);
FSStatus
TEMPMountTempDir(TEMPDirId dirId);
FSStatus
TEMPUnmountTempDir(TEMPDirId dirId);
/**
* Always returns FS_STATUS_UNSUPPORTED_CMD
*/
FSStatus
TEMPOpenNewFile();
/**
* Always returns FS_STATUS_UNSUPPORTED_CMD
*/
FSStatus
TEMPOpenNewFileAsync();
#ifdef __cplusplus
}
#endif
/** @} */