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

FreeBSD Manual Pages


home | help
INET(3N)							      INET(3N)

       inet_addr,    inet_network,   inet_ntoa,	  inet_makeaddr,   inet_lnaof,
       inet_netof - Internet address manipulation routines

       #include	<sys/socket.h>
       #include	<netinet/in.h>
       #include	<arpa/inet.h>

       unsigned	long inet_addr(cp)
       char *cp;

       unsigned	long inet_network(cp)
       char *cp;

       char *inet_ntoa(in)
       struct in_addr in;

       struct in_addr inet_makeaddr(net, lna)
       long net, lna;

       long inet_lnaof(in)
       struct in_addr in;

       long inet_netof(in)
       struct in_addr in;

       The  routines  inet_addr	 and  inet_network  each  interpret  character
       strings	representing  numbers  expressed  in the Internet standard "."
       notation, returning numbers suitable for	use as Internet	addresses  and
       Internet	network	numbers, respectively.	The routine inet_ntoa takes an
       Internet	address	and returns an ASCII string representing  the  address
       in  "."	notation.  The routine inet_makeaddr takes an Internet network
       number and a local network address and constructs an  Internet  address
       from  it.   The routines	inet_netof and inet_lnaof break	apart Internet
       host addresses, returning the network number and	local network  address
       part, respectively.

       All  Internet address are returned in network order (bytes ordered from
       left to right).	All network numbers and	local address  parts  are  re-
       turned as machine format	integer	values.

       Values  specified  using	 the  "."  notation  take one of the following
       When four parts are specified, each is interpreted as a	byte  of  data
       and  assigned, from left	to right, to the four bytes of an Internet ad-
       dress.  Note that when an Internet address is viewed as a 32-bit	 inte-
       ger  quantity  on  the  VAX  the	 bytes	referred  to  above  appear as
       "d.c.b.a".  That	is, VAX	bytes are ordered from right to	left.

       When a three part address is specified, the last	part is	interpreted as
       a 16-bit	quantity and placed in the right most two bytes	of the network
       address.	 This makes the	three part address format convenient for spec-
       ifying Class B network addresses	as "".

       When  a two part	address	is supplied, the last part is interpreted as a
       24-bit quantity and placed in the right most three bytes	of the network
       address.	  This makes the two part address format convenient for	speci-
       fying Class A network addresses as "".

       When only one part is given, the	value is stored	directly in  the  net-
       work address without any	byte rearrangement.

       All  numbers  supplied as "parts" in a "." notation may be decimal, oc-
       tal, or hexadecimal, as specified in the	C language (i.e., a leading 0x
       or 0X implies hexadecimal; otherwise, a leading 0 implies octal;	other-
       wise, the number	is interpreted as decimal).

       gethostbyname(3N), getnetent(3N), hosts(5), networks(5),

       The value -1 is returned	by inet_addr and  inet_network	for  malformed

       The  problem of host byte ordering versus network byte ordering is con-
       fusing.	A simple way to	specify	Class C	network	addresses in a	manner
       similar to that for Class B and Class A is needed.  The string returned
       by inet_ntoa resides in a static	memory area.
       Inet_addr should	return a struct	in_addr.

4.2 Berkeley Distribution	 May 27, 1986			      INET(3N)


Want to link to this manual page? Use this URL:

home | help