inet(3N) inet(3N)
NAME
inet_addr, inet_network, inet_ntoa, inet_makeaddr,
inet_lnaof, inet_netof - Internet address manipulation
routines
SYNOPSIS
#include <sys/socket.h>
#include <netinet/in.h>
#include <arpa/inet.h>
struct inaddr inetaddr(cp)
char *cp;
int inetnetwork(cp)
char *cp;
char *inetntoa(in)
struct inetaddr in;
struct inaddr inetmakeaddr(net, lna)
int net, lna;
int inetlnaof(in)
struct inaddr in;
int inetnetof(in)
struct inaddr in;
DESCRIPTION
The routines inetaddr and inetnetwork 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 inetntoa takes an Internet
address and returns an ASCII string representing the address
in ``.'' notation. The routine inetmakeaddr takes an
Internet network number and a local network address and
constructs an Internet address from it. The routines
inetnetof and inetlnaof 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 returned as machine format integer values.
INTERNET ADDRESSES
Values specified using the ``.'' notation take one of the
following forms:
a.b.c.d
a.b.c
a.b
Page 1 (last mod. 1/14/87)
inet(3N) inet(3N)
a
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 address.
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 specifying Class B
network addresses as ``128.net.host''.
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 specifying Class A
network addresses as ``net.host''.
When only one part is given, the value is stored directly in
the network address without any byte rearrangement.
All numbers supplied as ``parts'' in a ``.'' notation may be
decimal, octal, or hexadecimal, as specified in the C
language (i.e. a leading 0x or 0X implies hexadecimal;
otherwise, a leading 0 implies octal; otherwise, the number
is interpreted as decimal).
SEE ALSO
gethostent(3N), getnetent(3N), hosts(4N), networks(4N),.
DIAGNOSTICS
The value -1 is returned by inetaddr and inetnetwork for
malformed requests.
BUGS
The problem of host byte ordering versus network byte
ordering is confusing. 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 inetntoa
resides in a static memory area.
Page 2 (last mod. 1/14/87)