This commit was manufactured by cvs2svn to create branch 'captive'.
[reactos.git] / include / crtdll / setjmp.h
1 /*
2 ** Copyright (C) 1991 DJ Delorie, 24 Kirsten Ave, Rochester NH 03867-2954
3 **
4 ** This file is distributed under the terms listed in the document
5 ** "copying.dj", available from DJ Delorie at the address above.
6 ** A copy of "copying.dj" should accompany this file; if not, a copy
7 ** should be available from where this file was obtained.  This file
8 ** may not be distributed without a verbatim copy of "copying.dj".
9 **
10 ** This file is distributed WITHOUT ANY WARRANTY; without even the implied
11 ** warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
12 */
13
14 #ifndef _SETJMP_H_
15 #define _SETJMP_H_
16
17 #ifdef __cplusplus
18 extern "C" {
19 #endif
20
21 typedef struct {
22   unsigned long eax;
23   unsigned long ebx;
24   unsigned long ecx;
25   unsigned long edx;
26   unsigned long esi;
27   unsigned long edi;
28   unsigned long ebp;
29   unsigned long esp;
30   unsigned long eip;
31   unsigned short es;
32   unsigned short fs;
33   unsigned short gs;
34   unsigned short ss;
35 } jmp_buf[1];
36
37 extern int _setjmp(jmp_buf);
38 extern void longjmp(jmp_buf, int);
39
40 #define setjmp(jmp_buf) _setjmp(jmp_buf)
41
42 #ifdef __cplusplus
43 }
44 #endif
45
46 #endif