1214501Srpaulo/* 2214501Srpaulo * Copyright (c) 1997 - 2001 Kungliga Tekniska H��gskolan 3214501Srpaulo * (Royal Institute of Technology, Stockholm, Sweden). 4214501Srpaulo * All rights reserved. 5252726Srpaulo * 6252726Srpaulo * Redistribution and use in source and binary forms, with or without 7214501Srpaulo * modification, are permitted provided that the following conditions 8214501Srpaulo * are met: 9214501Srpaulo * 10214501Srpaulo * 1. Redistributions of source code must retain the above copyright 11214501Srpaulo * notice, this list of conditions and the following disclaimer. 12214501Srpaulo * 13214501Srpaulo * 2. Redistributions in binary form must reproduce the above copyright 14214501Srpaulo * notice, this list of conditions and the following disclaimer in the 15214501Srpaulo * documentation and/or other materials provided with the distribution. 16214501Srpaulo * 17214501Srpaulo * 3. Neither the name of the Institute nor the names of its contributors 18214501Srpaulo * may be used to endorse or promote products derived from this software 19214501Srpaulo * without specific prior written permission. 20214501Srpaulo * 21214501Srpaulo * THIS SOFTWARE IS PROVIDED BY THE INSTITUTE AND CONTRIBUTORS ``AS IS'' AND 22214501Srpaulo * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 23214501Srpaulo * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 24214501Srpaulo * ARE DISCLAIMED. IN NO EVENT SHALL THE INSTITUTE OR CONTRIBUTORS BE LIABLE 25214501Srpaulo * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 26214501Srpaulo * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 27214501Srpaulo * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 28214501Srpaulo * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 29214501Srpaulo * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 30214501Srpaulo * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 31214501Srpaulo * SUCH DAMAGE. 32214501Srpaulo */ 33214501Srpaulo 34214501Srpaulo/* $Id$ */ 35214501Srpaulo 36214501Srpaulo/* MIT compatible com_err library */ 37214501Srpaulo 38214501Srpaulo#ifndef __COM_ERR_H__ 39214501Srpaulo#define __COM_ERR_H__ 40214501Srpaulo 41214501Srpaulo#include <com_right.h> 42214501Srpaulo#include <stdarg.h> 43214501Srpaulo 44214501Srpaulo#if !defined(__GNUC__) && !defined(__attribute__) 45214501Srpaulo#define __attribute__(X) 46214501Srpaulo#endif 47214501Srpaulo 48214501Srpaulotypedef void (KRB5_CALLCONV *errf) (const char *, long, const char *, va_list); 49214501Srpaulo 50214501SrpauloKRB5_LIB_FUNCTION const char * KRB5_LIB_CALL 51214501Srpauloerror_message (long); 52214501Srpaulo 53214501SrpauloKRB5_LIB_FUNCTION int KRB5_LIB_CALL 54214501Srpauloinit_error_table (const char**, long, int); 55214501Srpaulo 56214501SrpauloKRB5_LIB_FUNCTION void KRB5_LIB_CALL 57214501Srpaulocom_err_va (const char *, long, const char *, va_list) 58214501Srpaulo __attribute__((format(printf, 3, 0))); 59214501Srpaulo 60214501SrpauloKRB5_LIB_FUNCTION void KRB5_LIB_CALL 61214501Srpaulocom_err (const char *, long, const char *, ...) 62214501Srpaulo __attribute__((format(printf, 3, 4))); 63214501Srpaulo 64214501SrpauloKRB5_LIB_FUNCTION errf KRB5_LIB_CALL 65214501Srpauloset_com_err_hook (errf); 66214501Srpaulo 67214501SrpauloKRB5_LIB_FUNCTION errf KRB5_LIB_CALL 68214501Srpauloreset_com_err_hook (void); 69214501Srpaulo 70214501SrpauloKRB5_LIB_FUNCTION const char * KRB5_LIB_CALL 71214501Srpauloerror_table_name (int num); 72214501Srpaulo 73214501SrpauloKRB5_LIB_FUNCTION void KRB5_LIB_CALL 74214501Srpauloadd_to_error_table (struct et_list *new_table); 75214501Srpaulo 76214501Srpaulo#endif /* __COM_ERR_H__ */ 77214501Srpaulo