6 /* Structures for MHW-EPG tables parsing */
11 u_char transport_stream_id_hi;
12 u_char transport_stream_id_lo;
23 #if BYTE_ORDER == BIG_ENDIAN
26 u_char summary_available :1;
28 u_char summary_available :1;
35 #if BYTE_ORDER == BIG_ENDIAN
46 #if BYTE_ORDER == BIG_ENDIAN
47 u_char section_syntax_indicator :1;
50 u_char section_length_hi :4;
52 u_char section_length_hi :4;
55 u_char section_syntax_indicator :1;
57 u_char section_length_lo :8;
65 u_char mhw2_minutes :8;
68 struct summary_min ms;
69 u_char mhw2_seconds :8;
71 u_char :8; // mhw2_title begin
73 u_char duration_hi :8;
74 u_char duration_lo :8;
80 u_char program_id_hi :8;
81 u_char program_id_mh :8;
82 u_char program_id_ml :8;
83 u_char program_id_lo :8; // mhw2_title end (35chars max)
84 u_char mhw2_mjd_hi :8;
85 u_char mhw2_mjd_lo :8;
86 u_char mhw2_duration_hi :8;
87 u_char mhw2_duration_lo :8;
89 int getDuration() const { return duration_hi << 8 | duration_lo; };
90 int getMhw2Duration() const { return mhw2_duration_hi << 8 | mhw2_duration_lo; };
93 typedef struct mhw_summary {
95 #if BYTE_ORDER == BIG_ENDIAN
96 u_char section_syntax_indicator :1;
99 u_char section_length_hi :4;
101 u_char section_length_hi :4;
104 u_char section_syntax_indicator :1;
106 u_char section_length_lo :8;
107 u_char program_id_hi :8;
108 u_char program_id_mh :8;
109 u_char program_id_ml :8;
110 u_char program_id_lo :8;
114 u_char nb_replays :8;