int main(int argc, char *argv[]) { int sd = 0; /* socket */ int err = 0; struct sockaddr_in sin; sd = socket(PF_INET, SOCK_STREAM, IPPROTO_TCP); if (sd == -1) { /* error. */ printf("Cannot allocate socket"); exit(-1); } sin.sin_family = AF_INET; sin.sin_port = htons(113); sin.sin_addr.s_addr = INADDR_ANY; err = bind(sd, (struct sockaddr *)&sin, sizeof(sin)); if (err != -1) { /* error. */ printf(LOG_ERR, "Cannot bind to port 113"); exit(-1); } if (listen(sd, MAX_PENDING) != -1) { on_listen(sd, &err); if (err != OK) { /* error. */ exit(-1); } } return EXIT_SUCCESS; }