home *** CD-ROM | disk | FTP | other *** search
/ PC World Komputer 1999 March B / SCO_CASTOR4RRT.iso / uccs / root.14 / udk / usr / include / fmtmsg.h < prev    next >
C/C++ Source or Header  |  1998-08-19  |  4KB  |  178 lines

  1. /*
  2.  * Copyright (c) 1998 The Santa Cruz Operation, Inc.. All Rights Reserved. 
  3.  *                                                                         
  4.  *        THIS IS UNPUBLISHED PROPRIETARY SOURCE CODE OF THE               
  5.  *                   SANTA CRUZ OPERATION INC.                             
  6.  *                                                                         
  7.  *   The copyright notice above does not evidence any actual or intended   
  8.  *   publication of such source code.                                      
  9.  */
  10.  
  11. #ifndef _FMTMSG_H
  12. #define _FMTMSG_H
  13. #ident    "@(#)sgs-head:common/head/fmtmsg.h    1.7"
  14.  
  15. /*
  16.  * fmtmsg.h
  17.  *
  18.  *    The <fmtmsg.h> header file contains the definitions needed
  19.  *    to use the fmtmsg() function.  This function writes messages
  20.  *    in a standard format to the standard error stream (stderr)
  21.  *    and to the system console.
  22.  */
  23.  
  24.  
  25. /*
  26.  * Constraint definitions:
  27.  *    MM_MXLABELLN    Maximum size of a "label" in a message
  28.  *    MM_MXTAGLN    Maximum size of a "tag" in a message
  29.  *    MM_MXTXTLN    Maximum size of a text string
  30.  *    MM_MXACTLN    Maximum size of an action string
  31.  */
  32.  
  33. #define    MM_MXLABELLN    25
  34. #define    MM_MXTAGLN    32
  35. #define MM_MXTXTLN    512
  36. #define MM_MXACTLN    512
  37.  
  38.  
  39.  
  40. /*
  41.  * Classification information
  42.  *      - Definition of classifications
  43.  *    - Definition of recoverability
  44.  *    - Definition of source classifications
  45.  */
  46.  
  47. /*
  48.  * Definition of the "null" classification
  49.  *    MM_NULL        Indicates that the classification has been omitted
  50.  */
  51.  
  52. #define    MM_NULL        0L
  53.  
  54. /*
  55.  * Definitions of type classifications:
  56.  *    MM_HARD        Hardware
  57.  *    MM_SOFT        Software
  58.  *    MM_FIRM        Firmware
  59.  */
  60.  
  61. #define    MM_HARD        0x00000001L
  62. #define    MM_SOFT        0x00000002L
  63. #define    MM_FIRM        0x00000004L
  64.  
  65.  
  66. /*
  67.  * Definitions of recoverability subclassification
  68.  *    MM_RECOVER    Recoverable
  69.  *    MM_NRECOV    Non-recoverable
  70.  */
  71.  
  72. #define    MM_RECOVER    0x00000100L
  73. #define    MM_NRECOV    0x00000200L
  74.  
  75.  
  76. /*
  77.  * Definitions of source subclassification
  78.  *    MM_APPL        Application
  79.  *    MM_UTIL        Utility
  80.  *    MM_OPSYS    Kernel
  81.  */
  82.  
  83. #define    MM_APPL        0x00000008L
  84. #define MM_UTIL        0x00000010L
  85. #define    MM_OPSYS    0x00000020L
  86.  
  87.  
  88. /*
  89.  * Definitions for the action to take with the message:
  90.  *    MM_PRINT    Write to the standard error stream
  91.  *    MM_CONSOLE    Treat the message as a console message
  92.  */
  93.  
  94. #define    MM_PRINT    0x00000040L
  95. #define    MM_CONSOLE    0x00000080L
  96.  
  97. /*
  98.  * Constants for severity values
  99.  *
  100.  *
  101.  *    MM_NOSEV    Message has no severity
  102.  *    MM_HALT        Message describes a severe error condition
  103.  *    MM_ERROR    Message describes an error condition
  104.  *    MM_WARNING    Message tells of probable error condition
  105.  *    MM_INFO        Message informs, not in error
  106.  */
  107.  
  108. #define MM_NOSEV    0
  109. #define    MM_HALT        1
  110. #define    MM_ERROR    2
  111. #define    MM_WARNING    3
  112. #define    MM_INFO        4
  113.  
  114. /*
  115.  * Null values for message components
  116.  *    MM_NULLLBL        Null value for the label-component
  117.  *    MM_NULLSEV        Null value for the severity-component
  118.  *    MM_NULLMC        Null value for the classification-component
  119.  *    MM_NULLTXT        Null value for the text-component
  120.  *    MM_NULLACT        Null value for the action-component
  121.  *    MM_NULLTAG        Null value for the tag-component
  122.  */
  123.  
  124. #define    MM_NULLLBL    ((char *)0)
  125. #define    MM_NULLSEV    MM_NOSEV
  126. #define    MM_NULLMC    MM_NULL
  127. #define    MM_NULLTXT    ((char *)0)
  128. #define    MM_NULLACT    ((char *)0)
  129. #define    MM_NULLTAG    ((char *)0)
  130.  
  131. /*
  132.  * Values returned by fmtmsg()
  133.  *
  134.  *    MM_NOTOK    None of the requested messages were generated
  135.  *    MM_NOMSG    No message was written to stderr
  136.  *    MM_NOCON    No console message was generated
  137.  */
  138.  
  139. #define    MM_NOTOK    (-1)
  140. #define    MM_OK        0x00
  141. #define    MM_NOMSG    0x01
  142. #define MM_NOCON    0x04
  143.  
  144. #ifdef __cplusplus
  145. extern "C" {
  146. #endif
  147.  
  148. int fmtmsg(long, const char *, int, const char *, const char *, const char *);
  149.  
  150. #if !(defined(_XOPEN_SOURCE) && _XOPEN_SOURCE_EXTENDED - 0 >= 1)
  151.  
  152. int addseverity(int, const char *);
  153.  
  154. #ifndef    NULL
  155. #define    NULL    0
  156. #endif
  157.  
  158. /*
  159.  * Environment variable names used by fmtmsg():
  160.  *    MSGVERB        Tells fmtmsg() which components it is to write
  161.  *            to the standard error stream
  162.  */
  163.  
  164. #define    MSGVERB        "MSGVERB"
  165.  
  166. /*
  167.  *    SEV_LEVEL    Names the env variable that defines severities
  168.  */
  169. #define    SEV_LEVEL    "SEV_LEVEL"
  170.  
  171. #endif /*!(defined(_XOPEN_SOURCE) && _XOPEN_SOURCE_EXTENDED - 0 >= 1)*/
  172.  
  173. #ifdef __cplusplus
  174. }
  175. #endif
  176.  
  177. #endif /*_FMTMSG_H*/
  178.