Your Browser is not longer supported

Please use Google Chrome, Mozilla Firefox or Microsoft Edge to view the page correctly
Loading...

{{viewport.spaceProperty.prod}}

getservbyname(), getservbyport() - Informationen über Services abfragen

&pagelevel(4)&pagelevel

#include <netdb.h>
 
Kernighan-Ritchie-C:
struct servent *getservbyname(name, proto);

char *name;
char *proto;
   
struct servent *getservbyport(port, proto);

int port;
char *proto;

ANSI-C:
struct servent* getservbyname(char* name, char* proto);

struct servent* getservbyport(int port, char* proto)


Beschreibung

Die Verwendung der Funktionen getservbyname() und getservbyport() ist nur in den Adressfamilien AF_INET und AF_INET6 sinnvoll.

getservbyname() und getservbyport() liefern Informationen über die verfügbaren Services aus der Services-Datei mit dem Standardnamen SYSDAT.BCAM.ETC.SERVICES, die von BCAM verwaltetet wird
(siehe Handbuch „BCAM Band 1/2“).
Beide Funktionen liefern einen Zeiger auf ein Objekt der nachfolgend beschriebenen Struktur servent.

getservbyname() liefert in dem servent-Objekt die zum Service-Namen name und zum Protokoll proto gehörende Portnummer. Wird proto mit NULL angegeben, werden der Service-Name und die Portnummer des ersten in der Liste gefundenen Protokolls ausgegeben.

getservbyport() liefert in dem servent-Objekt den zur Portnummer nummer und zum Protokoll proto gehörenden Service-Namen, sowie die maximal vier möglichen eingetragenen Aliasnamen. Wird proto mit NULL angegeben, werden der Service-Name und die Aliasnamen des ersten in der Liste gefundenen Protokolls für die angegebene Portnummer ausgegeben.

Die Struktur servent ist in <netdb.h> wie folgt deklariert:

struct servent {
   char *s_name;            /* Name des Service */
   char **s_aliases;        /* Alias-Liste */
   int s_port;              /* Nummer des Ports, auf dem der Service liegt */
   char *s_proto;           /* verwendetes Protokoll */
};

Beschreibung der servent-Komponenten:

s_name

Name des Service 

s_aliases

Eine durch Null abgeschlossene Liste mit alternativen Namen für den Service

s_port

Portnummer, die dem Service zugeordnet ist. Portnummern werden in Netz-Byte-Reihenfolge zurückgeliefert.

s_proto

Name des Protokolls, das verwendet werden muss, um den Service anzusprechen.

Sofern ein Protokollname (nicht NULL) angegeben ist, suchen getservbyname() und getservbyport() nach dem Service, der das passende Protokoll verwendet.

Returnwert

Zeiger auf ein Objekt vom Typ struct servent. Im Fehlerfall wird der Null-Zeiger zurückgeliefert.

Hinweis

Die Informationen des zurückgelieferten servent-Objekts befinden sich in einem statischen Bereich. Die Informationen müssen somit kopiert werden, wenn sie gesichert werden sollen.