inet_makeaddr Subroutine
Purpose
Returns a structure containing an Internet Protocol address based on a network ID and host ID provided by the application.
Library
Standard C Library (libc.a)
Syntax
#include <sys/socket.h>
#include <sys/socket.h>
#include <netinet/in.h>
#include <arpa/inet.h>
Description
The inet_makeaddr subroutine forms an Internet Protocol (IP) address from the network ID and Host ID provided by the application (as integer types). If the application provides a Class A network ID, the inet_makeaddr subroutine forms the IP address using the net ID in the highest-order byte and the logical product of the host ID and 0x00FFFFFF in the 3 lowest-order bytes. If the application provides a Class B network ID, the inet_makeaddr subroutine forms the IP address using the net ID in the two highest-order bytes and the logical product of the host ID and 0x0000FFFF in the lowest two ordered bytes. If the application does not provide either a Class A or Class B network ID, the inet_makeaddr subroutine forms the IP address using the network ID in the 3 highest-order bytes and the logical product of the host ID and 0x0000FFFF in the lowest-ordered byte.
The inet_makeaddr subroutine ensures that the IP address format conforms to network order, with the first byte representing the high-order byte. The inet_makeaddr subroutine stores the IP address in the structure as an unsigned long value.
The application must verify that the network ID and host ID for the IP address conform to class A, B, or C. The inet_makeaddr subroutine processes any nonconforming number as a Class C address.
The inet_makeaddr subroutine expects the in_addr structure to contain only the IP address field. If the application defines the in_addr structure otherwise, then the value returned in in_addr by the inet_makeaddr subroutine is undefined.
All applications containing the inet_makeaddr subroutine must be compiled with the _BSD macro set to a specific value. Acceptable values are 43 and 44. In addition, all socket applications must include the BSD libbsd.a library.
Parameters
Item | Description |
---|---|
Net | Contains an Internet network number. |
LocalNetAddr | Contains a local network address. |
Return Values
Upon successful completion, the inet_makeaddr subroutine returns a structure containing an IP address.
If the inet_makeaddr subroutine is unsuccessful, the subroutine returns a -1.
Files
Item | Description |
---|---|
/etc/hosts | Contains host names. |