#include "../h/protosw.h"
#include "../h/socketvar.h"
#include "../netinet/in.h"
#include "../netinet/in_systm.h"
#include "../net/route.h"
register struct sockaddr_in
*sin
;
hp
->afh_nethash
= in_netof(sin
->sin_addr
);
hp
->afh_hosthash
= ntohl(sin
->sin_addr
.s_addr
);
inet_netmatch(sin1
, sin2
)
struct sockaddr_in
*sin1
, *sin2
;
return (sin1
->sin_addr
.s_net
== sin2
->sin_addr
.s_net
);
* Formulate an Internet address from network + host. Used in
* building addresses stored in the ifnet structure.
addr
= (net
<< IN_CLASSANSHIFT
) | host
;
addr
= (net
<< IN_CLASSBNSHIFT
) | host
;
addr
= (net
<< IN_CLASSCNSHIFT
) | host
;
#ifdef vax || pdp11 || ns16032
return (*(struct in_addr
*)&addr
);
* Return the network number from an internet address.
register u_int i
= in
.s_addr
;
#ifdef vax || pdp11 || ns16032
return (((i
)&IN_CLASSANET
) >> IN_CLASSANSHIFT
);
return (((i
)&IN_CLASSBNET
) >> IN_CLASSBNSHIFT
);
return (((i
)&IN_CLASSCNET
) >> IN_CLASSCNSHIFT
);
* Return the host portion of an internet address.
register u_int i
= in
.s_addr
;
#ifdef vax || pdp11 || ns16032
return ((i
)&IN_CLASSAHOST
);
return ((i
)&IN_CLASSBHOST
);
return ((i
)&IN_CLASSCHOST
);
* Initialize an interface's routing
* table entry according to the network.
register struct ifnet
*ifp
;
if (ifp
->if_flags
& IFF_ROUTE
)
bzero((caddr_t
)&sin
, sizeof (sin
));
sin
.sin_family
= AF_INET
;
sin
.sin_addr
= if_makeaddr(ifp
->if_net
, 0);
rtinit(&sin
, &ifp
->if_addr
, flags
);