From 6173b2ee76bf15494f39f072811060dc30e69561 Mon Sep 17 00:00:00 2001 From: mike Date: Mon, 5 Aug 2002 06:49:58 +0000 Subject: Implement POSIX.1-2001 (XSI)'s fmtmsg(3). --- include/Makefile | 2 +- include/fmtmsg.h | 72 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 73 insertions(+), 1 deletion(-) create mode 100644 include/fmtmsg.h (limited to 'include') diff --git a/include/Makefile b/include/Makefile index 1591211..ae4247f 100644 --- a/include/Makefile +++ b/include/Makefile @@ -10,7 +10,7 @@ CLEANFILES= osreldate.h version vers.c SUBDIR= arpa protocols rpcsvc rpc INCS= a.out.h ar.h assert.h bitstring.h complex.h cpio.h ctype.h db.h \ dirent.h \ - dlfcn.h elf.h elf-hints.h err.h fnmatch.h fstab.h \ + dlfcn.h elf.h elf-hints.h err.h fnmatch.h fmtmsg.h fstab.h \ fts.h glob.h grp.h \ hesiod.h histedit.h ieeefp.h ifaddrs.h inttypes.h iso646.h kenv.h \ langinfo.h \ diff --git a/include/fmtmsg.h b/include/fmtmsg.h new file mode 100644 index 0000000..0de69c2 --- /dev/null +++ b/include/fmtmsg.h @@ -0,0 +1,72 @@ +/*- + * Copyright (c) 2002 Mike Barcroft + * 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. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR 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 AUTHOR 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. + * + * $FreeBSD$ + */ + +#ifndef _FMTMSG_H_ +#define _FMTMSG_H_ + +/* Source of condition is... */ +#define MM_HARD 0x0001 /* hardware. */ +#define MM_SOFT 0x0002 /* software. */ +#define MM_FIRM 0x0004 /* fireware. */ + +/* Condition detected by... */ +#define MM_APPL 0x0010 /* application. */ +#define MM_UTIL 0x0020 /* utility. */ +#define MM_OPSYS 0x0040 /* operating system. */ + +/* Display on... */ +#define MM_PRINT 0x0100 /* standard error. */ +#define MM_CONSOLE 0x0200 /* system console. */ + +#define MM_RECOVER 0x1000 /* Recoverable error. */ +#define MM_NRECOV 0x2000 /* Non-recoverable error. */ + +/* Severity levels. */ +#define MM_NOSEV 0 /* No severity level provided. */ +#define MM_HALT 1 /* Error causing application to halt. */ +#define MM_ERROR 2 /* Non-fault fault. */ +#define MM_WARNING 3 /* Unusual non-error condition. */ +#define MM_INFO 4 /* Informative message. */ + +/* Null options. */ +#define MM_NULLLBL (char *)0 +#define MM_NULLSEV 0 +#define MM_NULLMC 0L +#define MM_NULLTXT (char *)0 +#define MM_NULLACT (char *)0 +#define MM_NULLTAG (char *)0 + +/* Return values. */ +#define MM_OK 0 /* Success. */ +#define MM_NOMSG 1 /* Failed to output to stderr. */ +#define MM_NOCON 2 /* Failed to output to console. */ +#define MM_NOTOK 3 /* Failed to output anything. */ + +int fmtmsg(long, const char *, int, const char *, const char *, const char *); + +#endif /* _FMTMSG_H_ */ -- cgit v1.1