home *** CD-ROM | disk | FTP | other *** search
/ PC Welt 2006 November (DVD) / PCWELT_11_2006.ISO / casper / filesystem.squashfs / usr / src / linux-headers-2.6.17-6 / include / asm-powerpc / signal.h < prev    next >
Encoding:
C/C++ Source or Header  |  2006-08-11  |  3.7 KB  |  154 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_INTERRUPT is a no-op, but left due to historical reasons. Use the
  67.  * SA_RESTART flag to get restarting signals (which were the default long ago)
  68.  * SA_NOCLDSTOP flag to turn off SIGCHLD when children stop.
  69.  * SA_RESETHAND clears the handler when the signal is delivered.
  70.  * SA_NOCLDWAIT flag on SIGCHLD to inhibit zombies.
  71.  * SA_NODEFER prevents the current signal from being masked in the handler.
  72.  *
  73.  * SA_ONESHOT and SA_NOMASK are the historical Linux names for the Single
  74.  * Unix names RESETHAND and NODEFER respectively.
  75.  */
  76. #define SA_NOCLDSTOP    0x00000001U
  77. #define SA_NOCLDWAIT    0x00000002U
  78. #define SA_SIGINFO    0x00000004U
  79. #define SA_ONSTACK    0x08000000U
  80. #define SA_RESTART    0x10000000U
  81. #define SA_NODEFER    0x40000000U
  82. #define SA_RESETHAND    0x80000000U
  83.  
  84. #define SA_NOMASK    SA_NODEFER
  85. #define SA_ONESHOT    SA_RESETHAND
  86. #define SA_INTERRUPT    0x20000000u /* dummy -- ignored */
  87.  
  88. #define SA_RESTORER    0x04000000U
  89.  
  90. /*
  91.  * sigaltstack controls
  92.  */
  93. #define SS_ONSTACK    1
  94. #define SS_DISABLE    2
  95.  
  96. #define MINSIGSTKSZ    2048
  97. #define SIGSTKSZ    8192
  98.  
  99. #include <asm-generic/signal.h>
  100.  
  101. struct old_sigaction {
  102.     __sighandler_t sa_handler;
  103.     old_sigset_t sa_mask;
  104.     unsigned long sa_flags;
  105.     __sigrestore_t sa_restorer;
  106. };
  107.  
  108. struct sigaction {
  109.     __sighandler_t sa_handler;
  110.     unsigned long sa_flags;
  111.     __sigrestore_t sa_restorer;
  112.     sigset_t sa_mask;        /* mask last for extensibility */
  113. };
  114.  
  115. struct k_sigaction {
  116.     struct sigaction sa;
  117. };
  118.  
  119. typedef struct sigaltstack {
  120.     void __user *ss_sp;
  121.     int ss_flags;
  122.     size_t ss_size;
  123. } stack_t;
  124.  
  125. #ifdef __KERNEL__
  126. struct pt_regs;
  127. extern int do_signal(sigset_t *oldset, struct pt_regs *regs);
  128. extern int do_signal32(sigset_t *oldset, struct pt_regs *regs);
  129. #define ptrace_signal_deliver(regs, cookie) do { } while (0)
  130. #endif /* __KERNEL__ */
  131.  
  132. #ifndef __powerpc64__
  133. /*
  134.  * These are parameters to dbg_sigreturn syscall.  They enable or
  135.  * disable certain debugging things that can be done from signal
  136.  * handlers.  The dbg_sigreturn syscall *must* be called from a
  137.  * SA_SIGINFO signal so the ucontext can be passed to it.  It takes an
  138.  * array of struct sig_dbg_op, which has the debug operations to
  139.  * perform before returning from the signal.
  140.  */
  141. struct sig_dbg_op {
  142.     int dbg_type;
  143.     unsigned long dbg_value;
  144. };
  145.  
  146. /* Enable or disable single-stepping.  The value sets the state. */
  147. #define SIG_DBG_SINGLE_STEPPING        1
  148.  
  149. /* Enable or disable branch tracing.  The value sets the state. */
  150. #define SIG_DBG_BRANCH_TRACING        2
  151. #endif /* ! __powerpc64__ */
  152.  
  153. #endif /* _ASM_POWERPC_SIGNAL_H */
  154.