From ba066c34dde204aa192d03a23a81356374d93731 Mon Sep 17 00:00:00 2001 From: chatty Date: Wed, 7 Apr 1993 11:50:31 +0000 Subject: Initial revision --- comm/error.h | 58 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 58 insertions(+) create mode 100644 comm/error.h (limited to 'comm/error.h') diff --git a/comm/error.h b/comm/error.h new file mode 100644 index 0000000..a0d11ef --- /dev/null +++ b/comm/error.h @@ -0,0 +1,58 @@ +/* + * The Unix Channel + * + * by Michel Beaudouin-Lafon + * + * Copyright 1990-1993 + * Laboratoire de Recherche en Informatique (LRI) + * + * Error management + * + * $Id$ + * $CurLog$ + */ + +#ifndef UchError_H_ +#define UchError_H_ + +#include "global.h" + +#ifdef DOC +// fake class for global functions +class UchError { +}; +#endif + +enum errtype { + ErrNone = -4, // do nothing + ErrLog = -3, // only log to file + ErrWarn = -2, // warn and continue + ErrAbort = -1, // call abort + ErrExit = 0, // exit with code 0 + ErrUsage = 1, // bad usage + ErrFatal = 2 // exit with code != 0 +}; + +enum errcode { + ErrShouldImplement +}; + +extern char *ErrorTable []; + +typedef errtype (*ErrorHandler) (errtype, const char* who, const char* what, const char* msg); +typedef void (*CleanUpProc) (); + +extern void ProgramName (const char*); +extern void LogfileName (const char*, bool = FALSE); +extern void CleanUp (CleanUpProc); +extern ErrorHandler SetErrorHandler (ErrorHandler); + +extern void Error (errtype, const char* who, const char* what); +extern bool SysError (errtype, const char* who, int exc1 = -1, int exc2 = -1); +extern char* MakeErrorString (errtype, const char* who, const char* what); +extern void LogMessage (const char*); + +extern int errno; + +#endif /* UchError_H_ */ + -- cgit v1.1