setjmp.h 601 B

1234567891011121314151617181920212223242526
  1. /*
  2. * Copyright (C) 2017 Hangzhou C-SKY Microsystems co.,ltd.
  3. *
  4. * Licensed under the LGPL v2.1 or later, see the file COPYING.LIB
  5. * in this tarball.
  6. */
  7. #ifndef _BITS_SETJMP_H
  8. #define _BITS_SETJMP_H 1
  9. #if !defined _SETJMP_H && !defined _PTHREAD_H
  10. # error "Never include <bits/setjmp.h> directly; use <setjmp.h> instead."
  11. #endif
  12. typedef struct
  13. {
  14. unsigned long __sp; /* the return stack address */
  15. unsigned long __pc; /* pc: r15, return address */
  16. /*
  17. * ABIV1 is r8~r14
  18. * ABIV2 is r4~r11, r16~r17, r26~r31
  19. */
  20. unsigned long __regs[16];
  21. } __jmp_buf[1];
  22. #endif /* _BITS_SETJMP_H */