AC_HEADER_MAJOR
# Check for some syscalls functions
-AC_CHECK_FUNCS([setns pivot_root sethostname unshare rand_r confstr faccessat gettid memfd_create move_mount open_tree execveat clone3 fsopen fspick fsconfig fsmount openat2 close_range statvfs mount_setattr])
+AC_CHECK_FUNCS([setns pivot_root sethostname unshare rand_r confstr faccessat gettid memfd_create move_mount open_tree execveat clone3 fsopen fspick fsconfig fsmount openat2 close_range statvfs mount_setattr sigdescr_np])
AC_CHECK_TYPES([__aligned_u64], [], [], [[#include <linux/types.h>]])
AC_CHECK_TYPES([struct mount_attr], [], [], [[#include <linux/mount.h>]])
AC_CHECK_TYPES([struct open_how], [], [], [[#include <linux/openat2.h>]])
['setmntent', '''#include <stdio.h>
#include <mntent.h>'''],
['setns', '''#include <sched.h>'''],
+ ['sigdescr_np', '''#include <string.h>'''],
['signalfd', '''#include <sys/signalfd.h>'''],
['statx', '''#include <sys/types.h>
#include <sys/stat.h>
['sethostname'],
['setmntent'],
['setns'],
+ ['sigdescr_np'],
['signalfd'],
['statx'],
['strlcat'],
#include <stdbool.h>
#include <stdio.h>
#include <stdlib.h>
+#include <string.h>
#include <sys/syscall.h>
#include <unistd.h>
__hidden extern int lxc_raw_pidfd_send_signal(int pidfd, int sig, siginfo_t *info,
unsigned int flags);
+static inline const char *signal_name(int sig)
+{
+ const char *s;
+
+#if HAVE_SIGDESCR_NP
+ s = sigdescr_np(sig);
+#else
+ s = "UNSUPPORTED";
+#endif
+ return s ?: "INVALID_SIGNAL_NUMBER";
+}
+
#endif /* __LXC_PROCESS_UTILS_H */