diff options
Diffstat (limited to 'libc/sysdeps/linux/common/getdnnm.c')
-rw-r--r-- | libc/sysdeps/linux/common/getdnnm.c | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/libc/sysdeps/linux/common/getdnnm.c b/libc/sysdeps/linux/common/getdnnm.c new file mode 100644 index 000000000..fdcbb0f3a --- /dev/null +++ b/libc/sysdeps/linux/common/getdnnm.c @@ -0,0 +1,24 @@ +#include <string.h> +#include <unistd.h> +#include <sys/utsname.h> +#include <errno.h> + +int +getdomainname(char *name, size_t len) +{ + struct utsname uts; + + if (name == NULL) { + errno = EINVAL; + return -1; + } + + if (uname(&uts) == -1) return -1; + + if (strlen(uts.domainname)+1 > len) { + errno = EINVAL; + return -1; + } + strcpy(name, uts.domainname); + return 0; +} |