]> FriiDump Source - friidump.git/blobdiff - src/redump_dat.h
FriiDump 0.5.3.15: close XGD1 geometry and lead-in capture
[friidump.git] / src / redump_dat.h
index 39919edb00286c78d626753f7660487fa8251fde..475f5c28acaad550d35eab0006f3e8767f44cb55 100644 (file)
@@ -49,6 +49,26 @@ const char *redump_field_status_string(redump_field_status status);
 const char *redump_verify_overall_string(const redump_verify_result *result);
 const char *redump_verify_confidence_string(const redump_verify_result *result);
 const char *redump_verify_match_kind_string(const redump_verify_result *result);
 const char *redump_verify_overall_string(const redump_verify_result *result);
 const char *redump_verify_confidence_string(const redump_verify_result *result);
 const char *redump_verify_match_kind_string(const redump_verify_result *result);
+
+/*
+ * Resolve a DAT path predictably.
+ *
+ * Resolution order:
+ *   1. explicit_dir, when non-empty;
+ *   2. executable_dir/redump_dat;
+ *   3. current-working-directory redump_dat.
+ *
+ * The selected candidate is always written to out_path when arguments are
+ * valid. The return value is nonzero only when that candidate exists.
+ */
+int redump_resolve_dat_path(
+    const char *explicit_dir,
+    const char *executable_dir,
+    const char *basename,
+    char *out_path,
+    size_t out_path_size
+);
+
 int redump_verify_dat_file(
     const char *dat_path,
     uint64_t image_size,
 int redump_verify_dat_file(
     const char *dat_path,
     uint64_t image_size,