mirror of
https://github.com/freebsd/freebsd-src
synced 2024-09-06 09:10:28 +00:00
Replace ROUNDUP/ADVANCE with SA_SIZE
This commit is contained in:
parent
e74642df71
commit
0b46c08590
Notes:
svn2git
2020-12-20 02:59:44 +00:00
svn path=/head/; revision=128186
|
@ -371,10 +371,6 @@ struct afswtch {
|
|||
* configuration read via sysctl().
|
||||
*/
|
||||
|
||||
#define ROUNDUP(a) \
|
||||
((a) > 0 ? (1 + (((a) - 1) | (sizeof(long) - 1))) : sizeof(long))
|
||||
#define ADVANCE(x, n) (x += ROUNDUP((n)->sa_len))
|
||||
|
||||
void
|
||||
rt_xaddrs(caddr_t cp, caddr_t cplim, struct rt_addrinfo *rtinfo)
|
||||
{
|
||||
|
@ -386,7 +382,7 @@ rt_xaddrs(caddr_t cp, caddr_t cplim, struct rt_addrinfo *rtinfo)
|
|||
if ((rtinfo->rti_addrs & (1 << i)) == 0)
|
||||
continue;
|
||||
rtinfo->rti_info[i] = sa = (struct sockaddr *)cp;
|
||||
ADVANCE(cp, sa);
|
||||
cp += SA_SIZE(sa);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -756,13 +756,9 @@ SetAliasAddressFromIfName(const char *ifn)
|
|||
int i;
|
||||
char *cp = (char *)(ifam + 1);
|
||||
|
||||
#define ROUNDUP(a) \
|
||||
((a) > 0 ? (1 + (((a) - 1) | (sizeof(long) - 1))) : sizeof(long))
|
||||
#define ADVANCE(x, n) (x += ROUNDUP((n)->sa_len))
|
||||
|
||||
for (i = 1; i < RTA_IFA; i <<= 1)
|
||||
if (ifam->ifam_addrs & i)
|
||||
ADVANCE(cp, (struct sockaddr *)cp);
|
||||
cp += SA_SIZE((struct sockaddr *)cp);
|
||||
if (((struct sockaddr *)cp)->sa_family == AF_INET) {
|
||||
sin = (struct sockaddr_in *)cp;
|
||||
break;
|
||||
|
|
|
@ -124,10 +124,6 @@ usage(cp)
|
|||
/* NOTREACHED */
|
||||
}
|
||||
|
||||
#define ROUNDUP(a) \
|
||||
((a) > 0 ? (1 + (((a) - 1) | (sizeof(long) - 1))) : sizeof(long))
|
||||
#define ADVANCE(x, n) (x += ROUNDUP((n)->sa_len))
|
||||
|
||||
int
|
||||
main(argc, argv)
|
||||
int argc;
|
||||
|
@ -283,7 +279,7 @@ bad: usage(*argv);
|
|||
struct sockaddr *sa = (struct sockaddr *)(rtm + 1);
|
||||
(void) printf("%-20.20s ", rtm->rtm_flags & RTF_HOST ?
|
||||
routename(sa) : netname(sa));
|
||||
sa = (struct sockaddr *)(ROUNDUP(sa->sa_len) + (char *)sa);
|
||||
sa = (struct sockaddr *)(SA_SIZE(sa) + (char *)sa);
|
||||
(void) printf("%-20.20s ", routename(sa));
|
||||
(void) printf("done\n");
|
||||
}
|
||||
|
@ -1167,7 +1163,7 @@ rtmsg(cmd, flags)
|
|||
|
||||
#define NEXTADDR(w, u) \
|
||||
if (rtm_addrs & (w)) {\
|
||||
l = ROUNDUP(u.sa.sa_len); memmove(cp, &(u), l); cp += l;\
|
||||
l = SA_SIZE(&(u.sa)); memmove(cp, &(u), l); cp += l;\
|
||||
if (verbose) sodump(&(u),"u");\
|
||||
}
|
||||
|
||||
|
@ -1410,7 +1406,7 @@ print_getmsg(rtm, msglen)
|
|||
ifp = (struct sockaddr_dl *)sa;
|
||||
break;
|
||||
}
|
||||
ADVANCE(cp, sa);
|
||||
cp += SA_SIZE(sa);
|
||||
}
|
||||
if (dst && mask)
|
||||
mask->sa_family = dst->sa_family; /* XXX */
|
||||
|
@ -1489,7 +1485,7 @@ pmsg_addrs(cp, addrs)
|
|||
if (i & addrs) {
|
||||
sa = (struct sockaddr *)cp;
|
||||
(void) printf(" %s", routename(sa));
|
||||
ADVANCE(cp, sa);
|
||||
cp += SA_SIZE(sa);
|
||||
}
|
||||
(void) putchar('\n');
|
||||
(void) fflush(stdout);
|
||||
|
|
|
@ -637,29 +637,14 @@ rt_xaddrs(struct rt_addrinfo *info,
|
|||
#ifdef _HAVE_SA_LEN
|
||||
static struct sockaddr sa_zero;
|
||||
#endif
|
||||
#ifdef sgi
|
||||
#define ROUNDUP(a) ((a) > 0 ? (1 + (((a) - 1) | (sizeof(__uint64_t) - 1))) \
|
||||
: sizeof(__uint64_t))
|
||||
#else
|
||||
#define ROUNDUP(a) ((a) > 0 ? (1 + (((a) - 1) | (sizeof(long) - 1))) \
|
||||
: sizeof(long))
|
||||
#endif
|
||||
|
||||
|
||||
memset(info, 0, sizeof(*info));
|
||||
info->rti_addrs = addrs;
|
||||
for (i = 0; i < RTAX_MAX && sa < lim; i++) {
|
||||
if ((addrs & (1 << i)) == 0)
|
||||
continue;
|
||||
#ifdef _HAVE_SA_LEN
|
||||
info->rti_info[i] = (sa->sa_len != 0) ? sa : &sa_zero;
|
||||
sa = (struct sockaddr *)((char*)(sa)
|
||||
+ ROUNDUP(sa->sa_len));
|
||||
#else
|
||||
info->rti_info[i] = sa;
|
||||
sa = (struct sockaddr *)((char*)(sa)
|
||||
+ ROUNDUP(_FAKE_SA_LEN_DST(sa)));
|
||||
#endif
|
||||
sa = (struct sockaddr *)((char*)(sa) + SA_SIZE(sa));
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -72,12 +72,6 @@ static const char rcsid[] =
|
|||
|
||||
#define kget(p, d) (kread((u_long)(p), (char *)&(d), sizeof (d)))
|
||||
|
||||
|
||||
/* alignment constraint for routing socket */
|
||||
#define ROUNDUP(a) \
|
||||
((a) > 0 ? (1 + (((a) - 1) | (sizeof(long) - 1))) : sizeof(long))
|
||||
#define ADVANCE(x, n) (x += ROUNDUP((n)->sa_len))
|
||||
|
||||
/*
|
||||
* Definitions for showing gateway flags.
|
||||
*/
|
||||
|
@ -536,7 +530,7 @@ np_rtentry(struct rt_msghdr *rtm)
|
|||
p_sockaddr(sa, NULL, 0, 36);
|
||||
else {
|
||||
p_sockaddr(sa, NULL, rtm->rtm_flags, 16);
|
||||
sa = (struct sockaddr *)(ROUNDUP(sa->sa_len) + (char *)sa);
|
||||
sa = (struct sockaddr *)(SA_SIZE(sa) + (char *)sa);
|
||||
p_sockaddr(sa, NULL, 0, 18);
|
||||
}
|
||||
p_flags(rtm->rtm_flags & interesting, "%-6.6s ");
|
||||
|
|
|
@ -81,15 +81,11 @@ quit(s)
|
|||
}
|
||||
|
||||
struct rt_addrinfo info;
|
||||
/* Sleazy use of local variables throughout file, warning!!!! */
|
||||
/* XXX Sleazy use of local variables throughout file, warning!!!! */
|
||||
#define netmask info.rti_info[RTAX_NETMASK]
|
||||
#define ifaaddr info.rti_info[RTAX_IFA]
|
||||
#define brdaddr info.rti_info[RTAX_BRD]
|
||||
|
||||
#define ROUNDUP(a) \
|
||||
((a) > 0 ? (1 + (((a) - 1) | (sizeof(long) - 1))) : sizeof(long))
|
||||
#define ADVANCE(x, n) (x += ROUNDUP((n)->sa_len))
|
||||
|
||||
void
|
||||
rt_xaddrs(cp, cplim, rtinfo)
|
||||
register caddr_t cp, cplim;
|
||||
|
@ -103,7 +99,7 @@ rt_xaddrs(cp, cplim, rtinfo)
|
|||
if ((rtinfo->rti_addrs & (1 << i)) == 0)
|
||||
continue;
|
||||
rtinfo->rti_info[i] = sa = (struct sockaddr *)cp;
|
||||
ADVANCE(cp, sa);
|
||||
cp += SA_SIZE(sa);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -4,6 +4,6 @@
|
|||
PROG= arp
|
||||
MAN= arp.4 arp.8
|
||||
|
||||
WARNS?= 3
|
||||
WARNS?= 5
|
||||
|
||||
.include <bsd.prog.mk>
|
||||
|
|
|
@ -113,8 +113,6 @@ static int expire_time, flags, doing_proxy, proxy_only;
|
|||
#define F_REPLACE 4
|
||||
#define F_DELETE 5
|
||||
|
||||
#define ROUNDUP(a) \
|
||||
((a) > 0 ? (1 + (((a) - 1) | (sizeof(long) - 1))) : sizeof(long))
|
||||
#define SETFUNC(f) { if (func) usage(); func = (f); }
|
||||
|
||||
int
|
||||
|
@ -319,7 +317,7 @@ set(int argc, char **argv)
|
|||
return (1);
|
||||
}
|
||||
addr = (struct sockaddr_inarp *)(rtm + 1);
|
||||
sdl = (struct sockaddr_dl *)(ROUNDUP(addr->sin_len) + (char *)addr);
|
||||
sdl = (struct sockaddr_dl *)(SA_SIZE(addr) + (char *)addr);
|
||||
if (addr->sin_addr.s_addr == sin_m.sin_addr.s_addr) {
|
||||
if (sdl->sdl_family == AF_LINK &&
|
||||
(rtm->rtm_flags & RTF_LLINFO) &&
|
||||
|
@ -417,7 +415,7 @@ delete(char *host, char *info)
|
|||
return (1);
|
||||
}
|
||||
addr = (struct sockaddr_inarp *)(rtm + 1);
|
||||
sdl = (struct sockaddr_dl *)(ROUNDUP(addr->sin_len) + (char *)addr);
|
||||
sdl = (struct sockaddr_dl *)(SA_SIZE(addr) + (char *)addr);
|
||||
if (addr->sin_addr.s_addr == sin_m.sin_addr.s_addr) {
|
||||
if (sdl->sdl_family == AF_LINK &&
|
||||
(rtm->rtm_flags & RTF_LLINFO) &&
|
||||
|
@ -484,7 +482,7 @@ search(u_long addr, action_fn *action)
|
|||
for (next = buf; next < lim; next += rtm->rtm_msglen) {
|
||||
rtm = (struct rt_msghdr *)next;
|
||||
sin2 = (struct sockaddr_inarp *)(rtm + 1);
|
||||
(char *)sdl = (char *)sin2 + ROUNDUP(sin2->sin_len);
|
||||
(char *)sdl = (char *)sin2 + SA_SIZE(sin2);
|
||||
if (rifname && if_indextoname(sdl->sdl_index, ifname) &&
|
||||
strcmp(ifname, rifname))
|
||||
continue;
|
||||
|
@ -537,7 +535,7 @@ print_entry(struct sockaddr_dl *sdl,
|
|||
printf(" published (proxy only)");
|
||||
if (rtm->rtm_addrs & RTA_NETMASK) {
|
||||
addr = (struct sockaddr_inarp *)
|
||||
(ROUNDUP(sdl->sdl_len) + (char *)sdl);
|
||||
(SA_SIZE(sdl) + (char *)sdl);
|
||||
if (addr->sin_addr.s_addr == 0xffffffff)
|
||||
printf(" published");
|
||||
if (addr->sin_len != 8)
|
||||
|
@ -673,7 +671,7 @@ rtmsg(int cmd)
|
|||
}
|
||||
#define NEXTADDR(w, s) \
|
||||
if (rtm->rtm_addrs & (w)) { \
|
||||
bcopy((char *)&s, cp, sizeof(s)); cp += ROUNDUP(sizeof(s));}
|
||||
bcopy((char *)&s, cp, sizeof(s)); cp += SA_SIZE(&s);}
|
||||
|
||||
NEXTADDR(RTA_DST, sin_m);
|
||||
NEXTADDR(RTA_GATEWAY, sdl_m);
|
||||
|
|
|
@ -525,10 +525,6 @@ quit(msg)
|
|||
exit(1);
|
||||
}
|
||||
|
||||
#define ROUNDUP(a) \
|
||||
((a) > 0 ? (1 + (((a) - 1) | (sizeof(long) - 1))) : sizeof(long))
|
||||
#define ADVANCE(x, n) (x += ROUNDUP((n)->sa_len))
|
||||
|
||||
void
|
||||
rt_xaddrs(cp, cplim, rtinfo)
|
||||
register caddr_t cp, cplim;
|
||||
|
@ -542,7 +538,7 @@ rt_xaddrs(cp, cplim, rtinfo)
|
|||
if ((rtinfo->rti_addrs & (1 << i)) == 0)
|
||||
continue;
|
||||
rtinfo->rti_info[i] = sa = (struct sockaddr *)cp;
|
||||
ADVANCE(cp, sa);
|
||||
cp += SA_SIZE(sa);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in a new issue