summaryrefslogtreecommitdiffstats
path: root/sys/sys/sysproto.h
diff options
context:
space:
mode:
authormarcel <marcel@FreeBSD.org>1999-09-29 15:03:48 +0000
committermarcel <marcel@FreeBSD.org>1999-09-29 15:03:48 +0000
commitd5e8d714b93b1824409b762780bec45541995276 (patch)
tree6c8b2043aa3edb629a1ac31d0703f667667a8072 /sys/sys/sysproto.h
parenta77a86a32324d1cd4c2f1b3055c97e6bc066a6eb (diff)
downloadFreeBSD-src-d5e8d714b93b1824409b762780bec45541995276.zip
FreeBSD-src-d5e8d714b93b1824409b762780bec45541995276.tar.gz
sigset_t change (part 2 of 5)
----------------------------- The core of the signalling code has been rewritten to operate on the new sigset_t. No methodological changes have been made. Most references to a sigset_t object are through macros (see signalvar.h) to create a level of abstraction and to provide a basis for further improvements. The NSIG constant has not been changed to reflect the maximum number of signals possible. The reason is that it breaks programs (especially shells) which assume that all signals have a non-null name in sys_signame. See src/bin/sh/trap.c for an example. Instead _SIG_MAXSIG has been introduced to hold the maximum signal possible with the new sigset_t. struct sigprop has been moved from signalvar.h to kern_sig.c because a) it is only used there, and b) access must be done though function sigprop(). The latter because the table doesn't holds properties for all signals, but only for the first NSIG signals. signal.h has been reorganized to make reading easier and to add the new and/or modified structures. The "old" structures are moved to signalvar.h to prevent namespace polution. Especially the coda filesystem suffers from the change, because it contained lines like (p->p_sigmask == SIGIO), which is easy to do for integral types, but not for compound types. NOTE: kdump (and port linux_kdump) must be recompiled. Thanks to Garrett Wollman and Daniel Eischen for pressing the importance of changing sigreturn as well.
Diffstat (limited to 'sys/sys/sysproto.h')
-rw-r--r--sys/sys/sysproto.h60
1 files changed, 42 insertions, 18 deletions
diff --git a/sys/sys/sysproto.h b/sys/sys/sysproto.h
index 530ba1a..d80e69c 100644
--- a/sys/sys/sysproto.h
+++ b/sys/sys/sysproto.h
@@ -3,7 +3,7 @@
*
* DO NOT EDIT-- this file is automatically generated.
* $FreeBSD$
- * created from FreeBSD: src/sys/kern/syscalls.master,v 1.64 1999/09/11 00:45:58 alfred Exp
+ * created from FreeBSD: src/sys/kern/syscalls.master,v 1.65 1999/09/29 15:01:21 marcel Exp
*/
#ifndef _SYS_SYSPROTO_H_
@@ -188,17 +188,17 @@ struct ktrace_args {
int facs; char facs_[PAD_(int)];
int pid; char pid_[PAD_(int)];
};
-struct sigaction_args {
+struct osigaction_args {
int signum; char signum_[PAD_(int)];
- struct sigaction * nsa; char nsa_[PAD_(struct sigaction *)];
- struct sigaction * osa; char osa_[PAD_(struct sigaction *)];
+ struct osigaction * nsa; char nsa_[PAD_(struct osigaction *)];
+ struct osigaction * osa; char osa_[PAD_(struct osigaction *)];
};
struct getgid_args {
register_t dummy;
};
-struct sigprocmask_args {
+struct osigprocmask_args {
int how; char how_[PAD_(int)];
- sigset_t mask; char mask_[PAD_(sigset_t)];
+ osigset_t mask; char mask_[PAD_(osigset_t)];
};
struct getlogin_args {
char * namebuf; char namebuf_[PAD_(char *)];
@@ -210,12 +210,12 @@ struct setlogin_args {
struct acct_args {
char * path; char path_[PAD_(char *)];
};
-struct sigpending_args {
+struct osigpending_args {
register_t dummy;
};
struct sigaltstack_args {
- struct sigaltstack * nss; char nss_[PAD_(struct sigaltstack *)];
- struct sigaltstack * oss; char oss_[PAD_(struct sigaltstack *)];
+ stack_t * ss; char ss_[PAD_(stack_t *)];
+ stack_t * oss; char oss_[PAD_(stack_t *)];
};
struct ioctl_args {
int fd; char fd_[PAD_(int)];
@@ -358,8 +358,8 @@ struct getpriority_args {
int which; char which_[PAD_(int)];
int who; char who_[PAD_(int)];
};
-struct sigreturn_args {
- struct sigcontext * sigcntxp; char sigcntxp_[PAD_(struct sigcontext *)];
+struct osigreturn_args {
+ struct osigcontext * sigcntxp; char sigcntxp_[PAD_(struct osigcontext *)];
};
struct bind_args {
int s; char s_[PAD_(int)];
@@ -377,8 +377,8 @@ struct listen_args {
int s; char s_[PAD_(int)];
int backlog; char backlog_[PAD_(int)];
};
-struct sigsuspend_args {
- sigset_t mask; char mask_[PAD_(sigset_t)];
+struct osigsuspend_args {
+ osigset_t mask; char mask_[PAD_(osigset_t)];
};
struct gettimeofday_args {
struct timeval * tp; char tp_[PAD_(struct timeval *)];
@@ -923,6 +923,25 @@ struct kldsym_args {
struct jail_args {
struct jail * jail; char jail_[PAD_(struct jail *)];
};
+struct sigprocmask_args {
+ int how; char how_[PAD_(int)];
+ const sigset_t * set; char set_[PAD_(const sigset_t *)];
+ sigset_t * oset; char oset_[PAD_(sigset_t *)];
+};
+struct sigsuspend_args {
+ const sigset_t * sigmask; char sigmask_[PAD_(const sigset_t *)];
+};
+struct sigaction_args {
+ int sig; char sig_[PAD_(int)];
+ const struct sigaction * act; char act_[PAD_(const struct sigaction *)];
+ struct sigaction * oact; char oact_[PAD_(struct sigaction *)];
+};
+struct sigpending_args {
+ sigset_t * set; char set_[PAD_(sigset_t *)];
+};
+struct sigreturn_args {
+ ucontext_t * sigcntxp; char sigcntxp_[PAD_(ucontext_t *)];
+};
int nosys __P((struct proc *, struct nosys_args *));
void exit __P((struct proc *, struct rexit_args *)) __dead2;
int fork __P((struct proc *, struct fork_args *));
@@ -964,13 +983,13 @@ int pipe __P((struct proc *, struct pipe_args *));
int getegid __P((struct proc *, struct getegid_args *));
int profil __P((struct proc *, struct profil_args *));
int ktrace __P((struct proc *, struct ktrace_args *));
-int sigaction __P((struct proc *, struct sigaction_args *));
+int osigaction __P((struct proc *, struct osigaction_args *));
int getgid __P((struct proc *, struct getgid_args *));
-int sigprocmask __P((struct proc *, struct sigprocmask_args *));
+int osigprocmask __P((struct proc *, struct osigprocmask_args *));
int getlogin __P((struct proc *, struct getlogin_args *));
int setlogin __P((struct proc *, struct setlogin_args *));
int acct __P((struct proc *, struct acct_args *));
-int sigpending __P((struct proc *, struct sigpending_args *));
+int osigpending __P((struct proc *, struct osigpending_args *));
int sigaltstack __P((struct proc *, struct sigaltstack_args *));
int ioctl __P((struct proc *, struct ioctl_args *));
int reboot __P((struct proc *, struct reboot_args *));
@@ -1005,11 +1024,11 @@ int setpriority __P((struct proc *, struct setpriority_args *));
int socket __P((struct proc *, struct socket_args *));
int connect __P((struct proc *, struct connect_args *));
int getpriority __P((struct proc *, struct getpriority_args *));
-int sigreturn __P((struct proc *, struct sigreturn_args *));
+int osigreturn __P((struct proc *, struct osigreturn_args *));
int bind __P((struct proc *, struct bind_args *));
int setsockopt __P((struct proc *, struct setsockopt_args *));
int listen __P((struct proc *, struct listen_args *));
-int sigsuspend __P((struct proc *, struct sigsuspend_args *));
+int osigsuspend __P((struct proc *, struct osigsuspend_args *));
int gettimeofday __P((struct proc *, struct gettimeofday_args *));
int getrusage __P((struct proc *, struct getrusage_args *));
int getsockopt __P((struct proc *, struct getsockopt_args *));
@@ -1136,6 +1155,11 @@ int utrace __P((struct proc *, struct utrace_args *));
int sendfile __P((struct proc *, struct sendfile_args *));
int kldsym __P((struct proc *, struct kldsym_args *));
int jail __P((struct proc *, struct jail_args *));
+int sigprocmask __P((struct proc *, struct sigprocmask_args *));
+int sigsuspend __P((struct proc *, struct sigsuspend_args *));
+int sigaction __P((struct proc *, struct sigaction_args *));
+int sigpending __P((struct proc *, struct sigpending_args *));
+int sigreturn __P((struct proc *, struct sigreturn_args *));
#ifdef COMPAT_43
OpenPOWER on IntegriCloud