Update.
[platform/upstream/glibc.git] / stdlib / fmtmsg.h
1 /* Message display handling.
2    Copyright (C) 1997, 1999, 2000 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 Library General Public License as
7    published by the Free Software Foundation; either version 2 of the
8    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    Library General Public License for more details.
14
15    You should have received a copy of the GNU Library General Public
16    License along with the GNU C Library; see the file COPYING.LIB.  If not,
17    write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
18    Boston, MA 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.  */
29 enum
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'.  */
54 enum
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'.  */
80 enum
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.  */
95 extern int fmtmsg (long int __classification, __const char *__label,
96                    int __severity, __const char *__text,
97                    __const char *__action, __const char *__tag) __THROW;
98
99 #ifdef __USE_SVID
100 /* Add or remove severity level.  */
101 extern int addseverity (int __severity, __const char *__string) __THROW;
102 #endif
103
104 __END_DECLS
105
106 #endif /* fmtmsg.h */