115 lines
2.5 KiB
C
115 lines
2.5 KiB
C
/*
|
|
* Humax EPG Tool
|
|
* by af123, 2011
|
|
*/
|
|
|
|
#define DS_LINKAGE 74 /* 0x4a */
|
|
#define DS_SHORT_EVENT 77 /* 0x4d */
|
|
#define DS_EXTENDED_EVENT 78 /* 0x4e */
|
|
#define DS_COMPONENT 80 /* 0x50 */
|
|
#define DS_CONTENT 84 /* 0x54 */
|
|
#define DS_PRIVATE_DATA_SPECIFIER 95 /* 0x5f */
|
|
#define DS_CONTENT_IDENTIFIER 118 /* 0x76 */
|
|
#define DS_FTA_CONTENT_MGMT 126 /* 0x7e */
|
|
#define DS_USER_DEFINED 137 /* 0x89 */
|
|
|
|
#define PARSER_SHORT_EVENT 0
|
|
#define PARSER_USER_DEFINED 1
|
|
#define PARSER_CONTENT 2
|
|
#define PARSER_CRID_EVENT 3
|
|
#define PARSER_CRID_SERIES 4
|
|
#define PARSER_CRID_REC 5
|
|
#define PARSER_EXTENDED_EVENT 6
|
|
#define PARSER_MAX 7
|
|
|
|
#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 {
|
|
char lang[3];
|
|
unsigned int items;
|
|
unsigned int textlen;
|
|
char *text;
|
|
} d78; /* EXTENDED_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 level2:4;
|
|
unsigned int level1:4;
|
|
unsigned int user:8;
|
|
} d84; /* CONTENT */
|
|
struct {
|
|
unsigned int guidance_type;
|
|
unsigned int guidance_mode;
|
|
char lang[3];
|
|
char *warning;
|
|
unsigned int warninglen;
|
|
} d137; /* USER_DEFINED - content warnings */
|
|
struct {
|
|
unsigned int no_revocation:1;
|
|
unsigned int control_remote_access:2;
|
|
unsigned int no_scramble:1;
|
|
unsigned int reserved:4;
|
|
} d126; /* DS_FTA_CONTENT_MGMT */
|
|
struct {
|
|
unsigned int tsid:16;
|
|
unsigned int orig_netid:16;
|
|
unsigned int service_id:16;
|
|
unsigned int linkage_type:8;
|
|
union {
|
|
struct {
|
|
unsigned int origin_type:1;
|
|
unsigned int reserved:3;
|
|
unsigned int handover_type:4;
|
|
unsigned int id:16;
|
|
} l8;
|
|
struct {
|
|
unsigned int event_id:16;
|
|
unsigned int reserved:6;
|
|
unsigned int simulcast:1;
|
|
unsigned int listed:1;
|
|
} ld;
|
|
} l;
|
|
} d74; /* DS_LINKAGE */
|
|
struct {
|
|
struct crid crids[3];
|
|
int i;
|
|
} d118; /* CONTENT_IDENTIFIER */
|
|
struct {
|
|
char *text;
|
|
unsigned int textlen;
|
|
} unknown; /* 74, 84, 95, 126, ... */
|
|
|
|
} content;
|
|
int loaded;
|
|
};
|
|
|