1*26818Skarels /* 2*26818Skarels * Copyright (c) 1983 Regents of the University of California. 3*26818Skarels * All rights reserved. The Berkeley software License Agreement 4*26818Skarels * specifies the terms and conditions for redistribution. 5*26818Skarels */ 68359Ssam 7*26818Skarels #if defined(LIBC_SCCS) && !defined(lint) 8*26818Skarels static char sccsid[] = "@(#)inet_makeaddr.c 5.1 (Berkeley) 03/11/86"; 9*26818Skarels #endif LIBC_SCCS and not lint 10*26818Skarels 118359Ssam #include <sys/types.h> 129192Ssam #include <netinet/in.h> 138359Ssam 148359Ssam /* 158359Ssam * Formulate an Internet address from network + host. Used in 168359Ssam * building addresses stored in the ifnet structure. 178359Ssam */ 188359Ssam struct in_addr 198370Ssam inet_makeaddr(net, host) 208359Ssam int net, host; 218359Ssam { 228359Ssam u_long addr; 238359Ssam 248359Ssam if (net < 128) 2521762Skarels addr = (net << IN_CLASSA_NSHIFT) | (host & IN_CLASSA_HOST); 268359Ssam else if (net < 65536) 2721762Skarels addr = (net << IN_CLASSB_NSHIFT) | (host & IN_CLASSB_HOST); 288359Ssam else 2921762Skarels addr = (net << IN_CLASSC_NSHIFT) | (host & IN_CLASSC_HOST); 308359Ssam addr = htonl(addr); 318359Ssam return (*(struct in_addr *)&addr); 328359Ssam } 33