home *** CD-ROM | disk | FTP | other *** search
/ Mac Easy 2010 May / Mac Life Ubuntu.iso / casper / filesystem.squashfs / usr / src / linux-headers-2.6.28-15 / arch / powerpc / include / asm / signal.h < prev    next >
Encoding:
C/C++ Source or Header  |  2008-12-24  |  3.4 KB  |  150 lines

  1. #ifndef _ASM_POWERPC_SIGNAL_H
  2. #define _ASM_POWERPC_SIGNAL_H
  3.  
  4. #include <linux/types.h>
  5.  
  6. #define _NSIG        64
  7. #ifdef __powerpc64__
  8. #define _NSIG_BPW    64
  9. #else
  10. #define _NSIG_BPW    32
  11. #endif
  12. #define _NSIG_WORDS    (_NSIG / _NSIG_BPW)
  13.  
  14. typedef unsigned long old_sigset_t;        /* at least 32 bits */
  15.  
  16. typedef struct {
  17.     unsigned long sig[_NSIG_WORDS];
  18. } sigset_t;
  19.  
  20. #define SIGHUP         1
  21. #define SIGINT         2
  22. #define SIGQUIT         3
  23. #define SIGILL         4
  24. #define SIGTRAP         5
  25. #define SIGABRT         6
  26. #define SIGIOT         6
  27. #define SIGBUS         7
  28. #define SIGFPE         8
  29. #define SIGKILL         9
  30. #define SIGUSR1        10
  31. #define SIGSEGV        11
  32. #define SIGUSR2        12
  33. #define SIGPIPE        13
  34. #define SIGALRM        14
  35. #define SIGTERM        15
  36. #define SIGSTKFLT    16
  37. #define SIGCHLD        17
  38. #define SIGCONT        18
  39. #define SIGSTOP        19
  40. #define SIGTSTP        20
  41. #define SIGTTIN        21
  42. #define SIGTTOU        22
  43. #define SIGURG        23
  44. #define SIGXCPU        24
  45. #define SIGXFSZ        25
  46. #define SIGVTALRM    26
  47. #define SIGPROF        27
  48. #define SIGWINCH    28
  49. #define SIGIO        29
  50. #define SIGPOLL        SIGIO
  51. /*
  52. #define SIGLOST        29
  53. */
  54. #define SIGPWR        30
  55. #define SIGSYS        31
  56. #define    SIGUNUSED    31
  57.  
  58. /* These should not be considered constants from userland.  */
  59. #define SIGRTMIN    32
  60. #define SIGRTMAX    _NSIG
  61.  
  62. /*
  63.  * SA_FLAGS values:
  64.  *
  65.  * SA_ONSTACK is not currently supported, but will allow sigaltstack(2).
  66.  * SA_RESTART flag to get restarting signals (which were the default long ago)
  67.  * SA_NOCLDSTOP flag to turn off SIGCHLD when children stop.
  68.  * SA_RESETHAND clears the handler when the signal is delivered.
  69.  * SA_NOCLDWAIT flag on SIGCHLD to inhibit zombies.
  70.  * SA_NODEFER prevents the current signal from being masked in the handler.
  71.  *
  72.  * SA_ONESHOT and SA_NOMASK are the historical Linux names for the Single
  73.  * Unix names RESETHAND and NODEFER respectively.
  74.  */
  75. #define SA_NOCLDSTOP    0x00000001U
  76. #define SA_NOCLDWAIT    0x00000002U
  77. #define SA_SIGINFO    0x00000004U
  78. #define SA_ONSTACK    0x08000000U
  79. #define SA_RESTART    0x10000000U
  80. #define SA_NODEFER    0x40000000U
  81. #define SA_RESETHAND    0x80000000U
  82.  
  83. #define SA_NOMASK    SA_NODEFER
  84. #define SA_ONESHOT    SA_RESETHAND
  85.  
  86. #define SA_RESTORER    0x04000000U
  87.  
  88. /*
  89.  * sigaltstack controls
  90.  */
  91. #define SS_ONSTACK    1
  92. #define SS_DISABLE    2
  93.  
  94. #define MINSIGSTKSZ    2048
  95. #define SIGSTKSZ    8192
  96.  
  97. #include <asm-generic/signal.h>
  98.  
  99. struct old_sigaction {
  100.     __sighandler_t sa_handler;
  101.     old_sigset_t sa_mask;
  102.     unsigned long sa_flags;
  103.     __sigrestore_t sa_restorer;
  104. };
  105.  
  106. struct sigaction {
  107.     __sighandler_t sa_handler;
  108.     unsigned long sa_flags;
  109.     __sigrestore_t sa_restorer;
  110.     sigset_t sa_mask;        /* mask last for extensibility */
  111. };
  112.  
  113. struct k_sigaction {
  114.     struct sigaction sa;
  115. };
  116.  
  117. typedef struct sigaltstack {
  118.     void __user *ss_sp;
  119.     int ss_flags;
  120.     size_t ss_size;
  121. } stack_t;
  122.  
  123. #ifdef __KERNEL__
  124. struct pt_regs;
  125. #define ptrace_signal_deliver(regs, cookie) do { } while (0)
  126. #endif /* __KERNEL__ */
  127.  
  128. #ifndef __powerpc64__
  129. /*
  130.  * These are parameters to dbg_sigreturn syscall.  They enable or
  131.  * disable certain debugging things that can be done from signal
  132.  * handlers.  The dbg_sigreturn syscall *must* be called from a
  133.  * SA_SIGINFO signal so the ucontext can be passed to it.  It takes an
  134.  * array of struct sig_dbg_op, which has the debug operations to
  135.  * perform before returning from the signal.
  136.  */
  137. struct sig_dbg_op {
  138.     int dbg_type;
  139.     unsigned long dbg_value;
  140. };
  141.  
  142. /* Enable or disable single-stepping.  The value sets the state. */
  143. #define SIG_DBG_SINGLE_STEPPING        1
  144.  
  145. /* Enable or disable branch tracing.  The value sets the state. */
  146. #define SIG_DBG_BRANCH_TRACING        2
  147. #endif /* ! __powerpc64__ */
  148.  
  149. #endif /* _ASM_POWERPC_SIGNAL_H */
  150.