1 // SPDX-License-Identifier: 0BSD
6 #define U_APPEND_SHORT "uappnd"
7 #define U_APPEND_FULL "uappend"
8 #define SU_APPEND_SHORT "sappnd"
9 #define SU_APPEND_FULL "sappend"
11 #define U_ARCH_SHORT "uarch"
12 #define U_ARCH_FULL "uarchive"
13 #define SU_ARCH_SHORT "arch"
14 #define SU_ARCH_FULL "archived"
16 #define U_HIDDEN_SHORT "hidden"
17 #define U_HIDDEN_FULL "uhidden"
19 #define SU_IMMUTABLE_FULL "simmutable"
20 #define SU_IMMUTABLE_SHORT "schange"
21 #define SU_IMMUTABLE "schg"
22 #define U_IMMUTABLE_FULL "uimmutable"
23 #define U_IMMUTABLE_SHORT "uchange"
24 #define U_IMMUTABLE "uchg"
26 #define SU_NODUMP "nodump"
27 #define UNSET_NODUMP "dump"
29 #define U_UNLINK_SHORT "uunlnk"
30 #define U_UNLINK_FULL "uunlink"
31 #define SU_UNLINK_SHORT "sunlnk"
32 #define SU_UNLINK_FULL "sunlink"
34 #define U_OFFLINE_SHORT "offline"
35 #define U_OFFLINE_FULL "uoffline"
37 #define U_RDONLY "rdonly"
38 #define U_RDONLY_SHORT "urdonly"
39 #define U_RDONLY_FULL "readonly"
41 #define U_REPARSE_SHORT "reparse"
42 #define U_REPARSE_FULL "ureparse"
44 #define U_SPARSE_SHORT "sparse"
45 #define U_SPARSE_FULL "usparse"
47 #define U_SYSTEM_SHORT "system"
48 #define U_SYSTEM_FULL "usystem"
51 static const uint64_t all_dos_attributes
[] = {
65 static const char *const all_dos_attribute_names
[][7] = {
66 {U_ARCH_SHORT
, U_ARCH_FULL
, SU_ARCH_SHORT
, SU_ARCH_FULL
},
67 {U_APPEND_SHORT
, U_APPEND_FULL
, SU_APPEND_SHORT
, SU_APPEND_FULL
},
68 {SU_IMMUTABLE_FULL
, SU_IMMUTABLE_SHORT
, SU_IMMUTABLE
,
69 U_IMMUTABLE_FULL
, U_IMMUTABLE_SHORT
, U_IMMUTABLE
},
70 {U_UNLINK_SHORT
, U_UNLINK_FULL
, SU_UNLINK_FULL
, SU_UNLINK_SHORT
},
71 {SU_NODUMP
, /* UNSET_NODUMP */},
72 {U_HIDDEN_SHORT
, U_HIDDEN_FULL
},
73 {U_OFFLINE_SHORT
, U_OFFLINE_FULL
},
74 {U_RDONLY
, U_RDONLY_SHORT
, U_RDONLY_FULL
},
75 {U_SPARSE_SHORT
, U_SPARSE_FULL
},
76 {U_SYSTEM_SHORT
, U_SYSTEM_FULL
},
77 {U_REPARSE_SHORT
, U_REPARSE_FULL
},
81 ARRAY_SIZE(all_dos_attributes
) == ARRAY_SIZE(all_dos_attribute_names
),
82 "attribute list length mismatch");