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 00241 #define PCAP_SAMP_NOSAMP 0 00242 00251 #define PCAP_SAMP_1_EVERY_N 1 00252 00261 #define PCAP_SAMP_FIRST_AFTER_N_MS 2 00262 00280 #define RPCAP_RMTAUTH_NULL 0 00281 00291 #define RPCAP_RMTAUTH_PWD 1 00292 00314 struct pcap_rmtauth 00315 { 00325 int type; 00333 char *username; 00341 char *password; 00342 }; 00343 00344 00356 struct pcap_samp 00357 { 00362 int method; 00363 00368 int value; 00369 }; 00370 00371 00372 00373 00375 #define RPCAP_HOSTLIST_SIZE 1024 00376 00377 // end of public documentation 00381 00382 00383 // Exported functions 00384 00385 00386 00392 //\{ 00393 pcap_t *pcap_open(const char *source, int snaplen, int flags, int read_timeout, struct pcap_rmtauth *auth, char *errbuf); 00394 int pcap_createsrcstr(char *source, int type, const char *host, const char *port, const char *name, char *errbuf); 00395 int pcap_parsesrcstr(const char *source, int *type, char *host, char *port, char *name, char *errbuf); 00396 int pcap_findalldevs_ex(char *source, struct pcap_rmtauth *auth, pcap_if_t **alldevs, char *errbuf); 00397 struct pcap_samp *pcap_setsampling(pcap_t *p); 00398 00399 //\} 00400 // End of new winpcap functions 00401 00402 00403 00406 //\{ 00407 SOCKET pcap_remoteact_accept(const char *address, const char *port, const char *hostlist, char *connectinghost, struct pcap_rmtauth *auth, char *errbuf); 00408 int pcap_remoteact_list(char *hostlist, char sep, int size, char *errbuf); 00409 int pcap_remoteact_close(const char *host, char *errbuf); 00410 void pcap_remoteact_cleanup(); 00411 //\} 00412 // End of remote capture functions 00413 00414 #ifdef __cplusplus 00415 } 00416 #endif 00417 00418 00419 #endif 00420
documentation. Copyright (c) 2002-2005 Politecnico di Torino. Copyright (c) 2005
CACE technologies. All rights reserved.