Back to home page

OSCL-LXR

 
 

    


0001 /* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
0002 /*
0003  *  S390 version
0004  *
0005  *  Derived from "include/asm-i386/ucontext.h"
0006  */
0007 
0008 #ifndef _ASM_S390_UCONTEXT_H
0009 #define _ASM_S390_UCONTEXT_H
0010 
0011 #define UC_GPRS_HIGH    1   /* uc_mcontext_ext has valid high gprs */
0012 #define UC_VXRS     2   /* uc_mcontext_ext has valid vector regs */
0013 
0014 /*
0015  * The struct ucontext_extended describes how the registers are stored
0016  * on a rt signal frame. Please note that the structure is not fixed,
0017  * if new CPU registers are added to the user state the size of the
0018  * struct ucontext_extended will increase.
0019  */
0020 struct ucontext_extended {
0021     unsigned long     uc_flags;
0022     struct ucontext  *uc_link;
0023     stack_t       uc_stack;
0024     _sigregs      uc_mcontext;
0025     sigset_t      uc_sigmask;
0026     /* Allow for uc_sigmask growth.  Glibc uses a 1024-bit sigset_t.  */
0027     unsigned char     __unused[128 - sizeof(sigset_t)];
0028     _sigregs_ext      uc_mcontext_ext;
0029 };
0030 
0031 struct ucontext {
0032     unsigned long     uc_flags;
0033     struct ucontext  *uc_link;
0034     stack_t       uc_stack;
0035     _sigregs          uc_mcontext;
0036     sigset_t      uc_sigmask;
0037     /* Allow for uc_sigmask growth.  Glibc uses a 1024-bit sigset_t.  */
0038     unsigned char     __unused[128 - sizeof(sigset_t)];
0039 };
0040 
0041 #endif /* !_ASM_S390_UCONTEXT_H */