Main Page | Modules | Data Structures | File List | Data Fields | Globals | Related Pages

remote-ext.h

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 00058 // All this stuff is public 00073 #define PCAP_BUF_SIZE 1024 00074 00075 00087 #define PCAP_SRC_FILE 2 00088 00095 #define PCAP_SRC_IFLOCAL 3 00096 00103 #define PCAP_SRC_IFREMOTE 4 00104 00158 #define PCAP_SRC_FILE_STRING "file://" 00159 00171 #define PCAP_SRC_IF_STRING "rpcap://" 00172 00197 #define PCAP_OPENFLAG_PROMISCUOUS 1 00198 00211 #define PCAP_OPENFLAG_DATATX_UDP 2 00212 00213 00222 #define PCAP_OPENFLAG_NOCAPTURE_RPCAP 4 00223 00238 #define PCAP_SAMP_NOSAMP 0 00239 00248 #define PCAP_SAMP_1_EVERY_N 1 00249 00258 #define PCAP_SAMP_FIRST_AFTER_N_MS 2 00259 00277 #define RPCAP_RMTAUTH_NULL 0 00278 00288 #define RPCAP_RMTAUTH_PWD 1 00289 00311 struct pcap_rmtauth 00312 { 00322 int type; 00330 char *username; 00338 char *password; 00339 }; 00340 00341 00353 struct pcap_samp 00354 { 00359 int method; 00360 00365 int value; 00366 }; 00367 00368 00369 00370 00372 #define RPCAP_HOSTLIST_SIZE 1024 00373 00374 // end of public documentation 00378 00379 00380 // Exported functions 00381 00382 00383 00389 //\{ 00390 pcap_t *pcap_open(const char *source, int snaplen, int flags, int read_timeout, struct pcap_rmtauth *auth, char *errbuf); 00391 int pcap_createsrcstr(char *source, int type, const char *host, const char *port, const char *name, char *errbuf); 00392 int pcap_parsesrcstr(const char *source, int *type, char *host, char *port, char *name, char *errbuf); 00393 int pcap_findalldevs_ex(char *source, struct pcap_rmtauth *auth, pcap_if_t **alldevs, char *errbuf); 00394 struct pcap_samp *pcap_setsampling(pcap_t *p); 00395 00396 //\} 00397 // End of new winpcap functions 00398 00399 00400 00405 //\{ 00406 SOCKET pcap_remoteact_accept(const char *address, const char *port, const char *hostlist, char *connectinghost, struct pcap_rmtauth *auth, char *errbuf); 00407 int pcap_remoteact_list(char *hostlist, char sep, int size, char *errbuf); 00408 int pcap_remoteact_close(const char *host, char *errbuf); 00409 void pcap_remoteact_cleanup(); 00410 //\} 00411 // End of remote capture functions 00412 00413 00414 #endif 00415

documentation. Copyright (c) 2002-2003 Politecnico di Torino. All rights reserved.