root/compat/linux/linux_signal.h

/* [<][>][^][v][top][bottom][index][help] */

INCLUDED FROM


DEFINITIONS

This source file includes following definitions.
  1. linux_sigset_t

    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 */

/* [<][>][^][v][top][bottom][index][help] */