1/* Message display handling. 2 Copyright (C) 1997, 1999, 2000, 2003 Free Software Foundation, Inc. 3 This file is part of the GNU C Library. 4 5 The GNU C Library is free software; you can redistribute it and/or 6 modify it under the terms of the GNU Lesser General Public 7 License as published by the Free Software Foundation; either 8 version 2.1 of the License, or (at your option) any later version. 9 10 The GNU C Library is distributed in the hope that it will be useful, 11 but WITHOUT ANY WARRANTY; without even the implied warranty of 12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 13 Lesser General Public License for more details. 14 15 You should have received a copy of the GNU Lesser General Public 16 License along with the GNU C Library; if not, write to the Free 17 Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 18 02111-1307 USA. */ 19 20#ifndef __FMTMSG_H 21#define __FMTMSG_H 1 22 23#include <features.h> 24 25 26__BEGIN_DECLS 27 28/* Values to control `fmtmsg' function. */ 29enum 30{ 31 MM_HARD = 0x001, /* Source of the condition is hardware. */ 32#define MM_HARD MM_HARD 33 MM_SOFT = 0x002, /* Source of the condition is software. */ 34#define MM_SOFT MM_SOFT 35 MM_FIRM = 0x004, /* Source of the condition is firmware. */ 36#define MM_FIRM MM_FIRM 37 MM_APPL = 0x008, /* Condition detected by application. */ 38#define MM_APPL MM_APPL 39 MM_UTIL = 0x010, /* Condition detected by utility. */ 40#define MM_UTIL MM_UTIL 41 MM_OPSYS = 0x020, /* Condition detected by operating system. */ 42#define MM_OPSYS MM_OPSYS 43 MM_RECOVER = 0x040, /* Recoverable error. */ 44#define MM_RECOVER MM_RECOVER 45 MM_NRECOV = 0x080, /* Non-recoverable error. */ 46#define MM_NRECOV MM_NRECOV 47 MM_PRINT = 0x100, /* Display message in standard error. */ 48#define MM_PRINT MM_PRINT 49 MM_CONSOLE = 0x200 /* Display message on system console. */ 50#define MM_CONSOLE MM_CONSOLE 51}; 52 53/* Values to be for SEVERITY parameter of `fmtmsg'. */ 54enum 55{ 56 MM_NOSEV = 0, /* No severity level provided for the message. */ 57#define MM_NOSEV MM_NOSEV 58 MM_HALT, /* Error causing application to halt. */ 59#define MM_HALT MM_HALT 60 MM_ERROR, /* Application has encountered a non-fatal fault. */ 61#define MM_ERROR MM_ERROR 62 MM_WARNING, /* Application has detected unusual non-error 63 condition. */ 64#define MM_WARNING MM_WARNING 65 MM_INFO /* Informative message. */ 66#define MM_INFO MM_INFO 67}; 68 69 70/* Macros which can be used as null values for the arguments of `fmtmsg'. */ 71#define MM_NULLLBL ((char *) 0) 72#define MM_NULLSEV 0 73#define MM_NULLMC ((long int) 0) 74#define MM_NULLTXT ((char *) 0) 75#define MM_NULLACT ((char *) 0) 76#define MM_NULLTAG ((char *) 0) 77 78 79/* Possible return values of `fmtmsg'. */ 80enum 81{ 82 MM_NOTOK = -1, 83#define MM_NOTOK MM_NOTOK 84 MM_OK = 0, 85#define MM_OK MM_OK 86 MM_NOMSG = 1, 87#define MM_NOMSG MM_NOMSG 88 MM_NOCON = 4 89#define MM_NOCON MM_NOCON 90}; 91 92 93/* Print message with given CLASSIFICATION, LABEL, SEVERITY, TEXT, ACTION 94 and TAG to console or standard error. */ 95extern int fmtmsg (long int __classification, __const char *__label, 96 int __severity, __const char *__text, 97 __const char *__action, __const char *__tag); 98 99#ifdef __USE_SVID 100/* Add or remove severity level. */ 101extern int addseverity (int __severity, __const char *__string) __THROW; 102#endif 103 104__END_DECLS 105 106#endif /* fmtmsg.h */ 107