diff options
-rw-r--r-- | inet.c | 14 | ||||
-rw-r--r-- | pcap.3 | 11 | ||||
-rw-r--r-- | pcap.h | 6 |
3 files changed, 21 insertions, 10 deletions
@@ -34,7 +34,7 @@ #ifndef lint static const char rcsid[] = - "@(#) $Header: /tcpdump/master/libpcap/inet.c,v 1.42 2001-10-10 06:46:50 guy Exp $ (LBL)"; + "@(#) $Header: /tcpdump/master/libpcap/inet.c,v 1.43 2001-10-28 02:31:49 guy Exp $ (LBL)"; #endif #ifdef HAVE_CONFIG_H @@ -198,7 +198,9 @@ add_or_find_if(pcap_if_t **curdev_ret, pcap_if_t **alldevs, char *name, strcpy(curdev->name, name); curdev->description = NULL; /* not available */ curdev->addresses = NULL; /* list starts out as empty */ - curdev->is_loopback = ISLOOPBACK(name, flags); + curdev->flags = 0; + if (ISLOOPBACK(name, flags)) + curdev->flags |= PCAP_IF_LOOPBACK; /* * Add it to the list, in the appropriate location. @@ -245,7 +247,8 @@ add_or_find_if(pcap_if_t **curdev_ret, pcap_if_t **alldevs, char *name, * Is the new interface a non-loopback interface * and the next interface a loopback interface? */ - if (!curdev->is_loopback && nextdev->is_loopback) { + if (!(curdev->flags & PCAP_IF_LOOPBACK) && + (nextdev->flags & PCAP_IF_LOOPBACK)) { /* * Yes, we should put the new entry * before "nextdev", i.e. after "prevdev". @@ -267,7 +270,8 @@ add_or_find_if(pcap_if_t **curdev_ret, pcap_if_t **alldevs, char *name, * loopback interfaces.) */ if (this_instance < get_instance(nextdev->name) && - (!curdev->is_loopback || nextdev->is_loopback)) { + (!(curdev->flags & PCAP_IF_LOOPBACK) || + (nextdev->flags & PCAP_IF_LOOPBACK))) { /* * Yes - we should put the new entry * before "nextdev", i.e. after "prevdev". @@ -943,7 +947,7 @@ pcap_lookupdev(errbuf) if (pcap_findalldevs(&alldevs, errbuf) == -1) return (NULL); - if (alldevs == NULL || alldevs->is_loopback) { + if (alldevs == NULL || (alldevs->flags & PCAP_IF_LOOPBACK)) { /* * There are no devices on the list, or the first device * on the list is a loopback device, which means there @@ -1,4 +1,4 @@ -.\" @(#) $Header: /tcpdump/master/libpcap/Attic/pcap.3,v 1.25 2001-10-13 06:28:53 guy Exp $ +.\" @(#) $Header: /tcpdump/master/libpcap/Attic/pcap.3,v 1.26 2001-10-28 02:31:50 guy Exp $ .\" .\" Copyright (c) 1994, 1996, 1997 .\" The Regents of the University of California. All rights reserved. @@ -238,8 +238,13 @@ a pointer to a string giving a human-readable description of the device .B addresses a pointer to the first element of a list of addresses for the interface .TP -.B is_loopback -non-zero if the interface is a loopback interface +.B flags +interface flags: +.RS +.TP +.B PCAP_IF_LOOPBACK +set if the interface is a loopback interface +.RE .RE .PP Each element of the list of addresses is of type @@ -31,7 +31,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * @(#) $Header: /tcpdump/master/libpcap/pcap.h,v 1.32 2001-10-08 01:06:22 guy Exp $ (LBL) + * @(#) $Header: /tcpdump/master/libpcap/pcap.h,v 1.33 2001-10-28 02:31:50 guy Exp $ (LBL) */ #ifndef lib_pcap_h @@ -139,9 +139,11 @@ struct pcap_if { char *name; /* name to hand to "pcap_open_live()" */ char *description; /* textual description of interface, or NULL */ struct pcap_addr *addresses; - u_int is_loopback; /* non-0 if interface is loopback */ + u_int flags; /* PCAP_IF_ interface flags */ }; +#define PCAP_IF_LOOPBACK 0x00000001 /* interface is loopback */ + /* * Representation of an interface address. */ |