+
+#ifdef BSD_KERNEL_PRIVATE
+#include <machine/types.h>
+
+#if __DARWIN_ALIGN_NATURAL
+#pragma options align=natural
+#endif
+
+union __user_sigaction_u {
+ user_addr_t __sa_handler;
+ user_addr_t __sa_sigaction;
+};
+
+struct user_sigaction {
+ union __user_sigaction_u __sigaction_u; /* signal handler */
+ sigset_t sa_mask; /* signal mask to apply */
+ int sa_flags; /* see signal options below */
+};
+
+struct __user_sigaction {
+ union __user_sigaction_u __sigaction_u; /* signal handler */
+ user_addr_t sa_tramp; /* signal mask to apply */
+ sigset_t sa_mask; /* signal mask to apply */
+ int sa_flags; /* see signal options below */
+};
+
+#if __DARWIN_ALIGN_NATURAL
+#pragma options align=reset
+#endif
+
+#undef SIG_DFL
+#undef SIG_IGN
+#undef SIG_ERR
+#define SIG_DFL ((user_addr_t)0LL)
+#define SIG_IGN ((user_addr_t)1LL)
+#define SIG_ERR ((user_addr_t)-1LL)
+
+#endif /* BSD_KERNEL_PRIVATE */
+
+