| #include "tests.h" |
| #include <sys/syscall.h> |
| |
| #ifdef __NR_uname |
| |
| # include <stdio.h> |
| # include <sys/utsname.h> |
| # include <unistd.h> |
| |
| int main(int ac, char **av) |
| { |
| int abbrev = ac > 1; |
| struct utsname *const uname = tail_alloc(sizeof(struct utsname)); |
| 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("\""); |
| } |
| printf("}) = %d\n", rc); |
| |
| puts("+++ exited with 0 +++"); |
| return 0; |
| } |
| |
| #else |
| |
| SKIP_MAIN_UNDEFINED("__NR_uname") |
| |
| #endif |