sigcontext.h
上传用户:lgb322
上传日期:2013-02-24
资源大小:30529k
文件大小:1k
源码类别:

嵌入式Linux

开发平台:

Unix_Linux

  1. /*
  2.  *  include/asm-s390/sigcontext.h
  3.  *
  4.  *  S390 version
  5.  *    Copyright (C) 1999,2000 IBM Deutschland Entwicklung GmbH, IBM Corporation
  6.  */
  7. #ifndef _ASM_S390_SIGCONTEXT_H
  8. #define _ASM_S390_SIGCONTEXT_H
  9. #define __NUM_GPRS 16
  10. #define __NUM_FPRS 16
  11. #define __NUM_ACRS 16
  12. /*
  13.   Has to be at least _NSIG_WORDS from asm/signal.h
  14.  */
  15. #define _SIGCONTEXT_NSIG      64
  16. #define _SIGCONTEXT_NSIG_BPW  32
  17. /* Size of stack frame allocated when calling signal handler. */
  18. #define __SIGNAL_FRAMESIZE 96
  19. #define _SIGCONTEXT_NSIG_WORDS (_SIGCONTEXT_NSIG / _SIGCONTEXT_NSIG_BPW)
  20. #define _SIGMASK_COPY_SIZE (sizeof(unsigned long)*_SIGCONTEXT_NSIG_WORDS)
  21. typedef struct 
  22. {
  23.         unsigned long mask;
  24.         unsigned long addr;
  25. } __attribute__ ((aligned(8))) _psw_t;
  26. typedef struct
  27. {
  28. _psw_t psw;
  29. unsigned long gprs[__NUM_GPRS];
  30. unsigned int  acrs[__NUM_ACRS];
  31. } _s390_regs_common;
  32. typedef struct
  33. {
  34. unsigned int fpc;
  35. double   fprs[__NUM_FPRS];
  36. } _s390_fp_regs;
  37. typedef struct
  38. {
  39. _s390_regs_common regs;
  40. _s390_fp_regs     fpregs;
  41. } _sigregs;
  42. struct sigcontext
  43. {
  44. unsigned long oldmask[_SIGCONTEXT_NSIG_WORDS];
  45. _sigregs        *sregs;
  46. };
  47. #endif