xref: /csrg-svn/lib/libc/net/inet_lnaof.c (revision 8358)
1*8358Ssam /*	inet_lnaof.c	4.1	82/10/07	*/
2*8358Ssam 
3*8358Ssam #include <sys/types.h>
4*8358Ssam #include <net/in.h>
5*8358Ssam 
6*8358Ssam /*
7*8358Ssam  * Return the local network address portion of an
8*8358Ssam  * internet address; handles class a/b/c network
9*8358Ssam  * number formats.
10*8358Ssam  */
11*8358Ssam in_lnaof(in)
12*8358Ssam 	struct in_addr in;
13*8358Ssam {
14*8358Ssam #if vax || pdp11
15*8358Ssam #define	IN_LNAOF(in) \
16*8358Ssam 	(((in).s_addr&IN_CLASSA) == 0 ? (in).s_addr&IN_CLASSA_LNA : \
17*8358Ssam 		((in).s_addr&IN_CLASSB) == 0 ? (in).s_addr&IN_CLASSB_LNA : \
18*8358Ssam 			(in).s_addr&IN_CLASSC_LNA)
19*8358Ssam 	return ((int)htonl((u_long)IN_LNAOF(in)));
20*8358Ssam #else
21*8358Ssam 	return (IN_LNAOF(in));
22*8358Ssam #endif
23*8358Ssam }
24