setjmp-dj.h 947 B

12345678910111213141516171819202122232425262728293031323334353637383940414243
  1. /*
  2. * Copyright (C) 1991 DJ Delorie
  3. * All rights reserved.
  4. *
  5. * Redistribution, modification, and use in source and binary forms is permitted
  6. * provided that the above copyright notice and following paragraph are
  7. * duplicated in all such forms.
  8. *
  9. * This file is distributed WITHOUT ANY WARRANTY; without even the implied
  10. * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
  11. */
  12. /* Modified to use SETJMP_DJ_H rather than SETJMP_H to avoid
  13. conflicting with setjmp.h. Ian Taylor, Cygnus support, April,
  14. 1993. */
  15. #ifndef _SETJMP_DJ_H_
  16. #define _SETJMP_DJ_H_
  17. #ifdef __cplusplus
  18. extern "C" {
  19. #endif
  20. typedef struct {
  21. unsigned long eax;
  22. unsigned long ebx;
  23. unsigned long ecx;
  24. unsigned long edx;
  25. unsigned long esi;
  26. unsigned long edi;
  27. unsigned long ebp;
  28. unsigned long esp;
  29. unsigned long eip;
  30. } jmp_buf[1];
  31. extern int setjmp(jmp_buf);
  32. extern void longjmp(jmp_buf, int);
  33. #ifdef __cplusplus
  34. }
  35. #endif
  36. #endif