]> git.ipfire.org Git - thirdparty/man-pages.git/blame - man3/err.3
alloca.3: Prevent any misunderstanding about when allocated memory is released
[thirdparty/man-pages.git] / man3 / err.3
CommitLineData
fea681da
MK
1.\" Copyright (c) 1993
2.\" The Regents of the University of California. All rights reserved.
3.\"
a9cd9cb7 4.\" %%%LICENSE_START(BSD_4_CLAUSE_UCB)
fea681da
MK
5.\" Redistribution and use in source and binary forms, with or without
6.\" modification, are permitted provided that the following conditions
7.\" are met:
8.\" 1. Redistributions of source code must retain the above copyright
9.\" notice, this list of conditions and the following disclaimer.
10.\" 2. Redistributions in binary form must reproduce the above copyright
11.\" notice, this list of conditions and the following disclaimer in the
12.\" documentation and/or other materials provided with the distribution.
13.\" 3. All advertising materials mentioning features or use of this software
14.\" must display the following acknowledgement:
15.\" This product includes software developed by the University of
16.\" California, Berkeley and its contributors.
17.\" 4. Neither the name of the University nor the names of its contributors
18.\" may be used to endorse or promote products derived from this software
19.\" without specific prior written permission.
20.\"
21.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
22.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
23.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
24.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
25.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
26.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
27.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
28.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
29.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
30.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
31.\" SUCH DAMAGE.
8c9302dc 32.\" %%%LICENSE_END
fea681da
MK
33.\"
34.\" From: @(#)err.3 8.1 (Berkeley) 6/9/93
35.\" $FreeBSD: src/lib/libc/gen/err.3,v 1.11.2.5 2001/08/17 15:42:32 ru Exp $
36.\"
7ac6478b 37.\" 2011-09-10, mtk, Converted from mdoc to man macros
3233d665 38.\"
4b8c67d9 39.TH ERR 3 2017-09-15 "Linux" "Linux Programmer's Manual"
3233d665
MK
40.SH NAME
41err, verr, errx, verrx, warn, vwarn, warnx, vwarnx \- formatted error messages
42.SH SYNOPSIS
43.nf
44.B #include <err.h>
68e4db0a 45.PP
3233d665 46.BI "void err(int " eval ", const char *" fmt ", ...);"
68e4db0a 47.PP
3233d665 48.BI "void errx(int " eval ", const char *" fmt ", ...);"
68e4db0a 49.PP
3233d665 50.BI "void warn(const char *" fmt ", ...);"
68e4db0a 51.PP
3233d665 52.BI "void warnx(const char *" fmt ", ...);"
f90f031e 53
3233d665 54.B #include <stdarg.h>
68e4db0a 55.PP
3233d665 56.BI "void verr(int " eval ", const char *" fmt ", va_list " args );
68e4db0a 57.PP
3233d665 58.BI "void verrx(int " eval ", const char *" fmt ", va_list " args );
68e4db0a 59.PP
3233d665 60.BI "void vwarn(const char *" fmt ", va_list " args );
68e4db0a 61.PP
3233d665
MK
62.BI "void vwarnx(const char *" fmt ", va_list " args );
63.fi
64.SH DESCRIPTION
fea681da 65The
3233d665 66.BR err ()
fea681da 67and
3233d665 68.BR warn ()
fea681da
MK
69family of functions display a formatted error message on the standard
70error output.
71In all cases, the last component of the program name, a colon character,
72and a space are output.
73If the
3233d665 74.I fmt
fea681da 75argument is not NULL, the
3233d665
MK
76.BR printf (3)-like
77formatted error message is output.
fea681da 78The output is terminated by a newline character.
5ec60461 79.PP
fea681da 80The
3233d665
MK
81.BR err (),
82.BR verr (),
83.BR warn (),
fea681da 84and
3233d665 85.BR vwarn ()
fea681da 86functions append an error message obtained from
3233d665 87.BR strerror (3)
7ac6478b 88based on the global variable
3233d665 89.IR errno ,
fea681da 90preceded by another colon and space unless the
3233d665 91.I fmt
fea681da 92argument is
3233d665 93NULL.
5ec60461 94.PP
fea681da 95The
3233d665 96.BR errx ()
fea681da 97and
3233d665 98.BR warnx ()
fea681da 99functions do not append an error message.
5ec60461 100.PP
fea681da 101The
3233d665
MK
102.BR err (),
103.BR verr (),
104.BR errx (),
fea681da 105and
3233d665 106.BR verrx ()
fea681da 107functions do not return, but exit with the value of the argument
3233d665 108.IR eval .
bcbdc98f
ZL
109.SH ATTRIBUTES
110For an explanation of the terms used in this section, see
111.BR attributes (7).
112.TS
113allbox;
114lbw17 lb lb
115l l l.
116Interface Attribute Value
117T{
118.BR err (),
119.BR errx (),
120.br
121.BR warn (),
122.BR warnx (),
123.br
124.BR verr (),
125.BR verrx (),
126.br
127.BR vwarn (),
128.BR vwarnx ()
129T} Thread safety MT-Safe locale
130.TE
847e0d88 131.sp 1
47297adb 132.SH CONFORMING TO
22cb459d
MK
133These functions are nonstandard BSD extensions.
134.\" .SH HISTORY
135.\" The
136.\" .BR err ()
137.\" and
138.\" .BR warn ()
139.\" functions first appeared in
140.\" 4.4BSD.
000ea29f 141.SH EXAMPLE
b522208e
MK
142Display the current
143.I errno
144information string and exit:
e646a1ba 145.PP
088a639b 146.in +4n
e646a1ba 147.EX
aefd6f89
MK
148p = malloc(size);
149if (p == NULL)
3233d665 150 err(1, NULL);
aefd6f89
MK
151fd = open(file_name, O_RDONLY, 0);
152if (fd == \-1)
3233d665 153 err(1, "%s", file_name);
b8302363 154.EE
3233d665 155.in
5ec60461 156.PP
fea681da 157Display an error message and exit:
e646a1ba 158.PP
088a639b 159.in +4n
e646a1ba 160.EX
fea681da 161if (tm.tm_hour < START_TIME)
3233d665 162 errx(1, "too early, wait until %s", start_time_string);
b8302363 163.EE
3233d665 164.in
5ec60461 165.PP
fea681da 166Warn of an error:
e646a1ba 167.PP
088a639b 168.in +4n
e646a1ba 169.EX
aefd6f89
MK
170fd = open(raw_device, O_RDONLY, 0);
171if (fd == \-1)
3233d665
MK
172 warnx("%s: %s: trying the block device",
173 raw_device, strerror(errno));
aefd6f89
MK
174fd = open(block_device, O_RDONLY, 0);
175if (fd == \-1)
3233d665 176 err(1, "%s", block_device);
b8302363 177.EE
3233d665 178.in
3233d665
MK
179.SH SEE ALSO
180.BR error (3),
181.BR exit (3),
3233d665 182.BR perror (3),
f0c34053 183.BR printf (3),
3233d665 184.BR strerror (3)