summaryrefslogtreecommitdiff
path: root/filter.h
diff options
context:
space:
mode:
authorroot <root@lwg5001.(none)>2008-12-18 08:46:41 +0100
committerroot <root@lwg5001.(none)>2008-12-18 08:46:41 +0100
commit0a38f9f8cde03a188c79f66dc4b005d83a6f0cfd (patch)
treeac9bcbdab8b2a3c23423d7dd14278cd6d77606de /filter.h
parentf381118bd3f91740edc5bf464ab1300938f3ec5d (diff)
downloadvdr-plugin-infosatepg-0a38f9f8cde03a188c79f66dc4b005d83a6f0cfd.tar.gz
vdr-plugin-infosatepg-0a38f9f8cde03a188c79f66dc4b005d83a6f0cfd.tar.bz2
Initial commit
Diffstat (limited to 'filter.h')
-rw-r--r--filter.h44
1 files changed, 44 insertions, 0 deletions
diff --git a/filter.h b/filter.h
new file mode 100644
index 0000000..a21b1ff
--- /dev/null
+++ b/filter.h
@@ -0,0 +1,44 @@
+/*
+ * filter.cpp: A plugin for the Video Disk Recorder
+ *
+ * See the README file for copyright information and how to reach the author.
+ *
+ * $Id$
+ */
+
+#ifndef __filter_h_
+#define __filter_h_
+
+#include <netinet/ip.h>
+#include <netinet/udp.h>
+#include <vdr/filter.h>
+
+#include "global.h"
+
+struct infosathdr {
+ u_short technisatId;
+ u_char tableId;
+ u_char tablesubId;
+ u_char day;
+ u_char month;
+ u_char res6;
+ u_char res7;
+ u_short pktnr;
+ u_short pktcnt;
+};
+
+// --- cFilterInfosatepg
+class cFilterInfosatepg : public cFilter {
+private:
+ cGlobalInfosatepg *global;
+ u_long do_sum(u_long sum, u_char *buf, int nBytes);
+ u_short foldsum(u_long sum);
+ u_short IPChecksum(iphdr *ipHeader);
+ u_short UDPChecksum(iphdr *ipHeader, udphdr *udpHeader);
+protected:
+ virtual void Process(u_short Pid, u_char Tid, const u_char *Data, int Length);
+public:
+ cFilterInfosatepg(cGlobalInfosatepg *Global);
+ };
+
+#endif