1*53ee8cc1Swenshuai.xi /* 4.4BSD utility functions for error messages. 2*53ee8cc1Swenshuai.xi Copyright (C) 1995,1996,1997,1998,1999,2003 Free Software Foundation, Inc. 3*53ee8cc1Swenshuai.xi This file is part of the GNU C Library. 4*53ee8cc1Swenshuai.xi 5*53ee8cc1Swenshuai.xi The GNU C Library is free software; you can redistribute it and/or 6*53ee8cc1Swenshuai.xi modify it under the terms of the GNU Lesser General Public 7*53ee8cc1Swenshuai.xi License as published by the Free Software Foundation; either 8*53ee8cc1Swenshuai.xi version 2.1 of the License, or (at your option) any later version. 9*53ee8cc1Swenshuai.xi 10*53ee8cc1Swenshuai.xi The GNU C Library is distributed in the hope that it will be useful, 11*53ee8cc1Swenshuai.xi but WITHOUT ANY WARRANTY; without even the implied warranty of 12*53ee8cc1Swenshuai.xi MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 13*53ee8cc1Swenshuai.xi Lesser General Public License for more details. 14*53ee8cc1Swenshuai.xi 15*53ee8cc1Swenshuai.xi You should have received a copy of the GNU Lesser General Public 16*53ee8cc1Swenshuai.xi License along with the GNU C Library; if not, write to the Free 17*53ee8cc1Swenshuai.xi Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 18*53ee8cc1Swenshuai.xi 02111-1307 USA. */ 19*53ee8cc1Swenshuai.xi 20*53ee8cc1Swenshuai.xi #ifndef _ERR_H 21*53ee8cc1Swenshuai.xi #define _ERR_H 1 22*53ee8cc1Swenshuai.xi 23*53ee8cc1Swenshuai.xi #include <features.h> 24*53ee8cc1Swenshuai.xi 25*53ee8cc1Swenshuai.xi #define __need___va_list 26*53ee8cc1Swenshuai.xi #include <stdarg.h> 27*53ee8cc1Swenshuai.xi #ifndef __GNUC_VA_LIST 28*53ee8cc1Swenshuai.xi # define __gnuc_va_list __ptr_t 29*53ee8cc1Swenshuai.xi #endif 30*53ee8cc1Swenshuai.xi 31*53ee8cc1Swenshuai.xi __BEGIN_DECLS 32*53ee8cc1Swenshuai.xi 33*53ee8cc1Swenshuai.xi /* Print "program: ", FORMAT, ": ", the standard error string for errno, 34*53ee8cc1Swenshuai.xi and a newline, on stderr. */ 35*53ee8cc1Swenshuai.xi extern void warn (__const char *__format, ...) 36*53ee8cc1Swenshuai.xi __attribute__ ((__format__ (__printf__, 1, 2))); 37*53ee8cc1Swenshuai.xi extern void vwarn (__const char *__format, __gnuc_va_list) 38*53ee8cc1Swenshuai.xi __attribute__ ((__format__ (__printf__, 1, 0))); 39*53ee8cc1Swenshuai.xi 40*53ee8cc1Swenshuai.xi /* Likewise, but without ": " and the standard error string. */ 41*53ee8cc1Swenshuai.xi extern void warnx (__const char *__format, ...) 42*53ee8cc1Swenshuai.xi __attribute__ ((__format__ (__printf__, 1, 2))); 43*53ee8cc1Swenshuai.xi extern void vwarnx (__const char *__format, __gnuc_va_list) 44*53ee8cc1Swenshuai.xi __attribute__ ((__format__ (__printf__, 1, 0))); 45*53ee8cc1Swenshuai.xi 46*53ee8cc1Swenshuai.xi /* Likewise, and then exit with STATUS. */ 47*53ee8cc1Swenshuai.xi extern void err (int __status, __const char *__format, ...) 48*53ee8cc1Swenshuai.xi __attribute__ ((__noreturn__, __format__ (__printf__, 2, 3))); 49*53ee8cc1Swenshuai.xi extern void verr (int __status, __const char *__format, __gnuc_va_list) 50*53ee8cc1Swenshuai.xi __attribute__ ((__noreturn__, __format__ (__printf__, 2, 0))); 51*53ee8cc1Swenshuai.xi extern void errx (int __status, __const char *__format, ...) 52*53ee8cc1Swenshuai.xi __attribute__ ((__noreturn__, __format__ (__printf__, 2, 3))); 53*53ee8cc1Swenshuai.xi extern void verrx (int __status, __const char *, __gnuc_va_list) 54*53ee8cc1Swenshuai.xi __attribute__ ((__noreturn__, __format__ (__printf__, 2, 0))); 55*53ee8cc1Swenshuai.xi 56*53ee8cc1Swenshuai.xi __END_DECLS 57*53ee8cc1Swenshuai.xi 58*53ee8cc1Swenshuai.xi #endif /* err.h */ 59