aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--inet.c14
-rw-r--r--pcap.311
-rw-r--r--pcap.h6
3 files changed, 21 insertions, 10 deletions
diff --git a/inet.c b/inet.c
index 8523ddec..f5e88f1f 100644
--- a/inet.c
+++ b/inet.c
@@ -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
diff --git a/pcap.3 b/pcap.3
index fd9dada2..951d7c70 100644
--- a/pcap.3
+++ b/pcap.3
@@ -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
diff --git a/pcap.h b/pcap.h
index 88ccdcfd..111a0a50 100644
--- a/pcap.h
+++ b/pcap.h
@@ -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.
*/