]> git.sven.stormbind.net Git - sven/exfatprogs.git/blobdiff - fsck/repair.h
Add CVE ID to debian changelog
[sven/exfatprogs.git] / fsck / repair.h
index 4c5676382ac76ad429316eee0f73b66fba8753d7..634cc490534b9f42c99395617c422781083ee48e 100644 (file)
@@ -5,18 +5,34 @@
 #ifndef _REPAIR_H
 #define _REPAIR_H
 
+#include "exfat_dir.h"
+
 #define ER_BS_CHECKSUM                 0x00000001
+#define ER_BS_BOOT_REGION              0x00000002
+#define ER_DE_CHECKSUM                 0x00001001
+#define ER_DE_UNKNOWN                  0x00001002
+#define ER_DE_FILE                     0x00001010
+#define ER_DE_SECONDARY_COUNT          0x00001011
+#define ER_DE_STREAM                   0x00001020
+#define ER_DE_NAME                     0x00001030
+#define ER_DE_NAME_HASH                        0x00001031
+#define ER_DE_NAME_LEN                 0x00001032
+#define ER_DE_DOT_NAME                 0x00001033
+#define ER_DE_DUPLICATED_NAME          0x00001034
+#define ER_FILE_VALID_SIZE             0x00002001
+#define ER_FILE_INVALID_CLUS           0x00002002
+#define ER_FILE_FIRST_CLUS             0x00002003
+#define ER_FILE_SMALLER_SIZE           0x00002004
+#define ER_FILE_LARGER_SIZE            0x00002005
+#define ER_FILE_DUPLICATED_CLUS                0x00002006
+#define ER_FILE_ZERO_NOFAT             0x00002007
 
 typedef unsigned int er_problem_code_t;
+struct exfat_fsck;
 
-union exfat_repair_context {
-       struct {
-               __le32          checksum;
-               void            *checksum_sect;
-       } bs_checksum;
-};
-
-bool exfat_repair(struct exfat *exfat, er_problem_code_t prcode,
-                       union exfat_repair_context *rctx);
+int exfat_repair_ask(struct exfat_fsck *fsck, er_problem_code_t prcode,
+                    const char *fmt, ...);
 
+int exfat_repair_rename_ask(struct exfat_fsck *fsck, struct exfat_de_iter *iter,
+               char *old_name, er_problem_code_t prcode, char *error_msg);
 #endif