summaryrefslogtreecommitdiffstats
path: root/libc
diff options
context:
space:
mode:
authorThorsten Glaser <tg@mirbsd.org>2009-10-02 15:39:00 +0200
committerJean-Baptiste Queru <jbq@google.com>2009-11-05 15:50:05 -0800
commit92b10af793da235659198cf38ff2e0237c181058 (patch)
tree66d35bbe34224575dfbf0fde15ec29e424a87ccc /libc
parent10093276e98d26428875480c502a278dffe550c7 (diff)
downloadbionic-92b10af793da235659198cf38ff2e0237c181058.zip
bionic-92b10af793da235659198cf38ff2e0237c181058.tar.gz
bionic-92b10af793da235659198cf38ff2e0237c181058.tar.bz2
Add the BSD sys_signame array.
Signed-off-by: Thorsten Glaser <tg@mirbsd.org>
Diffstat (limited to 'libc')
-rw-r--r--libc/Android.mk1
-rw-r--r--libc/include/sys/_sigdefs.h69
-rw-r--r--libc/unistd/siglist.c2
-rw-r--r--libc/unistd/signame.c33
4 files changed, 72 insertions, 33 deletions
diff --git a/libc/Android.mk b/libc/Android.mk
index b68d4f8..506dac5 100644
--- a/libc/Android.mk
+++ b/libc/Android.mk
@@ -52,6 +52,7 @@ libc_common_src_files := \
unistd/siginterrupt.c \
unistd/siglist.c \
unistd/signal.c \
+ unistd/signame.c \
unistd/sigsetmask.c \
unistd/sigsuspend.c \
unistd/sigwait.c \
diff --git a/libc/include/sys/_sigdefs.h b/libc/include/sys/_sigdefs.h
index a3cb7a3..6822c25 100644
--- a/libc/include/sys/_sigdefs.h
+++ b/libc/include/sys/_sigdefs.h
@@ -25,41 +25,46 @@
* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
*/
-/* this header is used to define signal constants and names; it might be included several times */
+
+/*
+ * this header is used to define signal constants and names;
+ * it might be included several times
+ */
+
#ifndef __BIONIC_SIGDEF
#error __BIONIC_SIGDEF not defined
#endif
-__BIONIC_SIGDEF(SIGHUP,1,"Hangup")
-__BIONIC_SIGDEF(SIGINT,2,"Interrupt")
-__BIONIC_SIGDEF(SIGQUIT,3,"Quit")
-__BIONIC_SIGDEF(SIGILL,4,"Illegal instruction")
-__BIONIC_SIGDEF(SIGTRAP,5,"Trap")
-__BIONIC_SIGDEF(SIGABRT,6,"Aborted")
-__BIONIC_SIGDEF(SIGBUS,7,"Bus error")
-__BIONIC_SIGDEF(SIGFPE,8,"Floating point exception")
-__BIONIC_SIGDEF(SIGKILL,9,"Killed")
-__BIONIC_SIGDEF(SIGUSR1,10,"User signal 1")
-__BIONIC_SIGDEF(SIGSEGV,11,"Segmentation fault")
-__BIONIC_SIGDEF(SIGUSR2,12,"User signal 2")
-__BIONIC_SIGDEF(SIGPIPE,13,"Broken pipe")
-__BIONIC_SIGDEF(SIGALRM,14,"Alarm clock")
-__BIONIC_SIGDEF(SIGTERM,15,"Terminated")
-__BIONIC_SIGDEF(SIGSTKFLT,16,"Stack fault")
-__BIONIC_SIGDEF(SIGCHLD,17,"Child exited")
-__BIONIC_SIGDEF(SIGCONT,18,"Continue")
-__BIONIC_SIGDEF(SIGSTOP,19,"Stopped (signal)")
-__BIONIC_SIGDEF(SIGTSTP,20,"Stopped")
-__BIONIC_SIGDEF(SIGTTIN,21,"Stopped (tty input)")
-__BIONIC_SIGDEF(SIGTTOU,22,"Stopper (tty output)")
-__BIONIC_SIGDEF(SIGURG,23,"Urgent I/O condition")
-__BIONIC_SIGDEF(SIGXCPU,24,"CPU time limit exceeded")
-__BIONIC_SIGDEF(SIGXFSZ,25,"File size limit exceeded")
-__BIONIC_SIGDEF(SIGVTALRM,26,"Virtual timer expired")
-__BIONIC_SIGDEF(SIGPROF,27,"Profiling timer expired")
-__BIONIC_SIGDEF(SIGWINCH,28,"Window size changed")
-__BIONIC_SIGDEF(SIGIO,29,"I/O possible")
-__BIONIC_SIGDEF(SIGPWR,30,"Power failure")
-__BIONIC_SIGDEF(SIGSYS,31,"Bad system call")
+__BIONIC_SIGDEF(HUP,1,"Hangup")
+__BIONIC_SIGDEF(INT,2,"Interrupt")
+__BIONIC_SIGDEF(QUIT,3,"Quit")
+__BIONIC_SIGDEF(ILL,4,"Illegal instruction")
+__BIONIC_SIGDEF(TRAP,5,"Trap")
+__BIONIC_SIGDEF(ABRT,6,"Aborted")
+__BIONIC_SIGDEF(BUS,7,"Bus error")
+__BIONIC_SIGDEF(FPE,8,"Floating point exception")
+__BIONIC_SIGDEF(KILL,9,"Killed")
+__BIONIC_SIGDEF(USR1,10,"User signal 1")
+__BIONIC_SIGDEF(SEGV,11,"Segmentation fault")
+__BIONIC_SIGDEF(USR2,12,"User signal 2")
+__BIONIC_SIGDEF(PIPE,13,"Broken pipe")
+__BIONIC_SIGDEF(ALRM,14,"Alarm clock")
+__BIONIC_SIGDEF(TERM,15,"Terminated")
+__BIONIC_SIGDEF(STKFLT,16,"Stack fault")
+__BIONIC_SIGDEF(CHLD,17,"Child exited")
+__BIONIC_SIGDEF(CONT,18,"Continue")
+__BIONIC_SIGDEF(STOP,19,"Stopped (signal)")
+__BIONIC_SIGDEF(TSTP,20,"Stopped")
+__BIONIC_SIGDEF(TTIN,21,"Stopped (tty input)")
+__BIONIC_SIGDEF(TTOU,22,"Stopper (tty output)")
+__BIONIC_SIGDEF(URG,23,"Urgent I/O condition")
+__BIONIC_SIGDEF(XCPU,24,"CPU time limit exceeded")
+__BIONIC_SIGDEF(XFSZ,25,"File size limit exceeded")
+__BIONIC_SIGDEF(VTALRM,26,"Virtual timer expired")
+__BIONIC_SIGDEF(PROF,27,"Profiling timer expired")
+__BIONIC_SIGDEF(WINCH,28,"Window size changed")
+__BIONIC_SIGDEF(IO,29,"I/O possible")
+__BIONIC_SIGDEF(PWR,30,"Power failure")
+__BIONIC_SIGDEF(SYS,31,"Bad system call")
#undef __BIONIC_SIGDEF
diff --git a/libc/unistd/siglist.c b/libc/unistd/siglist.c
index a2ac9fe..f1c3377 100644
--- a/libc/unistd/siglist.c
+++ b/libc/unistd/siglist.c
@@ -28,6 +28,6 @@
#include <signal.h>
const char * const sys_siglist[NSIG] = {
-#define __BIONIC_SIGDEF(x,y,z) [ x ] = z,
+#define __BIONIC_SIGDEF(x,y,z) [ SIG##x ] = z,
#include <sys/_sigdefs.h>
};
diff --git a/libc/unistd/signame.c b/libc/unistd/signame.c
new file mode 100644
index 0000000..4611e44
--- /dev/null
+++ b/libc/unistd/signame.c
@@ -0,0 +1,33 @@
+/*
+ * Copyright (C) 2009 The Android Open Source Project
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * * Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * * Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in
+ * the documentation and/or other materials provided with the
+ * distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+ * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
+ * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
+ * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
+ * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
+ * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
+ * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+ * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
+ * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ */
+#include <signal.h>
+
+const char * const sys_signame[NSIG] = {
+#define __BIONIC_SIGDEF(x,y,z) [ SIG##x ] = #x,
+#include <sys/_sigdefs.h>
+};