1 /* $Id: fmtmsg.h,v 1.4 2002/10/29 04:45:08 rex Exp $
6 * message display structures. Conforming to the Single UNIX(r)
7 * Specification Version 2, System Interface & Headers Issue 5
9 * This file is part of the ReactOS Operating System.
12 * Created by KJK::Hyperion <noog@libero.it>
14 * THIS SOFTWARE IS NOT COPYRIGHTED
16 * This source code is offered for use in the public domain. You may
17 * use, modify or distribute it freely.
19 * This code is distributed in the hope that it will be useful but
20 * WITHOUT ANY WARRANTY. ALL WARRANTIES, EXPRESS OR IMPLIED ARE HEREBY
21 * DISCLAMED. This includes but is not limited to warranties of
22 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
25 #ifndef __FMTMSG_H_INCLUDED__
26 #define __FMTMSG_H_INCLUDED__
35 /* Major Classifications */
36 /* NOTE: these are unique values, not flags. Their bits can overlap, but
37 cannot overlap with those of other categories */
38 #define MM_HARD (0x00000001) /* Source of the condition is hardware. */
39 #define MM_SOFT (0x00000002) /* Source of the condition is software. */
40 #define MM_FIRM (0x00000003) /* Source of the condition is firmware. */
42 /* Message Source Subclassifications */
43 /* NOTE: these are unique values, not flags. Their bits can overlap, but
44 cannot overlap with those of other categories */
45 #define MM_APPL (0x00000010) /* Condition detected by application. */
46 #define MM_UTIL (0x00000020) /* Condition detected by utility. */
47 #define MM_OPSYS (0x00000030) /* Condition detected by operating system. */
49 /* Status Subclassifications */
50 /* NOTE: these are unique values, not flags. Their bits can overlap, but
51 cannot overlap with those of other categories */
52 #define MM_RECOVER (0x00000100) /* Recoverable error. */
53 #define MM_NRECOV (0x00000200) /* Non-recoverable error. */
55 /* Display Subclassifications */
56 /* NOTE: these, unlike other classification constants, are flags. Their
57 bits must be distinct */
58 #define MM_PRINT (0x00001000) /* Display message on standard error. */
59 #define MM_CONSOLE (0x00002000) /* Display message on system console. */
61 /* Identifiers for the levels of severity */
62 #define MM_NOSEV (0) /* No severity level provided for the message. */
63 #define MM_INFO (1) /* Informative message. */
64 #define MM_WARNING (2) /* Application has detected unusual non-error \
66 #define MM_ERROR (3) /* Application has encountered a non-fatal fault. */
67 #define MM_HALT (4) /* Error causing application to halt. */
69 /* Null values and identifiers */
70 #define MM_NULLLBL ((char *)0) /* Null label */
71 #define MM_NULLSEV (0) /* Null severity */
72 #define MM_NULLMC (0L) /* Null class */
73 #define MM_NULLTXT ((char *)0) /* Null text */
74 #define MM_NULLACT ((char *)0) /* Null action */
75 #define MM_NULLTAG ((char *)0) /* Null tag */
78 #define MM_OK ( 0) /* The function succeeded. */
79 #define MM_NOTOK (-1) /* The function failed completely. */
80 #define MM_NOMSG (-2) /* The function was unable to generate a message on \
81 standard error, but otherwise succeeded. */
82 #define MM_NOCON (-3) /* The function was unable to generate a console \
83 message, but otherwise succeeded. */
86 int fmtmsg(long, const char*, int, const char*, const char*, const char*);
90 #endif /* __FMTMSG_H_INCLUDED__ */