/* This is a bit of incomplete code to demonstrate how allow EXCEPTQ to work with Watcom. I haven't yet figured out how to allow it to successfully read the codeview information that Watcom writes. Ed Becker / Sauron@mymail.com */ #define INCL_DOSEXCEPTIONS #include /* for FIONBIO used in nonblock() */ #include #include LONG _cdecl ExceptionHandler (PEXCEPTIONREPORTRECORD pERepRec, PEXCEPTIONREGISTRATIONRECORD pERegRec, PCONTEXTRECORD pCtxRec, PVOID p); typedef struct SysERegRec { PEXCEPTIONREGISTRATIONRECORD pLink; ULONG (_cdecl *pSysEH) (PEXCEPTIONREPORTRECORD, PEXCEPTIONREGISTRATIONRECORD, PCONTEXTRECORD, PVOID); } SYSEREGREC; extern ULONG APIENTRY myHandler (PEXCEPTIONREPORTRECORD pERepRec, PEXCEPTIONREGISTRATIONRECORD pERegRec, PCONTEXTRECORD pCtxRec, PVOID p); main(int argc, char *argv[], char *envp[]) { SYSEREGREC RegRec; RegRec.pLink = 0; RegRec.pSysEH = (ULONG _cdecl) myHandler; /* EXCEPTIONREGISTRATIONRECORD er = { NULL, ExceptionHandler }; /* To register the handler */ rc = DosSetExceptionHandler ( (PEXCEPTIONREGISTRATIONRECORD) &RegRec); }