📄 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 __cplusplusextern "C" {#endif/*========================================================================== Section: Error Handling Functions ==========================================================================*/ /*------------------------ Error Call definition ------------------------*/#if !defined _OWN_BLDPCStypedef 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 + -