| #include <unistd.h> | |
| #include <sys/utsname.h> | |
| int gethostname(char *name, size_t len) | |
| { | |
| size_t i; | |
| struct utsname uts; | |
| if (uname(&uts)) return -1; | |
| if (len > sizeof uts.nodename) len = sizeof uts.nodename; | |
| for (i=0; i<len && (name[i] = uts.nodename[i]); i++); | |
| if (i==len) name[i-1] = 0; | |
| return 0; | |
| } |