1 /*
2  * Header file for common error description library.
3  *
4  * Copyright 1988, Student Information Processing Board of the
5  * Massachusetts Institute of Technology.
6  *
7  * For copyright and distribution info, see the documentation supplied
8  * with this package.
9  */
10 
11 #ifndef __COM_ERR_H
12 #define __COM_ERR_H
13 
14 #define COM_ERR_BUF_LEN 25
15 
16 /* Use __STDC__ to guess whether we can use stdarg, prototypes, and const.
17  * This is a public header file, so autoconf can't help us here. */
18 #ifdef __STDC__
19 # include <stdarg.h>
20 # define ETP(x) x
21 # define ETCONST const
22 #else
23 # define ETP(x) ()
24 # define ETCONST
25 #endif
26 
27 typedef void (*error_handler_t) ETP((ETCONST char *, long, ETCONST char *,
28 				     va_list));
29 extern error_handler_t com_err_hook;
30 void com_err ETP((ETCONST char *, long, ETCONST char *, ...));
31 ETCONST char *error_message ETP((long));
32 ETCONST char *error_message_r ETP((long, char *));
33 error_handler_t set_com_err_hook ETP((error_handler_t));
34 error_handler_t reset_com_err_hook ETP((void));
35 
36 #undef ETP
37 
38 #endif /* ! defined(__COM_ERR_H) */
39