[Midnightbsd-cvs] src [12358] trunk/sys/sys/signal.h: sync with FreeBSD 11-stable
laffer1 at midnightbsd.org
laffer1 at midnightbsd.org
Sun Feb 9 13:26:51 EST 2020
Revision: 12358
http://svnweb.midnightbsd.org/src/?rev=12358
Author: laffer1
Date: 2020-02-09 13:26:51 -0500 (Sun, 09 Feb 2020)
Log Message:
-----------
sync with FreeBSD 11-stable
Modified Paths:
--------------
trunk/sys/sys/signal.h
Modified: trunk/sys/sys/signal.h
===================================================================
--- trunk/sys/sys/signal.h 2020-02-09 17:52:06 UTC (rev 12357)
+++ trunk/sys/sys/signal.h 2020-02-09 18:26:51 UTC (rev 12358)
@@ -33,7 +33,7 @@
* SUCH DAMAGE.
*
* @(#)signal.h 8.4 (Berkeley) 5/4/95
- * $FreeBSD: stable/10/sys/sys/signal.h 233519 2012-03-26 19:12:09Z rmh $
+ * $FreeBSD: stable/11/sys/sys/signal.h 331722 2018-03-29 02:50:57Z eadler $
*/
#ifndef _SYS_SIGNAL_H_
@@ -46,6 +46,23 @@
#include <machine/_limits.h> /* __MINSIGSTKSZ */
#include <machine/signal.h> /* sig_atomic_t; trap codes; sigcontext */
+#if __POSIX_VISIBLE >= 200809
+
+#include <sys/_pthreadtypes.h>
+#include <sys/_timespec.h>
+
+#ifndef _SIZE_T_DECLARED
+typedef __size_t size_t;
+#define _SIZE_T_DECLARED
+#endif
+
+#ifndef _UID_T_DECLARED
+typedef __uid_t uid_t;
+#define _UID_T_DECLARED
+#endif
+
+#endif /* __POSIX_VISIBLE >= 200809 */
+
/*
* System defined signals.
*/
@@ -158,9 +175,22 @@
int sigval_int;
void *sigval_ptr;
};
+
+#if defined(_WANT_LWPINFO32) || (defined(_KERNEL) && defined(__LP64__))
+union sigval32 {
+ int sival_int;
+ uint32_t sival_ptr;
+ /* 6.0 compatibility */
+ int sigval_int;
+ uint32_t sigval_ptr;
+};
#endif
+#endif
#if __POSIX_VISIBLE >= 199309
+
+struct pthread_attr;
+
struct sigevent {
int sigev_notify; /* Notification type */
int sigev_signo; /* Signal number */
@@ -169,7 +199,7 @@
__lwpid_t _threadid;
struct {
void (*_function)(union sigval);
- void *_attribute; /* pthread_attr_t * */
+ struct pthread_attr **_attribute;
} _sigev_thread;
unsigned short _kevent_flags;
long __spare__[8];
@@ -191,6 +221,7 @@
#define SIGEV_KEVENT 3 /* Generate a kevent. */
#define SIGEV_THREAD_ID 4 /* Send signal to a kernel thread. */
#endif
+
#endif /* __POSIX_VISIBLE >= 199309 */
#if __POSIX_VISIBLE >= 199309 || __XSI_VISIBLE
@@ -236,6 +267,38 @@
#define si_mqd _reason._mesgq._mqd
#define si_band _reason._poll._band
+#if defined(_WANT_LWPINFO32) || (defined(_KERNEL) && defined(__LP64__))
+struct siginfo32 {
+ int si_signo; /* signal number */
+ int si_errno; /* errno association */
+ int si_code; /* signal code */
+ __pid_t si_pid; /* sending process */
+ __uid_t si_uid; /* sender's ruid */
+ int si_status; /* exit value */
+ uint32_t si_addr; /* faulting instruction */
+ union sigval32 si_value; /* signal value */
+ union {
+ struct {
+ int _trapno;/* machine specific trap code */
+ } _fault;
+ struct {
+ int _timerid;
+ int _overrun;
+ } _timer;
+ struct {
+ int _mqd;
+ } _mesgq;
+ struct {
+ int32_t _band; /* band event for SIGPOLL */
+ } _poll; /* was this ever used ? */
+ struct {
+ int32_t __spare1__;
+ int __spare2__[7];
+ } __spare__;
+ } _reason;
+};
+#endif
+
/** si_code **/
/* codes for SIGILL */
#define ILL_ILLOPC 1 /* Illegal opcode. */
@@ -271,6 +334,7 @@
#define TRAP_BRKPT 1 /* Process breakpoint. */
#define TRAP_TRACE 2 /* Process trace trap. */
#define TRAP_DTRACE 3 /* DTrace induced trap. */
+#define TRAP_CAP 4 /* Capabilities protective trap. */
/* codes for SIGCHLD */
#define CLD_EXITED 1 /* Child has exited */
@@ -355,18 +419,10 @@
#endif
#if __XSI_VISIBLE
-/*
- * Structure used in sigaltstack call.
- */
#if __BSD_VISIBLE
-typedef struct sigaltstack {
-#else
-typedef struct {
+#define __stack_t sigaltstack
#endif
- char *ss_sp; /* signal stack base */
- __size_t ss_size; /* signal stack length */
- int ss_flags; /* SS_DISABLE and/or SS_ONSTACK */
-} stack_t;
+typedef struct __stack_t stack_t;
#define SS_ONSTACK 0x0001 /* take signal on alternate stack */
#define SS_DISABLE 0x0004 /* disable taking signals on alternate stack */
@@ -374,6 +430,17 @@
#define SIGSTKSZ (MINSIGSTKSZ + 32768) /* recommended stack size */
#endif
+/*
+ * Structure used in sigaltstack call. Its definition is always
+ * needed for __ucontext. If __BSD_VISIBLE is defined, the structure
+ * tag is actually sigaltstack.
+ */
+struct __stack_t {
+ void *ss_sp; /* signal stack base */
+ __size_t ss_size; /* signal stack length */
+ int ss_flags; /* SS_DISABLE and/or SS_ONSTACK */
+};
+
#if __BSD_VISIBLE
/*
* 4.3 compatibility:
@@ -407,8 +474,7 @@
* Structure used in sigstack call.
*/
struct sigstack {
- /* XXX ss_sp's type should be `void *'. */
- char *ss_sp; /* signal stack pointer */
+ void *ss_sp; /* signal stack pointer */
int ss_onstack; /* current status */
};
#endif
More information about the Midnightbsd-cvs
mailing list