summaryrefslogtreecommitdiffstatshomepage
path: root/src/mame/tools/imgtool/imgterrs.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/mame/tools/imgtool/imgterrs.h')
-rw-r--r--src/mame/tools/imgtool/imgterrs.h70
1 files changed, 70 insertions, 0 deletions
diff --git a/src/mame/tools/imgtool/imgterrs.h b/src/mame/tools/imgtool/imgterrs.h
new file mode 100644
index 00000000000..1cdafb6cef2
--- /dev/null
+++ b/src/mame/tools/imgtool/imgterrs.h
@@ -0,0 +1,70 @@
+// license:BSD-3-Clause
+// copyright-holders:Nathan Woods
+/***************************************************************************
+
+ imgterrs.h
+
+ Imgtool errors
+
+***************************************************************************/
+
+#ifndef IMGTERRS_H
+#define IMGTERRS_H
+
+/* Error codes */
+enum imgtoolerr_t
+{
+ IMGTOOLERR_SUCCESS,
+ IMGTOOLERR_OUTOFMEMORY,
+ IMGTOOLERR_UNEXPECTED,
+ IMGTOOLERR_BUFFERTOOSMALL,
+ IMGTOOLERR_READERROR,
+ IMGTOOLERR_WRITEERROR,
+ IMGTOOLERR_READONLY,
+ IMGTOOLERR_CORRUPTIMAGE,
+ IMGTOOLERR_CORRUPTFILE,
+ IMGTOOLERR_CORRUPTDIR,
+ IMGTOOLERR_FILENOTFOUND,
+ IMGTOOLERR_MODULENOTFOUND,
+ IMGTOOLERR_UNIMPLEMENTED,
+ IMGTOOLERR_PARAMTOOSMALL,
+ IMGTOOLERR_PARAMTOOLARGE,
+ IMGTOOLERR_PARAMNEEDED,
+ IMGTOOLERR_PARAMNOTNEEDED,
+ IMGTOOLERR_PARAMCORRUPT,
+ IMGTOOLERR_BADFILENAME,
+ IMGTOOLERR_NOSPACE,
+ IMGTOOLERR_INPUTPASTEND,
+ IMGTOOLERR_CANNOTUSEPATH,
+ IMGTOOLERR_INVALIDPATH,
+ IMGTOOLERR_PATHNOTFOUND,
+ IMGTOOLERR_DIRNOTEMPTY,
+ IMGTOOLERR_SEEKERROR,
+ IMGTOOLERR_NOFORKS,
+ IMGTOOLERR_FORKNOTFOUND,
+ IMGTOOLERR_INVALIDPARTITION
+};
+
+
+
+/* These error codes are actually modifiers that make it easier to distinguish
+ * the cause of an error
+ *
+ * Note - drivers should not use these modifiers
+ */
+#define IMGTOOLERR_SRC_MODULE 0x1000
+#define IMGTOOLERR_SRC_FUNCTIONALITY 0x2000
+#define IMGTOOLERR_SRC_IMAGEFILE 0x3000
+#define IMGTOOLERR_SRC_FILEONIMAGE 0x4000
+#define IMGTOOLERR_SRC_NATIVEFILE 0x5000
+
+#define ERRORCODE(err) ((err) & 0x0fff)
+#define ERRORSOURCE(err) ((err) & 0xf000)
+#define ERRORPARAM(err) (((err) & 0xf0000) / 0x10000)
+
+#define PARAM_TO_ERROR(errcode, param) ((errcode) | ((param) * 0x10000))
+
+
+const char *imgtool_error(imgtoolerr_t err);
+
+#endif /* IMGTERRS_H */