diff options
Diffstat (limited to 'src/mame/tools/imgtool/imgterrs.h')
-rw-r--r-- | src/mame/tools/imgtool/imgterrs.h | 70 |
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 */ |