/** * @file fs_dev.h * @brief FS driver. */ #pragma once #include //NOTE: This is currently not usable. #define FSDEV_DIRITER_MAGIC 0x66736476 /* "fsdv" */ /*! Open directory struct */ typedef struct { u32 magic; /*! "fsdv" */ FsDir fd; ssize_t index; /*! Current entry index */ size_t size; /*! Current batch size */ FsDirectoryEntry entry_data[32]; /*! Temporary storage for reading entries */ } fsdev_dir_t; /// Initializes the FS driver. Automatically initializes the sdmc device if accessible. If called again, sdmc mounting will be attempted again if it's not mounted. Result fsdevInit(void); /// Exits the FS driver. Any devices still mounted are unmounted. Result fsdevExit(void); /// Mounts the input fs with the specified device name. fsdev will handle closing the fs when required, including when fsdevMountDevice() fails. /// Returns -1 when any errors occur. int fsdevMountDevice(const char *name, FsFileSystem fs); /// Unmounts the specified device. int fsdevUnmountDevice(const char *name); /// Uses fsFsCommit() with the specified device. This must be used after any savedata-write operations(not just file-write). /// This is not used automatically at device unmount. Result fsdevCommitDevice(const char *name);