micro-utils/networking/hostname.c

33 lines
641 B
C
Raw Normal View History

2023-10-22 15:17:00 +03:00
#include <stdio.h>
#include <errno.h>
#include <string.h>
#include <limits.h>
#include <unistd.h>
int main(const int argc, const char **argv) {
2023-11-07 19:41:47 +03:00
if (argv[argc - 1][0] == '-') {
printf("hostname [hostname Set new hostname]\n");
return 0;
2023-10-22 15:17:00 +03:00
}
/* Set hostname */
2023-11-07 19:41:47 +03:00
if (argc == 2) {
2023-10-22 15:17:00 +03:00
if (sethostname(argv[argc - 1], strlen(argv[argc - 1])) < 0) {
fprintf(stderr, "hostname: %s\n", strerror(errno));
return 1;
}
return 0;
}
/* Get info */
2023-10-23 18:48:27 +03:00
char hostname[HOST_NAME_MAX + 1];
2023-10-22 15:17:00 +03:00
if (gethostname(hostname, sizeof(hostname)) < 0) {
fprintf(stderr, "hostname: %s\n", strerror(errno));
return 1;
}
2023-10-23 18:48:27 +03:00
puts(hostname);
2023-10-22 15:17:00 +03:00
return 0;
}