1 #ifndef ERROR_H 2 #define ERROR_H 3 /* $OpenPackages$ */ 4 /* $OpenBSD: error.h,v 1.6 2001/05/23 12:34:42 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 occured, 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 DieHorribly(void); 49 extern void Finish(int); 50 51 /* 52 * Error levels for parsing. PARSE_FATAL means the process cannot continue 53 * once the makefile has been parsed. PARSE_WARNING means it can. Passed 54 * as the first argument to Parse_Error. 55 */ 56 #define PARSE_WARNING 2 57 #define PARSE_FATAL 1 58 extern void Parse_Error(int, const char *, ...); 59 extern int fatal_errors; 60 #endif 61