home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 10 Tools / 10-Tools.zip / watcom.c < prev    next >
C/C++ Source or Header  |  1996-12-18  |  1KB  |  49 lines

  1.  
  2. /* This is a bit of incomplete code to demonstrate how allow EXCEPTQ
  3.   to work with Watcom.  I haven't yet figured out how to allow it to
  4. successfully read the codeview information that Watcom writes. 
  5.  
  6. Ed Becker / Sauron@mymail.com  */
  7.  
  8.  
  9. #define INCL_DOSEXCEPTIONS
  10. #include <sys/ioctl.h> /* for FIONBIO used in nonblock() */
  11. #include <fcntl.h>
  12. #include <os2.h>
  13.  
  14. LONG _cdecl ExceptionHandler (PEXCEPTIONREPORTRECORD pERepRec,
  15.                       PEXCEPTIONREGISTRATIONRECORD pERegRec,
  16.                       PCONTEXTRECORD pCtxRec,
  17.                       PVOID p);
  18.  
  19. typedef struct SysERegRec {
  20.         PEXCEPTIONREGISTRATIONRECORD pLink;
  21.         ULONG (_cdecl *pSysEH) (PEXCEPTIONREPORTRECORD,
  22.                         PEXCEPTIONREGISTRATIONRECORD,
  23.                         PCONTEXTRECORD,
  24.                         PVOID);
  25.   } SYSEREGREC;
  26.  
  27. extern ULONG APIENTRY myHandler (PEXCEPTIONREPORTRECORD       pERepRec,
  28.                           PEXCEPTIONREGISTRATIONRECORD pERegRec,
  29.                           PCONTEXTRECORD               pCtxRec,
  30.                           PVOID                        p);
  31.  
  32.  
  33. main(int argc, char *argv[], char *envp[])
  34. {
  35.     SYSEREGREC  RegRec;
  36.     
  37.  
  38.  RegRec.pLink = 0;
  39.  RegRec.pSysEH = (ULONG _cdecl) myHandler;
  40.  
  41.    /* EXCEPTIONREGISTRATIONRECORD er = { NULL,  ExceptionHandler }; /* To register the handler */
  42.   
  43.    rc = DosSetExceptionHandler ( (PEXCEPTIONREGISTRATIONRECORD) &RegRec);       
  44.  
  45.  
  46. }
  47.  
  48.  
  49.