/* * jerror.h * * This file was part of the Independent JPEG Group's software: * Copyright (C) 1994-1997, Thomas G. Lane. * Modified 1997-2009 by Guido Vollbeding. * libjpeg-turbo Modifications: * Copyright (C) 2014, 2017, 2021-2022, D. R. Commander. * For conditions of distribution and use, see the accompanying README.ijg * file. * * This file defines the error and message codes for the JPEG library. * Edit this file to add new codes, or to translate the message strings to * some other language. * A set of error-reporting macros are defined too. Some applications using * the JPEG library may wish to include this file to get the error codes * and/or the macros. */ /* * To define the enum list of message codes, include this file without * defining macro JMESSAGE. To create a message string table, include it * again with a suitable JMESSAGE definition (see jerror.c for an example). */ #ifndef JMESSAGE #ifndef JERROR_H /* First time through, define the enum list */ #define JMAKE_ENUM_LIST #else /* Repeated inclusions of this file are no-ops unless JMESSAGE is defined */ #define JMESSAGE … #endif /* JERROR_H */ #endif /* JMESSAGE */ #ifdef JMAKE_ENUM_LIST J_MESSAGE_CODE; #undef JMAKE_ENUM_LIST #endif /* JMAKE_ENUM_LIST */ /* Zap JMESSAGE macro so that future re-inclusions do nothing by default */ #undef JMESSAGE #ifndef JERROR_H #define JERROR_H /* Macros to simplify using the error and trace message stuff */ /* The first parameter is either type of cinfo pointer */ /* Fatal errors (print message and exit) */ #define ERREXIT(cinfo, code) … #define ERREXIT1(cinfo, code, p1) … #define ERREXIT2(cinfo, code, p1, p2) … #define ERREXIT3(cinfo, code, p1, p2, p3) … #define ERREXIT4(cinfo, code, p1, p2, p3, p4) … #define ERREXIT6(cinfo, code, p1, p2, p3, p4, p5, p6) … #define ERREXITS(cinfo, code, str) … #define MAKESTMT(stuff) … /* Nonfatal errors (we can keep going, but the data is probably corrupt) */ #define WARNMS(cinfo, code) … #define WARNMS1(cinfo, code, p1) … #define WARNMS2(cinfo, code, p1, p2) … /* Informational/debugging messages */ #define TRACEMS(cinfo, lvl, code) … #define TRACEMS1(cinfo, lvl, code, p1) … #define TRACEMS2(cinfo, lvl, code, p1, p2) … #define TRACEMS3(cinfo, lvl, code, p1, p2, p3) … #define TRACEMS4(cinfo, lvl, code, p1, p2, p3, p4) … #define TRACEMS5(cinfo, lvl, code, p1, p2, p3, p4, p5) … #define TRACEMS8(cinfo, lvl, code, p1, p2, p3, p4, p5, p6, p7, p8) … #define TRACEMSS(cinfo, lvl, code, str) … #endif /* JERROR_H */