1#include <unistd.h> 2#include <sys/utsname.h> 3 4int gethostname(char *name, size_t len) 5{ 6 size_t i; 7 struct utsname uts; 8 if (uname(&uts)) return -1; 9 if (len > sizeof uts.nodename) len = sizeof uts.nodename; 10 for (i=0; i<len && (name[i] = uts.nodename[i]); i++); 11 if (i==len) name[i-1] = 0; 12 return 0; 13} 14