1*8370Ssam /* inet_netof.c 4.2 82/10/07 */ 28360Ssam 38360Ssam #include <sys/types.h> 48360Ssam #include <net/in.h> 58360Ssam 68360Ssam /* 78360Ssam * Return the network number from an internet 88360Ssam * address; handles class a/b/c network #'s. 98360Ssam */ 10*8370Ssam inet_netof(in) 118360Ssam struct in_addr in; 128360Ssam { 138360Ssam #if vax || pdp11 148360Ssam register u_long net; 158360Ssam 168360Ssam if ((in.s_addr&IN_CLASSA) == 0) 178360Ssam return (in.s_addr & IN_CLASSA_NET); 188360Ssam if ((in.s_addr&IN_CLASSB) == 0) 198360Ssam return ((int)htons((u_short)(in.s_addr & IN_CLASSB_NET))); 208360Ssam net = htonl((u_long)(in.s_addr & IN_CLASSC_NET)); 218360Ssam net >>= 8; 228360Ssam return ((int)net); 238360Ssam #else 248360Ssam return (IN_NETOF(in)); 258360Ssam #endif 268360Ssam } 27