Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. =================================================================== RCS file: /ftp/cvs/cvsroot/src/sys/compat/linux/common/linux_signal.c,v rcsdiff: /ftp/cvs/cvsroot/src/sys/compat/linux/common/linux_signal.c,v: warning: Unknown phrases like `commitid ...;' are present. retrieving revision 1.54.16.2 retrieving revision 1.55 diff -u -p -r1.54.16.2 -r1.55 --- src/sys/compat/linux/common/linux_signal.c 2008/01/09 01:51:16 1.54.16.2 +++ src/sys/compat/linux/common/linux_signal.c 2007/10/19 18:52:12 1.55 @@ -1,4 +1,4 @@ -/* $NetBSD: linux_signal.c,v 1.54.16.2 2008/01/09 01:51:16 matt Exp $ */ +/* $NetBSD: linux_signal.c,v 1.55 2007/10/19 18:52:12 njoly Exp $ */ /*- * Copyright (c) 1995, 1998 The NetBSD Foundation, Inc. @@ -55,7 +55,7 @@ */ #include -__KERNEL_RCSID(0, "$NetBSD: linux_signal.c,v 1.54.16.2 2008/01/09 01:51:16 matt Exp $"); +__KERNEL_RCSID(0, "$NetBSD: linux_signal.c,v 1.55 2007/10/19 18:52:12 njoly Exp $"); #define COMPAT_LINUX 1 @@ -107,7 +107,10 @@ extern const int linux_to_native_signo[] */ #if LINUX__NSIG_WORDS > 1 void -linux_old_extra_to_native_sigset(sigset_t *bss, const linux_old_sigset_t *lss, const unsigned long *extra) +linux_old_extra_to_native_sigset(bss, lss, extra) + sigset_t *bss; + const linux_old_sigset_t *lss; + const unsigned long *extra; { linux_sigset_t lsnew; @@ -122,7 +125,10 @@ linux_old_extra_to_native_sigset(sigset_ } void -native_to_linux_old_extra_sigset(linux_old_sigset_t *lss, unsigned long *extra, const sigset_t *bss) +native_to_linux_old_extra_sigset(lss, extra, bss) + linux_old_sigset_t *lss; + unsigned long *extra; + const sigset_t *bss; { linux_sigset_t lsnew; @@ -137,7 +143,9 @@ native_to_linux_old_extra_sigset(linux_o #endif /* LINUX__NSIG_WORDS > 1 */ void -linux_to_native_sigset(sigset_t *bss, const linux_sigset_t *lss) +linux_to_native_sigset(bss, lss) + sigset_t *bss; + const linux_sigset_t *lss; { int i, newsig; @@ -152,7 +160,9 @@ linux_to_native_sigset(sigset_t *bss, co } void -native_to_linux_sigset(linux_sigset_t *lss, const sigset_t *bss) +native_to_linux_sigset(lss, bss) + linux_sigset_t *lss; + const sigset_t *bss; { int i, newsig; @@ -167,7 +177,8 @@ native_to_linux_sigset(linux_sigset_t *l } unsigned int -native_to_linux_sigflags(const int bsf) +native_to_linux_sigflags(bsf) + const int bsf; { unsigned int lsf = 0; if ((bsf & SA_NOCLDSTOP) != 0) @@ -188,7 +199,8 @@ native_to_linux_sigflags(const int bsf) } int -linux_to_native_sigflags(const unsigned long lsf) +linux_to_native_sigflags(lsf) + const unsigned long lsf; { int bsf = 0; if ((lsf & LINUX_SA_NOCLDSTOP) != 0) @@ -216,7 +228,9 @@ linux_to_native_sigflags(const unsigned * Convert between Linux and BSD sigaction structures. */ void -linux_old_to_native_sigaction(struct sigaction *bsa, const struct linux_old_sigaction *lsa) +linux_old_to_native_sigaction(bsa, lsa) + struct sigaction *bsa; + const struct linux_old_sigaction *lsa; { bsa->sa_handler = lsa->linux_sa_handler; linux_old_to_native_sigset(&bsa->sa_mask, &lsa->linux_sa_mask); @@ -224,7 +238,9 @@ linux_old_to_native_sigaction(struct sig } void -native_to_linux_old_sigaction(struct linux_old_sigaction *lsa, const struct sigaction *bsa) +native_to_linux_old_sigaction(lsa, bsa) + struct linux_old_sigaction *lsa; + const struct sigaction *bsa; { lsa->linux_sa_handler = bsa->sa_handler; native_to_linux_old_sigset(&lsa->linux_sa_mask, &bsa->sa_mask); @@ -236,7 +252,9 @@ native_to_linux_old_sigaction(struct lin /* ...and the new sigaction conversion funcs. */ void -linux_to_native_sigaction(struct sigaction *bsa, const struct linux_sigaction *lsa) +linux_to_native_sigaction(bsa, lsa) + struct sigaction *bsa; + const struct linux_sigaction *lsa; { bsa->sa_handler = lsa->linux_sa_handler; linux_to_native_sigset(&bsa->sa_mask, &lsa->linux_sa_mask); @@ -244,7 +262,9 @@ linux_to_native_sigaction(struct sigacti } void -native_to_linux_sigaction(struct linux_sigaction *lsa, const struct sigaction *bsa) +native_to_linux_sigaction(lsa, bsa) + struct linux_sigaction *lsa; + const struct sigaction *bsa; { lsa->linux_sa_handler = bsa->sa_handler; native_to_linux_sigset(&lsa->linux_sa_mask, &bsa->sa_mask); @@ -262,14 +282,14 @@ native_to_linux_sigaction(struct linux_s * ignored (see above). */ int -linux_sys_rt_sigaction(struct lwp *l, const struct linux_sys_rt_sigaction_args *uap, register_t *retval) +linux_sys_rt_sigaction(struct lwp *l, void *v, register_t *retval) { - /* { + struct linux_sys_rt_sigaction_args /* { syscallarg(int) signum; syscallarg(const struct linux_sigaction *) nsa; syscallarg(struct linux_sigaction *) osa; syscallarg(size_t) sigsetsize; - } */ + } */ *uap = v; struct linux_sigaction nlsa, olsa; struct sigaction nbsa, obsa; int error, sig; @@ -330,7 +350,11 @@ linux_sys_rt_sigaction(struct lwp *l, co } int -linux_sigprocmask1(struct lwp *l, int how, const linux_old_sigset_t *set, linux_old_sigset_t *oset) +linux_sigprocmask1(l, how, set, oset) + struct lwp *l; + int how; + const linux_old_sigset_t *set; + linux_old_sigset_t *oset; { struct proc *p = l->l_proc; linux_old_sigset_t nlss, olss; @@ -373,14 +397,14 @@ linux_sigprocmask1(struct lwp *l, int ho } int -linux_sys_rt_sigprocmask(struct lwp *l, const struct linux_sys_rt_sigprocmask_args *uap, register_t *retval) +linux_sys_rt_sigprocmask(struct lwp *l, void *v, register_t *retval) { - /* { + struct linux_sys_rt_sigprocmask_args /* { syscallarg(int) how; syscallarg(const linux_sigset_t *) set; syscallarg(linux_sigset_t *) oset; syscallarg(size_t) sigsetsize; - } */ + } */ *uap = v; linux_sigset_t nlss, olss, *oset; const linux_sigset_t *set; struct proc *p = l->l_proc; @@ -425,12 +449,12 @@ linux_sys_rt_sigprocmask(struct lwp *l, } int -linux_sys_rt_sigpending(struct lwp *l, const struct linux_sys_rt_sigpending_args *uap, register_t *retval) +linux_sys_rt_sigpending(struct lwp *l, void *v, register_t *retval) { - /* { + struct linux_sys_rt_sigpending_args /* { syscallarg(linux_sigset_t *) set; syscallarg(size_t) sigsetsize; - } */ + } */ *uap = v; sigset_t bss; linux_sigset_t lss; @@ -444,11 +468,11 @@ linux_sys_rt_sigpending(struct lwp *l, c #ifndef __amd64__ int -linux_sys_sigpending(struct lwp *l, const struct linux_sys_sigpending_args *uap, register_t *retval) +linux_sys_sigpending(struct lwp *l, void *v, register_t *retval) { - /* { + struct linux_sys_sigpending_args /* { syscallarg(linux_old_sigset_t *) mask; - } */ + } */ *uap = v; sigset_t bss; linux_old_sigset_t lss; @@ -458,13 +482,13 @@ linux_sys_sigpending(struct lwp *l, cons } int -linux_sys_sigsuspend(struct lwp *l, const struct linux_sys_sigsuspend_args *uap, register_t *retval) +linux_sys_sigsuspend(struct lwp *l, void *v, register_t *retval) { - /* { + struct linux_sys_sigsuspend_args /* { syscallarg(void *) restart; syscallarg(int) oldmask; syscallarg(int) mask; - } */ + } */ *uap = v; linux_old_sigset_t lss; sigset_t bss; @@ -475,12 +499,12 @@ linux_sys_sigsuspend(struct lwp *l, cons #endif /* __amd64__ */ int -linux_sys_rt_sigsuspend(struct lwp *l, const struct linux_sys_rt_sigsuspend_args *uap, register_t *retval) +linux_sys_rt_sigsuspend(struct lwp *l, void *v, register_t *retval) { - /* { + struct linux_sys_rt_sigsuspend_args /* { syscallarg(linux_sigset_t *) unewset; syscallarg(size_t) sigsetsize; - } */ + } */ *uap = v; linux_sigset_t lss; sigset_t bss; int error; @@ -502,7 +526,10 @@ linux_sys_rt_sigsuspend(struct lwp *l, c * Note: also used as sys_rt_queueinfo. The info field is ignored. */ int -linux_sys_rt_queueinfo(struct lwp *l, const struct linux_sys_rt_queueinfo_args *uap, register_t *retval) +linux_sys_rt_queueinfo(l, v, retval) + struct lwp *l; + void *v; + register_t *retval; { /* XXX XAX This isn't this really int, int, siginfo_t *, is it? */ #if 0 @@ -515,16 +542,19 @@ linux_sys_rt_queueinfo(struct lwp *l, co /* XXX To really implement this we need to */ /* XXX keep a list of queued signals somewhere. */ - return (linux_sys_kill(l, (const void *)uap, retval)); + return (linux_sys_kill(l, v, retval)); } int -linux_sys_kill(struct lwp *l, const struct linux_sys_kill_args *uap, register_t *retval) +linux_sys_kill(l, v, retval) + struct lwp *l; + void *v; + register_t *retval; { - /* { + struct linux_sys_kill_args /* { syscallarg(int) pid; syscallarg(int) signum; - } */ + } */ *uap = v; struct sys_kill_args ka; int sig; @@ -538,11 +568,13 @@ linux_sys_kill(struct lwp *l, const stru } #ifdef LINUX_SS_ONSTACK -static void linux_to_native_sigaltstack(struct sigaltstack *, - const struct linux_sigaltstack *); +static void linux_to_native_sigaltstack __P((struct sigaltstack *, + const struct linux_sigaltstack *)); static void -linux_to_native_sigaltstack(struct sigaltstack *bss, const struct linux_sigaltstack *lss) +linux_to_native_sigaltstack(bss, lss) + struct sigaltstack *bss; + const struct linux_sigaltstack *lss; { bss->ss_sp = lss->ss_sp; bss->ss_size = lss->ss_size; @@ -555,7 +587,9 @@ linux_to_native_sigaltstack(struct sigal } void -native_to_linux_sigaltstack(struct linux_sigaltstack *lss, const struct sigaltstack *bss) +native_to_linux_sigaltstack(lss, bss) + struct linux_sigaltstack *lss; + const struct sigaltstack *bss; { lss->ss_sp = bss->ss_sp; lss->ss_size = bss->ss_size; @@ -568,12 +602,12 @@ native_to_linux_sigaltstack(struct linux } int -linux_sys_sigaltstack(struct lwp *l, const struct linux_sys_sigaltstack_args *uap, register_t *retval) +linux_sys_sigaltstack(struct lwp *l, void *v, register_t *retval) { - /* { + struct linux_sys_sigaltstack_args /* { syscallarg(const struct linux_sigaltstack *) ss; syscallarg(struct linux_sigaltstack *) oss; - } */ + } */ *uap = v; struct linux_sigaltstack ss; struct sigaltstack nss; struct proc *p = l->l_proc; @@ -612,12 +646,15 @@ linux_sys_sigaltstack(struct lwp *l, con #ifdef LINUX_NPTL int -linux_sys_tkill(struct lwp *l, const struct linux_sys_tkill_args *uap, register_t *retval) +linux_sys_tkill(l, v, retval) + struct lwp *l; + void *v; + register_t *retval; { - /* { + struct linux_sys_tkill_args /* { syscallarg(int) tid; syscallarg(int) sig; - } */ + } */ *uap = v; struct linux_sys_kill_args cup; /* We use the PID as the TID ... */ @@ -628,13 +665,16 @@ linux_sys_tkill(struct lwp *l, const str } int -linux_sys_tgkill(struct lwp *l, const struct linux_sys_tgkill_args *uap, register_t *retval) +linux_sys_tgkill(l, v, retval) + struct lwp *l; + void *v; + register_t *retval; { - /* { + struct linux_sys_tgkill_args /* { syscallarg(int) tgid; syscallarg(int) tid; syscallarg(int) sig; - } */ + } */ *uap = v; struct linux_sys_kill_args cup; struct linux_emuldata *led; struct proc *p;