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. /* Has to be at least _NSIG_WORDS from asm/signal.h */
  13. #define _SIGCONTEXT_NSIG 64
  14. #define _SIGCONTEXT_NSIG_BPW 64 
  15. /* Size of stack frame allocated when calling signal handler. */
  16. #define __SIGNAL_FRAMESIZE 160
  17. #define _SIGCONTEXT_NSIG_WORDS (_SIGCONTEXT_NSIG / _SIGCONTEXT_NSIG_BPW)
  18. #define _SIGMASK_COPY_SIZE (sizeof(unsigned long)*_SIGCONTEXT_NSIG_WORDS)
  19. typedef struct 
  20. {
  21.         unsigned long mask;
  22.         unsigned long addr;
  23. } __attribute__ ((aligned(8))) _psw_t;
  24. typedef struct
  25. {
  26. _psw_t psw;
  27. unsigned long gprs[__NUM_GPRS];
  28. unsigned int  acrs[__NUM_ACRS];
  29. } _s390_regs_common;
  30. typedef struct
  31. {
  32. unsigned int fpc;
  33. double   fprs[__NUM_FPRS];
  34. } _s390_fp_regs;
  35. typedef struct
  36. {
  37. _s390_regs_common regs;
  38. _s390_fp_regs     fpregs;
  39. } _sigregs;
  40. struct sigcontext
  41. {
  42. unsigned long oldmask[_SIGCONTEXT_NSIG_WORDS];
  43. _sigregs        *sregs;
  44. };
  45. #endif