com_err.h revision 00aba96743c1b76eb9c242368f582c65ecdbe47c
13839e65723771b85975f4263102dd3ceec4523cTheodore Ts'o/* 23839e65723771b85975f4263102dd3ceec4523cTheodore Ts'o * Header file for common error description library. 33839e65723771b85975f4263102dd3ceec4523cTheodore Ts'o * 43839e65723771b85975f4263102dd3ceec4523cTheodore Ts'o * Copyright 1988, Student Information Processing Board of the 53839e65723771b85975f4263102dd3ceec4523cTheodore Ts'o * Massachusetts Institute of Technology. 63839e65723771b85975f4263102dd3ceec4523cTheodore Ts'o * 73839e65723771b85975f4263102dd3ceec4523cTheodore Ts'o * For copyright and distribution info, see the documentation supplied 83839e65723771b85975f4263102dd3ceec4523cTheodore Ts'o * with this package. 93839e65723771b85975f4263102dd3ceec4523cTheodore Ts'o */ 103839e65723771b85975f4263102dd3ceec4523cTheodore Ts'o 113839e65723771b85975f4263102dd3ceec4523cTheodore Ts'o#ifndef __COM_ERR_H 123839e65723771b85975f4263102dd3ceec4523cTheodore Ts'o 133839e65723771b85975f4263102dd3ceec4523cTheodore Ts'otypedef long errcode_t; 143839e65723771b85975f4263102dd3ceec4523cTheodore Ts'o 1500aba96743c1b76eb9c242368f582c65ecdbe47cTheodore Ts'ostruct error_table { 1600aba96743c1b76eb9c242368f582c65ecdbe47cTheodore Ts'o char const * const * msgs; 1700aba96743c1b76eb9c242368f582c65ecdbe47cTheodore Ts'o unsigned long base; 1800aba96743c1b76eb9c242368f582c65ecdbe47cTheodore Ts'o unsigned int n_msgs; 1900aba96743c1b76eb9c242368f582c65ecdbe47cTheodore Ts'o}; 2000aba96743c1b76eb9c242368f582c65ecdbe47cTheodore Ts'o 213839e65723771b85975f4263102dd3ceec4523cTheodore Ts'o#ifdef __STDC__ 223839e65723771b85975f4263102dd3ceec4523cTheodore Ts'o#include <stdarg.h> 23f3db3566b5e1342e49dffc5ec3f418a838584194Theodore Ts'o 243839e65723771b85975f4263102dd3ceec4523cTheodore Ts'o/* ANSI C -- use prototypes etc */ 253839e65723771b85975f4263102dd3ceec4523cTheodore Ts'ovoid com_err (const char *, long, const char *, ...); 26f3db3566b5e1342e49dffc5ec3f418a838584194Theodore Ts'ovoid com_err_va (const char *whoami, errcode_t code, const char *fmt, 27f3db3566b5e1342e49dffc5ec3f418a838584194Theodore Ts'o va_list args); 283839e65723771b85975f4263102dd3ceec4523cTheodore Ts'ochar const *error_message (long); 29f3db3566b5e1342e49dffc5ec3f418a838584194Theodore Ts'oextern void (*com_err_hook) (const char *, long, const char *, va_list); 303839e65723771b85975f4263102dd3ceec4523cTheodore Ts'ovoid (*set_com_err_hook (void (*) (const char *, long, const char *, va_list))) 313839e65723771b85975f4263102dd3ceec4523cTheodore Ts'o (const char *, long, const char *, va_list); 323839e65723771b85975f4263102dd3ceec4523cTheodore Ts'ovoid (*reset_com_err_hook (void)) (const char *, long, const char *, va_list); 33f3db3566b5e1342e49dffc5ec3f418a838584194Theodore Ts'oint init_error_table(const char * const *msgs, int base, int count); 343839e65723771b85975f4263102dd3ceec4523cTheodore Ts'o#else 353839e65723771b85975f4263102dd3ceec4523cTheodore Ts'o/* no prototypes */ 363839e65723771b85975f4263102dd3ceec4523cTheodore Ts'ovoid com_err (); 37f3db3566b5e1342e49dffc5ec3f418a838584194Theodore Ts'ovoid com_err_va (); 383839e65723771b85975f4263102dd3ceec4523cTheodore Ts'ochar *error_message (); 39f3db3566b5e1342e49dffc5ec3f418a838584194Theodore Ts'oextern void (*com_err_hook) (); 403839e65723771b85975f4263102dd3ceec4523cTheodore Ts'ovoid (*set_com_err_hook ()) (); 413839e65723771b85975f4263102dd3ceec4523cTheodore Ts'ovoid (*reset_com_err_hook ()) (); 42f3db3566b5e1342e49dffc5ec3f418a838584194Theodore Ts'oint init_error_table(); 433839e65723771b85975f4263102dd3ceec4523cTheodore Ts'o#endif 443839e65723771b85975f4263102dd3ceec4523cTheodore Ts'o 453839e65723771b85975f4263102dd3ceec4523cTheodore Ts'o#define __COM_ERR_H 463839e65723771b85975f4263102dd3ceec4523cTheodore Ts'o#endif /* ! defined(__COM_ERR_H) */ 47