169 lines
5.6 KiB
C
169 lines
5.6 KiB
C
/*
|
|
* crtdbg.h Run-time debugging support.
|
|
*
|
|
* =========================================================================
|
|
*
|
|
* Open Watcom Project
|
|
*
|
|
* Copyright (c) 2002-2010 Open Watcom Contributors. All Rights Reserved.
|
|
* Portions Copyright (c) 1983-2002 Sybase, Inc. All Rights Reserved.
|
|
*
|
|
* This file is automatically generated. Do not edit directly.
|
|
*
|
|
* =========================================================================
|
|
*/
|
|
#ifndef _CRTDBG_H_INCLUDED
|
|
#define _CRTDBG_H_INCLUDED
|
|
|
|
#ifndef _ENABLE_AUTODEPEND
|
|
#pragma read_only_file;
|
|
#endif
|
|
|
|
#ifndef _COMDEF_H_INCLUDED
|
|
#include <_comdef.h>
|
|
#endif
|
|
|
|
#ifdef __cplusplus
|
|
extern "C" {
|
|
#endif
|
|
|
|
#ifdef _DEBUG
|
|
|
|
/********************************************************
|
|
* *
|
|
* Debug ON *
|
|
* *
|
|
********************************************************/
|
|
|
|
/*
|
|
* Some data types and #defines.
|
|
*/
|
|
|
|
#ifdef __NT__
|
|
typedef void *_HFILE;
|
|
#else
|
|
typedef int _HFILE;
|
|
#endif
|
|
typedef int (*_CRT_REPORT_HOOK)( int, char *, int * );
|
|
|
|
#define _CRT_WARN 0
|
|
#define _CRT_ERROR 1
|
|
#define _CRT_ASSERT 2
|
|
#define _CRT_ERRCNT 3
|
|
|
|
#define _CRTDBG_MODE_FILE 0x1
|
|
#define _CRTDBG_MODE_DEBUG 0x2
|
|
#define _CRTDBG_MODE_WNDW 0x4
|
|
#define _CRTDBG_REPORT_MODE (-1)
|
|
|
|
#define _CRTDBG_INVALID_HFILE ((_HFILE)-1)
|
|
#define _CRTDBG_HFILE_ERROR ((_HFILE)-2)
|
|
#define _CRTDBG_FILE_STDOUT ((_HFILE)-4)
|
|
#define _CRTDBG_FILE_STDERR ((_HFILE)-5)
|
|
#define _CRTDBG_REPORT_FILE ((_HFILE)-6)
|
|
|
|
|
|
/*
|
|
* Function prototypes.
|
|
*/
|
|
|
|
_WCRTLINK void _CrtDbgBreak( void );
|
|
|
|
_WCRTLINK int _CrtSetReportMode( int reporttype,
|
|
int reportmode );
|
|
|
|
_WCRTLINK _HFILE _CrtSetReportFile( int reporttype,
|
|
_HFILE reportfile );
|
|
|
|
_WCRTLINK _CRT_REPORT_HOOK _CrtSetReportHook( _CRT_REPORT_HOOK hook );
|
|
|
|
_WCRTLINK int _CrtDbgReport( int reporttype,
|
|
const char *filename,
|
|
int linenumber,
|
|
const char *modulename,
|
|
const char *format,
|
|
... );
|
|
|
|
|
|
/*
|
|
* Asserts and reports.
|
|
*/
|
|
|
|
#define _ASSERT(__expr) \
|
|
if( !(__expr) ) { \
|
|
_CrtDbgReport( _CRT_ASSERT, __FILE__, __LINE__, \
|
|
NULL, NULL ); \
|
|
}
|
|
#define _ASSERTE(__expr) \
|
|
if( !(__expr) ) { \
|
|
_CrtDbgReport( _CRT_ASSERT, __FILE__, __LINE__, \
|
|
NULL, #__expr ); \
|
|
}
|
|
|
|
#define _RPT0(__n,__msg) \
|
|
_CrtDbgReport( __n, NULL, 0, NULL, "%s", __msg )
|
|
#define _RPT1(__n,__msg,__a) \
|
|
_CrtDbgReport( __n, NULL, 0, NULL, __msg, __a )
|
|
#define _RPT2(__n,__msg,__a,__b) \
|
|
_CrtDbgReport( __n, NULL, 0, NULL, __msg, __a, __b )
|
|
#define _RPT3(__n,__msg,__a,__b,__c) \
|
|
_CrtDbgReport( __n, NULL, 0, NULL, __msg, __a, __b, __c )
|
|
#define _RPT4(__n,__msg,__a,__b,__c,__d) \
|
|
_CrtDbgReport( __n, NULL, 0, NULL, __msg, __a, __b, __c, __d )
|
|
|
|
#define _RPTF0(__n,__msg) \
|
|
_CrtDbgReport( __n, __FILE__, __LINE__, NULL, "%s", __msg )
|
|
#define _RPTF1(__n,__msg,__a) \
|
|
_CrtDbgReport( __n, __FILE__, __LINE__, NULL, __msg, __a )
|
|
#define _RPTF2(__n,__msg,__a,__b) \
|
|
_CrtDbgReport( __n, __FILE__, __LINE__, NULL, __msg, __a, __b )
|
|
#define _RPTF3(__n,__msg,__a,__b,__c) \
|
|
_CrtDbgReport( __n, __FILE__, __LINE__, NULL, __msg, __a, __b, __c )
|
|
#define _RPTF4(__n,__msg,__a,__b,__c,__d) \
|
|
_CrtDbgReport( __n, __FILE__, __LINE__, NULL, __msg, __a, __b, __c, __d )
|
|
|
|
|
|
|
|
#else /* _DEBUG */
|
|
|
|
|
|
|
|
/********************************************************
|
|
* *
|
|
* Debug OFF *
|
|
* *
|
|
********************************************************/
|
|
|
|
|
|
/*
|
|
* Some #defines to ignore debugging routines when _DEBUG isn't #defined.
|
|
*/
|
|
|
|
#define _CrtDbgBreak(__a)
|
|
#define _CrtSetReportMode(__a,__b)
|
|
#define _CrtSetReportFile(__a,__b)
|
|
#define _CrtSetReportHook(__a)
|
|
|
|
#define _ASSERT(__expr)
|
|
#define _ASSERTE(__expr)
|
|
|
|
#define _RPT0(__n,__msg)
|
|
#define _RPT1(__n,__msg,__a)
|
|
#define _RPT2(__n,__msg,__a,__b)
|
|
#define _RPT3(__n,__msg,__a,__b,__c)
|
|
#define _RPT4(__n,__msg,__a,__b,__c,__d)
|
|
|
|
#define _RPTF0(__n,__msg)
|
|
#define _RPTF1(__n,__msg,__a)
|
|
#define _RPTF2(__n,__msg,__a,__b)
|
|
#define _RPTF3(__n,__msg,__a,__b,__c)
|
|
#define _RPTF4(__n,__msg,__a,__b,__c,__d)
|
|
|
|
#endif /* _DEBUG */
|
|
|
|
#ifdef __cplusplus
|
|
} /* extern "C" */
|
|
#endif
|
|
|
|
#endif
|