]>
Commit | Line | Data |
---|---|---|
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 |
41 | err, 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 | 65 | The |
3233d665 | 66 | .BR err () |
fea681da | 67 | and |
3233d665 | 68 | .BR warn () |
fea681da MK |
69 | family of functions display a formatted error message on the standard |
70 | error output. | |
71 | In all cases, the last component of the program name, a colon character, | |
72 | and a space are output. | |
73 | If the | |
3233d665 | 74 | .I fmt |
fea681da | 75 | argument is not NULL, the |
3233d665 MK |
76 | .BR printf (3)-like |
77 | formatted error message is output. | |
fea681da | 78 | The output is terminated by a newline character. |
5ec60461 | 79 | .PP |
fea681da | 80 | The |
3233d665 MK |
81 | .BR err (), |
82 | .BR verr (), | |
83 | .BR warn (), | |
fea681da | 84 | and |
3233d665 | 85 | .BR vwarn () |
fea681da | 86 | functions append an error message obtained from |
3233d665 | 87 | .BR strerror (3) |
7ac6478b | 88 | based on the global variable |
3233d665 | 89 | .IR errno , |
fea681da | 90 | preceded by another colon and space unless the |
3233d665 | 91 | .I fmt |
fea681da | 92 | argument is |
3233d665 | 93 | NULL. |
5ec60461 | 94 | .PP |
fea681da | 95 | The |
3233d665 | 96 | .BR errx () |
fea681da | 97 | and |
3233d665 | 98 | .BR warnx () |
fea681da | 99 | functions do not append an error message. |
5ec60461 | 100 | .PP |
fea681da | 101 | The |
3233d665 MK |
102 | .BR err (), |
103 | .BR verr (), | |
104 | .BR errx (), | |
fea681da | 105 | and |
3233d665 | 106 | .BR verrx () |
fea681da | 107 | functions do not return, but exit with the value of the argument |
3233d665 | 108 | .IR eval . |
bcbdc98f ZL |
109 | .SH ATTRIBUTES |
110 | For an explanation of the terms used in this section, see | |
111 | .BR attributes (7). | |
112 | .TS | |
113 | allbox; | |
114 | lbw17 lb lb | |
115 | l l l. | |
116 | Interface Attribute Value | |
117 | T{ | |
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 () | |
129 | T} Thread safety MT-Safe locale | |
130 | .TE | |
847e0d88 | 131 | .sp 1 |
47297adb | 132 | .SH CONFORMING TO |
22cb459d MK |
133 | These 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 |
142 | Display the current |
143 | .I errno | |
144 | information string and exit: | |
e646a1ba | 145 | .PP |
088a639b | 146 | .in +4n |
e646a1ba | 147 | .EX |
aefd6f89 MK |
148 | p = malloc(size); |
149 | if (p == NULL) | |
3233d665 | 150 | err(1, NULL); |
aefd6f89 MK |
151 | fd = open(file_name, O_RDONLY, 0); |
152 | if (fd == \-1) | |
3233d665 | 153 | err(1, "%s", file_name); |
b8302363 | 154 | .EE |
3233d665 | 155 | .in |
5ec60461 | 156 | .PP |
fea681da | 157 | Display an error message and exit: |
e646a1ba | 158 | .PP |
088a639b | 159 | .in +4n |
e646a1ba | 160 | .EX |
fea681da | 161 | if (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 | 166 | Warn of an error: |
e646a1ba | 167 | .PP |
088a639b | 168 | .in +4n |
e646a1ba | 169 | .EX |
aefd6f89 MK |
170 | fd = open(raw_device, O_RDONLY, 0); |
171 | if (fd == \-1) | |
3233d665 MK |
172 | warnx("%s: %s: trying the block device", |
173 | raw_device, strerror(errno)); | |
aefd6f89 MK |
174 | fd = open(block_device, O_RDONLY, 0); |
175 | if (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) |