1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44
|
/*
* Check decoding of uname syscall.
*
* Copyright (c) 2016-2021 The strace developers.
* All rights reserved.
*
* SPDX-License-Identifier: GPL-2.0-or-later
*/
#include "tests.h"
#include "scno.h"
#include <stdio.h>
#include <sys/utsname.h>
#include <unistd.h>
int main(int ac, char **av)
{
int abbrev = ac > 1;
TAIL_ALLOC_OBJECT_CONST_PTR(struct utsname, uname);
int rc = syscall(__NR_uname, uname);
printf("uname({sysname=");
print_quoted_string(uname->sysname);
printf(", nodename=");
print_quoted_string(uname->nodename);
if (abbrev) {
printf(", ...");
} else {
printf(", release=");
print_quoted_string(uname->release);
printf(", version=");
print_quoted_string(uname->version);
printf(", machine=");
print_quoted_string(uname->machine);
#ifdef HAVE_STRUCT_UTSNAME_DOMAINNAME
printf(", domainname=");
print_quoted_string(uname->domainname);
#endif
}
printf("}) = %d\n", rc);
puts("+++ exited with 0 +++");
return 0;
}
|