summaryrefslogtreecommitdiff
path: root/signal/signal.h
diff options
context:
space:
mode:
Diffstat (limited to 'signal/signal.h')
-rw-r--r--signal/signal.h44
1 files changed, 44 insertions, 0 deletions
diff --git a/signal/signal.h b/signal/signal.h
index 5fb4bc2a14..8691b6880e 100644
--- a/signal/signal.h
+++ b/signal/signal.h
@@ -172,6 +172,20 @@ typedef __sigset_t sigset_t;
# ifdef _SIGNAL_H
+/* We need `struct timespec' later on. */
+# define __need_timespec
+# include <time.h>
+
+/* Type for data associated with a signal. */
+typedef union sigval
+ {
+ int sival_int;
+ void *sival_ptr;
+ } sigval_t;
+
+/* Get the `siginfo_t' type plus the needed symbols. */
+# include <bits/siginfo.h>
+
/* Clear all signals from SET. */
extern int sigemptyset __P ((sigset_t *__set));
@@ -229,6 +243,24 @@ extern int sigpending __P ((sigset_t *__set));
extern int __sigwait __P ((__const sigset_t *__set, int *__sig));
extern int sigwait __P ((__const sigset_t *__set, int *__sig));
+/* Select any of pending signals from SET and place information in INFO. */
+extern int __sigwaitinfo __P ((__const sigset_t *__set, siginfo_t *__info));
+extern int sigwaitinfo __P ((__const sigset_t *__set, siginfo_t *__info));
+
+/* Select any of pending signals from SET and place information in INFO.
+ Wait the imte specified by TIMEOUT if no signal is pending. */
+extern int __sigtimedwait __P ((__const sigset_t *__set, siginfo_t *__info,
+ __const struct timespec *__timeout));
+extern int sigtimedwait __P ((__const sigset_t *__set, siginfo_t *__info,
+ __const struct timespec *__timeout));
+
+/* Send signal SIG to the process PID. Associate data in VAL with the
+ signal. */
+extern int __sigqueue __P ((__pid_t __pid, int __sig,
+ __const union sigval __val));
+extern int sigqueue __P ((__pid_t __pid, int __sig,
+ __const union sigval __val));
+
# endif /* <signal.h> included. */
#endif /* Use POSIX. */
@@ -313,6 +345,18 @@ extern int sigaltstack __P ((__const struct sigaltstack *__ss,
#endif /* signal.h included and use BSD or X/Open Unix. */
+
+/* The following functions are used internally in the C library and in
+ other code which need deep insights. */
+
+/* Return number of available real-time signal with highest priority. */
+extern int __libc_current_sigrtmin __P ((void));
+/* Return number of available real-time signal with lowest priority. */
+extern int __libc_current_sigrtmax __P ((void));
+
+/* Allocate real-time signal with highest/lowest available priority. */
+extern int __libc_allocate_rtsig __P ((int __high));
+
__END_DECLS
#endif /* signal.h */