4.3BSD-UWisc/src/lib/libc/inet/inet_netof.c
#if defined(LIBC_RCS) && !defined(lint)
static char rcs_id[] =
"$Header: inet_netof.c,v 1.2 86/09/08 14:46:15 tadl Exp $";
#endif
/*
* RCS info
* $Locker: $
*/
/*
* Copyright (c) 1983 Regents of the University of California.
* All rights reserved. The Berkeley software License Agreement
* specifies the terms and conditions for redistribution.
*/
#if defined(LIBC_SCCS) && !defined(lint)
static char sccsid[] = "@(#)inet_netof.c 5.2 (Berkeley) 3/9/86";
#endif LIBC_SCCS and not lint
#include <sys/types.h>
#include <netinet/in.h>
/*
* Return the network number from an internet
* address; handles class a/b/c network #'s.
*/
inet_netof(in)
struct in_addr in;
{
register u_long i = ntohl(in.s_addr);
if (IN_CLASSA(i))
return (((i)&IN_CLASSA_NET) >> IN_CLASSA_NSHIFT);
else if (IN_CLASSB(i))
return (((i)&IN_CLASSB_NET) >> IN_CLASSB_NSHIFT);
else
return (((i)&IN_CLASSC_NET) >> IN_CLASSC_NSHIFT);
}