6a00dc5ed2
Submitted by: Yuko Sasaki <yuko@veltec.co.jp>
225 lines
5.6 KiB
Groff
225 lines
5.6 KiB
Groff
.\" Copyright (c) 1993
|
||
.\" The Regents of the University of California. All rights reserved.
|
||
.\"
|
||
.\" Redistribution and use in source and binary forms, with or without
|
||
.\" modification, are permitted provided that the following conditions
|
||
.\" are met:
|
||
.\" 1. Redistributions of source code must retain the above copyright
|
||
.\" notice, this list of conditions and the following disclaimer.
|
||
.\" 2. Redistributions in binary form must reproduce the above copyright
|
||
.\" notice, this list of conditions and the following disclaimer in the
|
||
.\" documentation and/or other materials provided with the distribution.
|
||
.\" 3. All advertising materials mentioning features or use of this software
|
||
.\" must display the following acknowledgement:
|
||
.\" This product includes software developed by the University of
|
||
.\" California, Berkeley and its contributors.
|
||
.\" 4. Neither the name of the University nor the names of its contributors
|
||
.\" may be used to endorse or promote products derived from this software
|
||
.\" without specific prior written permission.
|
||
.\"
|
||
.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
|
||
.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||
.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
||
.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
|
||
.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
|
||
.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
|
||
.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
|
||
.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
|
||
.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
|
||
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
|
||
.\" SUCH DAMAGE.
|
||
.\"
|
||
.\" From: @(#)err.3 8.1 (Berkeley) 6/9/93
|
||
.\" %FreeBSD: src/lib/libc/gen/err.3,v 1.11.2.6 2001/12/14 18:33:51 ru Exp %
|
||
.\"
|
||
.\" $FreeBSD$
|
||
.Dd March 6, 1999
|
||
.Dt ERR 3
|
||
.Os
|
||
.Sh ̾¾Î
|
||
.Nm err ,
|
||
.Nm verr ,
|
||
.Nm errc ,
|
||
.Nm verrc ,
|
||
.Nm errx ,
|
||
.Nm verrx ,
|
||
.Nm warn ,
|
||
.Nm vwarn ,
|
||
.Nm warnc ,
|
||
.Nm vwarnc ,
|
||
.Nm warnx ,
|
||
.Nm vwarnx ,
|
||
.Nm err_set_exit ,
|
||
.Nm err_set_file
|
||
.Nd ¥Õ¥©¡¼¥Þ¥Ã¥È¤µ¤ì¤¿¥¨¥é¡¼¥á¥Ã¥»¡¼¥¸
|
||
.Sh ¥é¥¤¥Ö¥é¥ê
|
||
.Lb libc
|
||
.Sh ½ñ¼°
|
||
.In err.h
|
||
.Ft void
|
||
.Fn err "int eval" "const char *fmt" "..."
|
||
.Ft void
|
||
.Fn err_set_exit "void (*exitf)(int)"
|
||
.Ft void
|
||
.Fn err_set_file "void *vfp"
|
||
.Ft void
|
||
.Fn errc "int eval" "int code" "const char *fmt" "..."
|
||
.Ft void
|
||
.Fn errx "int eval" "const char *fmt" "..."
|
||
.Ft void
|
||
.Fn warn "const char *fmt" "..."
|
||
.Ft void
|
||
.Fn warnc "int code" "const char *fmt" "..."
|
||
.Ft void
|
||
.Fn warnx "const char *fmt" "..."
|
||
.In stdarg.h
|
||
.Ft void
|
||
.Fn verr "int eval" "const char *fmt" "va_list args"
|
||
.Ft void
|
||
.Fn verrc "int eval" "int code" "const char *fmt" "va_list args"
|
||
.Ft void
|
||
.Fn verrx "int eval" "const char *fmt" "va_list args"
|
||
.Ft void
|
||
.Fn vwarn "const char *fmt" "va_list args"
|
||
.Ft void
|
||
.Fn vwarnc "int code" "const char *fmt" "va_list args"
|
||
.Ft void
|
||
.Fn vwarnx "const char *fmt" "va_list args"
|
||
.Sh ²òÀâ
|
||
.Fn err
|
||
´Ø¿ô¤È
|
||
.Fn warn
|
||
´Ø¿ô¤Î¥Õ¥¡¥ß¥ê¤Ï¡¢É¸½à¥¨¥é¡¼½ÐÎÏ¡¢¤Þ¤¿¤Ï
|
||
.Fn err_set_file
|
||
´Ø¿ô¤ò»ÈÍѤ·¤Æ»ØÄꤷ¤¿Ê̤Υե¡¥¤¥ë¾å¤Ë¥Õ¥©¡¼¥Þ¥Ã¥ÈºÑ¤ß¤Î
|
||
¥¨¥é¡¼¥á¥Ã¥»¡¼¥¸¤òɽ¼¨¤·¤Þ¤¹¡£
|
||
¤¹¤Ù¤Æ¤Î¾ì¹ç¤Ë¡¢¥×¥í¥°¥é¥à̾¤ÎºÇ¸å¤Î¥³¥ó¥Ý¡¼¥Í¥ó¥È¡¢¥³¥í¥ó¥¥ã¥é¥¯¥¿¡¢
|
||
¤ª¤è¤Ó¥¹¥Ú¡¼¥¹¤¬½ÐÎϤµ¤ì¤Þ¤¹¡£
|
||
.Fa fmt
|
||
°ú¿ô¤¬ NULL ¤Ç¤Ê¤¤¾ì¹ç¡¢
|
||
.Xr printf 3
|
||
¤Î¤è¤¦¤Ê¥Õ¥©¡¼¥Þ¥Ã¥ÈºÑ¤ß¤Î¥¨¥é¡¼¥á¥Ã¥»¡¼¥¸¤¬½ÐÎϤµ¤ì¤Þ¤¹¡£
|
||
½ÐÎϤκǸå¤Ë¤Ï²þ¹Ôʸ»ú¤¬ÉÕ¤¤Þ¤¹¡£
|
||
.Pp
|
||
.Fn err ,
|
||
.Fn errc ,
|
||
.Fn verr ,
|
||
.Fn verrc ,
|
||
.Fn warn ,
|
||
.Fn warnc ,
|
||
.Fn vwarn ,
|
||
.Fn vwarnc
|
||
¤Î´Ø¿ô¤Ï¡¢code ¤Þ¤¿¤ÏÂç°èÊÑ¿ô
|
||
.Va errno
|
||
¤Ë´ð¤¯¥¨¥é¡¼¥á¥Ã¥»¡¼¥¸¤ò¡¢Á°¤Ë¥³¥í¥ó¤È¶õÇò¤òÉÕ¤±¤Æ¡¢Éղä·¤Þ¤¹¡£
|
||
¤¿¤À¤·¡¢
|
||
.Fa fmt
|
||
°ú¿ô¤¬
|
||
.Dv NULL
|
||
¤Î¾ì¹ç¤ÏÎã³°¤Ç¤¹¡£
|
||
.Pp
|
||
.Fn errc ,
|
||
.Fn verrc ,
|
||
.Fn warnc ,
|
||
¤ª¤è¤Ó
|
||
.Fn vwarnc
|
||
¤Î³Æ´Ø¿ô¤Î¾ì¹ç¡¢
|
||
.Va code
|
||
°ú¿ô¤¬¥¨¥é¡¼¥á¥Ã¥»¡¼¥¸¤Î¸¡º÷¤Ë»ÈÍѤµ¤ì¤Þ¤¹¡£
|
||
.Pp
|
||
.Fn err ,
|
||
.Fn verr ,
|
||
.Fn warn ,
|
||
¤ª¤è¤Ó
|
||
.Fn vwarn
|
||
¤Î³Æ´Ø¿ô¤Ï¡¢
|
||
¥°¥í¡¼¥Ð¥ëÊÑ¿ô
|
||
.Va errno
|
||
¤ò»ÈÍѤ·¤Æ¥¨¥é¡¼¥á¥Ã¥»¡¼¥¸¤ò¸¡º÷¤·¤Þ¤¹¡£
|
||
.Pp
|
||
.Fn errx
|
||
´Ø¿ô¤ª¤è¤Ó
|
||
.Fn warnx
|
||
´Ø¿ô¤Ï¡¢¥¨¥é¡¼¥á¥Ã¥»¡¼¥¸¤òÄɲä·¤Þ¤»¤ó¡£
|
||
.Pp
|
||
.Fn err ,
|
||
.Fn verr ,
|
||
.Fn errc ,
|
||
.Fn verrc ,
|
||
.Fn errx ,
|
||
¤ª¤è¤Ó
|
||
.Fn verrx
|
||
¤Î³Æ´Ø¿ô¤Ï¡¢
|
||
Ìá¤ê¤Þ¤»¤ó¤¬¡¢°ú¿ô
|
||
.Fa eval
|
||
¤ÎÃͤǽªÎ»¤·¤Þ¤¹¡£
|
||
.Fn err_set_exit
|
||
´Ø¿ô¤ò»ÈÍѤ·¤Æ¡¢
|
||
.Xr exit 3
|
||
¤ÎÁ°¤Ë¸Æ¤Ó½Ð¤µ¤ì¤ë´Ø¿ô¤ò»ØÄꤷ¤Æ¡¢É¬Íפʥ¯¥ê¡¼¥ó¥¢¥Ã¥×¤ò
|
||
¼Â¹Ô¤Ç¤¤Þ¤¹¡£
|
||
.Va exitf
|
||
ÍÑ¤Ë NULL ´Ø¿ô¥Ý¥¤¥ó¥¿¤ò³ä¤êÅö¤Æ¤ë¤È¡¢¥Õ¥Ã¥¯¤¬
|
||
²¿¤â¤·¤Ê¤¤¤è¤¦¤Ë¥ê¥»¥Ã¥È¤µ¤ì¤Þ¤¹¡£
|
||
´Ø¿ô¤Ï¡¢Â¾¤Î´Ø¿ô¤¬»ÈÍѤ¹¤ë½ÐÎÏ¥¹¥È¥ê¡¼¥à¤òÀßÄꤷ¤Þ¤¹¡£
|
||
.Fa vfp
|
||
°ú¿ô¤Ï¡¢³«¤¤¤Æ¤¤¤ë¥¹¥È¥ê¡¼¥à
|
||
(´û¤Ë void * ¤ËÊÑ´¹¤µ¤ì¤Æ¤¤¤ë¤«¤â¤·¤ì¤Þ¤»¤ó)
|
||
¤«¡¢NULL ¥Ý¥¤¥ó¥¿¤Ç¤¹
|
||
(¤³¤Î¾ì¹ç½ÐÎÏ¥¹¥È¥ê¡¼¥à¤Ïɸ½à¥¨¥é¡¼¤ËÀßÄꤵ¤ì¤Þ¤¹)¡£
|
||
.Sh Îã
|
||
¸½ºß¤Î errno ¾ðÊó¤òɽ¼¨¤·½ªÎ»¤·¤Þ¤¹¡£
|
||
.Bd -literal -offset indent
|
||
if ((p = malloc(size)) == NULL)
|
||
err(1, NULL);
|
||
if ((fd = open(file_name, O_RDONLY, 0)) == -1)
|
||
err(1, "%s", file_name);
|
||
.Ed
|
||
.Pp
|
||
¥¨¥é¡¼¥á¥Ã¥»¡¼¥¸¤òɽ¼¨¤·¤Æ½ªÎ»¤·¤Þ¤¹¡£
|
||
.Bd -literal -offset indent
|
||
if (tm.tm_hour < START_TIME)
|
||
errx(1, "too early, wait until %s", start_time_string);
|
||
.Ed
|
||
.Pp
|
||
¥¨¥é¡¼¤Î·Ù¹ð
|
||
.Bd -literal -offset indent
|
||
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);
|
||
.Ed
|
||
.Pp
|
||
¥°¥í¡¼¥Ð¥ëÊÑ¿ô
|
||
.Va errno
|
||
¤ò»ÈÍѤ·¤Ê¤¤¥¨¥é¡¼¤Î·Ù¹ð
|
||
.Bd -literal -offset indent
|
||
error = my_function(); /* returns a value from <errno.h> */
|
||
if (error != 0)
|
||
warnc(error, "my_function");
|
||
.Ed
|
||
.Sh ´ØÏ¢¹àÌÜ
|
||
.Xr exit 3 ,
|
||
.Xr printf 3 ,
|
||
.Xr strerror 3
|
||
.Pp
|
||
.Sh Îò»Ë
|
||
.Fn err
|
||
´Ø¿ô¤È
|
||
.Fn warn
|
||
´Ø¿ô¤ÏºÇ½é¤Ë
|
||
.Bx 4.4
|
||
¤Ç¸½¤ì¤Þ¤·¤¿¡£
|
||
.Fn err_set_exit
|
||
´Ø¿ô
|
||
.Fn err_set_file
|
||
´Ø¿ô¤ÏºÇ½é¤Ë
|
||
.Fx 2.1
|
||
¤Ç¸½¤ì¤Þ¤·¤¿¡£
|
||
.Fn errc
|
||
´Ø¿ô¤È
|
||
.Fn warnc
|
||
´Ø¿ô¤ÏºÇ½é¤Ë
|
||
.Fx 3.0
|
||
¤Ç¸½¤ì¤Þ¤·¤¿¡£
|