 
#ifndef __dl_error_h
#define __dl_error_h
#ifdef __cplusplus
extern "C" {
#endif
#ifndef __dl_core_h
#include "Core.h"
#endif
extern void Error_ReportInternal(int errornum, char *report, ...);
extern void Error_ReportFatalInternal(int errornum, char *report, ...);
extern void Error_Report(int errornum, char *report, ...);
extern void Error_ReportFatal(int errornum, char *report, ...);
extern BOOL Error_Check(os_error *error);
extern void Error_CheckFatal(os_error *error);
extern BOOL Error_OutOfMemory(BOOL fatal, char *place);
#define error__SR(x) error__VL(x)
#define error__VL(x) #x
#define error_PLACE "File '" __FILE__ "', line " error__SR( __LINE__) ". "
#ifdef _DeskLib_SDLS
extern os_error *Error__Ref_global( void);
#endif
#if defined( _DeskLib_SDLS) && !defined( _DeskLib_Error)
#define error_global (*Error__Ref_global())
#else
extern os_error error_global;
#endif
#define error_FIXED( id, number, description) \
const struct { \
int errnum; \
char errmess[ 1 + sizeof( description)]; \
} \
id##_= { number, description}; \
os_error *id = (os_error *) &id##_
#define error_STATIC( id, number, description) \
static const struct { \
int errnum; \
char errmess[ 1 + sizeof( description)]; \
} \
id##_= { number, description}; \
static os_error *id = (os_error *) &id##_
#ifdef __cplusplus
}
#endif
#endif
