
/* 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 <sys/ioctl.h> /* for FIONBIO used in nonblock() */
#include <fcntl.h>
#include <os2.h>

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);       


}


