home *** CD-ROM | disk | FTP | other *** search
/ Source Code 1994 March / Source_Code_CD-ROM_Walnut_Creek_March_1994.iso / win3 / patches / symantec / rtlinc.exe / SETJMP.H < prev    next >
C/C++ Source or Header  |  1993-05-19  |  891b  |  50 lines

  1. /*_ setjmp.h   Fri Apr 28 1989   Modified by: Walter Bright */
  2. /* Copyright (C) 1985-1989 by Walter Bright    */
  3. /* All Rights Reserved                    */
  4.  
  5. #ifndef __SETJMP_H
  6. #define __SETJMP_H    1
  7.  
  8. #if __cplusplus
  9. extern "C"    {
  10. #endif
  11.  
  12. #if __INTSIZE == 4
  13. typedef int jmp_buf[10];
  14. #elif _WINDOWS
  15. typedef int jmp_buf[9];
  16. #else
  17. typedef int jmp_buf[9];
  18. #endif
  19.  
  20. #ifdef __STDC__
  21. #define __CDECL
  22. #define __STDCALL
  23. #else
  24. #define __CDECL __cdecl
  25. #define __STDCALL __stdcall
  26. #endif
  27.  
  28. #if __OS2__ && __INTSIZE == 4
  29. #define __CLIB    __STDCALL
  30. #else
  31. #define __CLIB    __CDECL
  32. #endif
  33.  
  34. #ifdef _WINDOWS
  35. int __far __pascal Catch(int __far *);
  36. void __far __pascal Throw(int const __far *,int);
  37. #define setjmp(A)    Catch(A)
  38. #define longjmp(A,B) Throw(A,B)
  39. #else
  40. int __CLIB setjmp(jmp_buf);
  41. void __CLIB longjmp(jmp_buf,int);
  42. #endif
  43.  
  44. #if __cplusplus
  45. }
  46. #endif
  47.  
  48. #endif /* __SETJMP_H */
  49.  
  50.