signal.h (230765) | signal.h (247047) |
---|---|
1/*- | 1/*- |
2 * Copyright (c) 2003 Peter Wemm. | |
3 * Copyright (c) 1986, 1989, 1991, 1993 4 * The Regents of the University of California. All rights reserved. | 2 * Copyright (c) 1986, 1989, 1991, 1993 3 * The Regents of the University of California. All rights reserved. |
4 * Copyright (c) 2003 Peter Wemm. |
|
5 * 6 * Redistribution and use in source and binary forms, with or without 7 * modification, are permitted provided that the following conditions 8 * are met: 9 * 1. Redistributions of source code must retain the above copyright 10 * notice, this list of conditions and the following disclaimer. 11 * 2. Redistributions in binary form must reproduce the above copyright 12 * notice, this list of conditions and the following disclaimer in the --- 10 unchanged lines hidden (view full) --- 23 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 24 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 25 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 26 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 27 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 28 * SUCH DAMAGE. 29 * 30 * @(#)signal.h 8.1 (Berkeley) 6/11/93 | 5 * 6 * Redistribution and use in source and binary forms, with or without 7 * modification, are permitted provided that the following conditions 8 * are met: 9 * 1. Redistributions of source code must retain the above copyright 10 * notice, this list of conditions and the following disclaimer. 11 * 2. Redistributions in binary form must reproduce the above copyright 12 * notice, this list of conditions and the following disclaimer in the --- 10 unchanged lines hidden (view full) --- 23 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 24 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 25 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 26 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 27 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 28 * SUCH DAMAGE. 29 * 30 * @(#)signal.h 8.1 (Berkeley) 6/11/93 |
31 * $FreeBSD: head/sys/amd64/include/signal.h 230765 2012-01-30 07:51:52Z kib $ | 31 * $FreeBSD: head/sys/x86/include/signal.h 247047 2013-02-20 17:39:52Z kib $ |
32 */ 33 | 32 */ 33 |
34#ifndef _MACHINE_SIGNAL_H_ 35#define _MACHINE_SIGNAL_H_ | 34#ifndef _X86_SIGNAL_H 35#define _X86_SIGNAL_H 1 |
36 | 36 |
37#include <sys/cdefs.h> 38#include <sys/_sigset.h> 39 | |
40/* 41 * Machine-dependent signal definitions 42 */ 43 | 37/* 38 * Machine-dependent signal definitions 39 */ 40 |
44typedef long sig_atomic_t; | 41#include <sys/cdefs.h> 42#include <sys/_sigset.h> |
45 46#if __BSD_VISIBLE 47#include <machine/trap.h> /* codes for SIGILL, SIGFPE */ | 43 44#if __BSD_VISIBLE 45#include <machine/trap.h> /* codes for SIGILL, SIGFPE */ |
46#endif |
|
48 | 47 |
48#ifdef __i386__ 49typedef int sig_atomic_t; 50 51#if __BSD_VISIBLE 52struct sigcontext { 53 struct __sigset sc_mask; /* signal mask to restore */ 54 int sc_onstack; /* sigstack state to restore */ 55 int sc_gs; /* machine state (struct trapframe) */ 56 int sc_fs; 57 int sc_es; 58 int sc_ds; 59 int sc_edi; 60 int sc_esi; 61 int sc_ebp; 62 int sc_isp; 63 int sc_ebx; 64 int sc_edx; 65 int sc_ecx; 66 int sc_eax; 67 int sc_trapno; 68 int sc_err; 69 int sc_eip; 70 int sc_cs; 71 int sc_efl; 72 int sc_esp; 73 int sc_ss; 74 int sc_len; /* sizeof(mcontext_t) */ 75 /* 76 * See <machine/ucontext.h> and <machine/npx.h> for 77 * the following fields. 78 */ 79 int sc_fpformat; 80 int sc_ownedfp; 81 int sc_flags; 82 int sc_fpstate[128] __aligned(16); 83 84 int sc_fsbase; 85 int sc_gsbase; 86 87 int sc_xfpustate; 88 int sc_xfpustate_len; 89 90 int sc_spare2[4]; 91}; 92 93#define sc_sp sc_esp 94#define sc_fp sc_ebp 95#define sc_pc sc_eip 96#define sc_ps sc_efl 97#define sc_eflags sc_efl 98 99#endif /* __BSD_VISIBLE */ 100#endif /* __i386__ */ 101 102#ifdef __amd64__ 103typedef long sig_atomic_t; 104 105#if __BSD_VISIBLE |
|
49/* 50 * Information pushed on stack when a signal is delivered. 51 * This is used by the kernel to restore state following 52 * execution of the signal handler. It is also made available 53 * to the handler to allow it to restore state properly if 54 * a non-standard exit is performed. 55 * 56 * The sequence of the fields/registers after sc_mask in struct --- 43 unchanged lines hidden (view full) --- 100 long sc_gsbase; 101 102 long sc_xfpustate; 103 long sc_xfpustate_len; 104 105 long sc_spare[4]; 106}; 107#endif /* __BSD_VISIBLE */ | 106/* 107 * Information pushed on stack when a signal is delivered. 108 * This is used by the kernel to restore state following 109 * execution of the signal handler. It is also made available 110 * to the handler to allow it to restore state properly if 111 * a non-standard exit is performed. 112 * 113 * The sequence of the fields/registers after sc_mask in struct --- 43 unchanged lines hidden (view full) --- 157 long sc_gsbase; 158 159 long sc_xfpustate; 160 long sc_xfpustate_len; 161 162 long sc_spare[4]; 163}; 164#endif /* __BSD_VISIBLE */ |
165#endif /* __amd64__ */ |
|
108 | 166 |
109#endif /* !_MACHINE_SIGNAL_H_ */ | 167#endif |