aboutsummaryrefslogtreecommitdiff
path: root/lib/dvb/lowlevel
diff options
context:
space:
mode:
authorAndreas Monzner <andreas.monzner@multimedia-labs.de>2006-08-02 15:44:49 +0000
committerAndreas Monzner <andreas.monzner@multimedia-labs.de>2006-08-02 15:44:49 +0000
commite8242e439b8857030027f342ede47efe7e2f38ea (patch)
treea5e3b1590774b053db87750a17ef3faefd45276e /lib/dvb/lowlevel
parentcffee89d7b3567ee92901f6963108c33ea3ac469 (diff)
downloadenigma2-e8242e439b8857030027f342ede47efe7e2f38ea.tar.gz
enigma2-e8242e439b8857030027f342ede47efe7e2f38ea.zip
add possibility to read detailed epg from Digital+
Diffstat (limited to 'lib/dvb/lowlevel')
-rw-r--r--lib/dvb/lowlevel/mhw.h63
1 files changed, 40 insertions, 23 deletions
diff --git a/lib/dvb/lowlevel/mhw.h b/lib/dvb/lowlevel/mhw.h
index 05d66ee8..0b4904fa 100644
--- a/lib/dvb/lowlevel/mhw.h
+++ b/lib/dvb/lowlevel/mhw.h
@@ -19,6 +19,28 @@ typedef struct {
u_char name[15];
} mhw_theme_name_t;
+struct summary_min {
+#if BYTE_ORDER == BIG_ENDIAN
+ u_char minutes :6;
+ u_char :1;
+ u_char summary_available :1;
+#else
+ u_char summary_available :1;
+ u_char :1;
+ u_char minutes :6;
+#endif
+};
+
+struct day_hours {
+#if BYTE_ORDER == BIG_ENDIAN
+ u_char day :3;
+ u_char hours :5;
+#else
+ u_char hours :5;
+ u_char day :3;
+#endif
+};
+
typedef struct {
u_char table_id :8;
#if BYTE_ORDER == BIG_ENDIAN
@@ -34,24 +56,19 @@ typedef struct {
#endif
u_char section_length_lo :8;
u_char channel_id :8;
- u_char theme_id :8;
-#if BYTE_ORDER == BIG_ENDIAN
- u_char day :3;
- u_char hours :5;
-#else
- u_char hours :5;
- u_char day :3;
-#endif
-#if BYTE_ORDER == BIG_ENDIAN
- u_char minutes :6;
- u_char :1;
- u_char summary_available :1;
-#else
- u_char summary_available :1;
- u_char :1;
- u_char minutes :6;
-#endif
- u_char :8;
+ union {
+ u_char theme_id :8;
+ u_char mhw2_hours :8;
+ };
+ union {
+ struct day_hours dh;
+ u_char mhw2_minutes :8;
+ };
+ union {
+ struct summary_min ms;
+ u_char mhw2_seconds :8;
+ };
+ u_char :8; // mhw2_title begin
u_char :8;
u_char duration_hi :8;
u_char duration_lo :8;
@@ -61,13 +78,13 @@ typedef struct {
u_char ppv_id_ml :8;
u_char ppv_id_lo :8;
u_char program_id_hi :8;
- u_char program_id_mh :8;
+ u_char program_id_mh :8; // mhw2_title end (33chars max)
u_char program_id_ml :8;
u_char program_id_lo :8;
- u_char :8;
- u_char :8;
- u_char :8;
- u_char :8;
+ u_char mhw2_mjd_hi :8;
+ u_char mhw2_mjd_lo :8;
+ u_char mhw2_duration_hi :8;
+ u_char mhw2_duration_lo :8;
} mhw_title_t;
typedef struct mhw_summary {