1*508ec739SDaniel Rosenberg /* SPDX-License-Identifier: GPL-2.0-or-later */ 2*508ec739SDaniel Rosenberg /* 3*508ec739SDaniel Rosenberg * Copyright (C) 2020 Hyunchul Lee <[email protected]> 4*508ec739SDaniel Rosenberg */ 5*508ec739SDaniel Rosenberg #ifndef _REPAIR_H 6*508ec739SDaniel Rosenberg #define _REPAIR_H 7*508ec739SDaniel Rosenberg 8*508ec739SDaniel Rosenberg #define ER_BS_CHECKSUM 0x00000001 9*508ec739SDaniel Rosenberg #define ER_BS_BOOT_REGION 0x00000002 10*508ec739SDaniel Rosenberg #define ER_DE_CHECKSUM 0x00001001 11*508ec739SDaniel Rosenberg #define ER_DE_UNKNOWN 0x00001002 12*508ec739SDaniel Rosenberg #define ER_DE_FILE 0x00001010 13*508ec739SDaniel Rosenberg #define ER_DE_SECONDARY_COUNT 0x00001011 14*508ec739SDaniel Rosenberg #define ER_DE_STREAM 0x00001020 15*508ec739SDaniel Rosenberg #define ER_DE_NAME 0x00001030 16*508ec739SDaniel Rosenberg #define ER_DE_NAME_HASH 0x00001031 17*508ec739SDaniel Rosenberg #define ER_DE_NAME_LEN 0x00001032 18*508ec739SDaniel Rosenberg #define ER_DE_DOT_NAME 0x00001033 19*508ec739SDaniel Rosenberg #define ER_FILE_VALID_SIZE 0x00002001 20*508ec739SDaniel Rosenberg #define ER_FILE_INVALID_CLUS 0x00002002 21*508ec739SDaniel Rosenberg #define ER_FILE_FIRST_CLUS 0x00002003 22*508ec739SDaniel Rosenberg #define ER_FILE_SMALLER_SIZE 0x00002004 23*508ec739SDaniel Rosenberg #define ER_FILE_LARGER_SIZE 0x00002005 24*508ec739SDaniel Rosenberg #define ER_FILE_DUPLICATED_CLUS 0x00002006 25*508ec739SDaniel Rosenberg #define ER_FILE_ZERO_NOFAT 0x00002007 26*508ec739SDaniel Rosenberg #define ER_DE_FIRST_CLUS 0x00002008 27*508ec739SDaniel Rosenberg typedef unsigned int er_problem_code_t; 28*508ec739SDaniel Rosenberg struct exfat_fsck; 29*508ec739SDaniel Rosenberg 30*508ec739SDaniel Rosenberg int exfat_repair_ask(struct exfat_fsck *fsck, er_problem_code_t prcode, 31*508ec739SDaniel Rosenberg const char *fmt, ...); 32*508ec739SDaniel Rosenberg 33*508ec739SDaniel Rosenberg #endif 34