Error logging functionality.
This header file defines means of reporting errors to various types of recipients. There are basically three different levels of errors:
- Internal errors
- These are recorded internally by appending them to the error log. The fact that an error occurred is also logged into the audit trail (though the exact nature of the error isn't). This type of error reporting is silent, making it suitable for situations where we don't want the user to know (mostly because we're sneaky offspring of female canines).
- (Plain) errors
- They are identical to internal errors, but a message is sent to the user after the error is logged and audited.
- Fatal errors
- These ones are pretty intrusive. In addition to logging, auditing and notifying the user, the current process is terminated.
There are variants of the above error logging styles to log UNIX system errors. These are exactly as above, but the logging functions interpret the value of the UNIX errno variable and log its numerical value and textual explanation (if your C library has this information in the header files, of course).
Since error reporting should be available to non-interactive processes too, there is a mechanism to inhibit the user notification part of the reporting process. Please note that, any people with enough access to receive audit trail entries by automatic system paging will still get notified about these silent errors, since they are audited (depending on their setup of the personal audit trail filters, et cetera).
Original banner, legalese and change history follow
***************************************************************************** ** ** ** FILE: errors.h ** ** AUTHORS: Alexios ** ** REVISION: A, June 94 ** ** PURPOSE: Include file for errors.c. Provides fatal error logging. ** ** NOTES: ** ** LEGALESE: ** ** ** ** This program is free software; you can redistribute it and/or modify ** ** it under the terms of the GNU General Public License as published by ** ** the Free Software Foundation; either version 2 of the License, or (at ** ** your option) any later version. ** ** ** ** This program is distributed in the hope that it will be useful, but ** ** WITHOUT ANY WARRANTY; without even the implied warranty of ** ** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU ** ** General Public License for more details. ** ** ** ** You should have received a copy of the GNU General Public License ** ** along with this program; if not, write to the Free Software ** ** Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. ** ** ** ***************************************************************************** * * $Id: errors.h,v 1.3 2001/04/22 14:49:04 alexios Exp $ * * $Log: errors.h,v $ * Revision 1.3 2001/04/22 14:49:04 alexios * Merged in leftover 0.99.2 changes and additional bug fixes. * * Revision 0.5 1999/07/18 21:13:24 alexios * Added an #include directive to read in errno.h. Some systems * don't define this in other include files and we need it. * * Revision 0.4 1998/12/27 15:19:19 alexios * Added functions to report system errors. * * Revision 0.3 1998/07/26 21:17:06 alexios * Automated the process of reporting the exact position of an * error. * * Revision 0.2 1997/11/06 20:03:39 alexios * Added GPL legalese to the top of this file. * * Revision 0.1 1997/08/26 15:48:53 alexios * First registered revision. Adequate. * * *