1*8360Ssam /* inet_netof.c 4.1 82/10/07 */ 2*8360Ssam 3*8360Ssam #include <sys/types.h> 4*8360Ssam #include <net/in.h> 5*8360Ssam 6*8360Ssam /* 7*8360Ssam * Return the network number from an internet 8*8360Ssam * address; handles class a/b/c network #'s. 9*8360Ssam */ 10*8360Ssam in_netof(in) 11*8360Ssam struct in_addr in; 12*8360Ssam { 13*8360Ssam #if vax || pdp11 14*8360Ssam register u_long net; 15*8360Ssam 16*8360Ssam if ((in.s_addr&IN_CLASSA) == 0) 17*8360Ssam return (in.s_addr & IN_CLASSA_NET); 18*8360Ssam if ((in.s_addr&IN_CLASSB) == 0) 19*8360Ssam return ((int)htons((u_short)(in.s_addr & IN_CLASSB_NET))); 20*8360Ssam net = htonl((u_long)(in.s_addr & IN_CLASSC_NET)); 21*8360Ssam net >>= 8; 22*8360Ssam return ((int)net); 23*8360Ssam #else 24*8360Ssam return (IN_NETOF(in)); 25*8360Ssam #endif 26*8360Ssam } 27