WinPcap: remote-ext.h Source File
优质
小牛编辑
130浏览
2023-12-01
Go to the documentation of this file.
00001 /* 00002 * Copyright (c) 2002 - 2003 00003 * NetGroup, Politecnico di Torino (Italy) 00004 * All rights reserved. 00005 * 00006 * Redistribution and use in source and binary forms, with or without 00007 * modification, are permitted provided that the following conditions 00008 * are met: 00009 * 00010 * 1. Redistributions of source code must retain the above copyright 00011 * notice, this list of conditions and the following disclaimer. 00012 * 2. Redistributions in binary form must reproduce the above copyright 00013 * notice, this list of conditions and the following disclaimer in the 00014 * documentation and/or other materials provided with the distribution. 00015 * 3. Neither the name of the Politecnico di Torino nor the names of its 00016 * contributors may be used to endorse or promote products derived from 00017 * this software without specific prior written permission. 00018 * 00019 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 00020 * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 00021 * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR 00022 * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT 00023 * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 00024 * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT 00025 * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 00026 * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 00027 * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 00028 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 00029 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 00030 * 00031 */ 00032 00033 00034 #ifndef __REMOTE_EXT_H__ 00035 #define __REMOTE_EXT_H__ 00036 00037 00038 00039 // Definition for Microsoft Visual Studio 00040 #if _MSC_VER > 1000 00041 #pragma once 00042 #endif 00043 00044 #ifdef __cplusplus 00045 extern "C" { 00046 #endif 00047 00061 // All this stuff is public 00076 #define PCAP_BUF_SIZE 1024 00077 00078 00090 #define PCAP_SRC_FILE 2 00091 00098 #define PCAP_SRC_IFLOCAL 3 00099 00106 #define PCAP_SRC_IFREMOTE 4 00107 00161 #define PCAP_SRC_FILE_STRING "file://" 00162 00174 #define PCAP_SRC_IF_STRING "rpcap://" 00175 00200 #define PCAP_OPENFLAG_PROMISCUOUS 1 00201 00214 #define PCAP_OPENFLAG_DATATX_UDP 2 00215 00216 00225 #define PCAP_OPENFLAG_NOCAPTURE_RPCAP 4 00226 00234 #define PCAP_OPENFLAG_NOCAPTURE_LOCAL 8 00235 00245 #define PCAP_OPENFLAG_MAX_RESPONSIVENESS 16 00246 00262 #define PCAP_SAMP_NOSAMP 0 00263 00272 #define PCAP_SAMP_1_EVERY_N 1 00273 00282 #define PCAP_SAMP_FIRST_AFTER_N_MS 2 00283 00301 #define RPCAP_RMTAUTH_NULL 0 00302 00312 #define RPCAP_RMTAUTH_PWD 1 00313 00335 struct pcap_rmtauth 00336 { 00346 int type; 00354 char *username; 00362 char *password; 00363 }; 00364 00365 00377 struct pcap_samp 00378 { 00383 int method; 00384 00389 int value; 00390 }; 00391 00392 00393 00394 00396 #define RPCAP_HOSTLIST_SIZE 1024 00397 00398 // end of public documentation 00402 00403 00404 // Exported functions 00405 00406 00407 00413 //{ 00414 pcap_t *pcap_open(const char *source, int snaplen, int flags, int read_timeout, struct pcap_rmtauth *auth, char *errbuf); 00415 int pcap_createsrcstr(char *source, int type, const char *host, const char *port, const char *name, char *errbuf); 00416 int pcap_parsesrcstr(const char *source, int *type, char *host, char *port, char *name, char *errbuf); 00417 int pcap_findalldevs_ex(char *source, struct pcap_rmtauth *auth, pcap_if_t **alldevs, char *errbuf); 00418 struct pcap_samp *pcap_setsampling(pcap_t *p); 00419 00420 //} 00421 // End of new winpcap functions 00422 00423 00424 00427 //{ 00428 SOCKET pcap_remoteact_accept(const char *address, const char *port, const char *hostlist, char *connectinghost, struct pcap_rmtauth *auth, char *errbuf); 00429 int pcap_remoteact_list(char *hostlist, char sep, int size, char *errbuf); 00430 int pcap_remoteact_close(const char *host, char *errbuf); 00431 void pcap_remoteact_cleanup(); 00432 //} 00433 // End of remote capture functions 00434 00435 #ifdef __cplusplus 00436 } 00437 #endif 00438 00439 00440 #endif 00441