- Main Page
- Related Pages
- Modules
- Data Structures
- Files

- File List
- Globals

# 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 #ifndef HAVE_REMOTE
    00039 #error Please do not include this file directly. Just define HAVE_REMOTE and then include pcap.h
    00040 #endif
    00041
    00042 // Definition for Microsoft Visual Studio
    00043 #if _MSC_VER > 1000
    00044 #pragma once
    00045 #endif
    00046
    00047 #ifdef __cplusplus
    00048 extern "C" {
    00049 #endif
    00050
    00064 // All this stuff is public
    00079 #define PCAP_BUF_SIZE 1024
    00080
    00081
    00093 #define PCAP_SRC_FILE 2
    00094
    00101 #define PCAP_SRC_IFLOCAL 3
    00102
    00109 #define PCAP_SRC_IFREMOTE 4
    00110
    00164 #define PCAP_SRC_FILE_STRING "file://"
    00165
    00177 #define PCAP_SRC_IF_STRING "rpcap://"
    00178
    00203 #define PCAP_OPENFLAG_PROMISCUOUS       1
    00204
    00217 #define PCAP_OPENFLAG_DATATX_UDP            2
    00218
    00219
    00228 #define PCAP_OPENFLAG_NOCAPTURE_RPCAP   4
    00229
    00237 #define PCAP_OPENFLAG_NOCAPTURE_LOCAL   8
    00238
    00248 #define PCAP_OPENFLAG_MAX_RESPONSIVENESS    16
    00249
    00265 #define PCAP_SAMP_NOSAMP    0
    00266
    00275 #define PCAP_SAMP_1_EVERY_N 1
    00276
    00285 #define PCAP_SAMP_FIRST_AFTER_N_MS 2
    00286
    00304 #define RPCAP_RMTAUTH_NULL 0
    00305
    00315 #define RPCAP_RMTAUTH_PWD 1
    00316
    00338 struct pcap_rmtauth
    00339 {
    00349     int type;
    00357     char *username;
    00365     char *password;
    00366 };
    00367
    00368
    00380 struct pcap_samp
    00381 {
    00386     int method;
    00387
    00392     int value;
    00393 };
    00394
    00395
    00396
    00397
    00399 #define RPCAP_HOSTLIST_SIZE 1024
    00400
    00401  // end of public documentation
    00405
    00406
    00407 // Exported functions
    00408
    00409
    00410
    00416 //\{
    00417 pcap_t *pcap_open(const char *source, int snaplen, int flags, int read_timeout, struct pcap_rmtauth *auth, char *errbuf);
    00418 int pcap_createsrcstr(char *source, int type, const char *host, const char *port, const char *name, char *errbuf);
    00419 int pcap_parsesrcstr(const char *source, int *type, char *host, char *port, char *name, char *errbuf);
    00420 int pcap_findalldevs_ex(char *source, struct pcap_rmtauth *auth, pcap_if_t **alldevs, char *errbuf);
    00421 struct pcap_samp *pcap_setsampling(pcap_t *p);
    00422
    00423 //\}
    00424 // End of new winpcap functions
    00425
    00426
    00427
    00430 //\{
    00431 SOCKET pcap_remoteact_accept(const char *address, const char *port, const char *hostlist, char *connectinghost, struct pcap_rmtauth *auth, char *errbuf);
    00432 int pcap_remoteact_list(char *hostlist, char sep, int size, char *errbuf);
    00433 int pcap_remoteact_close(const char *host, char *errbuf);
    00434 void pcap_remoteact_cleanup();
    00435 //\}
    00436 // End of remote capture functions
    00437
    00438 #ifdef __cplusplus
    00439 }
    00440 #endif
    00441
    00442
    00443 #endif
    00444

documentation. Copyright (c) 2002-2005 Politecnico di Torino. Copyright (c) 2005-2009 CACE Technologies. All rights reserved.