home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
OS/2 Shareware BBS: 10 Tools
/
10-Tools.zip
/
excptn.zip
/
excptn
/
EXCPTN.H
< prev
next >
Wrap
C/C++ Source or Header
|
1994-11-23
|
3KB
|
97 lines
#ifndef INCL_EXCEPT_H
#define INCL_EXCEPT_H
#ifdef __USE_PRAGMA_PACK__
#pragma pack (4)
#endif
#define CONTINUABLE 0
#define NON_CONTINUABLE 1
#define EXCPT_DIO_ERR 0x60000001
#define EXCPT_FAILURE 0xE0000002
#define EXCPT_SYS_ERR 0xE0000003
#define EXCPT_SET2BIG 0xE0010001
#define EXCPT_MEMERR1 0xE0020001
#define EXCPT_MEMERR2 0xE0020002
#define EXCPT_MEMERR3 0xE0020003
#define EXCPT_MEMERR4 0xE0020004
#define EXCPT_MEMERR5 0xE0020005
#define EXCPT_MEMERR6 0xE0020006
#define EXCPT_MEMERR7 0xE0020007
#define EXCPT_MEMERR8 0xE0020008
#define EXCPT_MEMERR9 0xE0020009
#define EXCPT_MEMERRA 0xE002000A
#define EXCPT_MEMERRB 0xE002000B
#define EXCPT_MEMERRC 0xE002000C
#define EXCPT_MEMERRD 0xE002000D
#define EXCPT_MEMERRE 0xE002000E
#define EXCPT_MEMERRF 0xE002000F
#define EXCPT_UNSHADO 0x60030001
#define EXCPT_XYOUTSD 0x60040001
#define EXCPT_CTRE_DF 0xE0050001
#define EXCPT_NO_LOG 0x60050002
#define EXCPT_VAL_CNV 0x60060001
#define EXCPT_VAL_DB1 0x60060002
#define EXCPT_VAL_DB2 0x60060003
#define EXCPT_VAL_DB3 0x60060004
#define EXCPT_VAL_DB4 0x60060005
typedef struct {
int num_par;
unsigned char len1;
unsigned char len2;
unsigned char len3;
char texts[1];
}FAIL_EXCPT, *pFAIL_EXCPT;
typedef struct _link_excpt_ {
ULONG exception_code;
int (_System *hndlr) ();
struct _link_excpt_ *next;
}EXCPT_INFO, *pEXCPT_INFO;
#define EXCPT_CONT 0
#define EXCPT_SRCH 1
#define EXCPT_UNLINK 2
typedef struct {
#ifdef __OS2__
EXCEPTIONREGISTRATIONRECORD exrr;
#endif
pEXCPT_INFO excpt_info;
}EXCPT_STRUCT, *pEXCPT_STRUCT;
#ifdef __OS2__
#define EXCEPTION_STRUCTURE EXCPT_STRUCT excpt_struct
#define INIT_EXCEPTION_HANDLER ExcptInitialize(&excpt_struct)
#define FINI_EXCEPTION_HANDLER ExcptTerminate(&excpt_struct)
#define ExcptLinkHandler(a,b) _ExcptLinkHandler((a),(b),&excpt_struct.excpt_info)
extern void COMMON ExcptInitialize(pEXCPT_STRUCT);
extern void COMMON ExcptTerminate(pEXCPT_STRUCT);
#ifdef __OS2__
extern ULONG APIENTRY ExcptHndlr(PEXCEPTIONREPORTRECORD,
PEXCEPTIONREGISTRATIONRECORD,
PCONTEXTRECORD,
PVOID);
#endif
extern void COMMON _ExcptLinkHandler(unsigned long, void(_System *)(), pEXCPT_INFO *);
#else /* __SVR3__ , __WinNT__ */
#define EXCEPTION_STRUCTURE
#define INIT_EXCEPTION_HANDLER
#define FINI_EXCEPTION_HANDLER
#define ExcptLinkHandler(a,b)
#endif
extern void COMMON ExcptPost(unsigned long, unsigned, const char *, unsigned long);
extern int COMMON Fail(const char *, const char *, const char *, int);
#ifdef __USE_PRAGMA_PACK__
#pragma pack (1)
#endif
#endif