struct utsname getname(int sockfd) {
struct utsname name;
int i;
char buffer[4096];
bzero(&name,sizeof(name));
i = uname(&name);
if ( i == -1) {
err_ret("get sysinfo error");
}
if (snprintf(buffer,sizeof(buffer),"getname:%s %s %s %s %s\n",name.sysname,name.nodename,name.release,name.version,name.machine) <0 )
err_ret("error in snprintf");
writen(sockfd,buffer,strlen(buffer));
return name;
struct utsname name;
int i;
char buffer[4096];
bzero(&name,sizeof(name));
i = uname(&name);
if ( i == -1) {
err_ret("get sysinfo error");
}
if (snprintf(buffer,sizeof(buffer),"getname:%s %s %s %s %s\n",name.sysname,name.nodename,name.release,name.version,name.machine) <0 )
err_ret("error in snprintf");
writen(sockfd,buffer,strlen(buffer));
return name;
}
函数返回系统相关信息,并将信息反馈给客户端