home *** CD-ROM | disk | FTP | other *** search
/ NeXTSTEP 3.0 / NeXTSTEP3.0.iso / NextDeveloper / Headers / ansi / m68k / setjmp.h < prev    next >
Encoding:
C/C++ Source or Header  |  1991-09-12  |  1.3 KB  |  62 lines

  1. #ifndef _ANSI_M68K_SETJMP_H
  2. #define _ANSI_M68K_SETJMP_H
  3.  
  4. #ifndef __STRICT_ANSI__
  5. /*
  6.  * WARNING: the first portion of this must match a struct sigcontext
  7.  */
  8. #define    JB_ONSTACK    0
  9. #define    JB_SIGMASK    1
  10. #define    JB_SP        2
  11. #define    JB_PC        3
  12. #define    JB_PS        4
  13. #define JB_D0        5
  14. /* from here on down, independent of struct sigcontext */
  15. #define    JB_D2        6
  16. #define    JB_D3        7
  17. #define    JB_D4        8
  18. #define    JB_D5        9
  19. #define    JB_D6        10
  20. #define    JB_D7        11
  21. #define    JB_A2        12
  22. #define    JB_A3        13
  23. #define    JB_A4        14
  24. #define    JB_A5        15
  25. #define    JB_A6        16
  26. #define    JB_FP2        17
  27. #define    JB_FP3        20
  28. #define    JB_FP4        21
  29. #define    JB_FP5        26
  30. #define    JB_FP6        29
  31. #define    JB_FP7        32
  32. #define    JB_FPCR        35
  33. #define    JB_FPSR        36
  34. #define    JB_FPIAR    37
  35. #define    JB_MAGIC    38
  36. #define    JB_NREGS    (JB_MAGIC+1)
  37.  
  38. #define    JB_MAGICNUM    0xbeeffeed
  39.  
  40. #if !defined(LOCORE) && !defined(ASSEMBLER)
  41. typedef int jmp_buf[JB_NREGS];
  42.  
  43. #ifndef __STRICT_BSD__
  44. extern int setjmp(jmp_buf env);
  45. #ifdef    __GNUC__
  46. extern volatile void longjmp(jmp_buf env, int val);
  47. #else
  48. extern void longjmp(jmp$    ) env, int val);
  49. #endif    __GNUC__
  50. #endif /* __STRICT_BSD__ */
  51. #endif
  52. #else /* __STRICT_ANSI__ */
  53. #if !defined(LOCORE) && !defined(ASSEMBLER)
  54. typedef int jmp_buf[39];
  55.  
  56. extern int setjmp(jmp_buf env);
  57. extern void longjmp(jmp_buf env, int val);
  58. #endif
  59. #endif /* __STRICT_ANSI__ */
  60.  
  61. #endif /* _ANSI_M68K_SETJMP_H */
  62.