1*53ee8cc1Swenshuai.xi /* Message display handling. 2*53ee8cc1Swenshuai.xi Copyright (C) 1997, 1999, 2000, 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 __FMTMSG_H 21*53ee8cc1Swenshuai.xi #define __FMTMSG_H 1 22*53ee8cc1Swenshuai.xi 23*53ee8cc1Swenshuai.xi #include <features.h> 24*53ee8cc1Swenshuai.xi 25*53ee8cc1Swenshuai.xi 26*53ee8cc1Swenshuai.xi __BEGIN_DECLS 27*53ee8cc1Swenshuai.xi 28*53ee8cc1Swenshuai.xi /* Values to control `fmtmsg' function. */ 29*53ee8cc1Swenshuai.xi enum 30*53ee8cc1Swenshuai.xi { 31*53ee8cc1Swenshuai.xi MM_HARD = 0x001, /* Source of the condition is hardware. */ 32*53ee8cc1Swenshuai.xi #define MM_HARD MM_HARD 33*53ee8cc1Swenshuai.xi MM_SOFT = 0x002, /* Source of the condition is software. */ 34*53ee8cc1Swenshuai.xi #define MM_SOFT MM_SOFT 35*53ee8cc1Swenshuai.xi MM_FIRM = 0x004, /* Source of the condition is firmware. */ 36*53ee8cc1Swenshuai.xi #define MM_FIRM MM_FIRM 37*53ee8cc1Swenshuai.xi MM_APPL = 0x008, /* Condition detected by application. */ 38*53ee8cc1Swenshuai.xi #define MM_APPL MM_APPL 39*53ee8cc1Swenshuai.xi MM_UTIL = 0x010, /* Condition detected by utility. */ 40*53ee8cc1Swenshuai.xi #define MM_UTIL MM_UTIL 41*53ee8cc1Swenshuai.xi MM_OPSYS = 0x020, /* Condition detected by operating system. */ 42*53ee8cc1Swenshuai.xi #define MM_OPSYS MM_OPSYS 43*53ee8cc1Swenshuai.xi MM_RECOVER = 0x040, /* Recoverable error. */ 44*53ee8cc1Swenshuai.xi #define MM_RECOVER MM_RECOVER 45*53ee8cc1Swenshuai.xi MM_NRECOV = 0x080, /* Non-recoverable error. */ 46*53ee8cc1Swenshuai.xi #define MM_NRECOV MM_NRECOV 47*53ee8cc1Swenshuai.xi MM_PRINT = 0x100, /* Display message in standard error. */ 48*53ee8cc1Swenshuai.xi #define MM_PRINT MM_PRINT 49*53ee8cc1Swenshuai.xi MM_CONSOLE = 0x200 /* Display message on system console. */ 50*53ee8cc1Swenshuai.xi #define MM_CONSOLE MM_CONSOLE 51*53ee8cc1Swenshuai.xi }; 52*53ee8cc1Swenshuai.xi 53*53ee8cc1Swenshuai.xi /* Values to be for SEVERITY parameter of `fmtmsg'. */ 54*53ee8cc1Swenshuai.xi enum 55*53ee8cc1Swenshuai.xi { 56*53ee8cc1Swenshuai.xi MM_NOSEV = 0, /* No severity level provided for the message. */ 57*53ee8cc1Swenshuai.xi #define MM_NOSEV MM_NOSEV 58*53ee8cc1Swenshuai.xi MM_HALT, /* Error causing application to halt. */ 59*53ee8cc1Swenshuai.xi #define MM_HALT MM_HALT 60*53ee8cc1Swenshuai.xi MM_ERROR, /* Application has encountered a non-fatal fault. */ 61*53ee8cc1Swenshuai.xi #define MM_ERROR MM_ERROR 62*53ee8cc1Swenshuai.xi MM_WARNING, /* Application has detected unusual non-error 63*53ee8cc1Swenshuai.xi condition. */ 64*53ee8cc1Swenshuai.xi #define MM_WARNING MM_WARNING 65*53ee8cc1Swenshuai.xi MM_INFO /* Informative message. */ 66*53ee8cc1Swenshuai.xi #define MM_INFO MM_INFO 67*53ee8cc1Swenshuai.xi }; 68*53ee8cc1Swenshuai.xi 69*53ee8cc1Swenshuai.xi 70*53ee8cc1Swenshuai.xi /* Macros which can be used as null values for the arguments of `fmtmsg'. */ 71*53ee8cc1Swenshuai.xi #define MM_NULLLBL ((char *) 0) 72*53ee8cc1Swenshuai.xi #define MM_NULLSEV 0 73*53ee8cc1Swenshuai.xi #define MM_NULLMC ((long int) 0) 74*53ee8cc1Swenshuai.xi #define MM_NULLTXT ((char *) 0) 75*53ee8cc1Swenshuai.xi #define MM_NULLACT ((char *) 0) 76*53ee8cc1Swenshuai.xi #define MM_NULLTAG ((char *) 0) 77*53ee8cc1Swenshuai.xi 78*53ee8cc1Swenshuai.xi 79*53ee8cc1Swenshuai.xi /* Possible return values of `fmtmsg'. */ 80*53ee8cc1Swenshuai.xi enum 81*53ee8cc1Swenshuai.xi { 82*53ee8cc1Swenshuai.xi MM_NOTOK = -1, 83*53ee8cc1Swenshuai.xi #define MM_NOTOK MM_NOTOK 84*53ee8cc1Swenshuai.xi MM_OK = 0, 85*53ee8cc1Swenshuai.xi #define MM_OK MM_OK 86*53ee8cc1Swenshuai.xi MM_NOMSG = 1, 87*53ee8cc1Swenshuai.xi #define MM_NOMSG MM_NOMSG 88*53ee8cc1Swenshuai.xi MM_NOCON = 4 89*53ee8cc1Swenshuai.xi #define MM_NOCON MM_NOCON 90*53ee8cc1Swenshuai.xi }; 91*53ee8cc1Swenshuai.xi 92*53ee8cc1Swenshuai.xi 93*53ee8cc1Swenshuai.xi /* Print message with given CLASSIFICATION, LABEL, SEVERITY, TEXT, ACTION 94*53ee8cc1Swenshuai.xi and TAG to console or standard error. */ 95*53ee8cc1Swenshuai.xi extern int fmtmsg (long int __classification, __const char *__label, 96*53ee8cc1Swenshuai.xi int __severity, __const char *__text, 97*53ee8cc1Swenshuai.xi __const char *__action, __const char *__tag); 98*53ee8cc1Swenshuai.xi 99*53ee8cc1Swenshuai.xi #ifdef __USE_SVID 100*53ee8cc1Swenshuai.xi /* Add or remove severity level. */ 101*53ee8cc1Swenshuai.xi extern int addseverity (int __severity, __const char *__string) __THROW; 102*53ee8cc1Swenshuai.xi #endif 103*53ee8cc1Swenshuai.xi 104*53ee8cc1Swenshuai.xi __END_DECLS 105*53ee8cc1Swenshuai.xi 106*53ee8cc1Swenshuai.xi #endif /* fmtmsg.h */ 107