entered into RCS
[kopensolaris-gnu/glibc.git] / signal / signal.h
index d0f4880..ffd899a 100644 (file)
@@ -1,4 +1,4 @@
-/* Copyright (C) 1991, 1992 Free Software Foundation, Inc.
+/* Copyright (C) 1991, 1992, 1993, 1994 Free Software Foundation, Inc.
 This file is part of the GNU C Library.
 
 The GNU C Library is free software; you can redistribute it and/or
@@ -22,19 +22,18 @@ Cambridge, MA 02139, USA.  */
 
 #ifndef        _SIGNAL_H
 
-__BEGIN_DECLS
-
 #if    !defined(__need_sig_atomic_t) && !defined(__need_sigset_t)
 #define        _SIGNAL_H       1
 #include <features.h>
 #endif
 
+__BEGIN_DECLS
+
 #define         __need_size_t
 #include <stddef.h>
 
 #include <gnu/types.h>
 #include <sigset.h>            /* __sigset_t, __sig_atomic_t.  */
-#include <signum.h>
 
 #if    !defined(__sig_atomic_t_defined) &&     \
   (defined(_SIGNAL_H) || defined(__need_sig_atomic_t))
@@ -46,6 +45,8 @@ typedef __sig_atomic_t sig_atomic_t;
 
 #ifdef _SIGNAL_H
 
+#include <signum.h>
+
 /* Type of a signal handler.  */
 typedef void (*__sighandler_t) __P ((int));
 
@@ -58,14 +59,14 @@ extern __sighandler_t signal __P ((int __sig, __sighandler_t __handler));
    If PID is < -1, send SIG to all processes in process group - PID.  */
 extern int __kill __P ((__pid_t __pid, int __sig));
 #ifdef __USE_POSIX
-extern int kill __P ((int __pid, int __sig));
+extern int kill __P ((__pid_t __pid, int __sig));
 #endif /* Use POSIX.  */
 
 #ifdef __USE_BSD
 /* Send SIG to all processes in process group PGRP.
    If PGRP is zero, send SIG to all processes in
    the current process's process group.  */
-extern int killpg __P ((int __pgrp, int __sig));
+extern int killpg __P ((__pid_t __pgrp, int __sig));
 #endif /* Use BSD.  */
 
 /* Raise signal SIG, i.e., send SIG to yourself.  */
@@ -77,6 +78,11 @@ extern __sighandler_t ssignal __P ((int __sig, __sighandler_t __handler));
 extern int gsignal __P ((int __sig));
 #endif /* Use SVID.  */
 
+#ifdef __USE_MISC
+/* Print a message describing the meaning of the given signal number.  */
+extern void psignal __P ((int __sig, __const char *__s));
+#endif /* Use misc.  */
+
 
 /* Block signals in MASK, returning the old mask.  */
 extern int __sigblock __P ((int __mask));
@@ -143,39 +149,25 @@ extern int sigismember __P ((__const sigset_t *__set, int signo));
 #define        sigismember(set, signo) __sigismember(set, signo)
 #endif
 
+/* Get the system-specific definitions of `struct sigaction'
+   and the `SA_*' and `SIG_*'. constants.  */
+#include <sigaction.h>
+
 /* Get and/or change the set of blocked signals.  */
 extern int __sigprocmask __P ((int __how,
                               __const sigset_t *__set, sigset_t *__oset));
 extern int sigprocmask __P ((int __how,
                             __const sigset_t *__set, sigset_t *__oset));
 
-/* Values for the HOW argument to `sigprocmask'.  */
-#define        SIG_BLOCK       1       /* Block signals.  */
-#define        SIG_UNBLOCK     2       /* Unblock signals.  */
-#define        SIG_SETMASK     3       /* Set the set of blocked signals.  */
-
-
 /* Change the set of blocked signals to SET,
    wait until a signal arrives, and restore the set of blocked signals.  */
 extern int sigsuspend __P ((__const sigset_t *__set));
 
-/* Get the system-specific definitions of
-   `struct sigaction' and the `__SA_*' constants.  */
-#include <sigaction.h>
-
-/* Bits in the `sa_flags' field of a `struct sigaction'.  */
-#ifdef __USE_BSD
-#define        SA_ONSTACK      __SA_ONSTACK    /* Take signal on signal stack.  */
-#define        SA_RESTART      __SA_RESTART    /* No syscall restart on sig ret.  */
-#define        SA_DISABLE      __SA_DISABLE    /* Disable alternate signal stack.  */
-#endif
-#define        SA_NOCLDSTOP    __SA_NOCLDSTOP  /* No SIGCHLD when children stop.  */
-
 /* Get and/or set the action for signal SIG.  */
-extern int __sigaction __P ((int __sig, __const struct __sigaction *__act,
-                            struct __sigaction *__oact));
-extern int sigaction __P ((int __sig, __const struct __sigaction *__act,
-                          struct __sigaction *__oact));
+extern int __sigaction __P ((int __sig, __const struct sigaction *__act,
+                            struct sigaction *__oact));
+extern int sigaction __P ((int __sig, __const struct sigaction *__act,
+                          struct sigaction *__oact));
 
 /* Put in SET all signals that are blocked and waiting to be delivered.  */
 extern int sigpending __P ((sigset_t *__set));