diff --git a/src/libs/syscall_helpers.c b/src/libs/syscall_helpers.c index 221790842a2e2700933abcd15c43fca970adee73..161f9a70933d26a7d250c655dd1488fc831e2bf8 100644 --- a/src/libs/syscall_helpers.c +++ b/src/libs/syscall_helpers.c @@ -505,3 +505,23 @@ void syscall_name(unsigned n, char *buf, size_t size) else snprintf(buf, size, "[unknown: %u]", n); } + +int list_syscalls(void) +{ + const char **list = syscall_names; + size_t i, size = syscall_names_size; + +#ifdef __x86_64__ + if (!size) { + size = syscall_names_x86_64_size; + list = syscall_names_x86_64; + } +#endif + + for (i = 0; i < size; i++) { + if (list[i]) + printf("%3zd: %s\n", i, list[i]); + } + + return (!list || !size); +}