1*5104Swnj /* if.c 4.4 81/11/29 */ 24944Swnj 34944Swnj #include "../h/param.h" 44944Swnj #include "../h/systm.h" 55083Swnj #include "../net/in.h" 65083Swnj #include "../net/in_systm.h" 74944Swnj #include "../net/if.h" 84944Swnj 94951Swnj /*ARGSUSED*/ 104951Swnj struct ifnet * 114944Swnj if_ifwithaddr(in) 124944Swnj struct in_addr in; 134944Swnj { 144944Swnj register struct ifnet *ifp; 154944Swnj 164951Swnj COUNT(IF_IFWITHADDR); 174944Swnj for (ifp = ifnet; ifp; ifp = ifp->if_next) 184944Swnj if (ifp->if_addr.s_addr == in.s_addr) 194944Swnj break; 204944Swnj return (ifp); 214944Swnj } 224944Swnj 234951Swnj /*ARGSUSED*/ 244951Swnj struct ifnet * 254944Swnj if_ifonnetof(in) 264944Swnj struct in_addr in; 274944Swnj { 284944Swnj register struct ifnet *ifp; 294944Swnj int net; 304944Swnj 314951Swnj COUNT(IF_IFONNETOF); 325083Swnj net = in.s_net; /* XXX */ 334944Swnj for (ifp = ifnet; ifp; ifp = ifp->if_next) 344944Swnj if (ifp->if_net == net) 354944Swnj break; 364944Swnj return (ifp); 374944Swnj } 384944Swnj 39*5104Swnj /*ARGSUSED*/ 405083Swnj struct ifnet * 415083Swnj if_gatewayfor(addr) 425083Swnj struct in_addr addr; 435083Swnj { 445083Swnj 455083Swnj COUNT(IF_GATEWAYFOR); 465083Swnj return (0); 475083Swnj } 48*5104Swnj 49*5104Swnj struct in_addr 50*5104Swnj if_makeaddr(net, host) 51*5104Swnj int net, host; 52*5104Swnj { 53*5104Swnj u_long addr; 54*5104Swnj 55*5104Swnj if (net < 128) 56*5104Swnj addr = (host << 8) | net; 57*5104Swnj else if (net < 65536) 58*5104Swnj addr = (host << 16) | net; 59*5104Swnj else 60*5104Swnj addr = (host << 24) | net; 61*5104Swnj addr = htonl(addr); 62*5104Swnj return (*(struct in_addr *)&addr); 63*5104Swnj } 64