📄 trserror.h
字号:
/*M*
// NSL PROPRIETARY INFORMATION
// This software is supplied under the terms of a license agreement or
// nondisclosure agreement with NSL and may not be copied
// or disclosed except in accordance with the terms of that agreement.
// Copyright (c) 1997 NSL. All Rights Reserved.
//
// RCS:
// $Source: trserror.h $
// $Revision: 1.5 $
// $Date: 1997/27/01 $
//
// Author: Smirnov I.E.
// Purpose: TRS Error Handling Module
//
*M*/
#if !defined (_TRSERROR_H)
# define _TRSERROR_H /* Prevent multiply SELF include */
/*---------------------------------------------------------------------------*/
/* This section describes the error handling framework. */
/* */
#define TRS_BASE -100
#define TRS_StsOk 0 /* everithing is ok */
#define TRS_StsBackTrace (TRS_BASE-1) /* pseudo error for back trace */
#define TRS_StsError (TRS_BASE-2) /* unknown /unspecified error */
#define TRS_StsInternal (TRS_BASE-3) /* internal error (bad state) */
#define TRS_StsNoMem (TRS_BASE-4) /* out of memory */
#define TRS_StsBadArg (TRS_BASE-5) /* function arg/param is bad */
#define TRS_StsBadFunc (TRS_BASE-6) /* unsupported function */
#define TRS_StsAutoTrace (TRS_BASE-8) /* Tracing through trstrace.h */
#define TRS_StsFOpen (TRS_BASE-10)/* No such file */
#define TRS_StsFCreate (TRS_BASE-11)/* Unable to create file */
#define TRS_StsNoEntry (TRS_BASE-12)/* No keyname in section key= */
#define TRS_StsNoSection (TRS_BASE-13)/* No section [...] in file */
#define TRS_StsBadFormat (TRS_BASE-14)/* Key value has illegal format */
#define TRS_StsSyntaxError (TRS_BASE-15)/* Syntax error */
#define TRS_StsBadMem (TRS_BASE-16)/* Corrupted memory guards */
typedef int TRSStatus;
TRSREF(TRSStatus) TstLastStatus;
#define TRS_ErrModeLeaf 0 /* Print error and exit program */
#define TRS_ErrModeParent 1 /* Print error and continue */
#define TRS_ErrModeSilent 2 /* Don't print and continue */
TRSREF(int) TstStdErrMode;
/*------ returns function name after the last libError call -----------------*/
TRSAPI(int, newStdError,(int status, const char *funcname, const char *context,
const char *file, int line));
TRSAPI(char*, trsErrFuncName,(void));
TRSAPI(TRSStatus, trsError,(TRSStatus status, const char *func,
const char *context, const char *file,int line));
/*==== Original Macros : Unconditional - TRS_DEBUG independant ==============*/
#define TRS_FILE __FILE__
#define TRS_ERROR(status,func,context)\
trsError((status),(func),(context),TRS_FILE,__LINE__)
#define TRS_ERRCHK(func,context)\
((TstLastStatus >= 0) ? TRS_StsOk \
: TRS_ERROR(TRS_StsBackTrace,(func),(context)))
#define TRS_ASSERT(expr,func,context)\
((expr) ? TRS_StsOk \
: TRS_ERROR(TRS_StsInternal,(func),(context)))
#define TRS_RSTERR() (TstLastStatus = TRS_StsOk)
#endif /* _TRSERROR_H */
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -