151705ff7SMarcel Moolenaar /*- 2*b1ed95fdSEd Maste * SPDX-License-Identifier: BSD-2-Clause-FreeBSD 37f2d13d6SPedro F. Giffuni * 451705ff7SMarcel Moolenaar * Copyright (c) 2000 Marcel Moolenaar 551705ff7SMarcel Moolenaar * All rights reserved. 651705ff7SMarcel Moolenaar * 751705ff7SMarcel Moolenaar * Redistribution and use in source and binary forms, with or without 851705ff7SMarcel Moolenaar * modification, are permitted provided that the following conditions 951705ff7SMarcel Moolenaar * are met: 1051705ff7SMarcel Moolenaar * 1. Redistributions of source code must retain the above copyright 11*b1ed95fdSEd Maste * notice, this list of conditions and the following disclaimer. 1251705ff7SMarcel Moolenaar * 2. Redistributions in binary form must reproduce the above copyright 1351705ff7SMarcel Moolenaar * notice, this list of conditions and the following disclaimer in the 1451705ff7SMarcel Moolenaar * documentation and/or other materials provided with the distribution. 1551705ff7SMarcel Moolenaar * 16*b1ed95fdSEd Maste * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND 17*b1ed95fdSEd Maste * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 18*b1ed95fdSEd Maste * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 19*b1ed95fdSEd Maste * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE 20*b1ed95fdSEd Maste * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 21*b1ed95fdSEd Maste * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 22*b1ed95fdSEd Maste * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 23*b1ed95fdSEd Maste * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 24*b1ed95fdSEd Maste * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 25*b1ed95fdSEd Maste * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 26*b1ed95fdSEd Maste * SUCH DAMAGE. 2751705ff7SMarcel Moolenaar * 2851705ff7SMarcel Moolenaar * $FreeBSD$ 2951705ff7SMarcel Moolenaar */ 3051705ff7SMarcel Moolenaar 3151705ff7SMarcel Moolenaar #ifndef _LINUX_SIGNAL_H_ 3251705ff7SMarcel Moolenaar #define _LINUX_SIGNAL_H_ 3351705ff7SMarcel Moolenaar 34fe4ed1e7SDmitry Chagin /* 35fe4ed1e7SDmitry Chagin * si_code values 36fe4ed1e7SDmitry Chagin */ 37fe4ed1e7SDmitry Chagin #define LINUX_SI_USER 0 /* sent by kill, sigsend, raise */ 38fe4ed1e7SDmitry Chagin #define LINUX_SI_KERNEL 0x80 /* sent by the kernel from somewhere */ 39fe4ed1e7SDmitry Chagin #define LINUX_SI_QUEUE -1 /* sent by sigqueue */ 40fe4ed1e7SDmitry Chagin #define LINUX_SI_TIMER -2 /* sent by timer expiration */ 41fe4ed1e7SDmitry Chagin #define LINUX_SI_MESGQ -3 /* sent by real time mesq state change */ 42fe4ed1e7SDmitry Chagin #define LINUX_SI_ASYNCIO -4 /* sent by AIO completion */ 43fe4ed1e7SDmitry Chagin #define LINUX_SI_SIGIO -5 /* sent by queued SIGIO */ 44fe4ed1e7SDmitry Chagin #define LINUX_SI_TKILL -6 /* sent by tkill system call */ 45aa8b2011SKonstantin Belousov 46b63dc6adSAlfred Perlstein int linux_do_sigaction(struct thread *, int, l_sigaction_t *, l_sigaction_t *); 47fe4ed1e7SDmitry Chagin void ksiginfo_to_lsiginfo(const ksiginfo_t *ksi, l_siginfo_t *lsi, l_int sig); 48fe4ed1e7SDmitry Chagin void siginfo_to_lsiginfo(const siginfo_t *si, l_siginfo_t *lsi, l_int sig); 497ac9766dSDmitry Chagin void lsiginfo_to_ksiginfo(const l_siginfo_t *lsi, ksiginfo_t *ksi, int sig); 5051705ff7SMarcel Moolenaar 5151705ff7SMarcel Moolenaar #endif /* _LINUX_SIGNAL_H_ */ 52