strace/tests/oldolduname.c
Eugene Syromyatnikov 06bb2018c7 uname: decode olduname and oldolduname syscalls
* linux/dummy.h (sys_oldolduname, sys_olduname): Remove.
* tests/.gitignore: Add oldolduname, oldolduname-v, olduname,
olduname-v.
* tests/pure_executables.list: Likewise.
* tests/gen_tests.in (oldolduname, oldolduname-v, olduname,
olduname-v): New tests.
* tests/oldolduname-v.c: New file.
* tests/oldolduname.c: Likewise.
* tests/olduname-v.c: Likewise.
* tests/olduname.c: Likewise.
* uname.c: Include <linux/uname.h> instead of <sys/uname.h>.
(DECODE_UTSNAME_COMMON): New macro.
(SYS_FUNC(oldolduname), SYS_FUNC(olduname)): New decoders.
(SYS_FUNC(uname)): Rewrite using DECODE_UTSNAME_COMMON.
2018-09-11 20:00:20 +02:00

39 lines
791 B
C

#include "tests.h"
#include <asm/unistd.h>
#ifdef __NR_oldolduname
# include <stdio.h>
# include <linux/utsname.h>
# include <unistd.h>
int main(int ac, char **av)
{
TAIL_ALLOC_OBJECT_CONST_PTR(struct oldold_utsname, uname);
int rc = syscall(__NR_oldolduname, uname);
printf("oldolduname({sysname=");
print_quoted_string(uname->sysname);
printf(", nodename=");
print_quoted_string(uname->nodename);
#if VERBOSE
printf(", release=");
print_quoted_string(uname->release);
printf(", version=");
print_quoted_string(uname->version);
printf(", machine=");
print_quoted_string(uname->machine);
#else /* !VERBOSE */
printf(", ...");
#endif /* VERBOSE */
printf("}) = %d\n", rc);
puts("+++ exited with 0 +++");
return 0;
}
#else
SKIP_MAIN_UNDEFINED("__NR_oldolduname")
#endif