Προς το περιεχόμενο

Αρχείο unp.h


MauriDalia

Προτεινόμενες αναρτήσεις

Καλησπέρα!

Προσπαθώντας να τεστάρω το παρακάτω προγραμμα

>

#include "unp.h"
int
main(int argc, char **argv)
{
int listenfd, connfd;
pid_t childpid;
socklen_t clilen;
struct sockaddr_in cliaddr, servaddr;
listenfd = Socket(AF_INET, SOCK_STREAM, 0);
bzero(&servaddr, sizeof(servaddr));
servaddr.sin_family = AF_INET;
servaddr.sin_addr.s_addr = htonl(INADDR_ANY);
servaddr.sin_port = htons(SERV_PORT);
Bind(listenfd, (SA *) &servaddr, sizeof(servaddr));
Listen(listenfd, LISTENQ);
for ( ; ; ) {
clilen = sizeof(cliaddr);
connfd = Accept(listenfd, (SA *) &cliaddr, &clilen);
if ( (childpid = Fork()) == 0) { /* child process */
Close(listenfd); /* close listening socket */
str_echo(connfd); /* process the request */
exit(0);
}
Close(connfd); /* parent closes connected socket*/
}
}

void
str_echo(int sockfd)
{
ssize_t n;
char line[MAXLINE];
for ( ; ; ) {
if ( (n = Readline(sockfd, line, MAXLINE)) == 0)
return; /* connection closed by other end */
Writen(sockfd, line, n);
}
}

 

κανω include το unp.h και στο compile μας εμφανίζει τα παρακάτω λάθη

In file included from server.c:1:

unp.h:7:63: error: config.h: No such file or directory

unp.h:192:30: error: ../lib/addrinfo.h: No such file or directory

In file included from server.c:1:

unp.h:282: error: conflicting types for âgai_strerrorâ

/usr/include/netdb.h:640: error: previous declaration of âgai_strerrorâ was here

unp.h:286: error: conflicting types for âgetnameinfoâ

/usr/include/netdb.h:649: error: previous declaration of âgetnameinfoâ was here

unp.h:290: error: conflicting types for âgethostnameâ

/usr/include/unistd.h:845: error: previous declaration of âgethostnameâ was here

unp.h:306: error: conflicting types for âinet_ntopâ

/usr/include/arpa/inet.h:67: error: previous declaration of âinet_ntopâ was here

unp.h:427:2: error: #endif without #if

 

Διαβασα κάπου πως :

To unp.h ειναι ενα header που χρησιμοποιει ο stevens στο βιβλίο του [unix network programming] και ο σκοπός του ειναι το interoperatibility μεταξύ διαφορετικών πλατφορμών [solaris BSD linux 2.4 / linux etc]. Μπορείς γενικά να το βρεις εδώ http://www.unpbook.com/ στα sources και με κάποιο τρόπο να το προσθέσεις στο δικό σου codebase είτε να φτίαξεις ένα αντιστοιχο header από την αρχή.

_________________

 

Μπόρει κάποιος να δώσει τα φώτα του τι συμβαίνει με αυτό το αρχείο?

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Αρχειοθετημένο

Αυτό το θέμα έχει αρχειοθετηθεί και είναι κλειστό για περαιτέρω απαντήσεις.

  • Δημιουργία νέου...