/*---------------------------------------------------------------------------* Copyright (C) Nintendo. All rights reserved. These coded instructions, statements, and computer programs contain proprietary information of Nintendo of America Inc. and/or Nintendo Company Ltd., and are protected by Federal copyright law. They may not be disclosed to third parties or copied or duplicated in any form, in whole or in part, without the prior written consent of Nintendo. *---------------------------------------------------------------------------*/ #ifndef NN_TEMP_TEMP_API_H_ #define NN_TEMP_TEMP_API_H_ #include #include #ifdef __cplusplus extern "C" { #endif /*! @ingroup nn_temp @defgroup nn_temp_api Temporary Directory (TEMP) API @brief A list of TEMP library members. (Includes only C API members.)) @{ */ /*! @brief Initializes the TEMP library. The TEMPInit function always succeeds. @return Returns the result of the function. @retval TEMP_STATUS_OK The process ended normally. */ TEMPStatus TEMPInit(void); /*! @brief Shuts down the TEMP library. The time it takes for the TEMPShutdown function to complete varies depending on the number and size of files created in the TEMP directory in addition to the structure of the directory. @return None. */ void TEMPShutdown(void); /*! @brief Creates and initializes the TEMP directory. The maxSize and pref parameters are used to select the target device where the system creates the region for the temporary directory. @param[in] maxSize Specifies the maximum size (in bytes) for the total size of all files that the application might store in the temporary directory. The maximum value of this parameter is 4,294,967,295 bytes. This value is used when selecting the storage device where the system creates the region for the TEMP directory. @param[in] pref The setting for selecting the target device when the system creates the temporary directory. This value is used when selecting the storage device where the system creates the region for the TEMP directory. @param[out] pDirID Pointer fo the ID of the TEMP directory. @return Returns the result of the function. @retval TEMP_STATUS_OK The process ended normally. @retval TEMP_STATUS_EXISTS That temporary directory already exists. @retval TEMP_STATUS_STORAGE_FULL Indicates that a data region for updating the directory tree cannot be allocated. @retval TEMP_STATUS_INVALID_PARAM Invalid parameter. @retval TEMP_STATUS_FATAL_ERROR The library is not initialized. */ TEMPStatus TEMPCreateAndInitTempDir( u32 maxSize, TEMPDevicePreference pref, TEMPDirID *pDirID ); /*! @brief Deletes the TEMP directory, including all of its contents. The time it takes for the TEMPShutdownTempDir function to complete varies depending on the number and size of files created in the TEMP directory and the structure of the directory. @param[in] dirID The TEMP directory ID. @return Returns the result of the function. @retval TEMP_STATUS_OK The process ended normally. @retval TEMP_STATUS_ALREADY_OPEN The TEMP directory cannot be deleted because one or more of its files or directories is still open. @retval TEMP_STATUS_FATAL_ERROR The library is not initialized. */ TEMPStatus TEMPShutdownTempDir( TEMPDirID dirID ); /*! @brief Gets the amount of free space remaining in the temporary directory. @param[in] pClient Pointer to the client buffer. @param[in] pCmd The command block. @param[in] dirID The TEMP directory ID. @param[out] pSize Amount of free space, in bytes. @param[in] errHandling Flag for automatic error handling. Only reported errors are returned. @return Returns the result of the function. @retval TEMP_STATUS_OK The process ended normally. @retval TEMP_STATUS_CANCELED The command was canceled. @retval TEMP_STATUS_NOT_FOUND Target not found. @retval TEMP_STATUS_PERMISSION_ERROR The caller does not have the appropriate access permissions. */ TEMPStatus TEMPGetFreeSpaceSize( FSClient *pClient, FSCmdBlock *pCmd, TEMPDirID dirID, FSFreeSpaceSize *pSize, FSRetFlag errHandling ); /*! @brief Gets the amount of free space remaining in the temporary directory. (Asynchronous version.) @param[in] pClient Pointer to the client buffer. @param[in] pCmd The command block. @param[in] dirID The TEMP directory ID. @param[out] pSize Amount of free space, in bytes. @param[in] errHandling Flag for automatic error handling. Only reported errors are returned. @param[in] pAsyncParams Notification parameters for asynchronous calls. @return Returns the function execution result using a callback. @retval TEMP_STATUS_OK The process ended normally. @retval TEMP_STATUS_CANCELED The command was canceled. @retval TEMP_STATUS_NOT_FOUND Target not found. @retval TEMP_STATUS_PERMISSION_ERROR The caller does not have the appropriate access permissions. @return Immediate return values for asynchronous API functions. @retval TEMP_STATUS_OK The request was issued normally. @retval TEMP_STATUS_FATAL_ERROR Invalid parameter. */ TEMPStatus TEMPGetFreeSpaceSizeAsync( FSClient *pClient, FSCmdBlock *pCmd, TEMPDirID dirID, FSFreeSpaceSize *pSize, FSRetFlag errHandling, const FSAsyncParams *pAsyncParams ); /*! @brief Opens a file. @param[in] pClient Pointer to the client buffer. @param[in] pCmd The command block. @param[in] dirID The TEMP directory ID. @param[in] path The relative path from the root path of the temporary directory specified by the TEMP directory ID. The length must be less than FS_MAX_ARGPATH_SIZE. @param[in] mode A short string parameter that specifies the access mode. The length must be less than FS_MAX_MODE_SIZE. The following values can be specified with the parameter.
"r" : Opens a file for reading. The file must exist already.
"w" : Creates an empty file for writing. If a file with the same name already exists, the content is erased and the file is treated as a new, empty file.
"a" : Adds data to a file. When writing, data is added to the end of the file. If the file does not exist, it is created.
"r+" : Opens a file for reading and writing so it can be updated. The specified file must exist already.
"w+" : Creates an empty file for reading and writing. If a file with the same name already exists, the content is erased and the file is treated as a new, empty file.
"a+" : Opens a file for reading and adding data. All writing is done to the end of the file to prevent the previous content from being overwritten. The internal pointer can be relocated to any position in the file when reading, but it gets returned to the end of the file when writing. If the file does not exist, it is created. @param[out] pFileHandle Pointer to the file stream handle associated with the file being opened. @param[in] errHandling Flag for automatic error handling. Only reported errors are returned. @return Returns the result of the function. @retval TEMP_STATUS_OK The process ended normally. @retval TEMP_STATUS_CANCELED The command was canceled. @retval TEMP_STATUS_ALREADY_OPEN This file is already open. Attempted to open the file using an invalid procedure. @retval TEMP_STATUS_NOT_FOUND Target not found. @retval TEMP_STATUS_NOT_FILE The specified path is not a file path (not a file). @retval TEMP_STATUS_MAX No more files can be created because the number of system file points is too large. @retval TEMP_STATUS_PERMISSION_ERROR The caller does not have the appropriate access permissions. @retval TEMP_STATUS_STORAGE_FULL Indicates that a data region for updating the directory tree cannot be allocated. */ TEMPStatus TEMPOpenFile( FSClient *pClient, FSCmdBlock *pCmd, TEMPDirID dirID, const char *path, const char *mode, FSFileHandle *pFileHandle, FSRetFlag errHandling ); /*! @brief Opens a file. @param[in] pClient Pointer to the client buffer. @param[in] pCmd The command block. @param[in] dirID The TEMP directory ID. @param[in] path The relative path from the root path of the temporary directory specified by the TEMP directory ID. The length must be less than FS_MAX_ARGPATH_SIZE. @param[in] mode A short string parameter that specifies the access mode. The length must be less than FS_MAX_MODE_SIZE. The following values can be specified with the parameter.
"r" : Opens a file for reading. The file must exist already.
"w" : Creates an empty file for writing. If a file with the same name already exists, the content is erased and the file is treated as a new, empty file.
"a" : Adds data to a file. When writing, data is added to the end of the file. If the file does not exist, it is created.
"r+" : Opens a file for reading and writing so it can be updated. The specified file must exist already.
"w+" : Creates an empty file for reading and writing. If a file with the same name already exists, the content is erased and the file is treated as a new, empty file.
"a+" : Opens a file for reading and adding data. All writing is done to the end of the file to prevent the previous content from being overwritten. The internal pointer can be relocated to any position in the file when reading, but it gets returned to the end of the file when writing. If the file does not exist, it is created. @param[out] pFileHandle Pointer to the file stream handle associated with the file being opened. @param[in] errHandling Flag for automatic error handling. Only reported errors are returned. @param[in] pAsyncParams Notification parameters for asynchronous calls. @return Returns the function execution result using a callback. @retval TEMP_STATUS_OK The process ended normally. @retval TEMP_STATUS_CANCELED The command was canceled. @retval TEMP_STATUS_ALREADY_OPEN This file is already open. Attempted to open the file using an invalid procedure. @retval TEMP_STATUS_NOT_FOUND Target not found. @retval TEMP_STATUS_NOT_FILE The specified path is not a file path (not a file). @retval TEMP_STATUS_MAX No more files can be created because the number of system file points is too large. @retval TEMP_STATUS_PERMISSION_ERROR The caller does not have the appropriate access permissions. @retval TEMP_STATUS_STORAGE_FULL Indicates that a data region for updating the directory tree cannot be allocated. @return Immediate return values for asynchronous API functions. @retval TEMP_STATUS_OK The request was issued normally. @retval TEMP_STATUS_FATAL_ERROR Invalid parameter. */ TEMPStatus TEMPOpenFileAsync( FSClient *pClient, FSCmdBlock *pCmd, TEMPDirID dirID, const char *path, const char *mode, FSFileHandle *pFileHandle, FSRetFlag errHandling, const FSAsyncParams *pAsyncParams ); /*! @brief Opens and appends a new file to the TEMP directory. This function has not yet been fully implemented, so it currently returns TEMP_STATUS_UNSUPPORTED_CMD. @param[in] pClient Pointer to the client buffer. @param[in] pCmd The command block. @param[in] dirID The TEMP directory ID. @param[in] path The relative path from the root path of the temporary directory specified by the TEMP directory ID. The length must be less than FS_MAX_ARGPATH_SIZE. @param[in] mode A short string parameter that specifies the access mode. The length must be less than FS_MAX_MODE_SIZE. The following values can be specified with the parameter.
"r" : Opens a file for reading. The file must exist already.
"w" : Creates an empty file for writing. If a file with the same name already exists, the content is erased and the file is treated as a new, empty file.
"a" : Adds data to a file. When writing, data is added to the end of the file. If the file does not exist, it is created.
"r+" : Opens a file for reading and writing so it can be updated. The specified file must exist already.
"w+" : Creates an empty file for reading and writing. If a file with the same name already exists, the content is erased and the file is treated as a new, empty file.
"a+" : Opens a file for reading and adding data. All writing is done to the end of the file to prevent the previous content from being overwritten. The internal pointer can be relocated to any position in the file when reading, but it gets returned to the end of the file when writing. If the file does not exist, it is created. @param[out] pFileHandle Pointer to the file stream handle associated with the file being opened. @param[in] errHandling Flag for automatic error handling. Only reported errors are returned. @return Returns the result of the function. @retval TEMP_STATUS_OK The process ended normally. @retval TEMP_STATUS_CANCELED The command was canceled. @retval TEMP_STATUS_ALREADY_OPEN This file is already open. Attempted to open the file using an invalid procedure. @retval TEMP_STATUS_NOT_FOUND Target not found. @retval TEMP_STATUS_NOT_FILE The specified path is not a file path (not a file). @retval TEMP_STATUS_MAX No more files can be created because the number of system file points is too large. @retval TEMP_STATUS_PERMISSION_ERROR The caller does not have the appropriate access permissions. @retval TEMP_STATUS_STORAGE_FULL Indicates that a data region for updating the directory tree cannot be allocated. */ TEMPStatus TEMPOpenNewFile( FSClient *pClient, FSCmdBlock *pCmd, TEMPDirID dirID, const char *path, const char *mode, u32 size, FSFileHandle *pFileHandle, FSRetFlag errHandling ); /*! @brief Opens and appends a new file to the TEMP directory. This function has not yet been fully implemented, so it currently returns TEMP_STATUS_UNSUPPORTED_CMD. @param[in] pClient Pointer to the client buffer. @param[in] pCmd The command block. @param[in] dirID The TEMP directory ID. @param[in] path The relative path from the root path of the temporary directory specified by the TEMP directory ID. The length must be less than FS_MAX_ARGPATH_SIZE. @param[in] mode A short string parameter that specifies the access mode. The length must be less than FS_MAX_MODE_SIZE. The following values can be specified with the parameter.
"r" : Opens a file for reading. The file must exist already.
"w" : Creates an empty file for writing. If a file with the same name already exists, the content is erased and the file is treated as a new, empty file.
"a" : Adds data to a file. When writing, data is added to the end of the file. If the file does not exist, it is created.
"r+" : Opens a file for reading and writing so it can be updated. The specified file must exist already.
"w+" : Creates an empty file for reading and writing. If a file with the same name already exists, the content is erased and the file is treated as a new, empty file.
"a+" : Opens a file for reading and adding data. All writing is done to the end of the file to prevent the previous content from being overwritten. The internal pointer can be relocated to any position in the file when reading, but it gets returned to the end of the file when writing. If the file does not exist, it is created. @param[out] pFileHandle Pointer to the file stream handle associated with the file being opened. @param[in] errHandling Flag for automatic error handling. Only reported errors are returned. @param[in] pAsyncParams Notification parameters for asynchronous calls. @return Returns the result of the function. @retval TEMP_STATUS_OK The process ended normally. @retval TEMP_STATUS_CANCELED The command was canceled. @retval TEMP_STATUS_ALREADY_OPEN This file is already open. Attempted to open the file using an invalid procedure. @retval TEMP_STATUS_NOT_FOUND Target not found. @retval TEMP_STATUS_NOT_FILE The specified path is not a file path (not a file). @retval TEMP_STATUS_MAX No more files can be created because the number of system file points is too large. @retval TEMP_STATUS_PERMISSION_ERROR The caller does not have the appropriate access permissions. @retval TEMP_STATUS_STORAGE_FULL Indicates that a data region for updating the directory tree cannot be allocated. @return Immediate return values for asynchronous API functions. @retval TEMP_STATUS_OK The request was issued normally. @retval TEMP_STATUS_FATAL_ERROR Invalid parameter. */ TEMPStatus TEMPOpenNewFileAsync( FSClient *pClient, FSCmdBlock *pCmd, TEMPDirID dirID, const char *path, const char *mode, u32 size, FSFileHandle *pFileHandle, FSRetFlag errHandling, const FSAsyncParams *pAsyncParams ); /*! @brief Opens a directory and creates a directory stream. @param[in] pClient Pointer to the client buffer. @param[in] pCmd The command block. @param[in] dirID The TEMP directory ID. @param[in] path The relative path from the root path of the temporary directory specified by the TEMP directory ID. The length must be less than FS_MAX_ARGPATH_SIZE. @param[out] pDirHandle Pointer to the directory stream handle associated with the directory being opened. @param[in] errHandling Flag for automatic error handling. Only reported errors are returned. @return Returns the result of the function. @retval TEMP_STATUS_OK The process ended normally. @retval TEMP_STATUS_CANCELED The command was canceled. @retval TEMP_STATUS_NOT_FOUND Target not found. @retval TEMP_STATUS_NOT_DIR The specified path is not a directory path (not a directory). @retval TEMP_STATUS_PERMISSION_ERROR The caller does not have the appropriate access permissions. */ TEMPStatus TEMPOpenDir( FSClient *pClient, FSCmdBlock *pCmd, TEMPDirID dirID, const char *path, FSDirHandle *pDirHandle, FSRetFlag errHandling ); /*! @brief Opens a directory and creates a directory stream. @param[in] pClient Pointer to the client buffer. @param[in] pCmd The command block. @param[in] dirID The TEMP directory ID. @param[in] path The relative path from the root path of the temporary directory specified by the TEMP directory ID. The length must be less than FS_MAX_ARGPATH_SIZE. @param[out] pDirHandle Pointer to the directory stream handle associated with the directory being opened. @param[in] errHandling Flag for automatic error handling. Only reported errors are returned. @param[in] pAsyncParams Notification parameters for asynchronous calls. @return Returns the function execution result using a callback. @retval TEMP_STATUS_OK The process ended normally. @retval TEMP_STATUS_CANCELED The command was canceled. @retval TEMP_STATUS_NOT_FOUND Target not found. @retval TEMP_STATUS_NOT_DIR The specified path is not a directory path (not a directory). @retval TEMP_STATUS_PERMISSION_ERROR The caller does not have the appropriate access permissions. @return Immediate return values for asynchronous API functions. @retval TEMP_STATUS_OK The request was issued normally. @retval TEMP_STATUS_FATAL_ERROR Invalid parameter. */ TEMPStatus TEMPOpenDirAsync( FSClient *pClient, FSCmdBlock *pCmd, TEMPDirID dirID, const char *path, FSDirHandle *pDirHandle, FSRetFlag errHandling, const FSAsyncParams *pAsyncParams ); /*! @brief Creates a directory. @param[in] pClient Pointer to the client buffer. @param[in] pCmd The command block. @param[in] dirID The TEMP directory ID. @param[in] path The relative path from the root path of the temporary directory specified by the TEMP directory ID. The length must be less than FS_MAX_ARGPATH_SIZE. @param[in] errHandling Flag for automatic error handling. Only reported errors are returned. @return Returns the result of the function. @retval TEMP_STATUS_OK The process ended normally. @retval TEMP_STATUS_CANCELED The command was canceled. @retval TEMP_STATUS_EXISTS A directory with the target path already exists. @retval TEMP_STATUS_NOT_FOUND Target not found. @retval TEMP_STATUS_PERMISSION_ERROR The caller does not have the appropriate access permissions. @retval TEMP_STATUS_STORAGE_FULL Indicates that a data region for updating the directory tree cannot be allocated. @retval TEMP_STATUS_JOURNAL_FULL The journaling region is full. A new journaling block cannot be allocated. */ TEMPStatus TEMPMakeDir( FSClient *pClient, FSCmdBlock *pCmd, TEMPDirID dirID, const char *path, FSRetFlag errHandling ); /*! @brief Creates a directory. @param[in] pClient Pointer to the client buffer. @param[in] pCmd The command block. @param[in] dirID The TEMP directory ID. @param[in] path The relative path from the root path of the temporary directory specified by the TEMP directory ID. The length must be less than FS_MAX_ARGPATH_SIZE. @param[in] errHandling Flag for automatic error handling. Only reported errors are returned. @param[in] pAsyncParams Notification parameters for asynchronous calls. @return Returns the function execution result using a callback. @retval TEMP_STATUS_OK The process ended normally. @retval TEMP_STATUS_CANCELED The command was canceled. @retval TEMP_STATUS_EXISTS A directory with the target path already exists. @retval TEMP_STATUS_NOT_FOUND Target not found. @retval TEMP_STATUS_PERMISSION_ERROR The caller does not have the appropriate access permissions. @retval TEMP_STATUS_STORAGE_FULL Indicates that a data region for updating the directory tree cannot be allocated. @retval TEMP_STATUS_JOURNAL_FULL The journaling region is full. A new journaling block cannot be allocated. @return Immediate return values for asynchronous API functions. @retval TEMP_STATUS_OK The request was issued normally. @retval TEMP_STATUS_FATAL_ERROR Invalid parameter. */ TEMPStatus TEMPMakeDirAsync( FSClient *pClient, FSCmdBlock *pCmd, TEMPDirID dirID, const char *path, FSRetFlag errHandling, const FSAsyncParams *pAsyncParams ); /*! @brief Removes the target object. @param[in] pClient Pointer to the client buffer. @param[in] pCmd The command block. @param[in] dirID The TEMP directory ID. @param[in] path Path of the file or directory to delete. This path is the relative path from the root path of the temporary directory specified by the TEMP directory ID. The length must be less than FS_MAX_ARGPATH_SIZE. @param[in] errHandling Flag for automatic error handling. Only reported errors are returned. @return Returns the result of the function. @retval TEMP_STATUS_OK The process ended normally. @retval TEMP_STATUS_CANCELED The command was canceled. @retval TEMP_STATUS_NOT_FOUND Target not found. @retval TEMP_STATUS_PERMISSION_ERROR The caller does not have the appropriate access permissions. @retval TEMP_STATUS_ALREADY_OPEN The file or directory with the specified path is still open. @retval TEMP_STATUS_STORAGE_FULL Indicates that a data region for updating the directory tree cannot be allocated. @retval TEMP_STATUS_JOURNAL_FULL The journaling region is full. A new journaling block cannot be allocated. */ TEMPStatus TEMPRemove( FSClient *pClient, FSCmdBlock *pCmd, TEMPDirID dirID, const char *path, FSRetFlag errHandling ); /*! @brief Removes the target object. @param[in] pClient Pointer to the client buffer. @param[in] pCmd The command block. @param[in] dirID The TEMP directory ID. @param[in] path Path of the file or directory to delete. This path is the relative path from the root path of the temporary directory specified by the TEMP directory ID. The length must be less than FS_MAX_ARGPATH_SIZE. @param[in] errHandling Flag for automatic error handling. Only reported errors are returned. @param[in] pAsyncParams Notification parameters for asynchronous calls. @return Returns the function execution result using a callback. @retval TEMP_STATUS_OK The process ended normally. @retval TEMP_STATUS_CANCELED The command was canceled. @retval TEMP_STATUS_NOT_FOUND Target not found. @retval TEMP_STATUS_PERMISSION_ERROR The caller does not have the appropriate access permissions. @retval TEMP_STATUS_ALREADY_OPEN The file or directory with the specified path is still open. @retval TEMP_STATUS_STORAGE_FULL Indicates that a data region for updating the directory tree cannot be allocated. @retval TEMP_STATUS_JOURNAL_FULL The journaling region is full. A new journaling block cannot be allocated. @return Immediate return values for asynchronous API functions. @retval TEMP_STATUS_OK The request was issued normally. @retval TEMP_STATUS_FATAL_ERROR Invalid parameter. */ TEMPStatus TEMPRemoveAsync( FSClient *pClient, FSCmdBlock *pCmd, TEMPDirID dirID, const char *path, FSRetFlag errHandling, const FSAsyncParams *pAsyncParams ); /*! @brief Modifies the name of the target object. @param[in] pClient Pointer to the client buffer. @param[in] pCmd The command block. @param[in] dirID The TEMP directory ID. @param[in] oldPath Path of the file or directory whose name is being changed. This path is the relative path from the root path of the temporary directory specified by the TEMP directory ID. The length must be less than FS_MAX_ARGPATH_SIZE. @param[in] newPath The new path to the new file or directory This path is the relative path from the root path of the temporary directory specified by the TEMP directory ID. The length must be less than FS_MAX_ARGPATH_SIZE. @param[in] errHandling Flag for automatic error handling. Only reported errors are returned. @return Returns the result of the function. @retval TEMP_STATUS_OK The process ended normally. @retval TEMP_STATUS_CANCELED The command was canceled. @retval TEMP_STATUS_NOT_FOUND Target not found. @retval TEMP_STATUS_PERMISSION_ERROR The caller does not have the appropriate access permissions. @retval TEMP_STATUS_ALREADY_OPEN One or more files or directories in the source path or path to modify is already open. @retval TEMP_STATUS_STORAGE_FULL Indicates that a data region for updating the directory tree cannot be allocated. @retval TEMP_STATUS_JOURNAL_FULL The journaling region is full. A new journaling block cannot be allocated. */ TEMPStatus TEMPRename( FSClient *pClient, FSCmdBlock *pCmd, TEMPDirID dirID, const char *oldPath, const char *newPath, FSRetFlag errHandling ); /*! @brief Modifies the name of the target object. @param[in] pClient Pointer to the client buffer. @param[in] pCmd The command block. @param[in] dirID The TEMP directory ID. @param[in] oldPath Path of the file or directory whose name is being changed. This path is the relative path from the root path of the temporary directory specified by the TEMP directory ID. The length must be less than FS_MAX_ARGPATH_SIZE. @param[in] newPath The new path to the new file or directory This path is the relative path from the root path of the temporary directory specified by the TEMP directory ID. The length must be less than FS_MAX_ARGPATH_SIZE. @param[in] errHandling Flag for automatic error handling. Only reported errors are returned. @param[in] pAsyncParams Notification parameters for asynchronous calls. @return Returns the function execution result using a callback. @retval TEMP_STATUS_OK The process ended normally. @retval TEMP_STATUS_CANCELED The command was canceled. @retval TEMP_STATUS_NOT_FOUND Target not found. @retval TEMP_STATUS_PERMISSION_ERROR The caller does not have the appropriate access permissions. @retval TEMP_STATUS_ALREADY_OPEN One or more files or directories in the source path or path to modify is already open. @retval TEMP_STATUS_STORAGE_FULL Indicates that a data region for updating the directory tree cannot be allocated. @retval TEMP_STATUS_JOURNAL_FULL The journaling region is full. A new journaling block cannot be allocated. @return Immediate return values for asynchronous API functions. @retval TEMP_STATUS_OK The request was issued normally. @retval TEMP_STATUS_FATAL_ERROR Invalid parameter. */ TEMPStatus TEMPRenameAsync( FSClient *pClient, FSCmdBlock *pCmd, TEMPDirID dirID, const char *oldPath, const char *newPath, FSRetFlag errHandling, const FSAsyncParams *pAsyncParams ); /*! @brief Gets the Stat information for the target. @param[in] pClient Pointer to the client buffer. @param[in] pCmd The command block. @param[in] dirID The TEMP directory ID. @param[in] path The file path to follow to get the status information. This path is the relative path from the root path of the temporary directory specified by the TEMP directory ID. The length must be less than FS_MAX_ARGPATH_SIZE. @param[out] *pReturnedStat Pointer to the status information. @param[in] errHandling Flag for automatic error handling. Only reported errors are returned. @return Returns the result of the function. @retval TEMP_STATUS_OK The process ended normally. @retval TEMP_STATUS_CANCELED The command was canceled. @retval TEMP_STATUS_NOT_FOUND Target not found. @retval TEMP_STATUS_FATAL_ERROR Invalid parameter or the library is not initialized. */ TEMPStatus TEMPGetStat( FSClient *pClient, FSCmdBlock *pCmd, TEMPDirID dirID, const char *path, FSStat *pReturnedStat, FSRetFlag errHandling ); /*! @brief Gets the Stat information for the target. @param[in] pClient Pointer to the client buffer. @param[in] pCmd The command block. @param[in] dirID The TEMP directory ID. @param[in] path The file path to follow to get the status information. This path is the relative path from the root path of the temporary directory specified by the TEMP directory ID. The length must be less than FS_MAX_ARGPATH_SIZE. @param[out] *pReturnedStat Pointer to the status information. @param[in] errHandling Flag for automatic error handling. Only reported errors are returned. @param[in] pAsyncParams Notification parameters for asynchronous calls. @return Returns the function execution result using a callback. @retval TEMP_STATUS_OK The process ended normally. @retval TEMP_STATUS_CANCELED The command was canceled. @retval TEMP_STATUS_NOT_FOUND Target not found. @retval TEMP_STATUS_FATAL_ERROR Invalid parameter or the library is not initialized. @return Immediate return values for asynchronous API functions. @retval TEMP_STATUS_OK The request was issued normally. @retval TEMP_STATUS_FATAL_ERROR Invalid parameter. */ TEMPStatus TEMPGetStatAsync( FSClient *pClient, FSCmdBlock *pCmd, TEMPDirID dirID, const char *path, FSStat *pReturnedStat, FSRetFlag errHandling, const FSAsyncParams *pAsyncParams ); /*! @brief Changes the current directory. @param[in] pClient Pointer to the client buffer. @param[in] pCmd The command block. @param[in] dirID The TEMP directory ID. @param[in] path The path to the directory to change the current directory to. This path is the relative path from the root path of the temporary directory specified by the TEMP directory ID. The length must be less than FS_MAX_ARGPATH_SIZE. @param[in] errHandling Flag for automatic error handling. Only reported errors are returned. @return Returns the result of the function. @retval TEMP_STATUS_OK The process ended normally. @retval TEMP_STATUS_CANCELED The command was canceled. */ TEMPStatus TEMPChangeDir( FSClient *pClient, FSCmdBlock *pCmd, TEMPDirID dirID, const char *path, FSRetFlag errHandling ); /*! @brief Changes the current directory. @param[in] pClient Pointer to the client buffer. @param[in] pCmd The command block. @param[in] dirID The TEMP directory ID. @param[in] path The path to the directory to change the current directory to. This path is the relative path from the root path of the temporary directory specified by the TEMP directory ID. The length must be less than FS_MAX_ARGPATH_SIZE. @param[in] errHandling Flag for automatic error handling. Only reported errors are returned. @param[in] pAsyncParams Notification parameters for asynchronous calls. @return Returns the function execution result using a callback. @retval TEMP_STATUS_OK The process ended normally. @retval TEMP_STATUS_CANCELED The command was canceled. @return Immediate return values for asynchronous API functions. @retval TEMP_STATUS_OK The request was issued normally. @retval TEMP_STATUS_FATAL_ERROR Invalid parameter. */ TEMPStatus TEMPChangeDirAsync( FSClient *pClient, FSCmdBlock *pCmd, TEMPDirID dirID, const char *path, FSRetFlag errHandling, const FSAsyncParams *pAsyncParams ); //! @} #ifdef __cplusplus } #endif #endif // NN_TEMP_TEMP_API_H_