root/arch/um/include/shared/longjmp.h

/* [<][>][^][v][top][bottom][index][help] */

INCLUDED FROM


   1 /* SPDX-License-Identifier: GPL-2.0 */
   2 #ifndef __UML_LONGJMP_H
   3 #define __UML_LONGJMP_H
   4 
   5 #include <sysdep/archsetjmp.h>
   6 #include <os.h>
   7 
   8 extern int setjmp(jmp_buf);
   9 extern void longjmp(jmp_buf, int);
  10 
  11 #define UML_LONGJMP(buf, val) do { \
  12         longjmp(*buf, val);     \
  13 } while(0)
  14 
  15 #define UML_SETJMP(buf) ({ \
  16         int n;     \
  17         volatile int enable;    \
  18         enable = get_signals(); \
  19         n = setjmp(*buf); \
  20         if(n != 0) \
  21                 set_signals_trace(enable); \
  22         n; })
  23 
  24 #endif

/* [<][>][^][v][top][bottom][index][help] */