source: rtems/cpukit/posix/include/rtems/posix/psignal.h @ feaa007

4.104.114.95
Last change on this file since feaa007 was feaa007, checked in by Joel Sherrill <joel.sherrill@…>, on 12/17/07 at 16:19:14

2007-12-17 Joel Sherrill <joel.sherrill@…>

  • posix/preinstall.am, posix/include/aio.h, posix/include/devctl.h, posix/include/mqueue.h, posix/include/sched.h, posix/include/semaphore.h, posix/include/rtems/posix/cancel.h, posix/include/rtems/posix/priority.h, posix/include/rtems/posix/psignal.h, posix/include/rtems/posix/threadsup.h, posix/include/rtems/posix/timer.h, posix/inline/rtems/posix/priority.inl, posix/src/barrierattrdestroy.c, posix/src/barrierattrgetpshared.c, posix/src/barrierattrinit.c, posix/src/barrierattrsetpshared.c, posix/src/cancel.c, posix/src/cancelrun.c, posix/src/cleanuppop.c, posix/src/cleanuppush.c, posix/src/cond.c, posix/src/condattrdestroy.c, posix/src/condattrgetpshared.c, posix/src/condattrinit.c, posix/src/condattrsetpshared.c, posix/src/condbroadcast.c, posix/src/conddefaultattributes.c, posix/src/conddestroy.c, posix/src/condinit.c, posix/src/condsignal.c, posix/src/condsignalsupp.c, posix/src/condwait.c, posix/src/condwaitsupp.c, posix/src/key.c, posix/src/keycreate.c, posix/src/keydelete.c, posix/src/keygetspecific.c, posix/src/keyrundestructors.c, posix/src/keysetspecific.c, posix/src/mqueue.c, posix/src/mqueueclose.c, posix/src/mqueuecreatesupp.c, posix/src/mqueuedeletesupp.c, posix/src/mqueuegetattr.c, posix/src/mqueuenametoid.c, posix/src/mqueuenotify.c, posix/src/mqueueopen.c, posix/src/mqueuereceive.c, posix/src/mqueuerecvsupp.c, posix/src/mqueuesend.c, posix/src/mqueuesendsupp.c, posix/src/mqueuesetattr.c, posix/src/mqueueunlink.c, posix/src/mutex.c, posix/src/mutexattrdestroy.c, posix/src/mutexattrgetprioceiling.c, posix/src/mutexattrgetprotocol.c, posix/src/mutexattrgetpshared.c, posix/src/mutexattrinit.c, posix/src/mutexattrsetprioceiling.c, posix/src/mutexattrsetprotocol.c, posix/src/mutexattrsetpshared.c, posix/src/mutexdefaultattributes.c, posix/src/mutexdestroy.c, posix/src/mutexgetprioceiling.c, posix/src/mutexlock.c, posix/src/mutexlocksupp.c, posix/src/mutexsetprioceiling.c, posix/src/mutextrylock.c, posix/src/mutexunlock.c, posix/src/psignal.c, posix/src/psignalchecksignal.c, posix/src/psignalclearprocesssignals.c, posix/src/psignalclearsignals.c, posix/src/psignalsetprocesssignals.c, posix/src/psignalunblockthread.c, posix/src/ptimer.c, posix/src/rwlockattrdestroy.c, posix/src/rwlockattrgetpshared.c, posix/src/rwlockattrinit.c, posix/src/rwlockattrsetpshared.c, posix/src/semaphore.c, posix/src/semaphoredeletesupp.c, posix/src/semaphorenametoid.c, posix/src/semaphorewaitsupp.c, posix/src/semclose.c, posix/src/semdestroy.c, posix/src/semgetvalue.c, posix/src/seminit.c, posix/src/semopen.c, posix/src/sempost.c, posix/src/semtrywait.c, posix/src/semunlink.c, posix/src/semwait.c, posix/src/setcancelstate.c, posix/src/setcanceltype.c, posix/src/sysconf.c, posix/src/testcancel.c: Add missing copyright statements.
  • Property mode set to 100644
File size: 2.8 KB
Line 
1/**
2 * @file rtems/posix/psignal.h
3 */
4
5/*
6 *  COPYRIGHT (c) 1989-2007.
7 *  On-Line Applications Research Corporation (OAR).
8 *
9 *  The license and distribution terms for this file may be
10 *  found in the file LICENSE in this distribution or at
11 *  http://www.rtems.com/license/LICENSE.
12 *
13 *  $Id$
14 */
15
16#ifndef _RTEMS_POSIX_PSIGNAL_H
17#define _RTEMS_POSIX_PSIGNAL_H
18
19#include <rtems/posix/pthread.h>
20
21/*
22 *  Currently 32 signals numbered 1-32 are defined
23 */
24
25#define SIGNAL_EMPTY_MASK  0x00000000
26#define SIGNAL_ALL_MASK    0xffffffff
27
28#define signo_to_mask( _sig ) (1 << ((_sig) - 1))
29
30#define is_valid_signo( _sig ) \
31  ((_sig) >= 1 && (_sig) <= 32 )
32
33#define _States_Is_interruptible_signal( _states ) \
34  ( ((_states) & \
35    (STATES_WAITING_FOR_SIGNAL|STATES_INTERRUPTIBLE_BY_SIGNAL)) == \
36      (STATES_WAITING_FOR_SIGNAL|STATES_INTERRUPTIBLE_BY_SIGNAL))
37
38#define SIGACTION_TERMINATE \
39  { 0, SIGNAL_ALL_MASK, {_POSIX_signals_Abnormal_termination_handler} }
40#define SIGACTION_IGNORE \
41  { 0, SIGNAL_ALL_MASK, {SIG_IGN} }
42#define SIGACTION_STOP \
43  { 0, SIGNAL_ALL_MASK, {_POSIX_signals_Stop_handler} }
44#define SIGACTION_CONTINUE \
45  { 0, SIGNAL_ALL_MASK, {_POSIX_signals_Continue_handler} }
46
47#define SIG_ARRAY_MAX  (SIGRTMAX + 1)
48
49/*
50 *  Variables
51 */
52
53extern sigset_t  _POSIX_signals_Pending;
54
55extern struct sigaction _POSIX_signals_Default_vectors[ SIG_ARRAY_MAX ];
56
57extern struct sigaction _POSIX_signals_Vectors[ SIG_ARRAY_MAX ];
58
59extern Watchdog_Control _POSIX_signals_Alarm_timer;
60
61extern Thread_queue_Control _POSIX_signals_Wait_queue;
62
63extern Chain_Control _POSIX_signals_Inactive_siginfo;
64
65extern Chain_Control _POSIX_signals_Siginfo[ SIG_ARRAY_MAX ];
66
67/*
68 *  POSIX internal siginfo structure
69 */
70
71typedef struct {
72  Chain_Node  Node;
73  siginfo_t   Info;
74}  POSIX_signals_Siginfo_node;
75
76/*
77 *  Internal routines
78 */
79
80void _POSIX_signals_Manager_Initialization(
81  int  maximum_queued_signals
82);
83
84void _POSIX_signals_Post_switch_extension(
85  Thread_Control  *the_thread
86);
87
88boolean _POSIX_signals_Unblock_thread(
89  Thread_Control  *the_thread,
90  int              signo,
91  siginfo_t       *info
92);
93
94boolean _POSIX_signals_Check_signal(
95  POSIX_API_Control  *api,
96  int                 signo,
97  boolean             is_global
98);
99
100boolean _POSIX_signals_Clear_signals(
101  POSIX_API_Control  *api,
102  int                 signo,
103  siginfo_t          *info,
104  boolean             is_global,
105  boolean             check_blocked
106);
107
108int killinfo(
109  pid_t               pid,
110  int                 sig,
111  const union sigval *value
112);
113
114void _POSIX_signals_Set_process_signals(
115  sigset_t   mask
116);
117
118void _POSIX_signals_Clear_process_signals(
119  sigset_t   mask
120);
121
122/*
123 *  Default signal handlers
124 */
125
126#define _POSIX_signals_Stop_handler NULL
127#define _POSIX_signals_Continue_handler NULL
128
129void _POSIX_signals_Abnormal_termination_handler( int signo );
130
131#endif
132/* end of file */
Note: See TracBrowser for help on using the repository browser.