L4Re - L4 Runtime Environment
setjmp.h
Go to the documentation of this file.
1 
9 /*
10  * (c) 2004-2009 Author(s)
11  * economic rights: Technische Universit├Ąt Dresden (Germany)
12  * This file is part of TUD:OS and distributed under the terms of the
13  * GNU Lesser General Public License 2.1.
14  * Please see the COPYING-LGPL-2.1 file for details.
15  */
16 #ifndef __UTIL_INCLUDE_ARCH_X86_L4API_L4F_SETJMP_H_
17 #define __UTIL_INCLUDE_ARCH_X86_L4API_L4F_SETJMP_H_
18 #include <l4/sys/types.h>
19 #include <l4/sys/compiler.h>
20 
22 
23 typedef struct{
24  l4_umword_t ebx; /* 0 */
25  l4_umword_t esi; /* 4 */
26  l4_umword_t edi; /* 8 */
27  l4_umword_t ebp; /* 12 */
28  l4_umword_t esp; /* 16 */
29  l4_umword_t eip; /* 20 */
30  l4_umword_t eip_caller; /* 24 */
31  l4_umword_t eflags; /* 28 */
32  l4_umword_t stack[40];
33 } l4_thread_jmp_buf_s;
34 typedef int l4_thread_jmp_buf[sizeof(l4_thread_jmp_buf_s)/sizeof(l4_umword_t)];
35 
36 typedef union{
37  l4_thread_jmp_buf_s s;
38  l4_thread_jmp_buf raw;
39 } l4_thread_jmp_buf_u;
40 
52 extern int l4_thread_setjmp(l4_thread_jmp_buf env);
53 
68 void l4_thread_longjmp(l4_threadid_t thread, l4_thread_jmp_buf env, int val);
69 
71 
72 #endif
Common L4 ABI Data Types.
#define EXTERN_C_END
End section with C types and functions.
Definition: compiler.h:187
L4 compiler related defines.
int l4_thread_setjmp(l4_thread_jmp_buf env)
inter-thread setjmp
unsigned long l4_umword_t
Unsigned machine word.
Definition: l4int.h:52
#define EXTERN_C_BEGIN
Start section with C types and functions.
Definition: compiler.h:186
void l4_thread_longjmp(l4_threadid_t thread, l4_thread_jmp_buf env, int val)
inter-thread longjmp