[BACK]Return to error.h CVS log [TXT][DIR] Up to [local] / src / usr.bin / make

Annotation of src/usr.bin/make/error.h, Revision 1.13

1.6       espie       1: #ifndef ERROR_H
                      2: #define ERROR_H
1.13    ! guenther    3: /*     $OpenBSD: error.h,v 1.12 2012/09/21 07:55:20 espie Exp $ */
1.1       espie       4:
1.6       espie       5: /*
                      6:  * Copyright (c) 2001 Marc Espie.
1.1       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:  *
1.6       espie      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.
1.1       espie      39:  *
1.6       espie      40:  *     Finish                  Finish things up by printing the number of
1.7       mpech      41:  *                             errors which occurred, as passed to it, and
1.6       espie      42:  *                             exiting.
1.1       espie      43:  */
1.13    ! guenther   44: extern void Error(const char *, ...)
        !            45:                                __attribute__((__format__ (printf, 1, 2)));
        !            46: extern void Fatal(const char *, ...)
        !            47:                                __attribute__((__format__ (printf, 1, 2)));
        !            48: extern void Punt(const char *, ...)
        !            49:                                __attribute__((__format__ (printf, 1, 2)));
1.12      espie      50: extern void Finish(void);
1.1       espie      51:
1.6       espie      52: /*
                     53:  * Error levels for parsing. PARSE_FATAL means the process cannot continue
                     54:  * once the makefile has been parsed. PARSE_WARNING means it can. Passed
                     55:  * as the first argument to Parse_Error.
                     56:  */
                     57: #define PARSE_WARNING  2
                     58: #define PARSE_FATAL    1
1.13    ! guenther   59: extern void Parse_Error(int, const char *, ...)
        !            60:                                __attribute__((__format__ (printf, 2, 3)));
1.6       espie      61: extern int fatal_errors;
1.8       espie      62: /* Needed for fatal errors: we have to know whether we must abort other jobs
                     63:  * or not */
                     64: extern bool supervise_jobs;
1.6       espie      65: #endif