10 typedef struct _EIThead {
12 int section_syntax_indicator;
13 int reserved_future_use;
19 int current_next_indicator;
21 int last_section_number;
22 int transport_stream_id;
23 int original_network_id;
24 int segment_last_section_number;
28 typedef struct _EITbody {
34 int descriptors_loop_length;
47 typedef struct _SEVTdesc {
49 int descriptor_length;
50 char ISO_639_language_code[3];
51 int event_name_length;
52 char event_name[MAXSECLEN];
57 typedef struct _ContentDesc {
59 int descriptor_length;
60 char content_nibble_level_1;
61 char content_nibble_level_2;
66 typedef struct _SeriesDesc {
68 int descriptor_length;
72 int expire_date_valid_flag;
75 int last_episode_number;
76 char series_name_char[MAXSECLEN];
79 typedef struct _ComponentDesc {
81 int descriptor_length;
82 int reserved_future_use;
86 char ISO_639_language_code[3];
87 char text_char[MAXSECLEN];
90 typedef struct _AudioComponentDesc {
92 int descriptor_length;
93 int reserved_future_use_1;
98 int simulcast_group_tag;
99 int ES_multi_lingual_flag;
100 int main_component_flag;
101 int quality_indicator;
103 int reserved_future_use_2;
104 char ISO_639_language_code_1[3];
105 char ISO_639_language_code_2[3];
106 char text_char[MAXSECLEN];
107 } AudioComponentDesc;
109 typedef struct _EEVTDhead {
111 int descriptor_length;
112 int descriptor_number;
113 int last_descriptor_number;
114 char ISO_639_language_code[3];
118 typedef struct _EEVTDitem {
119 int item_description_length;
120 char item_description[MAXSECLEN];
122 char item[MAXSECLEN];
124 int descriptor_number;
127 typedef struct _EEVTDtail {
129 char text[MAXSECLEN];
134 #endif /* __cplusplus */
136 int parseEIThead(unsigned char *data, EIThead *h);
137 int parseEITbody(unsigned char *data, EITbody *b);
138 int parseSEVTdesc(unsigned char *data, SEVTdesc *desc) ;
140 int parseContentDesc(unsigned char *data, ContentDesc *desc);
141 int parseSeriesDesc(unsigned char *data, SeriesDesc *desc);
143 int parseEEVTDhead(unsigned char *data, EEVTDhead *desc) ;
144 int parseEEVTDitem(unsigned char *data, EEVTDitem *desc) ;
145 int parseEEVTDtail(unsigned char *data, EEVTDtail *desc) ;
147 void dumpEIT(unsigned char *data, int serv_id, int original_network_id, int transport_stream_id, EIT_CONTROL *eittop);
151 #endif /* __cplusplus */