📄 iplerror.h
字号:
/*
//
// INTeL CORPORATION PROPRIETARY INFORMATION
// This software is supplied under the terms of a license agreement or
// nondisclosure agreement with Intel Corporation and may not be copied
// or disclosed except in accordance with the terms of that agreement.
// Copyright (c) 1995 Intel Corporation. All Rights Reserved.
//
//
// Purpose: IPL Error Handling Module
//
*/
#if !defined (__IPLERROR_H__) || defined (_OWN_BLDPCS)
#define __IPLERROR_H__
#ifdef __cplusplus
extern "C" {
#endif
/*==========================================================================
Section: Error Handling Functions
==========================================================================*/
/*------------------------ Error Call definition ------------------------*/
#if !defined _OWN_BLDPCS
typedef IPLStatus (__STDCALL *IPLErrorCallBack)(IPLStatus status,
const char *funcname,
const char *context,
const char *file,
int line);
#endif /* _OWN_BLDPCS */
/*---------------------- IPLErrStatus Declaration -----------------------*/
#define _StsMaskImg_ (-100)
#define IPL_StsOk 0 /* everithing is ok */
#define IPL_StsBackTrace -1 /* pseudo error for back trace */
#define IPL_StsError -2 /* unknown /uiplecified error */
#define IPL_StsInternal -3 /* internal error (bad state) */
#define IPL_StsNoMem -4 /* Insufficient memory */
#define IPL_StsBadArg -5 /* function arg/param is bad */
#define IPL_StsBadFunc -6 /* unsupported function */
#define IPL_StsNoConv -7 /* iter. didn't converge */
#define IPL_StsAutoTrace -8 /* Tracing */
#define IPL_HeaderIsNull -9 /* image header is NULL */
#define IPL_BadImageSize -10 /* Image size is invalid */
#define IPL_BadOffset -11 /* Offset is invalid */
#define IPL_BadDataPtr -12 /* Image must be tiled or must have nonzero data pointer */
#define IPL_BadStep -13 /**/
#define IPL_BadModelOrChSeq -14 /**/
#define IPL_BadNumChannels -15 /**/
#define IPL_BadNumChannel1U -16 /**/
#define IPL_BadDepth -17 /**/
#define IPL_BadAlphaChannel -18 /**/
#define IPL_BadOrder -19 /**/
#define IPL_BadOrigin -20 /**/
#define IPL_BadAlign -21 /**/
#define IPL_BadCallBack -22 /**/
#define IPL_BadTileSize -23 /**/
#define IPL_BadCOI -24 /**/
#define IPL_BadROISize -25 /**/
#define IPL_MaskIsTiled -26 /**/
#define IPL_StsNullPtr -27 /* Null pointer */
#define IPL_StsVecLengthErr -28 /* Incorrect vector length */
#define IPL_StsFilterStructContentErr -29 /* Incorr. filter structure content */
#define IPL_StsKernelStructContentErr -30 /* Incorr. transform kernel content */
#define IPL_StsFilterOffsetErr -31 /* Incorrect filter ofset value */
#define IPL_MaskBadImageSize IPL_BadImageSize + _StsMaskImg_
#define IPL_MaskBadOffset IPL_BadOffset + _StsMaskImg_
#define IPL_MaskBadDataPtr IPL_BadDataPtr + _StsMaskImg_
#define IPL_MaskBadStep IPL_BadStep + _StsMaskImg_
#define IPL_MaskBadModelOrChSeq IPL_BadModelOrChSeq+ _StsMaskImg_
#define IPL_MaskBadNumChannels IPL_BadNumChannels + _StsMaskImg_
#define IPL_MaskBadDepth IPL_BadDepth + _StsMaskImg_
#define IPL_MaskBadAlphaChannel IPL_BadAlphaChannel+ _StsMaskImg_
#define IPL_MaskBadOrder IPL_BadOrder + _StsMaskImg_
#define IPL_MaskBadOrigin IPL_BadOrigin + _StsMaskImg_
#define IPL_MaskBadAlign IPL_BadAlign + _StsMaskImg_
#define IPL_MaskBadCOI IPL_BadCOI + _StsMaskImg_
#define IPL_MaskBadROISize IPL_BadROISize + _StsMaskImg_
/* /////////////////////////////////////////////////////////////////////////
// Name: iplGetErrStatus
// Purpose: Gets last error status
// Returns:
// Parameters:
//
// Notes:
*/
IPLAPI(IPLStatus, iplGetErrStatus,(void))
/* /////////////////////////////////////////////////////////////////////////
// Name: iplSetErrStatus
// Purpose: Sets error status
// Returns:
// Parameters:
//
// Notes:
*/
IPLAPI(void, iplSetErrStatus,(IPLStatus status))
/*---------------------- IPLStdErrMode Declaration -----------------------*/
#define IPL_ErrModeLeaf 0 /* Print error and exit program */
#define IPL_ErrModeParent 1 /* Print error and continue */
#define IPL_ErrModeSilent 2 /* Don't print and continue */
/* /////////////////////////////////////////////////////////////////////////
// Name: iplGetErrMode, iplSetErrMode
// Purpose: gets/sets error mode
// Returns:
// Parameters:
//
// Notes:
*/
IPLAPI(int, iplGetErrMode,(void))
IPLAPI(void, iplSetErrMode,(int mode))
/* /////////////////////////////////////////////////////////////////////////
// Name: iplError
// Purpose: performs basic error handling
// Returns: last status
// Parameters:
//
// Notes:
*/
IPLAPI(IPLStatus, iplError,(IPLStatus status, const char *func,
const char *context, const char *file,int line))
/* /////////////////////////////////////////////////////////////////////////
// Name: iplErrorStr
// Purpose: translates an error status code into a textual description
// Returns:
// Parameters:
//
// Notes:
*/
IPLAPI(const char*, iplErrorStr,(IPLStatus status))
/* /////////////////////////////////////////////////////////////////////////
// Name: iplRedirectError
// Purpose: assigns a new error-handling function
// Returns: old error-handling function
// Parameters: new error-handling function
//
// Notes:
*/
IPLAPI(IPLErrorCallBack, iplRedirectError,(IPLErrorCallBack iplErrorFunc))
/*----------------- Predefined error-handling functions -----------------*/
/*
Output to:
iplNulDevReport - nothing
iplStdErrReport - console (printf)
iplGuiBoxReport - MessageBox (_WIN32)
*/
IPLAPI(IPLStatus, iplNulDevReport,(IPLStatus status, const char *funcname,
const char *context,const char *file,
int line))
IPLAPI(IPLStatus, iplStdErrReport,(IPLStatus status, const char *funcname,
const char *context,const char *file,
int line))
IPLAPI(IPLStatus, iplGuiBoxReport,(IPLStatus status, const char *funcname,
const char *context,const char *file,
int line))
/*------------------------------- Macros --------------------------------*/
#define IPL_ERROR(status,func,context)\
iplError((status),(func),(context),__FILE__,__LINE__)
#define IPL_ERRCHK(func,context)\
((iplGetErrStatus() >= 0) ? IPL_StsOk \
: IPL_ERROR(IPL_StsBackTrace,(func),(context)))
#define IPL_ASSERT(expr,func,context)\
((expr) ? IPL_StsOk \
: IPL_ERROR(IPL_StsInternal,(func),(context)))
#define IPL_RSTERR() (iplSetErrStatus(IPL_StsOk))
#ifdef __cplusplus
}
#endif
#endif /* __IPLERROR_H__ */
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -