1 /* 2 * S390 version 3 * 4 * Derived from "include/asm-i386/ucontext.h" 5 */ 6 7 #ifndef _ASM_S390_UCONTEXT_H 8 #define _ASM_S390_UCONTEXT_H 9 10 #define UC_GPRS_HIGH 1 /* uc_mcontext_ext has valid high gprs */ 11 #define UC_VXRS 2 /* uc_mcontext_ext has valid vector regs */ 12 13 /* 14 * The struct ucontext_extended describes how the registers are stored 15 * on a rt signal frame. Please note that the structure is not fixed, 16 * if new CPU registers are added to the user state the size of the 17 * struct ucontext_extended will increase. 18 */ 19 struct ucontext_extended { 20 unsigned long uc_flags; 21 struct ucontext *uc_link; 22 stack_t uc_stack; 23 _sigregs uc_mcontext; 24 sigset_t uc_sigmask; 25 /* Allow for uc_sigmask growth. Glibc uses a 1024-bit sigset_t. */ 26 unsigned char __unused[128 - sizeof(sigset_t)]; 27 _sigregs_ext uc_mcontext_ext; 28 }; 29 30 struct ucontext { 31 unsigned long uc_flags; 32 struct ucontext *uc_link; 33 stack_t uc_stack; 34 _sigregs uc_mcontext; 35 sigset_t uc_sigmask; 36 /* Allow for uc_sigmask growth. Glibc uses a 1024-bit sigset_t. */ 37 unsigned char __unused[128 - sizeof(sigset_t)]; 38 }; 39 40 #endif /* !_ASM_S390_UCONTEXT_H */ 41