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 _FSCK_H 6*508ec739SDaniel Rosenberg #define _FSCK_H 7*508ec739SDaniel Rosenberg 8*508ec739SDaniel Rosenberg #include "list.h" 9*508ec739SDaniel Rosenberg 10*508ec739SDaniel Rosenberg enum fsck_ui_options { 11*508ec739SDaniel Rosenberg FSCK_OPTS_REPAIR_ASK = 0x01, 12*508ec739SDaniel Rosenberg FSCK_OPTS_REPAIR_YES = 0x02, 13*508ec739SDaniel Rosenberg FSCK_OPTS_REPAIR_NO = 0x04, 14*508ec739SDaniel Rosenberg FSCK_OPTS_REPAIR_AUTO = 0x08, 15*508ec739SDaniel Rosenberg FSCK_OPTS_REPAIR_WRITE = 0x0b, 16*508ec739SDaniel Rosenberg FSCK_OPTS_REPAIR_ALL = 0x0f, 17*508ec739SDaniel Rosenberg FSCK_OPTS_IGNORE_BAD_FS_NAME = 0x10, 18*508ec739SDaniel Rosenberg FSCK_OPTS_RESCUE_CLUS = 0x20, 19*508ec739SDaniel Rosenberg }; 20*508ec739SDaniel Rosenberg 21*508ec739SDaniel Rosenberg struct exfat; 22*508ec739SDaniel Rosenberg struct exfat_inode; 23*508ec739SDaniel Rosenberg 24*508ec739SDaniel Rosenberg struct exfat_fsck { 25*508ec739SDaniel Rosenberg struct exfat *exfat; 26*508ec739SDaniel Rosenberg struct exfat_de_iter de_iter; 27*508ec739SDaniel Rosenberg struct buffer_desc *buffer_desc; /* cluster * 2 */ 28*508ec739SDaniel Rosenberg enum fsck_ui_options options; 29*508ec739SDaniel Rosenberg bool dirty:1; 30*508ec739SDaniel Rosenberg bool dirty_fat:1; 31*508ec739SDaniel Rosenberg }; 32*508ec739SDaniel Rosenberg 33*508ec739SDaniel Rosenberg off_t exfat_c2o(struct exfat *exfat, unsigned int clus); 34*508ec739SDaniel Rosenberg 35*508ec739SDaniel Rosenberg #endif 36