summaryrefslogtreecommitdiff
path: root/libopie2/opienet/opcap.h
authormickeyl <mickeyl>2003-05-08 08:16:14 (UTC)
committer mickeyl <mickeyl>2003-05-08 08:16:14 (UTC)
commiteb1dba5550e63ab7b915d55048175e2992ab5447 (patch) (unidiff)
tree52b37945352c56effd58cacac071cba4f410bef2 /libopie2/opienet/opcap.h
parent0950f27fa7136eb59f7e259cb4477ca10c89640d (diff)
downloadopie-eb1dba5550e63ab7b915d55048175e2992ab5447.zip
opie-eb1dba5550e63ab7b915d55048175e2992ab5447.tar.gz
opie-eb1dba5550e63ab7b915d55048175e2992ab5447.tar.bz2
decouple dump files from live capture to shift control over 'what' is dumped to applications
Diffstat (limited to 'libopie2/opienet/opcap.h') (more/less context) (ignore whitespace changes)
-rw-r--r--libopie2/opienet/opcap.h21
1 files changed, 17 insertions, 4 deletions
diff --git a/libopie2/opienet/opcap.h b/libopie2/opienet/opcap.h
index ad5b07c..9119972 100644
--- a/libopie2/opienet/opcap.h
+++ b/libopie2/opienet/opcap.h
@@ -115,6 +115,8 @@ class OPacket : public QObject
115{ 115{
116 Q_OBJECT 116 Q_OBJECT
117 117
118 friend class OPacketCapturer;
119
118 public: 120 public:
119 OPacket( int datalink, packetheaderstruct, const unsigned char*, QObject* parent ); 121 OPacket( int datalink, packetheaderstruct, const unsigned char*, QObject* parent );
120 virtual ~OPacket(); 122 virtual ~OPacket();
@@ -524,7 +526,7 @@ class OPacketCapturer : public QObject
524 */ 526 */
525 ~OPacketCapturer(); 527 ~OPacketCapturer();
526 /** 528 /**
527 * Setting the packet capturer to use blocking IO calls can be useful when 529 * Set the packet capturer to use blocking or non-blocking IO. This can be useful when
528 * not using the socket notifier, e.g. without an application object. 530 * not using the socket notifier, e.g. without an application object.
529 */ 531 */
530 void setBlocking( bool ); 532 void setBlocking( bool );
@@ -533,15 +535,23 @@ class OPacketCapturer : public QObject
533 */ 535 */
534 bool blocking() const; 536 bool blocking() const;
535 /** 537 /**
536 * Closes the packet capturer. This is automatically done in the destructor. 538 * Close the packet capturer. This is automatically done in the destructor.
537 */ 539 */
538 void close(); 540 void close();
539 /** 541 /**
542 * Close the output capture file.
543 */
544 void closeDumpFile();
545 /**
540 * @returns the data link type. 546 * @returns the data link type.
541 * @see <pcap.h> for possible values. 547 * @see <pcap.h> for possible values.
542 */ 548 */
543 int dataLink() const; 549 int dataLink() const;
544 /** 550 /**
551 * Dump a packet to the output capture file.
552 */
553 void dump( OPacket* );
554 /**
545 * @returns the file descriptor of the packet capturer. This is only useful, if 555 * @returns the file descriptor of the packet capturer. This is only useful, if
546 * not using the socket notifier, e.g. without an application object. 556 * not using the socket notifier, e.g. without an application object.
547 */ 557 */
@@ -553,14 +563,17 @@ class OPacketCapturer : public QObject
553 OPacket* next(); 563 OPacket* next();
554 /** 564 /**
555 * Open the packet capturer to capture packets in live-mode from @a interface. 565 * Open the packet capturer to capture packets in live-mode from @a interface.
556 * If a @a filename is given, all captured packets are output to a tcpdump-compatible capture file.
557 */ 566 */
558 bool open( const QString& interface, const QString& filename = QString::null ); 567 bool open( const QString& interface );
559 /** 568 /**
560 * Open the packet capturer to capture packets in offline-mode from @a file. 569 * Open the packet capturer to capture packets in offline-mode from @a file.
561 */ 570 */
562 bool open( const QFile& file ); 571 bool open( const QFile& file );
563 /** 572 /**
573 * Open a prerecorded tcpdump compatible capture file for use with @ref dump()
574 */
575 bool openDumpFile( const QString& filename );
576 /**
564 * @returns true if the packet capturer is open 577 * @returns true if the packet capturer is open
565 */ 578 */
566 bool isOpen() const; 579 bool isOpen() const;