version 1.21, 2009/04/28 12:09:36 |
version 1.22, 2009/05/23 17:03:06 |
|
|
rtm = (struct rt_msghdr *)next; |
rtm = (struct rt_msghdr *)next; |
if (rtm->rtm_version != RTM_VERSION) |
if (rtm->rtm_version != RTM_VERSION) |
continue; |
continue; |
sa = (struct sockaddr *)(rtm + 1); |
sa = (struct sockaddr *)(next + rtm->hdrlen); |
if (af != AF_UNSPEC && sa->sa_family != af) |
if (af != AF_UNSPEC && sa->sa_family != af) |
continue; |
continue; |
p_rtentry(rtm); |
p_rtentry(rtm); |
|
|
p_rtentry(struct rt_msghdr *rtm) |
p_rtentry(struct rt_msghdr *rtm) |
{ |
{ |
static int old_af = -1; |
static int old_af = -1; |
struct sockaddr *sa = (struct sockaddr *)(rtm + 1); |
struct sockaddr *sa = (struct sockaddr *)((char *)rtm + rtm->rtm_hdrlen); |
struct sockaddr *mask, *rti_info[RTAX_MAX]; |
struct sockaddr *mask, *rti_info[RTAX_MAX]; |
char ifbuf[IF_NAMESIZE]; |
char ifbuf[IF_NAMESIZE]; |
|
|