getdnnm.c 404 B

12345678910111213141516171819202122232425
  1. #include <string.h>
  2. #include <unistd.h>
  3. #include <errno.h>
  4. #define __USE_GNU
  5. #include <sys/utsname.h>
  6. int
  7. getdomainname(char *name, size_t len)
  8. {
  9. struct utsname uts;
  10. if (name == NULL) {
  11. __set_errno(EINVAL);
  12. return -1;
  13. }
  14. if (uname(&uts) == -1) return -1;
  15. if (strlen(uts.domainname)+1 > len) {
  16. __set_errno(EINVAL);
  17. return -1;
  18. }
  19. strcpy(name, uts.domainname);
  20. return 0;
  21. }