Museum

Home

Lab Overview

Retrotechnology Articles

⇒ Online Manual

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

addseverity(3C)

fmtmsg(3C)



FMTMSG(1)           RISC/os Reference Manual            FMTMSG(1)



NAME
     fmtmsg - display a message on stderr or system console

SYNOPSIS
     fmtmsg [-c class] [-u subclass] [-l label] [-s severity] [-t
     tag] [-a action]  text

DESCRIPTION
     Based on a message's classification component, fmtmsg either
     writes  a  formatted message to stderr or writes a formatted
     message to the console.

     A formatted message consists of up  to  five  standard  com-
     ponents  as  defined below.  The classification and subclass
     components are not displayed as part of  the  standard  mes-
     sage, but rather define the source of the message and direct
     the display of the formatted  message.   The  valid  options
     are:

     c class     Describes the source of the message.  Valid key-
                 words are:

                     hard      The source  of  the  condition  is
                               hardware.
                     soft      The source  of  the  condition  is
                               software.
                     firm      The source  of  the  condition  is
                               firmware.

     u subclass  A list of keywords (separated  by  commas)  that
                 further  defines  the  message  and  directs the
                 display of the message.  Valid keywords are:

                     appl      The  condition  originated  in  an
                               application.   This keyword should
                               not be used  in  combination  with
                               either util or opsys.
                     util      The  condition  originated  in   a
                               utility.   This keyword should not
                               be used in combination with either
                               appl or opsys.
                     opsys     The message originated in the ker-
                               nel.   This  keyword should not be
                               used in  combination  with  either
                               appl or util.
                     recov     The application will recover  from
                               the   condition.    This   keyword
                               should not be used in  combination
                               with nrecov.
                     nrecov    The application will  not  recover
                               from  the condition.  This keyword
                               should not be used in  combination



                        Printed 11/19/92                   Page 1





FMTMSG(1)           RISC/os Reference Manual            FMTMSG(1)



                               with recov.
                     print     Print the message to the  standard
                               error stream stderr.
                     console   Write the message  to  the  system
                               console.   print, console, or both
                               may be used.

     l label     Identifies the source of the message.

     s severity  Indicates the seriousness  of  the  error.   The
                 keywords  and definitions of the standard levels
                 of severity are:

                     halt      The application has encountered  a
                               severe fault and is halting.
                     error     The  application  has  detected  a
                               fault.
                     warn      The  application  has  detected  a
                               condition that is out of the ordi-
                               nary and might be a problem.
                     info      The   application   is   providing
                               information about a condition that
                               is not in error.

     t tag       The string containing an identifier for the mes-
                 sage.

     a action    A text string describing the first step  in  the
                 error  recovery  process.   This  string must be
                 written so that the entire  action  argument  is
                 interpreted  as  a single argument.  fmtmsg pre-
                 cedes each action string with the TO  FIX:  pre-
                 fix.

     text        A text string describing the condition.  Must be
                 written  so  that  the  entire  text argument is
                 interpreted as a single argument.

     The environment variables MSGVERB and SEV_LEVEL control  the
     behavior  of fmtmsg.  MSGVERB is set by the administrator in
     the /etc/profile for the system.   Users  can  override  the
     value  of  MSGVERB set by the system by resetting MSGVERB in
     their own .profile files or by changing the value  in  their
     current  shell  session.   SEV_LEVEL  can  be  used in shell
     scripts.

     MSGVERB tells fmtmsg which message components to select when
     writing messages to stderr.  The value of MSGVERB is a colon
     separated list of optional keywords.  MSGVERB can be set  as
     follows:





 Page 2                 Printed 11/19/92





FMTMSG(1)           RISC/os Reference Manual            FMTMSG(1)



           MSGVERB=[keyword[:keyword[:...]]]
           export MSGVERB

     Valid keywords are: label, severity, text, action, and  tag.
     If  MSGVERB  contains  a  keyword  for  a  component and the
     component's value is not the component's null value,  fmtmsg
     includes that component in the message when writing the mes-
     sage to stderr.  If MSGVERB does not include a keyword for a
     message  component,  that  component  is not included in the
     display of the message.  The  keywords  may  appear  in  any
     order.   If MSGVERB is not defined, if its value is the null
     string, if its value is not of the correct format, or if  it
     contains  keywords  other  than the valid ones listed above,
     fmtmsg selects all components.

     MSGVERB affects only which message components  are  selected
     for display.  All message components are included in console
     messages.

     SEV_LEVEL  defines  severity  levels  and  associates  print
     strings  with them for use by fmtmsg.  The standard severity
     levels shown below cannot be modified.  Additional  severity
     levels can be defined, redefined, and removed.

          0   (no severity is used)
          1   HALT
          2   ERROR
          3   WARNING
          4   INFO

     SEV_LEVEL is set as follows:

          SEV_LEVEL=[description[:description[:...]]]
          export SEV_LEVEL

     description  is  a  comma-separated  list  containing  three
     fields:

          description=severity_keyword,level,printstring

     severity_keyword is a character string used as  the  keyword
     with the s severity option to fmtmsg.

     level is a character string that  evaluates  to  a  positive
     integer (other than 0, 1, 2, 3, or 4, which are reserved for
     the   standard   severity   levels).    If    the    keyword
     severity_keyword is used, level is the severity value passed
     on to fmtmsg(3C).

     printstring is the character string used by  fmtmsg  in  the
     standard message format whenever the severity value level is
     used.



                        Printed 11/19/92                   Page 3





FMTMSG(1)           RISC/os Reference Manual            FMTMSG(1)



     If SEV_LEVEL is not defined, or if its  value  is  null,  no
     severity levels other than the defaults are available.  If a
     description in the colon  separated  list  is  not  a  comma
     separated  list  containing  three  fields, or if the second
     field of a comma separated list does not evaluate to a posi-
     tive  integer,  that description in the colon separated list
     is ignored.

DIAGNOSTICS
     The exit codes for fmtmsg are the following:

          0    All the requested functions were executed success-
               fully.

          1    The command contains a syntax  error,  an  invalid
               option, or an invalid argument to an option.

          2    The function executed with partial  success,  how-
               ever the message was not displayed on stderr.

          4    The function executed with partial  success,  how-
               ever  the  message was not displayed on the system
               console.

          32   No requested functions were executed successfully.

EXAMPLES
     Example 1:  The following example of fmtmsg produces a  com-
     plete message in the standard message format and displays it
     to the standard error stream:

          fmtmsg -c soft -u recov,print,appl -l UX:cat  -s  error
          -t UX:cat:001 -a "refer to manual" "invalid syntax"

     produces:

          UX:cat: ERROR: invalid syntax
          TO FIX: refer to manual   UX:cat:138

     Example 2:  When the environment variable MSGVERB is set  as
     follows:

          MSGVERB=severity:text:action

     and Example 1 is used, fmtmsg produces:

          ERROR: invalid syntax
          TO FIX: refer to manual

     Example 3:  When the environment variable SEV_LEVEL  is  set
     as follows:




 Page 4                 Printed 11/19/92





FMTMSG(1)           RISC/os Reference Manual            FMTMSG(1)



          SEV_LEVEL=note,5,NOTE

     the following fmtmsg command:

          fmtmsg -c soft -u print -l UX:cat -s note -a "refer  to
          manual" "invalid syntax"

     produces:

          UX:cat: NOTE: invalid syntax
          TO FIX: refer to manual

     and displays the message on stderr.

SEE ALSO
     addseverity(3C), fmtmsg(3C) in  the  Programmer's  Reference
     Manual.






































                        Printed 11/19/92                   Page 5



Typewritten Software • bear@typewritten.org • Edmonds, WA 98026