@@ -144,6 +144,51 @@ typedef struct {
144144 __le32 DeviceCharacteristics ;
145145} __packed FILE_SYSTEM_DEVICE_INFO ; /* device info level 0x104 */
146146
147+ /*
148+ * File Attributes
149+ * See MS-FSCC 2.6
150+ */
151+ #define FILE_ATTRIBUTE_READONLY 0x00000001
152+ #define FILE_ATTRIBUTE_HIDDEN 0x00000002
153+ #define FILE_ATTRIBUTE_SYSTEM 0x00000004
154+ #define FILE_ATTRIBUTE_DIRECTORY 0x00000010
155+ #define FILE_ATTRIBUTE_ARCHIVE 0x00000020
156+ #define FILE_ATTRIBUTE_NORMAL 0x00000080
157+ #define FILE_ATTRIBUTE_TEMPORARY 0x00000100
158+ #define FILE_ATTRIBUTE_SPARSE_FILE 0x00000200
159+ #define FILE_ATTRIBUTE_REPARSE_POINT 0x00000400
160+ #define FILE_ATTRIBUTE_COMPRESSED 0x00000800
161+ #define FILE_ATTRIBUTE_OFFLINE 0x00001000
162+ #define FILE_ATTRIBUTE_NOT_CONTENT_INDEXED 0x00002000
163+ #define FILE_ATTRIBUTE_ENCRYPTED 0x00004000
164+ #define FILE_ATTRIBUTE_INTEGRITY_STREAM 0x00008000
165+ #define FILE_ATTRIBUTE_NO_SCRUB_DATA 0x00020000
166+ #define FILE_ATTRIBUTE_MASK (FILE_ATTRIBUTE_READONLY | FILE_ATTRIBUTE_HIDDEN | \
167+ FILE_ATTRIBUTE_SYSTEM | FILE_ATTRIBUTE_DIRECTORY | \
168+ FILE_ATTRIBUTE_ARCHIVE | FILE_ATTRIBUTE_NORMAL | \
169+ FILE_ATTRIBUTE_TEMPORARY | FILE_ATTRIBUTE_SPARSE_FILE | \
170+ FILE_ATTRIBUTE_REPARSE_POINT | FILE_ATTRIBUTE_COMPRESSED | \
171+ FILE_ATTRIBUTE_OFFLINE | FILE_ATTRIBUTE_NOT_CONTENT_INDEXED | \
172+ FILE_ATTRIBUTE_ENCRYPTED | FILE_ATTRIBUTE_INTEGRITY_STREAM | \
173+ FILE_ATTRIBUTE_NO_SCRUB_DATA)
174+
175+ #define FILE_ATTRIBUTE_READONLY_LE cpu_to_le32(FILE_ATTRIBUTE_READONLY)
176+ #define FILE_ATTRIBUTE_HIDDEN_LE cpu_to_le32(FILE_ATTRIBUTE_HIDDEN)
177+ #define FILE_ATTRIBUTE_SYSTEM_LE cpu_to_le32(FILE_ATTRIBUTE_SYSTEM)
178+ #define FILE_ATTRIBUTE_DIRECTORY_LE cpu_to_le32(FILE_ATTRIBUTE_DIRECTORY)
179+ #define FILE_ATTRIBUTE_ARCHIVE_LE cpu_to_le32(FILE_ATTRIBUTE_ARCHIVE)
180+ #define FILE_ATTRIBUTE_NORMAL_LE cpu_to_le32(FILE_ATTRIBUTE_NORMAL)
181+ #define FILE_ATTRIBUTE_TEMPORARY_LE cpu_to_le32(FILE_ATTRIBUTE_TEMPORARY)
182+ #define FILE_ATTRIBUTE_SPARSE_FILE_LE cpu_to_le32(FILE_ATTRIBUTE_SPARSE_FILE)
183+ #define FILE_ATTRIBUTE_REPARSE_POINT_LE cpu_to_le32(FILE_ATTRIBUTE_REPARSE_POINT)
184+ #define FILE_ATTRIBUTE_COMPRESSED_LE cpu_to_le32(FILE_ATTRIBUTE_COMPRESSED)
185+ #define FILE_ATTRIBUTE_OFFLINE_LE cpu_to_le32(FILE_ATTRIBUTE_OFFLINE)
186+ #define FILE_ATTRIBUTE_NOT_CONTENT_INDEXED_LE cpu_to_le32(FILE_ATTRIBUTE_NOT_CONTENT_INDEXED)
187+ #define FILE_ATTRIBUTE_ENCRYPTED_LE cpu_to_le32(FILE_ATTRIBUTE_ENCRYPTED)
188+ #define FILE_ATTRIBUTE_INTEGRITY_STREAM_LE cpu_to_le32(FILE_ATTRIBUTE_INTEGRITY_STREAM)
189+ #define FILE_ATTRIBUTE_NO_SCRUB_DATA_LE cpu_to_le32(FILE_ATTRIBUTE_NO_SCRUB_DATA)
190+ #define FILE_ATTRIBUTE_MASK_LE cpu_to_le32(FILE_ATTRIBUTE_MASK)
191+
147192/*
148193 * Response contains array of the following structures
149194 * See MS-FSCC 2.7.1
0 commit comments