2010-02-10 6 views

Répondre

5

De man 3 getaddrinfo,

struct addrinfo { 
    int    ai_flags; 
    int    ai_family; 
    int    ai_socktype; 
    int    ai_protocol; 
    size_t   ai_addrlen; 
    struct sockaddr *ai_addr; 
    char   *ai_canonname; 
    struct addrinfo *ai_next; 
}; 

A struct addrinfo contient plus d'informations qu'un struct sockaddr fait. Étant donné un struct sockaddr_in, vous pouvez avoir certaines de ces informations (.ai_family = AF_INET, .ai_addrlen = sizeof(struct sockaddr_in)). Que cela soit suffisant dépend de ce que recherche l'autre API.

+1

Oui, créer un nouvel addrinfo, mettre le sockaddr dans * ai_addr et remplir les autres champs avec des valeurs raisonnables semble être le chemin à parcourir. – bortzmeyer

Questions connexes