OpenCores
URL https://opencores.org/ocsvn/or1k/or1k/trunk

Subversion Repositories or1k

[/] [or1k/] [trunk/] [linux/] [linux-2.4/] [include/] [asm-mips/] [signal.h] - Blame information for rev 1765

Details | Compare with Previous | View Log

Line No. Rev Author Line
1 1276 phoenix
/*
2
 * This file is subject to the terms and conditions of the GNU General Public
3
 * License.  See the file "COPYING" in the main directory of this archive
4
 * for more details.
5
 *
6
 * Copyright (C) 1995, 1996, 1997, 1998, 1999 by Ralf Baechle
7
 * Copyright (C) 1999 Silicon Graphics, Inc.
8
 */
9
#ifndef _ASM_SIGNAL_H
10
#define _ASM_SIGNAL_H
11
 
12
#include <linux/config.h>
13
#include <linux/types.h>
14
 
15
#define _NSIG           128
16
#define _NSIG_BPW       32
17
#define _NSIG_WORDS     (_NSIG / _NSIG_BPW)
18
 
19
typedef struct {
20
        unsigned long sig[_NSIG_WORDS];
21
} sigset_t;
22
 
23
typedef unsigned long old_sigset_t;             /* at least 32 bits */
24
 
25
#define SIGHUP           1      /* Hangup (POSIX).  */
26
#define SIGINT           2      /* Interrupt (ANSI).  */
27
#define SIGQUIT          3      /* Quit (POSIX).  */
28
#define SIGILL           4      /* Illegal instruction (ANSI).  */
29
#define SIGTRAP          5      /* Trace trap (POSIX).  */
30
#define SIGIOT           6      /* IOT trap (4.2 BSD).  */
31
#define SIGABRT          SIGIOT /* Abort (ANSI).  */
32
#define SIGEMT           7
33
#define SIGFPE           8      /* Floating-point exception (ANSI).  */
34
#define SIGKILL          9      /* Kill, unblockable (POSIX).  */
35
#define SIGBUS          10      /* BUS error (4.2 BSD).  */
36
#define SIGSEGV         11      /* Segmentation violation (ANSI).  */
37
#define SIGSYS          12
38
#define SIGPIPE         13      /* Broken pipe (POSIX).  */
39
#define SIGALRM         14      /* Alarm clock (POSIX).  */
40
#define SIGTERM         15      /* Termination (ANSI).  */
41
#define SIGUSR1         16      /* User-defined signal 1 (POSIX).  */
42
#define SIGUSR2         17      /* User-defined signal 2 (POSIX).  */
43
#define SIGCHLD         18      /* Child status has changed (POSIX).  */
44
#define SIGCLD          SIGCHLD /* Same as SIGCHLD (System V).  */
45
#define SIGPWR          19      /* Power failure restart (System V).  */
46
#define SIGWINCH        20      /* Window size change (4.3 BSD, Sun).  */
47
#define SIGURG          21      /* Urgent condition on socket (4.2 BSD).  */
48
#define SIGIO           22      /* I/O now possible (4.2 BSD).  */
49
#define SIGPOLL         SIGIO   /* Pollable event occurred (System V).  */
50
#define SIGSTOP         23      /* Stop, unblockable (POSIX).  */
51
#define SIGTSTP         24      /* Keyboard stop (POSIX).  */
52
#define SIGCONT         25      /* Continue (POSIX).  */
53
#define SIGTTIN         26      /* Background read from tty (POSIX).  */
54
#define SIGTTOU         27      /* Background write to tty (POSIX).  */
55
#define SIGVTALRM       28      /* Virtual alarm clock (4.2 BSD).  */
56
#define SIGPROF         29      /* Profiling alarm clock (4.2 BSD).  */
57
#define SIGXCPU         30      /* CPU limit exceeded (4.2 BSD).  */
58
#define SIGXFSZ         31      /* File size limit exceeded (4.2 BSD).  */
59
 
60
/* These should not be considered constants from userland.  */
61
#define SIGRTMIN        32
62
#define SIGRTMAX        (_NSIG-1)
63
 
64
/*
65
 * SA_FLAGS values:
66
 *
67
 * SA_ONSTACK indicates that a registered stack_t will be used.
68
 * SA_INTERRUPT is a no-op, but left due to historical reasons. Use the
69
 * SA_RESTART flag to get restarting signals (which were the default long ago)
70
 * SA_NOCLDSTOP flag to turn off SIGCHLD when children stop.
71
 * SA_RESETHAND clears the handler when the signal is delivered.
72
 * SA_NOCLDWAIT flag on SIGCHLD to inhibit zombies.
73
 * SA_NODEFER prevents the current signal from being masked in the handler.
74
 *
75
 * SA_ONESHOT and SA_NOMASK are the historical Linux names for the Single
76
 * Unix names RESETHAND and NODEFER respectively.
77
 */
78
#define SA_ONSTACK      0x08000000
79
#define SA_RESETHAND    0x80000000
80
#define SA_RESTART      0x10000000
81
#define SA_SIGINFO      0x00000008
82
#define SA_NODEFER      0x40000000
83
#define SA_NOCLDWAIT    0x00010000      /* Not supported yet */
84
#define SA_NOCLDSTOP    0x00000001
85
 
86
#define SA_NOMASK       SA_NODEFER
87
#define SA_ONESHOT      SA_RESETHAND
88
#define SA_INTERRUPT    0x20000000      /* dummy -- ignored */
89
 
90
#define SA_RESTORER     0x04000000
91
 
92
/*
93
 * sigaltstack controls
94
 */
95
#define SS_ONSTACK     1
96
#define SS_DISABLE     2
97
 
98
#define MINSIGSTKSZ    2048
99
#define SIGSTKSZ       8192
100
 
101
#ifdef __KERNEL__
102
 
103
/*
104
 * These values of sa_flags are used only by the kernel as part of the
105
 * irq handling routines.
106
 *
107
 * SA_INTERRUPT is also used by the irq handling routines.
108
 * SA_SHIRQ flag is for shared interrupt support on PCI and EISA.
109
 */
110
#define SA_PROBE                SA_ONESHOT
111
#define SA_SAMPLE_RANDOM        SA_RESTART
112
#define SA_SHIRQ                0x02000000
113
 
114
#endif /* __KERNEL__ */
115
 
116
#define SIG_BLOCK       1       /* for blocking signals */
117
#define SIG_UNBLOCK     2       /* for unblocking signals */
118
#define SIG_SETMASK     3       /* for setting the signal mask */
119
#define SIG_SETMASK32   256     /* Goodie from SGI for BSD compatibility:
120
                                   set only the low 32 bit of the sigset.  */
121
 
122
/* Type of a signal handler.  */
123
typedef void (*__sighandler_t)(int);
124
 
125
/* Fake signal functions */
126
#define SIG_DFL ((__sighandler_t)0)     /* default signal handling */
127
#define SIG_IGN ((__sighandler_t)1)     /* ignore signal */
128
#define SIG_ERR ((__sighandler_t)-1)    /* error return from signal */
129
 
130
struct sigaction {
131
        unsigned int    sa_flags;
132
        __sighandler_t  sa_handler;
133
        sigset_t        sa_mask;
134
};
135
 
136
struct k_sigaction {
137
        struct sigaction sa;
138
#ifdef CONFIG_BINFMT_IRIX
139
        void            (*sa_restorer)(void);
140
#endif
141
};
142
 
143
/* IRIX compatible stack_t  */
144
typedef struct sigaltstack {
145
        void *ss_sp;
146
        size_t ss_size;
147
        int ss_flags;
148
} stack_t;
149
 
150
#ifdef __KERNEL__
151
#include <asm/sigcontext.h>
152
 
153
/*
154
 * The following break codes are or were in use for specific purposes in
155
 * other MIPS operating systems.  Linux/MIPS doesn't use all of them.  The
156
 * unused ones are here as placeholders; we might encounter them in
157
 * non-Linux/MIPS object files or make use of them in the future.
158
 */
159
#define BRK_USERBP      0        /* User bp (used by debuggers) */
160
#define BRK_KERNELBP    1       /* Break in the kernel */
161
#define BRK_ABORT       2       /* Sometimes used by abort(3) to SIGIOT */
162
#define BRK_BD_TAKEN    3       /* For bd slot emulation - not implemented */
163
#define BRK_BD_NOTTAKEN 4       /* For bd slot emulation - not implemented */
164
#define BRK_SSTEPBP     5       /* User bp (used by debuggers) */
165
#define BRK_OVERFLOW    6       /* Overflow check */
166
#define BRK_DIVZERO     7       /* Divide by zero check */
167
#define BRK_RANGE       8       /* Range error check */
168
#define BRK_STACKOVERFLOW 9     /* For Ada stackchecking */
169
#define BRK_NORLD       10      /* No rld found - not used by Linux/MIPS */
170
#define _BRK_THREADBP   11      /* For threads, user bp (used by debuggers) */
171
#define BRK_MULOVF      1023    /* Multiply overflow */
172
 
173
#endif /* defined (__KERNEL__) */
174
 
175
#endif /* _ASM_SIGNAL_H */

powered by: WebSVN 2.1.0

© copyright 1999-2025 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.