Deleted Added
full compact
if.c (71333) if.c (78064)
1/* $FreeBSD: head/usr.sbin/rtadvd/if.c 71333 2001-01-21 15:25:46Z itojun $ */
2/* $KAME: if.c,v 1.14 2000/10/25 04:28:34 jinmei Exp $ */
1/* $FreeBSD: head/usr.sbin/rtadvd/if.c 78064 2001-06-11 12:39:29Z ume $ */
2/* $KAME: if.c,v 1.17 2001/01/21 15:27:30 itojun Exp $ */
3
4/*
5 * Copyright (C) 1995, 1996, 1997, and 1998 WIDE Project.
6 * All rights reserved.
7 *
8 * Redistribution and use in source and binary forms, with or without
9 * modification, are permitted provided that the following conditions
10 * are met:

--- 243 unchanged lines hidden (view full) ---

254 int mib[6] = {CTL_NET, AF_ROUTE, 0, AF_INET6, NET_RT_DUMP, 0};
255
256 if (sysctl(mib, 6, NULL, &len, NULL, 0) < 0)
257 return(-1);
258
259 return(len);
260}
261
3
4/*
5 * Copyright (C) 1995, 1996, 1997, and 1998 WIDE Project.
6 * All rights reserved.
7 *
8 * Redistribution and use in source and binary forms, with or without
9 * modification, are permitted provided that the following conditions
10 * are met:

--- 243 unchanged lines hidden (view full) ---

254 int mib[6] = {CTL_NET, AF_ROUTE, 0, AF_INET6, NET_RT_DUMP, 0};
255
256 if (sysctl(mib, 6, NULL, &len, NULL, 0) < 0)
257 return(-1);
258
259 return(len);
260}
261
262int
263get_rtinfo(char *buf, size_t *len)
264{
265 int mib[6] = {CTL_NET, AF_ROUTE, 0, AF_INET6, NET_RT_DUMP, 0};
266
267 if (sysctl(mib, 6, buf, len, NULL, 0) < 0)
268 return(-1);
269
270 return(0);
271}
272
273#define FILTER_MATCH(type, filter) ((0x1 << type) & filter)
274#define SIN6(s) ((struct sockaddr_in6 *)(s))
275#define SDL(s) ((struct sockaddr_dl *)(s))
276char *
277get_next_msg(char *buf, char *lim, int ifindex, size_t *lenp, int filter)
278{
279 struct rt_msghdr *rtm;
280 struct ifa_msghdr *ifam;

--- 71 unchanged lines hidden (view full) ---

352 *lenp = rtm->rtm_msglen;
353 return (char *)rtm;
354 /* NOTREACHED */
355 }
356 }
357
358 return (char *)rtm;
359}
262#define FILTER_MATCH(type, filter) ((0x1 << type) & filter)
263#define SIN6(s) ((struct sockaddr_in6 *)(s))
264#define SDL(s) ((struct sockaddr_dl *)(s))
265char *
266get_next_msg(char *buf, char *lim, int ifindex, size_t *lenp, int filter)
267{
268 struct rt_msghdr *rtm;
269 struct ifa_msghdr *ifam;

--- 71 unchanged lines hidden (view full) ---

341 *lenp = rtm->rtm_msglen;
342 return (char *)rtm;
343 /* NOTREACHED */
344 }
345 }
346
347 return (char *)rtm;
348}
360#undef FILTER_MATCH(type, filter)
349#undef FILTER_MATCH
361
362struct in6_addr *
363get_addr(char *buf)
364{
365 struct rt_msghdr *rtm = (struct rt_msghdr *)buf;
366 struct sockaddr *sa, *rti_info[RTAX_MAX];
367
368 sa = (struct sockaddr *)(rtm + 1);

--- 232 unchanged lines hidden ---
350
351struct in6_addr *
352get_addr(char *buf)
353{
354 struct rt_msghdr *rtm = (struct rt_msghdr *)buf;
355 struct sockaddr *sa, *rti_info[RTAX_MAX];
356
357 sa = (struct sockaddr *)(rtm + 1);

--- 232 unchanged lines hidden ---