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 --- |