en

error.3


Introduction to Library Functions                        ERROR(3)

NAME
     error - error and debug trace message formatter

SYNOPSIS
          #include <error.h>

          Error_info_t error_info;

          void         error(int level, ...);
          void         errorv(const char* library, int level, va_alist args);
          void         liberror(const char* library, int level, ...);

          #include <debug.h>

          debug(statement)
          message((int level, ...))
          libmessage((const char* library, int level, ...))

DESCRIPTION
     error is the error and debug trace message formatter.  level
     is    the   severity   level.    Messages   with   level   <
     error_info.trace are suppressed.  error_info.trace  is  ini-
     tially  0.  The remaining arguments are passed on to printf.
     A newline is appended to the message text,  so  none  should
     appear in the printf format.  If error_info.id is not 0 then
     messages with level > 0 are prefixed by error_info.id:.

     Before the message text is output to standard  error  it  is
     passed  to  the  function  char* ERROR_translate(const char*
     text, int flag).  By  default  ERROR_translate  returns  the
     text argument, but on some systems it may do language trans-
     lation via lookup on the original source text.  (error calls
     ERROR_translate with a 0 flag argument).

     level may be one of:

     <0   Negative values are for debug tracing.  Debug  messages
          are    prefixed   with   debuglevel.    If   errno   !=
          error_info.last_errno then error_info.last_errno is set
          to  errno  and  the error text for errno is appended to
          the message.

     ERROR_INFO [0]
          Information only; no prefixes are added to the message.

     ERROR_WARNING [1]
          warning:    is   added    after    error_info.id    and
          error_info.warnings is incremented.

     ERROR_ERROR [2]
          (soft error) error_info.errors is incremented.

SunOS 5.10                Last change:                          1

Introduction to Library Functions                        ERROR(3)

     >= ERROR_FATAL [3]
          (hard  error)  error_info.errors  is  incremented   and
          exit(level-2) is called after the message is emitted.

     ERROR_PANIC [77]
          (unrecoverable internal error) panic:  is  added  after
          error_info.id.

     The following may be inclusive-or'd into level for alternate
     behavior:

     ERROR_SYSTEM
          The error text for errno is appended to the message.

     ERROR_OUTPUT
          The next argument is  the  file  descriptor  where  the
          error message should be emitted.

     ERROR_SOURCE
          Then next two arguments are a file name and line number
          that are added to the message after error_info.id.

     ERROR_USAGE
          A usage message is emitted.

     ERROR_PROMPT
          The trailing newline is suppressed.

     ERROR_NOID
          The error_info.id prefix is suppressed.

     ERROR_LIBRARY
          The message is from a library routine.

ENVIRONMENT
     The elements of the global struct error_info  control  error
     output  and actions.  Parts of error_info can be initialized
     from the ERROR_OPTIONS environment variable.   ERROR_OPTIONS
     contains  space  separated  name[=value]  options, described
     below.

     int core
          If error_info.core != 0 then level  >=  error_info.core
          generates a core dump.  Initialized by

          ERROR_OPTIONS="core=level"

     where level can be a number  or  one  of  error,  fatal,  or
     panic.   error_info.core is a handy way to get a stack trace
     at the exact point of error.

     int error_info.trace

SunOS 5.10                Last change:                          2

Introduction to Library Functions                        ERROR(3)

          If error_info.trace != 0 and level  <  error_info.trace
          then  the error message text is suppressed.  exit() may
          still be called if appropriate for level.   Initialized
          by

          ERROR_OPTIONS="trace=level"

     where error_info.trace is set to the negative of level.

     Library error messages, suppressed by default,  are  enabled
     by

          ERROR_OPTIONS="library"

     The system errno message text can be forced for each message
     by

          ERROR_OPTIONS="system"

EXTENDED DESCRIPTION
     <debug.h> provides debugging message macros  when  DEBUG  or
     _TRACE_  are  defined  (_TRACE_ is defined by makerules when
     CCFLAGS contains -g).  All of the macros expand  to  nothing
     when  both  DEBUG  and  _TRACE_  are not defined.  Otherwise
     debug expands its arg and libmessage and message call liber-
     ror  and  error  respectively if error_info.trace<0.  Notice
     that libmessage and message are  macro  hacks  that  require
     double parentheses ((...)) around the arguments.

EXAMPLE
     To enable debugging message level -3, library messages,  and
     system errno text for all commands:

          export ERROR_OPTIONS="trace=3 library system"

SunOS 5.10                Last change:                          3


Generated by GNU enscript 1.6.4.

Tags:
Created by admin on 2009/10/26 12:14
Last modified by admin on 2009/10/26 12:14

Collectives

Project ksh93-integration Pages


XWiki Enterprise 2.7.1.34853 - Documentation