This repository has been archived on 2024-12-16. You can view files and clone it, but cannot push or open issues or pull requests.
CodeBlocksPortable/WATCOM/h/crtdbg.h

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