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