| |
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) */ |