Ultrix-3.1/src/libc/net/inet_mkaddr.c

Compare this file to the similar file:
Show the results in this format:


/**********************************************************************
 *   Copyright (c) Digital Equipment Corporation 1984, 1985, 1986.    *
 *   All Rights Reserved. 					      *
 *   Reference "/usr/src/COPYRIGHT" for applicable restrictions.      *
 **********************************************************************/

/*
 * SCCSID: @(#)inet_mkaddr.c	3.0	4/22/86
 * Based on	inet_makeaddr.c	4.3	82/11/14
 */

#include <sys/types.h>
#include <netinet/in.h>

/*
 * Formulate an Internet address from network + host.  Used in
 * building addresses stored in the ifnet structure.
 */
#ifndef	pdp11
struct in_addr
inet_makeaddr(net, host)
	int net, host;
#else	pdp11
struct in_addr
inet_mkaddr(net, host)
	long net, host;
#endif	pdp11
{
	u_long addr, htonl();

#ifndef	pdp11
	if (net < 128)
		addr = (net << IN_CLASSA_NSHIFT) | host;
	else if (net < 65536)
		addr = (net << IN_CLASSB_NSHIFT) | host;
	else
		addr = (net << IN_CLASSC_NSHIFT) | host;
#else	pdp11
	if (net < 128L)
		addr = (net << (long)IN_CLASSA_NSHIFT) | host;
	else if (net < 65536L)
		addr = (net << (long)IN_CLASSB_NSHIFT) | host;
	else
		addr = (net << (long)IN_CLASSC_NSHIFT) | host;
#endif	pdp11
	addr = htonl(addr);
	return (*(struct in_addr *)&addr);
}