#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; | |
} |