X-Git-Url: https://git.saurik.com/apple/xnu.git/blobdiff_plain/2d21ac55c334faf3a56e5634905ed6987fc787d4..bb59bff194111743b33cc36712410b5656329d3c:/bsd/sys/signalvar.h diff --git a/bsd/sys/signalvar.h b/bsd/sys/signalvar.h index 1597c85ff..cd5c2d133 100644 --- a/bsd/sys/signalvar.h +++ b/bsd/sys/signalvar.h @@ -87,7 +87,7 @@ struct sigacts { sigset_t ps_siginfo; /* signals that want SA_SIGINFO args */ sigset_t ps_oldmask; /* saved mask from before sigpause */ int ps_flags; /* signal flags, below */ - struct user_sigaltstack ps_sigstk; /* sp, length & flags */ + struct kern_sigaltstack ps_sigstk; /* sp, length & flags */ int ps_sig; /* for core dump/debugger XXX */ int ps_code; /* for core dump/debugger XXX */ int ps_addr; /* for core dump/debugger XXX */ @@ -104,9 +104,9 @@ struct sigacts { * values should be non-intersecting with values defined in signal.h, e.g.: * SIG_IGN, SIG_DFL, SIG_ERR, SIG_IGN. */ -#define KERN_SIG_CATCH (void (*)(int))2 -#define KERN_SIG_HOLD (void (*)(int))3 -#define KERN_SIG_WAIT (void (*)(int))4 +#define KERN_SIG_CATCH CAST_USER_ADDR_T(2) +#define KERN_SIG_HOLD CAST_USER_ADDR_T(3) +#define KERN_SIG_WAIT CAST_USER_ADDR_T(4) /* * get signal action for process and signal; currently only for current process @@ -191,16 +191,15 @@ int sigprop[NSIG + 1] = { /* * Machine-independent functions: */ -int coredump(struct proc *p); +int coredump(struct proc *p, uint32_t reserve_mb, int ignore_ulimit); void execsigs(struct proc *p, thread_t thread); void gsignal(int pgid, int sig); -int issignal(struct proc *p); +int issignal_locked(struct proc *p); int CURSIG(struct proc *p); -int clear_procsiglist(struct proc *p, int bit); -int clear_procsigmask(struct proc *p, int bit); +int clear_procsiglist(struct proc *p, int bit, int in_signalstart); int set_procsigmask(struct proc *p, int bit); -void postsig(int sig); -void siginit(struct proc *p) __attribute__((section("__TEXT, initcode"))); +void postsig_locked(int sig); +void siginit(struct proc *p); void trapsignal(struct proc *p, int sig, unsigned code); void pt_setrunnable(struct proc *p); int hassigprop(int sig, int prop); @@ -209,7 +208,7 @@ int hassigprop(int sig, int prop); * Machine-dependent functions: */ void sendsig(struct proc *, /*sig_t*/ user_addr_t action, int sig, - int returnmask, u_long code); + int returnmask, uint32_t code); void psignal(struct proc *p, int sig); void psignal_locked(struct proc *, int);