1*219b2ee8SDavid du Colombier /* posix */ 2*219b2ee8SDavid du Colombier #include <sys/types.h> 3*219b2ee8SDavid du Colombier #include <unistd.h> 4*219b2ee8SDavid du Colombier #include <stdlib.h> 5*219b2ee8SDavid du Colombier #include <fcntl.h> 6*219b2ee8SDavid du Colombier #include <string.h> 7*219b2ee8SDavid du Colombier 8*219b2ee8SDavid du Colombier int gethostname(char * name,int namelen)9*219b2ee8SDavid du Colombiergethostname(char *name, int namelen) 10*219b2ee8SDavid du Colombier { 11*219b2ee8SDavid du Colombier int n, fd; 12*219b2ee8SDavid du Colombier char buf[128]; 13*219b2ee8SDavid du Colombier 14*219b2ee8SDavid du Colombier fd = open("/dev/sysname", O_RDONLY); 15*219b2ee8SDavid du Colombier if(fd < 0) 16*219b2ee8SDavid du Colombier return -1; 17*219b2ee8SDavid du Colombier n = read(fd, buf, sizeof(buf)-1); 18*219b2ee8SDavid du Colombier close(fd); 19*219b2ee8SDavid du Colombier if(n <= 0) 20*219b2ee8SDavid du Colombier return -1; 21*219b2ee8SDavid du Colombier buf[n] = 0; 22*219b2ee8SDavid du Colombier strncpy(name, buf, namelen); 23*219b2ee8SDavid du Colombier name[namelen-1] = 0; 24*219b2ee8SDavid du Colombier return 0; 25*219b2ee8SDavid du Colombier } 26