next up previous contents
Next: getserv*(), setservent(), endservent() Up: Funkcje pomocnicze Previous: getsockname(), getpeername()   Contents

getproto*(), setprotoent(), endprotoent()

Grupa pięciu funkcji będąca interfejsem do informacji zawartych w pliku /etc/protocols.

Po kolei:

  #include <netdb.h>
  
  struct protoent *getprotoent(void);
  
Czyta następną linię pliku /etc/protocols i na podstawie odczytanych informacji zwraca strukturę protoent:
   struct protoent {
      char    *p_name;        /* nazwa protokołu           */
      char    **p_aliases;    /* lista nazw alternatywnych */
      int     p_proto;        /* numer protokołu           */
   }
   struct protoent *getprotobyname(const char *name);
   struct protoent *getprotobynumber(int proto);
  
Zwracają odpowiednio strukturę protoent protokołu o nazwie name lub numerze proto. Wszystkie trzy funkcje zwracają NULL jeśli dany rekord nie został odnaleziony albo gdy osiągnięty został koniec pliku /etc/protocols (getprotoent()).
  void setprotoent(int stayopen);
  
Otwiera plik /etc/protocols i ustawia offset pliku na 0. Jeśli stayopen będzie równe 1 to plik nie będzie zamykany pomiędzy kolejnymi wywołaniami funkcji getprotobyname()/getprotobynumber().
  void endprotoent(void);
  
Zamyka plik /etc/protocols.



Paweł Niewiadomski
2000-10-17