diff options
Diffstat (limited to 'sys/mips/include/sigframe.h')
-rw-r--r-- | sys/mips/include/sigframe.h | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/sys/mips/include/sigframe.h b/sys/mips/include/sigframe.h index 6919882..69c7c02 100644 --- a/sys/mips/include/sigframe.h +++ b/sys/mips/include/sigframe.h @@ -32,6 +32,10 @@ #ifndef _MACHINE_SIGFRAME_H_ #define _MACHINE_SIGFRAME_H_ +#if defined(_KERNEL) && !defined(KLD_MODULE) && !defined(_STANDALONE) +#include "opt_compat.h" +#endif + /* * WARNING: code in locore.s assumes the layout shown for sf_signum * thru sf_addr so... don't alter them! @@ -46,4 +50,18 @@ struct sigframe { unsigned long __spare__[2]; }; +#if (defined(__mips_n32) || defined(__mips_n64)) && defined(COMPAT_FREEBSD32) +#include <compat/freebsd32/freebsd32_signal.h> + +struct sigframe32 { + int32_t sf_signum; + int32_t sf_siginfo; /* code or pointer to sf_si */ + int32_t sf_ucontext; /* points to sf_uc */ + int32_t sf_addr; /* undocumented 4th arg */ + ucontext32_t sf_uc; /* = *sf_ucontext */ + struct siginfo32 sf_si; /* = *sf_siginfo (SA_SIGINFO case) */ + uint32_t __spare__[2]; +}; +#endif + #endif /* !_MACHINE_SIGFRAME_H_ */ |