Sun, 20 May 2007 06:19:49 +0000
merge of 'b98e72d4089afb8a1879e5fe9627cfb132ee88de'
and 'b2836a24d81e7a1bd1d21b3aea8794b094391344'
| 2086 | 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) */ |