Wie sieht's aus?
#include <netdb.h>
struct servent *getservbyport(int port, const char *proto);
Was tut's?
getservbyport() stellt die Umkehrfunktion zu getservbyname() dar, und wandelt dementsprechend eine Port-Nummer für ein gegebenes Protokoll in einen Servicenamen um. Wie auch bei getservbyname() wird ein Zeiger auf eine vom System bereitgestellte struct servent{} zurückgeliefert, oder NULL im Fehlerfall.
Was machen die Parameter?
Der erste Parameter ist die Portnummer (Network Byte Order).
Der zweite Parameter ist das Protokoll als Zeichenkette ("tcp" oder "udp").
Wie verwende ich es?
struct servent *serv;
serv = getservbyport(htons(80), "tcp");
if (!serv)
{
perror("getservbyname() failed");
return 1;
}
printf("serv->s_name = %s\n", serv->s_name);