epg/descriptor.h

74 lines
1.4 KiB
C

/*
* 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;
};