Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
Indent include and src using this command:
[simgrid.git] / include / xbt / win32_ucontext.h
1 /*\r
2  *      win32-ucontext: Unix ucontext_t operations on Windows platforms\r
3  *      Copyright(C) 2007 Panagiotis E. Hadjidoukas\r
4  *\r
5  *      Contact Email: phadjido@cs.uoi.gr, xdoukas@ceid.upatras.gr\r
6  *\r
7  *      win32-ucontext is free software; you can redistribute it and/or\r
8  *      modify it under the terms of the GNU Lesser General Public\r
9  *      License as published by the Free Software Foundation; either\r
10  *      version 2 of the License, or (at your option) any later version.\r
11  *\r
12  *      win32-ucontext is distributed in the hope that it will be useful,\r
13  *      but WITHOUT ANY WARRANTY; without even the implied warranty of\r
14  *      MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU\r
15  *      Lesser General Public License for more details.\r
16  *\r
17  *      You should have received a copy of the GNU Lesser General Public\r
18  *      License along with QueueUserAPCEx in the file COPYING.LIB;\r
19  *      if not, write to the Free Software Foundation, Inc.,\r
20  *      59 Temple Place - Suite 330, Boston, MA 02111-1307, USA\r
21  */  \r
22     \r
23 #ifndef UCONTEXT_H\r
24 #define UCONTEXT_H\r
25     \r
26 #include <windows.h>\r
27     \rtypedef struct __stack {
28   \rvoid *ss_sp;
29   \rsize_t ss_size;
30   \rint ss_flags;
31 \r} stack_t;
32 \r\rtypedef CONTEXT mcontext_t;
33 \rtypedef unsigned long __sigset_t;
34 \r\rtypedef struct __ucontext {
35   \runsigned long int uc_flags;
36   \rstruct __ucontext *uc_link;
37   \rstack_t uc_stack;
38   \rmcontext_t uc_mcontext;
39   \r__sigset_t uc_sigmask;
40 \r} ucontext_t;
41 \r\r\rint getcontext(ucontext_t * ucp);
42 \rint setcontext(const ucontext_t * ucp);
43 \rint makecontext(ucontext_t *, void (*)(), int, ...);
44 \rint swapcontext(ucontext_t *, const ucontext_t *);
45 \r\r
46 #endif  /* UCONTEXT_H */\r