Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
GETNETENT(3)		     Library Functions Manual		    GETNETENT(3)

NAME
     getnetent, getnetbyaddr, getnetbyname, setnetent, endnetent -- get networks
     entry

SYNOPSIS
     #include <netdb.h>

     struct netent *
     getnetent();

     struct netent *
     getnetbyname(char name);

     struct netent *
     getnetbyaddr(unsigned long net, int type);

     void
     setnetent(int stayopen);

     void
     endnetent();

DESCRIPTION
     The getnetent(), getnetbyname(), and getnetbyaddr() subroutines each return
     a	pointer to an object with the following structure containing the broken-
     out fields of a line in the networks database.

	   struct  netent {
		   char    *n_name;	   /* official name of net */
		   char    **n_aliases;    /* alias list */
		   int	   n_addrtype;	   /* net number type */
		   long    n_net;	   /* net number */
	   };

     The members of this structure are:

     n_name	 The official name of the network.

     n_aliases	 A zero-terminated list of alternate names for the network.

     n_addrtype  The type of the network number returned: AF_INET.

     n_net	 The network number.  Network numbers are  returned  in  machine
		 byte order.

     If  the  stayopen	flag  on  a setnetent() subroutine is NULL, the networks
     database is opened.  Otherwise, the setnetent() has the effect of rewinding
     the networks database.  The endnetent() subroutine may be called  to  close
     the networks database when processing is complete.

     The  getnetent() subroutine simply reads the next line while getnetbyname()
     and getnetbyaddr() search until a matching name or net number is found  (or
     until EOF is encountered).  The type must be AF_INET.  The getnetent() sub-
     routine  keeps  a	pointer in the database, allowing successive calls to be
     used to search the entire file.

     Before a while loop using getnetent(), a call to setnetent() must	be  made
     in  order to perform initialization; a call to endnetent() must be used af-
     ter the loop.  Both getnetbyname() and getnetbyaddr() make calls to  setne-
     tent() and endnetent().

FILES
     /etc/networks

DIAGNOSTICS
     Null pointer (0) returned on EOF or error.

SEE ALSO
     networks(5), RFC 1101.

HISTORY
     The  getnetent(),	getnetbyaddr(),  getnetbyname(), setnetent(), and endne-
     tent() functions appeared in 4.2BSD.

BUGS
     The data space used by these functions is static; if  future  use	requires
     the  data,  it  should be copied before any subsequent calls to these func-
     tions overwrite it.  Only Internet network  numbers  are  currently  under-
     stood.   Expecting network numbers to fit in no more than 32 bits is proba-
     bly naive.

4th Berkeley Distribution	  May 20, 1996			    GETNETENT(3)

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=getnetent&sektion=3&manpath=FreeBSD+Ports+15.1.quarterly>

home | help