summaryrefslogtreecommitdiffstats
path: root/sys/compat/ia32
diff options
context:
space:
mode:
authorpeter <peter@FreeBSD.org>2004-04-14 23:20:14 +0000
committerpeter <peter@FreeBSD.org>2004-04-14 23:20:14 +0000
commit185be4df7ac473452a43a3b4c8d2ab01c7f626b4 (patch)
tree13d9ec14f6fe25d7d1f2b3334199fccb9441cc08 /sys/compat/ia32
parent462ac7570697f79a45cbaa2771f8fcf2e7349fc1 (diff)
downloadFreeBSD-src-185be4df7ac473452a43a3b4c8d2ab01c7f626b4.zip
FreeBSD-src-185be4df7ac473452a43a3b4c8d2ab01c7f626b4.tar.gz
Check in structure definitions for the FreeBSD-3.x signal syscall stuff.
Nothing uses these yet, but I dont want to lose them.
Diffstat (limited to 'sys/compat/ia32')
-rw-r--r--sys/compat/ia32/ia32_signal.h43
1 files changed, 43 insertions, 0 deletions
diff --git a/sys/compat/ia32/ia32_signal.h b/sys/compat/ia32/ia32_signal.h
index 9752a63..b618b17 100644
--- a/sys/compat/ia32/ia32_signal.h
+++ b/sys/compat/ia32/ia32_signal.h
@@ -113,6 +113,32 @@ struct ia32_ucontext4 {
};
#endif
+#ifdef COMPAT_FREEBSD3
+struct ia32_sigcontext3 {
+ int sc_onstack;
+ u_int32_t sc_mask;
+ int sc_esp;
+ int sc_ebp;
+ int sc_isp;
+ int sc_eip;
+ int sc_eflags;
+ int sc_es;
+ int sc_ds;
+ int sc_cs;
+ int sc_ss;
+ int sc_edi;
+ int sc_esi;
+ int sc_ebx;
+ int sc_edx;
+ int sc_ecx;
+ int sc_eax;
+ int sc_gs;
+ int sc_fs;
+ int sc_trapno;
+ int sc_err;
+};
+#endif
+
/*
* Signal frames, arguments passed to application signal handlers.
*/
@@ -156,6 +182,23 @@ struct ia32_sigframe {
struct ia32_siginfo sf_si; /* = *sf_siginfo (SA_SIGINFO case) */
};
+#ifdef COMPAT_FREEBSD3
+struct ia32_siginfo3 {
+ struct ia32_sigcontext3 si_sc;
+ int si_signo;
+ int si_code;
+ union ia32_sigval si_value;
+};
+struct ia32_sigframe3 {
+ int sf_signum;
+ u_int32_t sf_arg2; /* int or siginfo_t */
+ u_int32_t sf_scp;
+ u_int32_t sf_addr;
+ u_int32_t sf_ah; /* action/handler pointer */
+ struct ia32_siginfo3 sf_siginfo;
+};
+#endif
+
extern char ia32_sigcode[];
extern char freebsd4_ia32_sigcode[];
extern int sz_ia32_sigcode;
OpenPOWER on IntegriCloud