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