/* * Humax EPG Tool * by af123, 2011 */ #define DS_LINKAGE 74 #define DS_SHORT_EVENT 77 #define DS_COMPONENT 80 #define DS_CONTENT 84 #define DS_PRIVATE_DATA_SPECIFIER 95 #define DS_CONTENT_IDENTIFIER 118 #define DS_FTA_CONTENT_MGMT 126 #define DS_USER_DEFINED 137 #define PARSER_SHORT_EVENT 0 #define PARSER_USER_DEFINED 1 #define PARSER_CRID_EVENT 2 #define PARSER_CRID_SERIES 3 #define PARSER_CRID_REC 4 #define CRIDT_EVENT '1' #define CRIDT_SERIES '2' #define CRIDT_REC '3' #pragma pack(1) struct crid { unsigned int location:2; unsigned int type:6; unsigned int cridlen; char *crid; unsigned int ref:16; }; struct descriptor { unsigned int tag:8; unsigned int len:8; union { struct { char lang[3]; unsigned int namelen; unsigned int textlen; char *name; char *text; } d77; /* SHORT_EVENT */ struct { unsigned int stream_content:4; unsigned int reserved:4; unsigned int type:8; unsigned int tag:8; char lang[3]; char *text; unsigned int textlen; } d80; /* COMPONENT */ struct { unsigned int textlen; char *text; char lang[3]; char *warning; unsigned int warninglen; } d137; /* USER_DEFINED - content warnings? */ struct { struct crid crids[3]; int i; } d118; /* CONTENT_IDENTIFIER */ struct { char *text; unsigned int textlen; } unknown; /* 74, 84, 95, 126, ... */ } content; int loaded; };