ERR(3)                         Library Routines                         ERR(3)




NAME

       err,  verr,  errx,  verrx,  warn,  vwarn,  warnx, vwarnx, err_set_file,
       err_set_exit - formatted error messages


SYNOPSIS

       #include <err.h>

       void err (int eval, const char *fmt, ...);
       void verr (int eval, const char *fmt, va_list args);
       void errx (int eval, const char *fmt, ...);
       void verrx (int eval, const char *fmt, va_list args);
       void warn (const char *fmt, ...);
       void vwarn (const char *fmt, va_list args);
       void warnx (const char *fmt, ...);
       void vwarnx (const char *fmt, va_list args);
       void err_set_file (void *fp);
       void err_set_exit (void (*exitf)(int));


DESCRIPTION

       The err and warn family of functions display a formatted error  message
       on  the  standard  error output, or on another file specified using the
       err_set_file function.  In all cases, the last component of the program
       name,  a  colon character, and a space are output.  If the fmt argument
       is not NULL, the formatted error message,  a  colon  character,  and  a
       space  are output.  In the case of the err, verr, warn, and vwarn func-
       tions, the error message string affiliated with the  current  value  of
       the  global variable errno is output.  In all cases, the output is fol-
       lowed by a newline character.

       The err, verr, errx, and verrx functions do not return, but  exit  with
       the  value of the argument (eval) The err_set_exit function can be used
       to specify a function which is called before  exit(3)  to  perform  any
       necessary cleanup; passing a null function pointer for exitf resets the
       hook to do nothing.


EXAMPLES

       Display the current errno information string and exit:

              if ((p = malloc(size)) == NULL)
                   err(1, NULL);
              if ((fd = open(file_name, O_RDONLY, 0)) == -1)
                   err(1, "%s", file_name);


       Display an error message and exit:

              if (tm.tm_hour < START_TIME)
                   errx(1, "too early, wait until %s", start_time_string);


       Warn of an error:

              if ((fd = open(raw_device, O_RDONLY, 0)) == -1)
                   warnx("%s: %s: trying the block device",
                       raw_device, strerror(errno));
              if ((fd = open(block_device, O_RDONLY, 0)) == -1)
                   err(1, "%s", block_device);



SEE ALSO

       exit(3), strerror(3)


HISTORY

       The err and warn functions first appeared in 4.4BSD.



GNO                            27 February 1997                         ERR(3)

Man(1) output converted with man2html