mirror of
https://github.com/the-tcpdump-group/tcpdump.git
synced 2024-11-24 10:33:28 +08:00
The official #define for 32-bit and 64-bit Windows is _WIN32.
It's _WIN32, with a leading underscore, not WIN32. See, for example: https://sourceforge.net/p/predef/wiki/OperatingSystems/ and https://msdn.microsoft.com/en-us/library/b0084kay.aspx *Some* environments may also define WIN32, but we shouldn't depend on that.
This commit is contained in:
parent
668e3cf744
commit
f79d3e15d1
@ -89,7 +89,7 @@ static struct hnamemem eprototable[HASHNAMESIZE];
|
||||
static struct hnamemem dnaddrtable[HASHNAMESIZE];
|
||||
static struct hnamemem ipxsaptable[HASHNAMESIZE];
|
||||
|
||||
#if defined(INET6) && defined(WIN32)
|
||||
#if defined(INET6) && defined(_WIN32)
|
||||
/*
|
||||
* fake gethostbyaddr for Win2k/XP
|
||||
* gethostbyaddr() returns incorrect value when AF_INET6 is passed
|
||||
@ -127,7 +127,7 @@ win32_gethostbyaddr(const char *addr, int len, int type)
|
||||
}
|
||||
}
|
||||
#define gethostbyaddr win32_gethostbyaddr
|
||||
#endif /* INET6 & WIN32 */
|
||||
#endif /* INET6 & _WIN32 */
|
||||
|
||||
#ifdef INET6
|
||||
struct h6namemem {
|
||||
@ -775,7 +775,7 @@ init_servarray(netdissect_options *ndo)
|
||||
}
|
||||
|
||||
/* in libpcap.a (nametoaddr.c) */
|
||||
#if defined(WIN32) && !defined(USE_STATIC_LIBPCAP)
|
||||
#if defined(_WIN32) && !defined(USE_STATIC_LIBPCAP)
|
||||
extern __declspec(dllimport)
|
||||
#else
|
||||
extern
|
||||
|
@ -42,7 +42,7 @@ struct rtentry;
|
||||
|
||||
static const char tstr[] = "[|decnet]";
|
||||
|
||||
#ifndef WIN32
|
||||
#ifndef _WIN32
|
||||
typedef uint8_t byte[1]; /* single byte field */
|
||||
#else
|
||||
/*
|
||||
@ -50,7 +50,7 @@ typedef uint8_t byte[1]; /* single byte field */
|
||||
*/
|
||||
typedef unsigned char Byte[1]; /* single byte field */
|
||||
#define byte Byte
|
||||
#endif /* WIN32 */
|
||||
#endif /* _WIN32 */
|
||||
typedef uint8_t word[2]; /* 2 byte field */
|
||||
typedef uint8_t longword[4]; /* 4 bytes field */
|
||||
|
||||
|
@ -41,7 +41,7 @@
|
||||
|
||||
#include <errno.h>
|
||||
|
||||
#ifdef WIN32
|
||||
#ifdef _WIN32
|
||||
|
||||
#include <stdint.h>
|
||||
#include <stdio.h>
|
||||
@ -176,7 +176,7 @@ typedef char* caddr_t;
|
||||
#define vsnprintf _vsnprintf
|
||||
#define RETSIGTYPE void
|
||||
|
||||
#else /* WIN32 */
|
||||
#else /* _WIN32 */
|
||||
|
||||
#include <ctype.h>
|
||||
#include <unistd.h>
|
||||
@ -198,7 +198,7 @@ typedef char* caddr_t;
|
||||
|
||||
#include <arpa/inet.h>
|
||||
|
||||
#endif /* WIN32 */
|
||||
#endif /* _WIN32 */
|
||||
|
||||
#ifndef HAVE___ATTRIBUTE__
|
||||
#define __attribute__(x)
|
||||
@ -241,7 +241,7 @@ typedef char* caddr_t;
|
||||
#define UNALIGNED __attribute__((packed))
|
||||
#endif
|
||||
|
||||
#if defined(WIN32) || defined(MSDOS)
|
||||
#if defined(_WIN32) || defined(MSDOS)
|
||||
#define FOPEN_READ_TXT "rt"
|
||||
#define FOPEN_READ_BIN "rb"
|
||||
#define FOPEN_WRITE_TXT "wt"
|
||||
|
90
tcpdump.c
90
tcpdump.c
@ -56,12 +56,12 @@ The Regents of the University of California. All rights reserved.\n";
|
||||
|
||||
#include <tcpdump-stdinc.h>
|
||||
|
||||
#ifdef WIN32
|
||||
#ifdef _WIN32
|
||||
#include "w32_fzs.h"
|
||||
extern int SIZE_BUF;
|
||||
#define off_t long
|
||||
#define uint UINT
|
||||
#endif /* WIN32 */
|
||||
#endif /* _WIN32 */
|
||||
|
||||
#ifdef USE_LIBSMI
|
||||
#include <smi.h>
|
||||
@ -93,12 +93,12 @@ extern int SIZE_BUF;
|
||||
#include <stdlib.h>
|
||||
#include <string.h>
|
||||
#include <limits.h>
|
||||
#ifndef WIN32
|
||||
#ifndef _WIN32
|
||||
#include <sys/wait.h>
|
||||
#include <sys/resource.h>
|
||||
#include <pwd.h>
|
||||
#include <grp.h>
|
||||
#endif /* WIN32 */
|
||||
#endif /* _WIN32 */
|
||||
|
||||
/* capabilities convenience library */
|
||||
/* If a code depends on HAVE_LIBCAP_NG, it depends also on HAVE_CAP_NG_H.
|
||||
@ -361,13 +361,13 @@ show_devices_and_exit (void)
|
||||
* Set up flags that might or might not be supported depending on the
|
||||
* version of libpcap we're using.
|
||||
*/
|
||||
#if defined(HAVE_PCAP_CREATE) || defined(WIN32)
|
||||
#if defined(HAVE_PCAP_CREATE) || defined(_WIN32)
|
||||
#define B_FLAG "B:"
|
||||
#define B_FLAG_USAGE " [ -B size ]"
|
||||
#else /* defined(HAVE_PCAP_CREATE) || defined(WIN32) */
|
||||
#else /* defined(HAVE_PCAP_CREATE) || defined(_WIN32) */
|
||||
#define B_FLAG
|
||||
#define B_FLAG_USAGE
|
||||
#endif /* defined(HAVE_PCAP_CREATE) || defined(WIN32) */
|
||||
#endif /* defined(HAVE_PCAP_CREATE) || defined(_WIN32) */
|
||||
|
||||
#ifdef HAVE_PCAP_CREATE
|
||||
#define I_FLAG "I"
|
||||
@ -430,7 +430,7 @@ show_devices_and_exit (void)
|
||||
#define OPTION_IMMEDIATE_MODE 130
|
||||
|
||||
static const struct option longopts[] = {
|
||||
#if defined(HAVE_PCAP_CREATE) || defined(WIN32)
|
||||
#if defined(HAVE_PCAP_CREATE) || defined(_WIN32)
|
||||
{ "buffer-size", required_argument, NULL, 'B' },
|
||||
#endif
|
||||
{ "list-interfaces", no_argument, NULL, 'D' },
|
||||
@ -471,7 +471,7 @@ static const struct option longopts[] = {
|
||||
{ NULL, 0, NULL, 0 }
|
||||
};
|
||||
|
||||
#ifndef WIN32
|
||||
#ifndef _WIN32
|
||||
/* Drop root privileges and chroot if necessary */
|
||||
static void
|
||||
droproot(const char *username, const char *chroot_dir)
|
||||
@ -533,7 +533,7 @@ droproot(const char *username, const char *chroot_dir)
|
||||
#endif /* HAVE_LIBCAP_NG */
|
||||
|
||||
}
|
||||
#endif /* WIN32 */
|
||||
#endif /* _WIN32 */
|
||||
|
||||
static int
|
||||
getWflagChars(int x)
|
||||
@ -711,7 +711,7 @@ main(int argc, char **argv)
|
||||
int new_dlt;
|
||||
const char *dlt_name;
|
||||
struct bpf_program fcode;
|
||||
#ifndef WIN32
|
||||
#ifndef _WIN32
|
||||
RETSIGTYPE (*oldhandler)(int);
|
||||
#endif
|
||||
struct print_info printinfo;
|
||||
@ -740,9 +740,9 @@ main(int argc, char **argv)
|
||||
netdissect_options Ndo;
|
||||
netdissect_options *ndo = &Ndo;
|
||||
|
||||
#ifdef WIN32
|
||||
#ifdef _WIN32
|
||||
if(wsockinit() != 0) return 1;
|
||||
#endif /* WIN32 */
|
||||
#endif /* _WIN32 */
|
||||
|
||||
memset(ndo, 0, sizeof(*ndo));
|
||||
ndo->ndo_Rflag=1;
|
||||
@ -794,13 +794,13 @@ main(int argc, char **argv)
|
||||
++ndo->ndo_bflag;
|
||||
break;
|
||||
|
||||
#if defined(HAVE_PCAP_CREATE) || defined(WIN32)
|
||||
#if defined(HAVE_PCAP_CREATE) || defined(_WIN32)
|
||||
case 'B':
|
||||
Bflag = atoi(optarg)*1024;
|
||||
if (Bflag <= 0)
|
||||
error("invalid packet buffer size %s", optarg);
|
||||
break;
|
||||
#endif /* defined(HAVE_PCAP_CREATE) || defined(WIN32) */
|
||||
#endif /* defined(HAVE_PCAP_CREATE) || defined(_WIN32) */
|
||||
|
||||
case 'c':
|
||||
cnt = atoi(optarg);
|
||||
@ -930,24 +930,24 @@ main(int argc, char **argv)
|
||||
#endif
|
||||
|
||||
case 'l':
|
||||
#ifdef WIN32
|
||||
#ifdef _WIN32
|
||||
/*
|
||||
* _IOLBF is the same as _IOFBF in Microsoft's C
|
||||
* libraries; the only alternative they offer
|
||||
* is _IONBF.
|
||||
*
|
||||
* XXX - this should really be checking for MSVC++,
|
||||
* not WIN32, if, for example, MinGW has its own
|
||||
* not _WIN32, if, for example, MinGW has its own
|
||||
* C library that is more UNIX-compatible.
|
||||
*/
|
||||
setvbuf(stdout, NULL, _IONBF, 0);
|
||||
#else /* WIN32 */
|
||||
#else /* _WIN32 */
|
||||
#ifdef HAVE_SETLINEBUF
|
||||
setlinebuf(stdout);
|
||||
#else
|
||||
setvbuf(stdout, NULL, _IOLBF, 0);
|
||||
#endif
|
||||
#endif /* WIN32 */
|
||||
#endif /* _WIN32 */
|
||||
break;
|
||||
|
||||
case 'K':
|
||||
@ -1241,7 +1241,7 @@ main(int argc, char **argv)
|
||||
* In either case, we're reading a savefile, not doing
|
||||
* a live capture.
|
||||
*/
|
||||
#ifndef WIN32
|
||||
#ifndef _WIN32
|
||||
/*
|
||||
* We don't need network access, so relinquish any set-UID
|
||||
* or set-GID privileges we have (if any).
|
||||
@ -1253,7 +1253,7 @@ main(int argc, char **argv)
|
||||
*/
|
||||
if (setgid(getgid()) != 0 || setuid(getuid()) != 0 )
|
||||
fprintf(stderr, "Warning: setgid/setuid failed !\n");
|
||||
#endif /* WIN32 */
|
||||
#endif /* _WIN32 */
|
||||
if (VFileName != NULL) {
|
||||
if (VFileName[0] == '-' && VFileName[1] == '\0')
|
||||
VFile = stdin;
|
||||
@ -1305,7 +1305,7 @@ main(int argc, char **argv)
|
||||
if (device == NULL)
|
||||
error("%s", ebuf);
|
||||
}
|
||||
#ifdef WIN32
|
||||
#ifdef _WIN32
|
||||
/*
|
||||
* Print a message to the standard error on Windows.
|
||||
* XXX - why do it here, with a different message?
|
||||
@ -1320,7 +1320,7 @@ main(int argc, char **argv)
|
||||
}
|
||||
|
||||
fflush(stderr);
|
||||
#endif /* WIN32 */
|
||||
#endif /* _WIN32 */
|
||||
#ifdef HAVE_PCAP_CREATE
|
||||
pd = pcap_create(device, ebuf);
|
||||
if (pd == NULL)
|
||||
@ -1437,16 +1437,16 @@ main(int argc, char **argv)
|
||||
/*
|
||||
* Let user own process after socket has been opened.
|
||||
*/
|
||||
#ifndef WIN32
|
||||
#ifndef _WIN32
|
||||
if (setgid(getgid()) != 0 || setuid(getuid()) != 0)
|
||||
fprintf(stderr, "Warning: setgid/setuid failed !\n");
|
||||
#endif /* WIN32 */
|
||||
#if !defined(HAVE_PCAP_CREATE) && defined(WIN32)
|
||||
#endif /* _WIN32 */
|
||||
#if !defined(HAVE_PCAP_CREATE) && defined(_WIN32)
|
||||
if(Bflag != 0)
|
||||
if(pcap_setbuff(pd, Bflag)==-1){
|
||||
error("%s", pcap_geterr(pd));
|
||||
}
|
||||
#endif /* !defined(HAVE_PCAP_CREATE) && defined(WIN32) */
|
||||
#endif /* !defined(HAVE_PCAP_CREATE) && defined(_WIN32) */
|
||||
if (Lflag)
|
||||
show_dlts_and_exit(device);
|
||||
if (ndo->ndo_dlt >= 0) {
|
||||
@ -1495,21 +1495,21 @@ main(int argc, char **argv)
|
||||
}
|
||||
init_print(ndo, localnet, netmask, timezone_offset);
|
||||
|
||||
#ifndef WIN32
|
||||
#ifndef _WIN32
|
||||
(void)setsignal(SIGPIPE, cleanup);
|
||||
(void)setsignal(SIGTERM, cleanup);
|
||||
(void)setsignal(SIGINT, cleanup);
|
||||
#endif /* WIN32 */
|
||||
#endif /* _WIN32 */
|
||||
#if defined(HAVE_FORK) || defined(HAVE_VFORK)
|
||||
(void)setsignal(SIGCHLD, child_cleanup);
|
||||
#endif
|
||||
/* Cooperate with nohup(1) */
|
||||
#ifndef WIN32
|
||||
#ifndef _WIN32
|
||||
if ((oldhandler = setsignal(SIGHUP, cleanup)) != SIG_DFL)
|
||||
(void)setsignal(SIGHUP, oldhandler);
|
||||
#endif /* WIN32 */
|
||||
#endif /* _WIN32 */
|
||||
|
||||
#ifndef WIN32
|
||||
#ifndef _WIN32
|
||||
/*
|
||||
* If a user name was specified with "-Z", attempt to switch to
|
||||
* that user's UID. This would probably be used with sudo,
|
||||
@ -1554,7 +1554,7 @@ main(int argc, char **argv)
|
||||
droproot(username, chroot_dir);
|
||||
|
||||
}
|
||||
#endif /* WIN32 */
|
||||
#endif /* _WIN32 */
|
||||
|
||||
if (pcap_setfilter(pd, &fcode) < 0)
|
||||
error("%s", pcap_geterr(pd));
|
||||
@ -1676,7 +1676,7 @@ main(int argc, char **argv)
|
||||
#endif
|
||||
}
|
||||
|
||||
#ifndef WIN32
|
||||
#ifndef _WIN32
|
||||
if (RFileName == NULL) {
|
||||
/*
|
||||
* Live capture (if -V was specified, we set RFileName
|
||||
@ -1701,7 +1701,7 @@ main(int argc, char **argv)
|
||||
}
|
||||
(void)fflush(stderr);
|
||||
}
|
||||
#endif /* WIN32 */
|
||||
#endif /* _WIN32 */
|
||||
|
||||
#ifdef HAVE_CAPSICUM
|
||||
cansandbox = (ndo->ndo_nflag && VFileName == NULL && zflag == NULL);
|
||||
@ -2164,7 +2164,7 @@ print_packet(u_char *user, const struct pcap_pkthdr *h, const u_char *sp)
|
||||
info(0);
|
||||
}
|
||||
|
||||
#ifdef WIN32
|
||||
#ifdef _WIN32
|
||||
/*
|
||||
* XXX - there should really be libpcap calls to get the version
|
||||
* number as a string (the string would be generated from #defines
|
||||
@ -2230,28 +2230,28 @@ print_version(void)
|
||||
{
|
||||
extern char version[];
|
||||
#ifndef HAVE_PCAP_LIB_VERSION
|
||||
#if defined(WIN32) || defined(HAVE_PCAP_VERSION)
|
||||
#if defined(_WIN32) || defined(HAVE_PCAP_VERSION)
|
||||
extern char pcap_version[];
|
||||
#else /* defined(WIN32) || defined(HAVE_PCAP_VERSION) */
|
||||
#else /* defined(_WIN32) || defined(HAVE_PCAP_VERSION) */
|
||||
static char pcap_version[] = "unknown";
|
||||
#endif /* defined(WIN32) || defined(HAVE_PCAP_VERSION) */
|
||||
#endif /* defined(_WIN32) || defined(HAVE_PCAP_VERSION) */
|
||||
#endif /* HAVE_PCAP_LIB_VERSION */
|
||||
|
||||
#ifdef HAVE_PCAP_LIB_VERSION
|
||||
#ifdef WIN32
|
||||
#ifdef _WIN32
|
||||
(void)fprintf(stderr, "%s version %s, based on tcpdump version %s\n", program_name, WDversion, version);
|
||||
#else /* WIN32 */
|
||||
#else /* _WIN32 */
|
||||
(void)fprintf(stderr, "%s version %s\n", program_name, version);
|
||||
#endif /* WIN32 */
|
||||
#endif /* _WIN32 */
|
||||
(void)fprintf(stderr, "%s\n",pcap_lib_version());
|
||||
#else /* HAVE_PCAP_LIB_VERSION */
|
||||
#ifdef WIN32
|
||||
#ifdef _WIN32
|
||||
(void)fprintf(stderr, "%s version %s, based on tcpdump version %s\n", program_name, WDversion, version);
|
||||
(void)fprintf(stderr, "WinPcap version %s, based on libpcap version %s\n",Wpcap_version, pcap_version);
|
||||
#else /* WIN32 */
|
||||
#else /* _WIN32 */
|
||||
(void)fprintf(stderr, "%s version %s\n", program_name, version);
|
||||
(void)fprintf(stderr, "libpcap version %s\n", pcap_version);
|
||||
#endif /* WIN32 */
|
||||
#endif /* _WIN32 */
|
||||
#endif /* HAVE_PCAP_LIB_VERSION */
|
||||
|
||||
#if defined(HAVE_LIBCRYPTO) && defined(SSLEAY_VERSION)
|
||||
|
Loading…
Reference in New Issue
Block a user