
#define __NUM_ACRS	16
#define __NUM_FPRS	16
#define __NUM_GPRS	16

typedef struct
{
  unsigned long mask;
  unsigned long addr;
} __attribute__ ((aligned (8))) _psw_t;
typedef struct
{
  _psw_t psw;
  unsigned long gprs[__NUM_GPRS];
  unsigned int acrs[__NUM_ACRS];
}
_s390_regs_common;

#define SIGEV_PAD_SIZE	((SIGEV_MAX_SIZE/sizeof(int))-3)

#define SI_PAD_SIZE	((SI_MAX_SIZE/sizeof(int))-3)

struct sigaction
{
  union
  {
    sighandler_t _sa_handler;
    void (*_sa_sigaction) (int, siginfo_t *, void *);
  }
  __sigaction_handler;
  sigset_t sa_mask;
  unsigned long sa_flags;
  void (*sa_restorer) (void);
}
 ;
#define MINSIGSTKSZ	2048
#define SIGSTKSZ	8192

typedef struct
{
  unsigned int fpc;
  double fprs[__NUM_FPRS];
}
_s390_fp_regs;
typedef struct
{
  _s390_regs_common regs;
  _s390_fp_regs fpregs;
}
_sigregs;

struct sigcontext
{
  unsigned long oldmask[2];
  _sigregs *sregs;
}
 ;
