errors.h
来自「开放源码的编译器open watcom 1.6.0版的源代码」· C头文件 代码 · 共 101 行
H
101 行
#ifndef ERRORSH
#define ERRORSH
/* errors.h -- Error facility declarations
THIS SOFTWARE FITS THE DESCRIPTION IN THE U.S. COPYRIGHT ACT OF A
"UNITED STATES GOVERNMENT WORK". IT WAS WRITTEN AS A PART OF THE
AUTHOR'S OFFICIAL DUTIES AS A GOVERNMENT EMPLOYEE. THIS MEANS IT
CANNOT BE COPYRIGHTED. THIS SOFTWARE IS FREELY AVAILABLE TO THE
PUBLIC FOR USE WITHOUT A COPYRIGHT NOTICE, AND THERE ARE NO
RESTRICTIONS ON ITS USE, NOW OR SUBSEQUENTLY.
Author:
S.M. Orlow
Systex,Inc.
Beltsville, MD 20705
301-474-0111
June, 1986
Contractor:
K. E. Gorlen
Bg. 12A, Rm. 2017
Computer Systems Laboratory
Division of Computer Research and Technology
National Institutes of Health
Bethesda, Maryland 20892
Phone: (301) 496-5363
uucp: uunet!nih-csl!kgorlen
Internet: kgorlen@alw.nih.gov
log: ERRORS.H $
Revision 1.2 95/01/29 13:27:06 NT_Test_Machine
*** empty log message ***
Revision 1.1 90/05/16 02:37:04 Anthony_Scian
.
* Revision 3.0 90/05/15 22:37:02 kgorlen
* Release for 1st edition.
*
*/
#include <stdio.h>
#include <iostream.h>
const int MAX_MSG_ARG = 8; /* max numbers of args per msg */
const int MAX_FACILITIES = 32; /* max no. of facilities */
const int SYS_LAST_ERROR = 34; /* last UNIX system error */
/* severity levels */
enum severity_level { SUCCESS = 0,
INFORMATION = -1,
INFO = -1,
WARNING = -2,
ERROR = -3,
FATAL = -4,
DEFAULT = 1 };
/* Error Code Definition */
const int FAC_SHIFT = 12; // right shift count to get facility code
const int OFFSET_MASK = 0xfff; // mask for offset portion of error
const int FAC_MASK = 0xfff000; // mask for facility portion
inline int FACILITY_CODE(int ER) { return ((ER&FAC_MASK)>>FAC_SHIFT); }
inline int OFFSET_INDEX(int ER) { return (ER&OFFSET_MASK); }
class ErrSpecs {
public:
int severity; /* severity of this error */
char* args; /* error msg args: I=int, S=string,D=double */
char* text; /* printf format string for error text */
};
class ErrFac {
public:
char* longname; /* facility long name for the error msgs */
ErrSpecs* errlist; /* all errors for this facility */
int last; /* last error in this facility */
};
extern "C" {
void seterropt(int esev, int psev, int dump, int fmt, FILE*);
void geterropt(int& esev,int& psev,int& dump,int& fmt,FILE*&);
int seterror(int err, int sev, ...);
ErrFac* errfac_at(int err);
int errfac_severity(int err);
char* errfac_errorText(int err, char* buf =0);
void errfac_prepText(char* p, char* q);
void errfac_prepNextArg(char* p,char* q);
char* errfac_argumentCodes(int err);
void errfac_errorMessage(int sev,char* msg);
int errfac_printSeverity();
int errfac_exitSeverity();
int errfac_isPrintSeverity(int s);
int errfac_isExitSeverity(int s);
}
#endif /* ERRORSH */
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?