16#include "Reflection.h"
33struct DOSTypeEnum : util::Reflection<DOSTypeEnum, DOSType> {
35 static constexpr long minVal = 0;
37 static bool isValid(
auto value) {
return value >= minVal && value <= maxVal; }
39 static const char *prefix() {
return "DOS_TYPE"; }
40 static const char *key(
long value)
59typedef FS_FILETYPE FSFileType;
61struct FSFileTypeEnum : util::Reflection<FSFileTypeEnum, FSFileType> {
63 static constexpr long minVal = 0;
64 static constexpr long maxVal = FS_FILETYPE_REL;
65 static bool isValid(
auto value) {
return value >= minVal && value <= maxVal; }
67 static const char *prefix() {
return "FS_FILETYPE"; }
68 static const char *key(
long value)
72 case FS_FILETYPE_DEL:
return "DEL";
73 case FS_FILETYPE_SEQ:
return "SEQ";
74 case FS_FILETYPE_PRG:
return "PRG";
75 case FS_FILETYPE_USR:
return "USR";
76 case FS_FILETYPE_REL:
return "REL";
82enum_long(FS_BLOCKTYPE)
90typedef FS_BLOCKTYPE FSBlockType;
92struct FSBlockTypeEnum : util::Reflection<FSBlockTypeEnum, FSBlockType> {
94 static constexpr long minVal = 0;
95 static constexpr long maxVal = FS_BLOCKTYPE_DATA;
96 static bool isValid(
auto value) {
return value >= minVal && value <= maxVal; }
98 static const char *prefix() {
return "FS_BLOCKTYPE"; }
99 static const char *key(
long value)
103 case FS_BLOCKTYPE_UNKNOWN:
return "UNKNOWN";
104 case FS_BLOCKTYPE_EMPTY:
return "EMPTY";
105 case FS_BLOCKTYPE_BAM:
return "BAM";
106 case FS_BLOCKTYPE_DIR:
return "DIR";
107 case FS_BLOCKTYPE_DATA:
return "DATA";
117 FS_USAGE_DOS_VERSION,
119 FS_USAGE_ALLOCATION_BITS,
123 FS_USAGE_SECTOR_LINK,
124 FS_USAGE_FIRST_FILE_TRACK,
125 FS_USAGE_FIRST_FILE_SECTOR,
126 FS_USAGE_FIRST_REL_TRACK,
127 FS_USAGE_FIRST_REL_SECTOR,
128 FS_USAGE_FIRST_DIR_TRACK,
129 FS_USAGE_FIRST_DIR_SECTOR,
132 FS_USAGE_FILE_LENGTH_LO,
133 FS_USAGE_FILE_LENGTH_HI,
134 FS_USAGE_REL_RECORD_LENGTH,
138typedef FS_USAGE FSUsage;
140struct FSUsageEnum : util::Reflection<FSUsageEnum, FSUsage> {
142 static constexpr long minVal = 0;
143 static constexpr long maxVal = FS_USAGE_DATA;
144 static bool isValid(
auto value) {
return value >= minVal && value <= maxVal; }
146 static const char *prefix() {
return "FS_USAGE"; }
147 static const char *key(
long value) {
return "???"; }
164 long corruptedBlocks;
165 long firstErrorBlock;
VirtualC64 project namespace.
Definition CmdQueue.cpp:16
DOS_TYPE
File system type.
Definition FSTypes.h:27
@ DOS_TYPE_CBM
C64 CBM file system.
Definition FSTypes.h:29
@ DOS_TYPE_NODOS
No file system.
Definition FSTypes.h:28