[BACK]Return to linux_signal.h CVS log [TXT][DIR] Up to [local] / sys / compat / linux

Annotation of sys/compat/linux/linux_signal.h, Revision 1.1.1.1

1.1       nbrk        1: /*     $OpenBSD: linux_signal.h,v 1.8 2002/03/14 01:26:50 millert Exp $        */
                      2: /*     $NetBSD: linux_signal.h,v 1.4 1995/08/27 20:51:51 fvdl Exp $    */
                      3:
                      4: /*
                      5:  * Copyright (c) 1995 Frank van der Linden
                      6:  * All rights reserved.
                      7:  *
                      8:  * Redistribution and use in source and binary forms, with or without
                      9:  * modification, are permitted provided that the following conditions
                     10:  * are met:
                     11:  * 1. Redistributions of source code must retain the above copyright
                     12:  *    notice, this list of conditions and the following disclaimer.
                     13:  * 2. Redistributions in binary form must reproduce the above copyright
                     14:  *    notice, this list of conditions and the following disclaimer in the
                     15:  *    documentation and/or other materials provided with the distribution.
                     16:  * 3. All advertising materials mentioning features or use of this software
                     17:  *    must display the following acknowledgement:
                     18:  *      This product includes software developed for the NetBSD Project
                     19:  *      by Frank van der Linden
                     20:  * 4. The name of the author may not be used to endorse or promote products
                     21:  *    derived from this software without specific prior written permission
                     22:  *
                     23:  * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
                     24:  * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
                     25:  * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
                     26:  * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
                     27:  * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
                     28:  * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
                     29:  * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
                     30:  * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
                     31:  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
                     32:  * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
                     33:  */
                     34:
                     35: #ifndef _LINUX_SIGNAL_H
                     36: #define _LINUX_SIGNAL_H
                     37:
                     38: #define LINUX_SIGHUP    1
                     39: #define LINUX_SIGINT    2
                     40: #define LINUX_SIGQUIT   3
                     41: #define LINUX_SIGILL    4
                     42: #define LINUX_SIGTRAP   5
                     43: #define LINUX_SIGABRT   6
                     44: #define LINUX_SIGIOT    6
                     45: #define LINUX_SIGBUS    7
                     46: #define LINUX_SIGFPE    8
                     47: #define LINUX_SIGKILL   9
                     48: #define LINUX_SIGUSR1  10
                     49: #define LINUX_SIGSEGV  11
                     50: #define LINUX_SIGUSR2  12
                     51: #define LINUX_SIGPIPE  13
                     52: #define LINUX_SIGALRM  14
                     53: #define LINUX_SIGTERM  15
                     54: #define LINUX_SIGSTKFLT        16
                     55: #define LINUX_SIGCHLD  17
                     56: #define LINUX_SIGCONT  18
                     57: #define LINUX_SIGSTOP  19
                     58: #define LINUX_SIGTSTP  20
                     59: #define LINUX_SIGTTIN  21
                     60: #define LINUX_SIGTTOU  22
                     61: #define LINUX_SIGURG   23
                     62: #define LINUX_SIGXCPU  24
                     63: #define LINUX_SIGXFSZ  25
                     64: #define LINUX_SIGVTALRM        26
                     65: #define LINUX_SIGPROF  27
                     66: #define LINUX_SIGWINCH 28
                     67: #define LINUX_SIGIO    29
                     68: #define LINUX_SIGPWR   30
                     69: #define LINUX_SIGUNUSED        31
                     70: #define LINUX_NSIG     32
                     71:
                     72: #define LINUX__NSIG            64
                     73: #define LINUX__NSIG_BPW                32
                     74: #define LINUX__NSIG_WORDS      (LINUX__NSIG / LINUX__NSIG_BPW)
                     75:
                     76: #define LINUX_SIG_BLOCK                0
                     77: #define LINUX_SIG_UNBLOCK      1
                     78: #define LINUX_SIG_SETMASK      2
                     79:
                     80: typedef u_long linux_old_sigset_t;
                     81: typedef struct {
                     82:        u_long sig[LINUX__NSIG_WORDS];
                     83: } linux_sigset_t;
                     84:
                     85: typedef void   (*linux_handler_t)(int);
                     86:
                     87: struct linux_old_sigaction {
                     88:        linux_handler_t         sa__handler;
                     89:        linux_old_sigset_t      sa_mask;
                     90:        u_long                  sa_flags;
                     91:        void                    (*sa_restorer)(void);
                     92: };
                     93:
                     94: struct linux_sigaction {
                     95:        linux_handler_t         sa__handler;
                     96:        u_long                  sa_flags;
                     97:        void                    (*sa_restorer)(void);
                     98:        linux_sigset_t          sa_mask;
                     99: };
                    100:
                    101: /* sa_flags */
                    102: #define LINUX_SA_NOCLDSTOP     0x00000001
                    103: #define LINUX_SA_SIGINFO       0x00000004
                    104: #define LINUX_SA_ONSTACK       0x08000000
                    105: #define LINUX_SA_RESTART       0x10000000
                    106: #define LINUX_SA_INTERRUPT     0x20000000
                    107: #define LINUX_SA_NOMASK                0x40000000
                    108: #define LINUX_SA_ONESHOT       0x80000000
                    109: #define LINUX_SA_ALLBITS       0xf8000001
                    110:
                    111: struct linux_sigaltstack {
                    112:        void    *ss_sp;
                    113:        int     ss_flags;
                    114:        size_t  ss_size;
                    115: };
                    116:
                    117: /* ss_flags */
                    118: #define LINUX_SS_ONSTACK       0x00000001
                    119: #define LINUX_SS_DISABLE       0x00000002
                    120:
                    121: extern int bsd_to_linux_sig[];
                    122: extern int linux_to_bsd_sig[];
                    123:
                    124: void linux_old_to_bsd_sigset(const linux_old_sigset_t *, sigset_t *);
                    125: void bsd_to_linux_old_sigset(const sigset_t *, linux_old_sigset_t *);
                    126:
                    127: void linux_old_extra_to_bsd_sigset(const linux_old_sigset_t *,
                    128:     const unsigned long *, sigset_t *);
                    129: void bsd_to_linux_old_extra_sigset(const sigset_t *,
                    130:     linux_old_sigset_t *, unsigned long *);
                    131:
                    132: void linux_to_bsd_sigset(const linux_sigset_t *, sigset_t *);
                    133: void bsd_to_linux_sigset(const sigset_t *, linux_sigset_t *);
                    134:
                    135: void linux_old_to_bsd_sigaction(struct linux_old_sigaction *,
                    136:     struct sigaction *);
                    137: void bsd_to_linux_old_sigaction(struct sigaction *,
                    138:     struct linux_old_sigaction *);
                    139:
                    140: void linux_to_bsd_sigaction(struct linux_sigaction *,
                    141:     struct sigaction *);
                    142: void bsd_to_linux_sigaction(struct sigaction *,
                    143:     struct linux_sigaction *);
                    144:
                    145: int  linux_to_bsd_signal (int, int *);
                    146: int  bsd_to_linux_signal (int, int *);
                    147:
                    148: #endif /* !_LINUX_SIGNAL_H */

CVSweb