1 /********************************************************************************
2 * Copyright (c) 2003, 2004 *
3 * Panagiotis E. Hadjidoukas (peh@hpclab.ceid.upatras.gr) *
4 * HPCLab - University of Patras. All Rights Reserved. *
5 * Unix ucontext_t on Windows Operating System, May 2004 (revision 1) *
7 * The author disclaims all warranties with regard to this software including *
8 * all implied warranties of merchantability and fitness for a particular *
9 * purpose. In no event shall HPCLab be liable for any special, indirect, *
10 * or consequential damages or any damages whatsoever resulting from *
11 * loss of use, data or profits, whether in action of contract negligence, *
12 * or other tortious action, arising out of or in connection with the use *
13 * or performance of this software. *
14 ********************************************************************************/
16 /* The original author granted me (Martin Quinson) to redistribute this work
17 under the LGPL licence, what I here do. */
24 typedef struct __stack {
30 typedef CONTEXT mcontext_t;
31 typedef unsigned long __sigset_t;
33 typedef struct __ucontext {
34 unsigned long int uc_flags;
35 struct __ucontext *uc_link;
37 mcontext_t uc_mcontext;
38 __sigset_t uc_sigmask;
42 int getcontext(ucontext_t *ucp);
43 int setcontext(const ucontext_t *ucp);
44 int makecontext(ucontext_t *, void (*)(), int, ...);
45 int swapcontext(ucontext_t *, const ucontext_t *);
47 #endif /* UCONTEXT_H */