18#include <sys/resource.h>
21const char *signalName[] = {
26 "Illegal instruction",
28 "Socket data available",
30 "Floating point exception",
38 "User defined signal 1",
39 "User defined signal 2",
43 "Stopped (tty input)",
44 "Stopped (tty output)",
48 "Trace/breakpoint trap",
51 "CPU time limit exceeded",
52 "File size limit exceeded",
53 "Virtual timer expired",
54 "Profiling timer expired",
55 "OMVS subsystem shutdown",
59 "Toggle syscall trace",
67 if (
static_cast<size_t>(sig) < (
sizeof(signalName) /
sizeof(signalName[0])) &&
69 return const_cast<char *
>(signalName[sig]);
71 sprintf(msg,
"Unknown signal %d", sig);
77size_t strnlen(
const char *S,
size_t MaxLen) {
78 const char *PtrToNullChar =
79 static_cast<const char *
>(memchr(S,
'\0', MaxLen));
80 return PtrToNullChar ? PtrToNullChar - S : MaxLen;
char * strsignal(int sig) asm("llvm_zos_strsignal")
size_t strnlen(const char *S, size_t MaxLen) asm("llvm_zos_strnlen")