about summary refs log tree commit diff
path: root/include
diff options
context:
space:
mode:
authorAdhemerval Zanella <adhemerval.zanella@linaro.org>2020-05-18 17:05:05 -0300
committerAdhemerval Zanella <adhemerval.zanella@linaro.org>2020-07-07 14:57:14 -0300
commitbfe05aa289054744b68f136b701705cfd242c4de (patch)
tree72dcbbc0e28edb061e7a25d22b27518acb6f3023 /include
parent4f92497488c90fea1ef6796c6d564ff5f8a3add6 (diff)
downloadglibc-bfe05aa289054744b68f136b701705cfd242c4de.tar.gz
glibc-bfe05aa289054744b68f136b701705cfd242c4de.tar.xz
glibc-bfe05aa289054744b68f136b701705cfd242c4de.zip
string: Add sigabbrev_np and sigdescr_np
The sigabbrev_np returns the abbreviated signal name (e.g. "HUP" for
SIGHUP) while sigdescr_np returns the string describing the error
number (e.g "Hangup" for SIGHUP).  Different than strsignal,
sigdescr_np does not attempt to translate the return description and
both functions return NULL for an invalid signal number.

They should be used instead of sys_siglist or sys_sigabbrev and they
are both thread and async-signal safe.  They are added as GNU
extensions on string.h header (same as strsignal).

Checked on x86-64-linux-gnu, i686-linux-gnu, powerpc64le-linux-gnu,
and s390x-linux-gnu.

Tested-by: Carlos O'Donell <carlos@redhat.com>
Reviewed-by: Carlos O'Donell <carlos@redhat.com>
Diffstat (limited to 'include')
-rw-r--r--include/signal.h3
-rw-r--r--include/string.h3
2 files changed, 5 insertions, 1 deletions
diff --git a/include/signal.h b/include/signal.h
index 3d6315b741..b4ee02d153 100644
--- a/include/signal.h
+++ b/include/signal.h
@@ -16,7 +16,8 @@ libc_hidden_proto (__libc_current_sigrtmin)
 libc_hidden_proto (__libc_current_sigrtmax)
 extern const char * const __sys_siglist[_NSIG];
 libc_hidden_proto (__sys_siglist)
-
+extern const char * const __sys_sigabbrev[_NSIG];
+libc_hidden_proto (__sys_sigabbrev)
 
 /* Now define the internal interfaces.  */
 extern __sighandler_t __bsd_signal (int __sig, __sighandler_t __handler);
diff --git a/include/string.h b/include/string.h
index ce01ad8254..f4ce138622 100644
--- a/include/string.h
+++ b/include/string.h
@@ -53,6 +53,9 @@ extern char *__strerror_r (int __errnum, char *__buf, size_t __buflen);
 
 extern char *__strerror_l (int __errnum, locale_t __loc);
 
+extern const char *__sigdescr_np (int __errnum);
+libc_hidden_proto (__sigdescr_np)
+
 /* Get _STRING_ARCH_unaligned.  */
 #include <string_private.h>
 #endif