X-Git-Url: https://git.cweiske.de/enigma2.git/blobdiff_plain/d5c972b62f9ace6e26b13c78fab4abda3a0dac1f..864bab84ceacbaa2cf2814aa74f1379a0b9c8426:/lib/dvb/lowlevel/mhw.h diff --git a/lib/dvb/lowlevel/mhw.h b/lib/dvb/lowlevel/mhw.h index 05d66ee8..f06c86e8 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; @@ -63,11 +80,11 @@ typedef struct { u_char program_id_hi :8; u_char program_id_mh :8; 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 program_id_lo :8; // mhw2_title end (35chars max) + 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 {