Rev | Line | |
---|
[22] | 1 | /** |
---|
| 2 | * @file PCAPOfflineCapture.cpp |
---|
| 3 | * @author Tomas Urban |
---|
| 4 | * @version 0.4 |
---|
| 5 | * @date 23/07/2009 |
---|
| 6 | */ |
---|
| 7 | #include "PCAPOfflineCapture.h" |
---|
| 8 | #include "Logger/Logger.h" |
---|
| 9 | |
---|
| 10 | PCAPOfflineCapture::PCAPOfflineCapture() |
---|
| 11 | { |
---|
| 12 | } |
---|
| 13 | |
---|
| 14 | PCAPOfflineCapture::~PCAPOfflineCapture(void) |
---|
| 15 | { |
---|
| 16 | } |
---|
| 17 | |
---|
| 18 | ECaptureInitResult PCAPOfflineCapture::OpenDevice(const std::string sParams) |
---|
| 19 | { |
---|
| 20 | CloseDevice(); |
---|
| 21 | char errbuf[PCAP_ERRBUF_SIZE]; |
---|
| 22 | char source[PCAP_BUF_SIZE]; |
---|
| 23 | |
---|
| 24 | if ( pcap_createsrcstr( source, PCAP_SRC_FILE, NULL, NULL, sParams.c_str(), errbuf) != 0) |
---|
| 25 | return ECaptureInit_Failed; |
---|
| 26 | |
---|
| 27 | pcap_t * fp = OpenPcapSource(source); |
---|
| 28 | if (!fp) |
---|
| 29 | return ECaptureInit_Failed; |
---|
| 30 | |
---|
| 31 | pcap_pkthdr header; |
---|
| 32 | if (pcap_next(fp, &header)) |
---|
| 33 | SetStartPoint(header.ts); |
---|
| 34 | pcap_close(fp); |
---|
| 35 | fp = OpenPcapSource(source); |
---|
| 36 | |
---|
| 37 | |
---|
| 38 | SetPcapHandles(&fp, 1); |
---|
| 39 | return ECaptureInit_Successful; |
---|
| 40 | } |
---|
Note: See
TracBrowser
for help on using the repository browser.