summaryrefslogtreecommitdiff
path: root/newlib/libc/include/signal.h
diff options
context:
space:
mode:
Diffstat (limited to 'newlib/libc/include/signal.h')
-rw-r--r--newlib/libc/include/signal.h37
1 files changed, 37 insertions, 0 deletions
diff --git a/newlib/libc/include/signal.h b/newlib/libc/include/signal.h
new file mode 100644
index 00000000000..311149146c8
--- /dev/null
+++ b/newlib/libc/include/signal.h
@@ -0,0 +1,37 @@
+#ifndef _SIGNAL_H_
+#ifdef __cplusplus
+extern "C" {
+#endif
+#define _SIGNAL_H_
+
+#include "_ansi.h"
+#include <sys/signal.h>
+
+typedef int sig_atomic_t; /* Atomic entity type (ANSI) */
+
+#if defined(__STDC__) || defined(__cplusplus)
+#define SIG_DFL ((void (*)(int))0) /* Default action */
+#define SIG_IGN ((void (*)(int))1) /* Ignore action */
+#define SIG_ERR ((void (*)(int))-1) /* Error return */
+#else
+#define SIG_DFL ((void (*)())0) /* Default action */
+#define SIG_IGN ((void (*)())1) /* Ignore action */
+#define SIG_ERR ((void (*)())-1) /* Error return */
+#endif
+
+typedef void (*_sig_func_ptr) (int);
+
+struct _reent;
+
+_sig_func_ptr _EXFUN(_signal_r, (struct _reent *, int, _sig_func_ptr));
+int _EXFUN(_raise_r, (struct _reent *, int));
+
+#ifndef _REENT_ONLY
+_sig_func_ptr _EXFUN(signal, (int, _sig_func_ptr));
+int _EXFUN(raise, (int));
+#endif
+
+#ifdef __cplusplus
+}
+#endif
+#endif /* _SIGNAL_H_ */