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