/* * Copyright (c) 1998-2003 Carnegie Mellon University. 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. The name "Carnegie Mellon University" must not be used to * endorse or promote products derived from this software without * prior written permission. For permission or any other legal * details, please contact * Office of Technology Transfer * Carnegie Mellon University * 5000 Forbes Avenue * Pittsburgh, PA 15213-3890 * (412) 268-4387, fax: (412) 268-7395 * tech-transfer@andrew.cmu.edu * * 4. Redistributions of any form whatsoever must retain the following * acknowledgment: * "This product includes software developed by Computing Services * at Carnegie Mellon University (http://www.cmu.edu/computing/)." * * CARNEGIE MELLON UNIVERSITY DISCLAIMS ALL WARRANTIES WITH REGARD TO * THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY * AND FITNESS, IN NO EVENT SHALL CARNEGIE MELLON UNIVERSITY BE LIABLE * FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN * AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING * OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. */ /* * Header file for common error description library. * * Copyright 1988, Student Information Processing Board of the * Massachusetts Institute of Technology. * * Copyright 1995 by Cygnus Support. * * For copyright and distribution info, see the documentation supplied * with this package. */ #ifndef __COM_ERR_H #ifndef HAVE_STDARG_H /* End-user programs may need this -- oh well */ #if defined(__STDC__) || defined(_WINDOWS) #define HAVE_STDARG_H 1 #endif #endif #ifdef HAVE_STDARG_H #include <stdarg.h> #else #include <varargs.h> #endif /* This should be part of k5-config.h but many application * programs are not including that file. We probably want to * come up with a better way of handling this problem. */ #ifndef INTERFACE #ifdef _WINDOWS #define INTERFACE __far __export __pascal #define INTERFACE_C __far __export __cdecl #else #define INTERFACE #define INTERFACE_C #endif #endif #ifndef FAR #define FAR #endif #if defined(__STDC__) || defined(_WINDOWS) /* ANSI C -- use prototypes etc */ extern void INTERFACE_C com_err (const char FAR *, long, const char FAR *, ...); extern char const FAR * INTERFACE error_message (long); extern void (*com_err_hook) (const char *, long, const char *, va_list); extern void (*set_com_err_hook (void (*) (const char *, long, const char *, va_list))) (const char *, long, const char *, va_list); extern void (*reset_com_err_hook ()) (const char *, long, const char *, va_list); #else /* no prototypes */ extern void INTERFACE_C com_err (); extern char * INTERFACE error_message (); extern void (*com_err_hook) (); extern void (*set_com_err_hook ()) (); extern void (*reset_com_err_hook ()) (); #endif #define __COM_ERR_H #endif /* ! defined(__COM_ERR_H) */