aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorguy <guy>2008-04-09 21:39:21 +0000
committerguy <guy>2008-04-09 21:39:21 +0000
commitc6aa29a8dc4651d0961d30e28ed1dd0ef18ee52b (patch)
treefbba80f2308934b565412fcb24e6340d4f72e980
parenta590c2138097e55e2a4ff9fc294f31b0c717460b (diff)
Rename pcap_errtostr() to pcap_statustostr(), and have it handle
PCAP_WARNING values as well.
-rw-r--r--FILES4
-rw-r--r--Makefile.in4
-rw-r--r--pcap.c36
-rw-r--r--pcap/pcap.h4
-rw-r--r--pcap_statustostr.3pcap (renamed from pcap_errtostr.3pcap)12
5 files changed, 34 insertions, 26 deletions
diff --git a/FILES b/FILES
index 5b5bbc82..7ba1c8c5 100644
--- a/FILES
+++ b/FILES
@@ -1,4 +1,4 @@
-CHANGES
+HANGES
ChmodBPF/ChmodBPF
ChmodBPF/StartupParameters.plist
CREDITS
@@ -133,7 +133,6 @@ pcap_dump_file.3pcap
pcap_dump_flush.3pcap
pcap_dump_ftell.3pcap
pcap_dump_open.3pcap
-pcap_errtostr.3pcap
pcap_file.3pcap
pcap_fileno.3pcap
pcap_findalldevs.3pcap
@@ -164,6 +163,7 @@ pcap_setfilter.3pcap
pcap_setnonblock.3pcap
pcap_snapshot.3pcap
pcap_stats.3pcap
+pcap_statustostr.3pcap
pcap_strerror.3pcap
pcap-filter.4
pcap-linktype.4
diff --git a/Makefile.in b/Makefile.in
index 83620000..daa76a67 100644
--- a/Makefile.in
+++ b/Makefile.in
@@ -17,7 +17,7 @@
# WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTIES OF
# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
#
-# @(#) $Header: /tcpdump/master/libpcap/Makefile.in,v 1.117 2008-04-06 20:22:13 guy Exp $ (LBL)
+# @(#) $Header: /tcpdump/master/libpcap/Makefile.in,v 1.118 2008-04-09 21:39:21 guy Exp $ (LBL)
#
# Various configurable paths (remember to edit Makefile.in, not Makefile)
@@ -115,7 +115,6 @@ MAN3PCAP = pcap.3pcap \
pcap_dump_flush.3pcap \
pcap_dump_ftell.3pcap \
pcap_dump_open.3pcap \
- pcap_errtostr.3pcap \
pcap_file.3pcap \
pcap_fileno.3pcap \
pcap_findalldevs.3pcap \
@@ -146,6 +145,7 @@ MAN3PCAP = pcap.3pcap \
pcap_setnonblock.3pcap \
pcap_snapshot.3pcap \
pcap_stats.3pcap \
+ pcap_statustostr.3pcap \
pcap_strerror.3pcap
MAN4 = pcap-filter.4 \
diff --git a/pcap.c b/pcap.c
index 4330fd39..c8de76d7 100644
--- a/pcap.c
+++ b/pcap.c
@@ -33,7 +33,7 @@
#ifndef lint
static const char rcsid[] _U_ =
- "@(#) $Header: /tcpdump/master/libpcap/pcap.c,v 1.118 2008-04-09 21:26:12 guy Exp $ (LBL)";
+ "@(#) $Header: /tcpdump/master/libpcap/pcap.c,v 1.119 2008-04-09 21:39:21 guy Exp $ (LBL)";
#endif
#ifdef HAVE_CONFIG_H
@@ -223,19 +223,19 @@ pcap_t *
pcap_open_live(const char *source, int snaplen, int promisc, int to_ms, char *errbuf)
{
pcap_t *p;
- int err;
+ int status;
p = pcap_create(source, errbuf);
if (p == NULL)
return (NULL);
- err = pcap_set_snaplen(p, snaplen);
- if (err < 0)
+ status = pcap_set_snaplen(p, snaplen);
+ if (status < 0)
goto fail;
- err = pcap_set_promisc(p, promisc);
- if (err < 0)
+ status = pcap_set_promisc(p, promisc);
+ if (status < 0)
goto fail;
- err = pcap_set_timeout(p, to_ms);
- if (err < 0)
+ status = pcap_set_timeout(p, to_ms);
+ if (status < 0)
goto fail;
/*
* Mark this as opened with pcap_open_live(), so that, for
@@ -248,17 +248,17 @@ pcap_open_live(const char *source, int snaplen, int promisc, int to_ms, char *er
* the adapter is in monitor mode or not.
*/
p->oldstyle = 1;
- err = pcap_activate(p);
- if (err < 0)
+ status = pcap_activate(p);
+ if (status < 0)
goto fail;
return (p);
fail:
- if (err == PCAP_ERROR || err == PCAP_ERROR_NO_SUCH_DEVICE ||
- err == PCAP_ERROR_PERM_DENIED)
+ if (status == PCAP_ERROR || status == PCAP_ERROR_NO_SUCH_DEVICE ||
+ status == PCAP_ERROR_PERM_DENIED)
strlcpy(errbuf, p->errbuf, PCAP_ERRBUF_SIZE);
else
snprintf(errbuf, PCAP_ERRBUF_SIZE, "%s: %s", source,
- pcap_errtostr(err));
+ pcap_statustostr(status));
pcap_close(p);
return (NULL);
}
@@ -893,15 +893,21 @@ pcap_win32strerror(void)
#endif
/*
- * Generate error strings for PCAP_ERROR_ values.
+ * Generate error strings for PCAP_ERROR_ and PCAP_WARNING_ values.
*/
const char *
-pcap_errtostr(int errnum)
+pcap_statustostr(int errnum)
{
static char ebuf[15+10+1];
switch (errnum) {
+ case PCAP_WARNING:
+ return("Generic warning");
+
+ case PCAP_WARNING_PROMISC_NOTSUP:
+ return ("That device doesn't support promiscuous mode");
+
case PCAP_ERROR:
return("Generic error");
diff --git a/pcap/pcap.h b/pcap/pcap.h
index 49fd95b0..0dcf7d26 100644
--- a/pcap/pcap.h
+++ b/pcap/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/pcap.h,v 1.9 2008-04-09 21:26:12 guy Exp $ (LBL)
+ * @(#) $Header: /tcpdump/master/libpcap/pcap/pcap.h,v 1.10 2008-04-09 21:39:21 guy Exp $ (LBL)
*/
#ifndef lib_pcap_pcap_h
@@ -279,7 +279,7 @@ int pcap_getnonblock(pcap_t *, char *);
int pcap_setnonblock(pcap_t *, int, char *);
int pcap_inject(pcap_t *, const void *, size_t);
int pcap_sendpacket(pcap_t *, const u_char *, int);
-const char *pcap_errtostr(int);
+const char *pcap_statustostr(int);
const char *pcap_strerror(int);
char *pcap_geterr(pcap_t *);
void pcap_perror(pcap_t *, char *);
diff --git a/pcap_errtostr.3pcap b/pcap_statustostr.3pcap
index 92514d62..da18f691 100644
--- a/pcap_errtostr.3pcap
+++ b/pcap_statustostr.3pcap
@@ -1,4 +1,4 @@
-.\" @(#) $Header: /tcpdump/master/libpcap/Attic/pcap_errtostr.3pcap,v 1.1 2008-04-06 19:55:33 guy Exp $
+.\" @(#) $Header: /tcpdump/master/libpcap/pcap_statustostr.3pcap,v 1.1 2008-04-09 21:39:21 guy Exp $
.\"
.\" Copyright (c) 1994, 1996, 1997
.\" The Regents of the University of California. All rights reserved.
@@ -19,9 +19,9 @@
.\" WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTIES OF
.\" MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
.\"
-.TH PCAP_ERRTOSTR 3PCAP "6 April 2008"
+.TH PCAP_STATUSTOSTR 3PCAP "9 April 2008"
.SH NAME
-pcap_errtostr \- convert a PCAP_ERROR_ value to a string
+pcap_statustostr \- convert a PCAP_ERROR_ or PCAP_WARNING_ value to a string
.SH SYNOPSIS
.nf
.ft B
@@ -29,13 +29,15 @@ pcap_errtostr \- convert a PCAP_ERROR_ value to a string
.ft
.LP
.ft B
-const char *pcap_errtostr(int error);
+const char *pcap_statustostr(int error);
.ft
.fi
.SH DESCRIPTION
-.B pcap_errtostr()
+.B pcap_statustostr()
converts a
.B PCAP_ERROR_
+or
+.B PCAP_WARNING_
value returned by a libpcap routine to an error string.
.SH SEE ALSO
pcap(3PCAP)