#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
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.
* 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".
* 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".
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
-.\" @(#) $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.
.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
* 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
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.
*/