summaryrefslogtreecommitdiff
path: root/filter.h
diff options
context:
space:
mode:
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