1a7ce5b29Sopenharmony_ci/* SPDX-License-Identifier: GPL-2.0-or-later */ 2a7ce5b29Sopenharmony_ci/* 3a7ce5b29Sopenharmony_ci * Copyright (C) 2020 Hyunchul Lee <hyc.lee@gmail.com> 4a7ce5b29Sopenharmony_ci */ 5a7ce5b29Sopenharmony_ci#ifndef _FSCK_H 6a7ce5b29Sopenharmony_ci#define _FSCK_H 7a7ce5b29Sopenharmony_ci 8a7ce5b29Sopenharmony_ci#include "list.h" 9a7ce5b29Sopenharmony_ci 10a7ce5b29Sopenharmony_cienum fsck_ui_options { 11a7ce5b29Sopenharmony_ci FSCK_OPTS_REPAIR_ASK = 0x01, 12a7ce5b29Sopenharmony_ci FSCK_OPTS_REPAIR_YES = 0x02, 13a7ce5b29Sopenharmony_ci FSCK_OPTS_REPAIR_NO = 0x04, 14a7ce5b29Sopenharmony_ci FSCK_OPTS_REPAIR_AUTO = 0x08, 15a7ce5b29Sopenharmony_ci FSCK_OPTS_REPAIR_WRITE = 0x0b, 16a7ce5b29Sopenharmony_ci FSCK_OPTS_REPAIR_ALL = 0x0f, 17a7ce5b29Sopenharmony_ci FSCK_OPTS_IGNORE_BAD_FS_NAME = 0x10, 18a7ce5b29Sopenharmony_ci FSCK_OPTS_RESCUE_CLUS = 0x20, 19a7ce5b29Sopenharmony_ci}; 20a7ce5b29Sopenharmony_ci 21a7ce5b29Sopenharmony_cistruct exfat; 22a7ce5b29Sopenharmony_cistruct exfat_inode; 23a7ce5b29Sopenharmony_ci 24a7ce5b29Sopenharmony_cistruct exfat_fsck { 25a7ce5b29Sopenharmony_ci struct exfat *exfat; 26a7ce5b29Sopenharmony_ci struct exfat_de_iter de_iter; 27a7ce5b29Sopenharmony_ci struct buffer_desc *buffer_desc; /* cluster * 2 */ 28a7ce5b29Sopenharmony_ci enum fsck_ui_options options; 29a7ce5b29Sopenharmony_ci bool dirty:1; 30a7ce5b29Sopenharmony_ci bool dirty_fat:1; 31a7ce5b29Sopenharmony_ci}; 32a7ce5b29Sopenharmony_ci 33a7ce5b29Sopenharmony_cioff_t exfat_c2o(struct exfat *exfat, unsigned int clus); 34a7ce5b29Sopenharmony_ci 35a7ce5b29Sopenharmony_ci#endif 36