• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /* SPDX-License-Identifier: GPL-2.0-or-later */
2 /*
3  *  Copyright (C) 2020 Hyunchul Lee <hyc.lee@gmail.com>
4  */
5 #ifndef _REPAIR_H
6 #define _REPAIR_H
7 
8 #include "exfat_dir.h"
9 
10 #define ER_BS_CHECKSUM			0x00000001
11 #define ER_BS_BOOT_REGION		0x00000002
12 #define ER_DE_CHECKSUM			0x00001001
13 #define ER_DE_UNKNOWN			0x00001002
14 #define ER_DE_FILE			0x00001010
15 #define ER_DE_SECONDARY_COUNT		0x00001011
16 #define ER_DE_STREAM			0x00001020
17 #define ER_DE_NAME			0x00001030
18 #define ER_DE_NAME_HASH			0x00001031
19 #define ER_DE_NAME_LEN			0x00001032
20 #define ER_DE_DOT_NAME			0x00001033
21 #define ER_DE_DUPLICATED_NAME		0x00001034
22 #define ER_DE_INVALID_NAME		0x00001035
23 #define ER_FILE_VALID_SIZE		0x00002001
24 #define ER_FILE_INVALID_CLUS		0x00002002
25 #define ER_FILE_FIRST_CLUS		0x00002003
26 #define ER_FILE_SMALLER_SIZE		0x00002004
27 #define ER_FILE_LARGER_SIZE		0x00002005
28 #define ER_FILE_DUPLICATED_CLUS		0x00002006
29 #define ER_FILE_ZERO_NOFAT		0x00002007
30 #define ER_VENDOR_GUID			0x00003001
31 
32 typedef unsigned int er_problem_code_t;
33 struct exfat_fsck;
34 
35 int exfat_repair_ask(struct exfat_fsck *fsck, er_problem_code_t prcode,
36 		     const char *fmt, ...);
37 
38 int exfat_repair_rename_ask(struct exfat_fsck *fsck, struct exfat_de_iter *iter,
39 		__le16 *uname, er_problem_code_t prcode, char *error_msg);
40 #endif
41