+void sendsig(struct proc *, /*sig_t*/ user_addr_t action, int sig,
+ int returnmask, uint32_t code);
+
+void psignal(struct proc *p, int sig);
+void psignal_with_reason(struct proc *p, int sig, struct os_reason *signal_reason);
+void psignal_locked(struct proc *, int);
+void psignal_try_thread(proc_t, thread_t, int signum);
+void psignal_try_thread_with_reason(proc_t, thread_t, int, struct os_reason*);
+void psignal_thread_with_reason(proc_t, thread_t, int, struct os_reason*);
+void psignal_uthread(thread_t, int);
+void pgsignal(struct pgrp *pgrp, int sig, int checkctty);
+void tty_pgsignal(struct tty * tp, int sig, int checkctty);
+void threadsignal(thread_t sig_actthread, int signum,
+ mach_exception_code_t code, boolean_t set_exitreason);
+int thread_issignal(proc_t p, thread_t th, sigset_t mask);
+void psignal_vfork(struct proc *p, task_t new_task, thread_t thread,
+ int signum);
+void psignal_vfork_with_reason(proc_t p, task_t new_task, thread_t thread,
+ int signum, struct os_reason *signal_reason);
+void signal_setast(thread_t sig_actthread);
+void pgsigio(pid_t pgid, int signalnum);
+
+void sig_lock_to_exit(struct proc *p);
+int sig_try_locked(struct proc *p);
+
+#endif /* BSD_KERNEL_PRIVATE */
+
+
+#ifdef XNU_KERNEL_PRIVATE
+
+/* Functions exported to Mach as well */
+
+#define COREDUMP_IGNORE_ULIMIT 0x0001 /* Ignore the process's core file ulimit. */
+#define COREDUMP_FULLFSYNC 0x0002 /* Run F_FULLFSYNC on the core file's vnode */