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