1 #ifndef ERROR_H 2 #define ERROR_H 3 /* $OpenBSD: error.h,v 1.12 2012/09/21 07:55:20 espie Exp $ */ 4 5 /* 6 * Copyright (c) 2001 Marc Espie. 7 * 8 * Redistribution and use in source and binary forms, with or without 9 * modification, are permitted provided that the following conditions 10 * are met: 11 * 1. Redistributions of source code must retain the above copyright 12 * notice, this list of conditions and the following disclaimer. 13 * 2. Redistributions in binary form must reproduce the above copyright 14 * notice, this list of conditions and the following disclaimer in the 15 * documentation and/or other materials provided with the distribution. 16 * 17 * THIS SOFTWARE IS PROVIDED BY THE OPENBSD PROJECT AND CONTRIBUTORS 18 * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 19 * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR 20 * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OPENBSD 21 * PROJECT OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 22 * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT 23 * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 24 * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 25 * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 26 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 27 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 28 */ 29 /* Error Print a tagged error message. The global 30 * MAKE variable must have been defined. This 31 * takes a format string and two optional 32 * arguments for it. 33 * 34 * Fatal Print an error message and exit. Also takes 35 * a format string and two arguments. 36 * 37 * Punt Aborts all jobs and exits with a message. Also 38 * takes a format string and two arguments. 39 * 40 * Finish Finish things up by printing the number of 41 * errors which occurred, as passed to it, and 42 * exiting. 43 */ 44 extern void Error(char *, ...); 45 extern void Fatal(char *, ...); 46 extern void Punt(char *, ...); 47 extern void Finish(void); 48 49 /* 50 * Error levels for parsing. PARSE_FATAL means the process cannot continue 51 * once the makefile has been parsed. PARSE_WARNING means it can. Passed 52 * as the first argument to Parse_Error. 53 */ 54 #define PARSE_WARNING 2 55 #define PARSE_FATAL 1 56 extern void Parse_Error(int, const char *, ...); 57 extern int fatal_errors; 58 /* Needed for fatal errors: we have to know whether we must abort other jobs 59 * or not */ 60 extern bool supervise_jobs; 61 #endif 62