| @@ -1,86 +1,86 @@ | | | @@ -1,86 +1,86 @@ |
1 | /* $NetBSD: linux_siginfo.h,v 1.4 2008/11/23 23:48:48 njoly Exp $ */ | | 1 | /* $NetBSD: linux_siginfo.h,v 1.5 2009/05/27 12:20:37 njoly Exp $ */ |
2 | | | 2 | |
3 | /*- | | 3 | /*- |
4 | * Copyright (c) 2005 Emmanuel Dreyfus, all rights reserved. | | 4 | * Copyright (c) 2005 Emmanuel Dreyfus, all rights reserved. |
5 | * | | 5 | * |
6 | * Redistribution and use in source and binary forms, with or without | | 6 | * Redistribution and use in source and binary forms, with or without |
7 | * modification, are permitted provided that the following conditions | | 7 | * modification, are permitted provided that the following conditions |
8 | * are met: | | 8 | * are met: |
9 | * 1. Redistributions of source code must retain the above copyright | | 9 | * 1. Redistributions of source code must retain the above copyright |
10 | * notice, this list of conditions and the following disclaimer. | | 10 | * notice, this list of conditions and the following disclaimer. |
11 | * 2. Redistributions in binary form must reproduce the above copyright | | 11 | * 2. Redistributions in binary form must reproduce the above copyright |
12 | * notice, this list of conditions and the following disclaimer in the | | 12 | * notice, this list of conditions and the following disclaimer in the |
13 | * documentation and/or other materials provided with the distribution. | | 13 | * documentation and/or other materials provided with the distribution. |
14 | * 3. All advertising materials mentioning features or use of this software | | 14 | * 3. All advertising materials mentioning features or use of this software |
15 | * must display the following acknowledgement: | | 15 | * must display the following acknowledgement: |
16 | * This product includes software developed by Emmanuel Dreyfus | | 16 | * This product includes software developed by Emmanuel Dreyfus |
17 | * 4. The name of the author may not be used to endorse or promote | | 17 | * 4. The name of the author may not be used to endorse or promote |
18 | * products derived from this software without specific prior written | | 18 | * products derived from this software without specific prior written |
19 | * permission. | | 19 | * permission. |
20 | * | | 20 | * |
21 | * THIS SOFTWARE IS PROVIDED BY THE THE AUTHOR AND CONTRIBUTORS ``AS IS'' | | 21 | * THIS SOFTWARE IS PROVIDED BY THE THE AUTHOR AND CONTRIBUTORS ``AS IS'' |
22 | * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, | | 22 | * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, |
23 | * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR | | 23 | * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR |
24 | * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS | | 24 | * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS |
25 | * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR | | 25 | * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR |
26 | * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF | | 26 | * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF |
27 | * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS | | 27 | * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS |
28 | * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN | | 28 | * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN |
29 | * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) | | 29 | * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) |
30 | * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE | | 30 | * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE |
31 | * POSSIBILITY OF SUCH DAMAGE. | | 31 | * POSSIBILITY OF SUCH DAMAGE. |
32 | */ | | 32 | */ |
33 | | | 33 | |
34 | #ifndef _AMD64_LINUX_SIGINFO_H | | 34 | #ifndef _AMD64_LINUX_SIGINFO_H |
35 | #define _AMD64_LINUX_SIGINFO_H | | 35 | #define _AMD64_LINUX_SIGINFO_H |
36 | | | 36 | |
37 | #define LINUX___ARCH_SI_PREAMBLE_SIZE (3 * sizeof(int)) | | 37 | #define LINUX___ARCH_SI_PREAMBLE_SIZE (3 * sizeof(int)) |
38 | #define LINUX_SI_MAX_SIZE 128 | | 38 | #define LINUX_SI_MAX_SIZE 128 |
39 | #define LINUX_SI_PAD_SIZE \ | | 39 | #define LINUX_SI_PAD_SIZE \ |
40 | ((LINUX_SI_MAX_SIZE - LINUX___ARCH_SI_PREAMBLE_SIZE) / sizeof(int)) | | 40 | ((LINUX_SI_MAX_SIZE - LINUX___ARCH_SI_PREAMBLE_SIZE) / sizeof(int)) |
41 | | | 41 | |
42 | typedef union linux_sigval { | | 42 | typedef union linux_sigval { |
43 | int sival_int; | | 43 | int sival_int; |
44 | void *sival_ptr; | | 44 | void *sival_ptr; |
45 | } linux_sigval_t; | | 45 | } linux_sigval_t; |
46 | | | 46 | |
47 | | | 47 | |
48 | struct linux_siginfo { | | 48 | struct linux_siginfo { |
49 | int lsi_signo; | | 49 | int lsi_signo; |
50 | int lsi_errno; | | 50 | int lsi_errno; |
51 | int lsi_code; | | 51 | int lsi_code; |
52 | union { | | 52 | union { |
53 | int _pad[LINUX_SI_PAD_SIZE]; | | 53 | int _pad[LINUX_SI_PAD_SIZE]; |
54 | struct { | | 54 | struct { |
55 | linux_pid_t _pid; | | 55 | linux_pid_t _pid; |
56 | linux_uid_t _uid; | | 56 | linux_uid_t _uid; |
57 | } _kill; | | 57 | } _kill; |
58 | | | 58 | |
59 | struct { | | 59 | struct { |
60 | linux_timer_t _tid; | | 60 | linux_timer_t _tid; |
61 | int _overrun; | | 61 | int _overrun; |
62 | char _pad[sizeof(linux_uid_t) - sizeof(int)]; | | 62 | char _pad[sizeof(linux_uid_t) - sizeof(int)]; |
63 | linux_sigval_t _sigval; | | 63 | linux_sigval_t _sigval; |
64 | int _sys_private; | | 64 | int _sys_private; |
65 | } _timer; | | 65 | } _timer; |
66 | | | 66 | |
67 | struct { | | 67 | struct { |
68 | linux_pid_t _pid; | | 68 | linux_pid_t _pid; |
69 | linux_uid_t _uid; | | 69 | linux_uid_t _uid; |
70 | int _status; | | 70 | int _status; |
71 | linux_clock_t _utime; | | 71 | linux_clock_t _utime; |
72 | clock_t _stime; | | 72 | linux_clock_t _stime; |
73 | } _sigchld; | | 73 | } _sigchld; |
74 | | | 74 | |
75 | struct { | | 75 | struct { |
76 | void *_addr; | | 76 | void *_addr; |
77 | } _sigfault; | | 77 | } _sigfault; |
78 | | | 78 | |
79 | struct { | | 79 | struct { |
80 | long _band; | | 80 | long _band; |
81 | int _fd; | | 81 | int _fd; |
82 | } _sigpoll; | | 82 | } _sigpoll; |
83 | } _sifields; | | 83 | } _sifields; |
84 | } linux_siginfo_t; | | 84 | } linux_siginfo_t; |
85 | | | 85 | |
86 | #endif /* !_AMD64_LINUX_SIGINFO_H */ | | 86 | #endif /* !_AMD64_LINUX_SIGINFO_H */ |