#include "gnyoserv.h" static int sofd, newsofd; /* $Id$ */ main(int argc, char *argv[]) { char hostname[MAXHOSTNAMELEN]; static struct hostent *host; static struct sockaddr_in servaddr, cliaddr; sofd = socket(AF_INET, SOCK_STREAM, 0); if (sofd < 0) error("Failed to open socket"); if (gethostname(hostname, MAXHOSTNAMELEN) < 0) error("Couldn't get hostname"); if (0 == (host = gethostbyname(hostname))) error("Couldn't get host id"); memset((char*)&servaddr, 0, sizeof(servaddr)); servaddr.sin_family = AF_INET; servaddr.sin_addr.s_addr = INADDR_ANY; servaddr.sin_port = htons(GNYOPORT); memcpy((char*)&servaddr.sin_addr, (char*)host->h_addr, host->h_length); if (bind(sofd, &servaddr, sizeof(servaddr)) < 0) error("Failed to bind"); if (listen(sofd, 5) == -1) error("Failed to listen"); /* connection request */ while (1) { int cliaddrlen; cliaddrlen = sizeof(cliaddr); if ((newsofd = accept(sofd, &cliaddr, &cliaddrlen)) < 0) error("Couldn't accept"); } }