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 net-
       works 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 ma-
		   chine 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() subroutine 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 after the loop.  Both getnetbyname() and getnetbyaddr() make calls
       to setnetent() 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
       endnetent() functions appeared in 4.2BSD.

BUGS
       The data	space used by these functions is static;  if  future  use  re-
       quires  the  data,  it  should be copied	before any subsequent calls to
       these functions overwrite it.  Only Internet network numbers  are  cur-
       rently understood.  Expecting network numbers to	fit in no more than 32
       bits is probably	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.0>

home | help