summaryrefslogtreecommitdiffstats
path: root/man3/err.3
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--man3/err.3155
1 files changed, 155 insertions, 0 deletions
diff --git a/man3/err.3 b/man3/err.3
new file mode 100644
index 0000000..87f45a3
--- /dev/null
+++ b/man3/err.3
@@ -0,0 +1,155 @@
+'\" t
+.\" Copyright (c) 1993
+.\" The Regents of the University of California. All rights reserved.
+.\"
+.\" SPDX-License-Identifier: BSD-4-Clause-UC
+.\"
+.\" From: @(#)err.3 8.1 (Berkeley) 6/9/93
+.\" $FreeBSD: src/lib/libc/gen/err.3,v 1.11.2.5 2001/08/17 15:42:32 ru Exp $
+.\"
+.\" 2011-09-10, mtk, Converted from mdoc to man macros
+.\"
+.TH err 3 2023-07-20 "Linux man-pages 6.05.01"
+.SH NAME
+err, verr, errx, verrx, warn, vwarn, warnx, vwarnx \- formatted error messages
+.SH LIBRARY
+Standard C library
+.RI ( libc ", " \-lc )
+.SH SYNOPSIS
+.nf
+.B #include <err.h>
+.PP
+.BI "[[noreturn]] void err(int " eval ", const char *" fmt ", ...);"
+.BI "[[noreturn]] void errx(int " eval ", const char *" fmt ", ...);"
+.PP
+.BI "void warn(const char *" fmt ", ...);"
+.BI "void warnx(const char *" fmt ", ...);"
+.PP
+.B #include <stdarg.h>
+.PP
+.BI "[[noreturn]] void verr(int " eval ", const char *" fmt ", va_list " args );
+.BI "[[noreturn]] void verrx(int " eval ", const char *" fmt ", va_list " args );
+.PP
+.BI "void vwarn(const char *" fmt ", va_list " args );
+.BI "void vwarnx(const char *" fmt ", va_list " args );
+.fi
+.SH DESCRIPTION
+The
+.BR err ()
+and
+.BR warn ()
+family of functions display a formatted error message on the standard
+error output.
+In all cases, the last component of the program name, a colon character,
+and a space are output.
+If the
+.I fmt
+argument is not NULL, the
+.BR printf (3)-like
+formatted error message is output.
+The output is terminated by a newline character.
+.PP
+The
+.BR err (),
+.BR verr (),
+.BR warn (),
+and
+.BR vwarn ()
+functions append an error message obtained from
+.BR strerror (3)
+based on the global variable
+.IR errno ,
+preceded by another colon and space unless the
+.I fmt
+argument is
+NULL.
+.PP
+The
+.BR errx ()
+and
+.BR warnx ()
+functions do not append an error message.
+.PP
+The
+.BR err (),
+.BR verr (),
+.BR errx (),
+and
+.BR verrx ()
+functions do not return, but exit with the value of the argument
+.IR eval .
+.SH ATTRIBUTES
+For an explanation of the terms used in this section, see
+.BR attributes (7).
+.TS
+allbox;
+lbx lb lb
+l l l.
+Interface Attribute Value
+T{
+.na
+.nh
+.BR err (),
+.BR errx (),
+.BR warn (),
+.BR warnx (),
+.BR verr (),
+.BR verrx (),
+.BR vwarn (),
+.BR vwarnx ()
+T} Thread safety MT-Safe locale
+.TE
+.sp 1
+.SH STANDARDS
+BSD.
+.SH HISTORY
+.TP
+.BR err ()
+.TQ
+.BR warn ()
+4.4BSD.
+.SH EXAMPLES
+Display the current
+.I errno
+information string and exit:
+.PP
+.in +4n
+.EX
+p = malloc(size);
+if (p == NULL)
+ err(EXIT_FAILURE, NULL);
+fd = open(file_name, O_RDONLY, 0);
+if (fd == \-1)
+ err(EXIT_FAILURE, "%s", file_name);
+.EE
+.in
+.PP
+Display an error message and exit:
+.PP
+.in +4n
+.EX
+if (tm.tm_hour < START_TIME)
+ errx(EXIT_FAILURE, "too early, wait until %s",
+ start_time_string);
+.EE
+.in
+.PP
+Warn of an error:
+.PP
+.in +4n
+.EX
+fd = open(raw_device, O_RDONLY, 0);
+if (fd == \-1)
+ warnx("%s: %s: trying the block device",
+ raw_device, strerror(errno));
+fd = open(block_device, O_RDONLY, 0);
+if (fd == \-1)
+ err(EXIT_FAILURE, "%s", block_device);
+.EE
+.in
+.SH SEE ALSO
+.BR error (3),
+.BR exit (3),
+.BR perror (3),
+.BR printf (3),
+.BR strerror (3)