setjmp.h 711 B

1234567891011121314151617181920212223242526272829
  1. /*-
  2. * $NetBSD: setjmp.h,v 1.3 1998/09/16 23:51:27 thorpej Exp $
  3. * $FreeBSD$
  4. */
  5. #ifndef _MACHINE_SETJMP_H_
  6. #define _MACHINE_SETJMP_H_
  7. #include <sys/cdefs.h>
  8. #ifdef _KERNEL
  9. #define _JBLEN 25 /* Kernel doesn't save FP and Altivec regs */
  10. #else
  11. #define _JBLEN 100
  12. #endif
  13. /*
  14. * jmp_buf and sigjmp_buf are encapsulated in different structs to force
  15. * compile-time diagnostics for mismatches. The structs are the same
  16. * internally to avoid some run-time errors for mismatches.
  17. */
  18. #if __BSD_VISIBLE || __POSIX_VISIBLE || __XSI_VISIBLE
  19. typedef struct _sigjmp_buf { long _sjb[_JBLEN + 1]; } sigjmp_buf[1];
  20. #endif
  21. typedef struct _jmp_buf { long _jb[_JBLEN + 1]; } jmp_buf[1];
  22. #endif /* !_MACHINE_SETJMP_H_ */