1#![doc(alias = "filesystem")]
5
6use bitflags::bitflags;
7
8bitflags! {
9 #[derive(Default, PartialEq, Eq, PartialOrd, Ord, Hash, Debug, Clone, Copy)]
10 struct Open: u8 {
11 const FS_OPEN_READ = ctru_sys::FS_OPEN_READ;
12 const FS_OPEN_WRITE = ctru_sys::FS_OPEN_WRITE;
13 const FS_OPEN_CREATE = ctru_sys::FS_OPEN_CREATE;
14 }
15
16 #[derive(Default, PartialEq, Eq, PartialOrd, Ord, Hash, Debug, Clone, Copy)]
17 struct Write: u16 {
18 const FS_WRITE_FLUSH = ctru_sys::FS_WRITE_FLUSH;
19 const FS_WRITE_UPDATE_TIME = ctru_sys::FS_WRITE_UPDATE_TIME;
20 }
21
22 #[derive(Default, PartialEq, Eq, PartialOrd, Ord, Hash, Debug, Clone, Copy)]
23 struct Attribute: u32 {
24 const FS_ATTRIBUTE_DIRECTORY = ctru_sys::FS_ATTRIBUTE_DIRECTORY;
25 const FS_ATTRIBUTE_HIDDEN = ctru_sys::FS_ATTRIBUTE_HIDDEN;
26 const FS_ATTRIBUTE_ARCHIVE = ctru_sys::FS_ATTRIBUTE_ARCHIVE;
27 const FS_ATTRIBUTE_READ_ONLY = ctru_sys::FS_ATTRIBUTE_READ_ONLY;
28 }
29}
30
31#[doc(alias = "FS_MediaType")]
33#[derive(Copy, Clone, Debug, PartialEq, Eq)]
34#[repr(u8)]
35pub enum MediaType {
36 Nand = ctru_sys::MEDIATYPE_NAND,
38 Sd = ctru_sys::MEDIATYPE_SD,
40 GameCard = ctru_sys::MEDIATYPE_GAME_CARD,
42}
43
44#[doc(alias = "FS_PathType")]
46#[derive(Copy, Clone, Debug, PartialEq, Eq)]
47#[repr(u8)]
48pub enum PathType {
49 Invalid = ctru_sys::PATH_INVALID,
51 Empty = ctru_sys::PATH_EMPTY,
53 Binary = ctru_sys::PATH_BINARY,
57 ASCII = ctru_sys::PATH_ASCII,
59 UTF16 = ctru_sys::PATH_UTF16,
61}
62
63#[doc(alias = "FS_ArchiveID")]
65#[derive(Copy, Clone, Debug, PartialEq, Eq)]
66#[repr(u32)]
67pub enum ArchiveID {
68 RomFS = ctru_sys::ARCHIVE_ROMFS,
70 Savedata = ctru_sys::ARCHIVE_SAVEDATA,
72 Extdata = ctru_sys::ARCHIVE_EXTDATA,
74 SharedExtdata = ctru_sys::ARCHIVE_SHARED_EXTDATA,
76 SystemSavedata = ctru_sys::ARCHIVE_SYSTEM_SAVEDATA,
78 Sdmc = ctru_sys::ARCHIVE_SDMC,
80 SdmcWriteOnly = ctru_sys::ARCHIVE_SDMC_WRITE_ONLY,
82 BossExtdata = ctru_sys::ARCHIVE_BOSS_EXTDATA,
84 CardSpiFS = ctru_sys::ARCHIVE_CARD_SPIFS,
86 ExtDataAndBossExtdata = ctru_sys::ARCHIVE_EXTDATA_AND_BOSS_EXTDATA,
88 SystemSaveData2 = ctru_sys::ARCHIVE_SYSTEM_SAVEDATA2,
90 NandRW = ctru_sys::ARCHIVE_NAND_RW,
92 NandRO = ctru_sys::ARCHIVE_NAND_RO,
94 NandROWriteAccess = ctru_sys::ARCHIVE_NAND_RO_WRITE_ACCESS,
96 SaveDataAndContent = ctru_sys::ARCHIVE_SAVEDATA_AND_CONTENT,
98 SaveDataAndContent2 = ctru_sys::ARCHIVE_SAVEDATA_AND_CONTENT2,
100 NandCtrFS = ctru_sys::ARCHIVE_NAND_CTR_FS,
102 TwlPhoto = ctru_sys::ARCHIVE_TWL_PHOTO,
104 NandTwlFS = ctru_sys::ARCHIVE_NAND_TWL_FS,
106 GameCardSavedata = ctru_sys::ARCHIVE_GAMECARD_SAVEDATA,
108 UserSavedata = ctru_sys::ARCHIVE_USER_SAVEDATA,
110 DemoSavedata = ctru_sys::ARCHIVE_DEMO_SAVEDATA,
112}
113
114from_impl!(MediaType, ctru_sys::FS_MediaType);
115from_impl!(PathType, ctru_sys::FS_PathType);
116from_impl!(ArchiveID, ctru_sys::FS_ArchiveID);