17 #ifndef LIBSI_HEADERS_H 18 #define LIBSI_HEADERS_H 28 #if BYTE_ORDER == BIG_ENDIAN 42 #if BYTE_ORDER == BIG_ENDIAN 52 u_char table_id_extension_hi :8;
53 u_char table_id_extension_lo :8;
54 #if BYTE_ORDER == BIG_ENDIAN 56 u_char version_number :5;
57 u_char current_next_indicator :1;
59 u_char current_next_indicator :1;
60 u_char version_number :5;
63 u_char section_number :8;
64 u_char last_section_number :8;
68 u_char descriptor_tag :8;
69 u_char descriptor_length :8;
93 #if BYTE_ORDER == BIG_ENDIAN 105 u_char transport_stream_id_hi :8;
106 u_char transport_stream_id_lo :8;
107 #if BYTE_ORDER == BIG_ENDIAN 109 u_char version_number :5;
110 u_char current_next_indicator :1;
112 u_char current_next_indicator :1;
113 u_char version_number :5;
116 u_char section_number :8;
117 u_char last_section_number :8;
120 #define PAT_PROG_LEN 4 123 u_char program_number_hi :8;
124 u_char program_number_lo :8;
125 #if BYTE_ORDER == BIG_ENDIAN 127 u_char network_pid_hi :5;
129 u_char network_pid_hi :5;
132 u_char network_pid_lo :8;
150 #if BYTE_ORDER == BIG_ENDIAN 162 u_char reserved_1 :8;
163 u_char reserved_2 :8;
164 #if BYTE_ORDER == BIG_ENDIAN 166 u_char version_number :5;
167 u_char current_next_indicator :1;
169 u_char current_next_indicator :1;
170 u_char version_number :5;
173 u_char section_number :8;
174 u_char last_section_number :8;
191 #if BYTE_ORDER == BIG_ENDIAN 203 u_char program_number_hi :8;
204 u_char program_number_lo :8;
205 #if BYTE_ORDER == BIG_ENDIAN 207 u_char version_number :5;
208 u_char current_next_indicator :1;
210 u_char current_next_indicator :1;
211 u_char version_number :5;
214 u_char section_number :8;
215 u_char last_section_number :8;
216 #if BYTE_ORDER == BIG_ENDIAN 218 u_char PCR_PID_hi :5;
220 u_char PCR_PID_hi :5;
223 u_char PCR_PID_lo :8;
224 #if BYTE_ORDER == BIG_ENDIAN 226 u_char program_info_length_hi :4;
228 u_char program_info_length_hi :4;
231 u_char program_info_length_lo :8;
235 #define PMT_INFO_LEN 5 238 u_char stream_type :8;
239 #if BYTE_ORDER == BIG_ENDIAN 241 u_char elementary_PID_hi :5;
243 u_char elementary_PID_hi :5;
246 u_char elementary_PID_lo :8;
247 #if BYTE_ORDER == BIG_ENDIAN 249 u_char ES_info_length_hi :4;
251 u_char ES_info_length_hi :4;
254 u_char ES_info_length_lo :8;
272 #if BYTE_ORDER == BIG_ENDIAN 286 #if BYTE_ORDER == BIG_ENDIAN 288 u_char version_number :5;
289 u_char current_next_indicator :1;
291 u_char current_next_indicator :1;
292 u_char version_number :5;
295 u_char section_number :8;
296 u_char last_section_number :8;
313 #if BYTE_ORDER == BIG_ENDIAN 323 u_char network_id_hi :8;
324 u_char network_id_lo :8;
325 #if BYTE_ORDER == BIG_ENDIAN 327 u_char version_number :5;
328 u_char current_next_indicator :1;
330 u_char current_next_indicator :1;
331 u_char version_number :5;
334 u_char section_number :8;
335 u_char last_section_number :8;
336 #if BYTE_ORDER == BIG_ENDIAN 338 u_char network_descriptor_length_hi :4;
340 u_char network_descriptor_length_hi :4;
343 u_char network_descriptor_length_lo :8;
347 #define SIZE_NIT_MID 2 350 #if BYTE_ORDER == BIG_ENDIAN 352 u_char transport_stream_loop_length_hi :4;
354 u_char transport_stream_loop_length_hi :4;
357 u_char transport_stream_loop_length_lo :8;
360 #define SIZE_NIT_END 4 369 u_char transport_stream_id_hi :8;
370 u_char transport_stream_id_lo :8;
371 u_char original_network_id_hi :8;
372 u_char original_network_id_lo :8;
373 #if BYTE_ORDER == BIG_ENDIAN 375 u_char transport_descriptors_length_hi :4;
377 u_char transport_descriptors_length_hi :4;
380 u_char transport_descriptors_length_lo :8;
415 #if BYTE_ORDER == BIG_ENDIAN 425 u_char transport_stream_id_hi :8;
426 u_char transport_stream_id_lo :8;
427 #if BYTE_ORDER == BIG_ENDIAN 429 u_char version_number :5;
430 u_char current_next_indicator :1;
432 u_char current_next_indicator :1;
433 u_char version_number :5;
436 u_char section_number :8;
437 u_char last_section_number :8;
438 u_char original_network_id_hi :8;
439 u_char original_network_id_lo :8;
443 #define GetSDTTransportStreamId(x) (HILO(((sdt_t *) x)->transport_stream_id)) 444 #define GetSDTOriginalNetworkId(x) (HILO(((sdt_t *) x)->original_network_id)) 446 #define SDT_DESCR_LEN 5 449 u_char service_id_hi :8;
450 u_char service_id_lo :8;
451 #if BYTE_ORDER == BIG_ENDIAN 453 u_char eit_schedule_flag :1;
454 u_char eit_present_following_flag :1;
455 u_char running_status :3;
456 u_char free_ca_mode :1;
457 u_char descriptors_loop_length_hi :4;
459 u_char eit_present_following_flag :1;
460 u_char eit_schedule_flag :1;
462 u_char descriptors_loop_length_hi :4;
463 u_char free_ca_mode :1;
464 u_char running_status :3;
466 u_char descriptors_loop_length_lo :8;
484 #if BYTE_ORDER == BIG_ENDIAN 494 u_char service_id_hi :8;
495 u_char service_id_lo :8;
496 #if BYTE_ORDER == BIG_ENDIAN 498 u_char version_number :5;
499 u_char current_next_indicator :1;
501 u_char current_next_indicator :1;
502 u_char version_number :5;
505 u_char section_number :8;
506 u_char last_section_number :8;
507 u_char transport_stream_id_hi :8;
508 u_char transport_stream_id_lo :8;
509 u_char original_network_id_hi :8;
510 u_char original_network_id_lo :8;
511 u_char segment_last_section_number :8;
512 u_char last_table_id :8;
515 #define EIT_EVENT_LEN 12 518 u_char event_id_hi :8;
519 u_char event_id_lo :8;
522 u_char start_time_h :8;
523 u_char start_time_m :8;
524 u_char start_time_s :8;
525 u_char duration_h :8;
526 u_char duration_m :8;
527 u_char duration_s :8;
528 #if BYTE_ORDER == BIG_ENDIAN 529 u_char running_status :3;
530 u_char free_ca_mode :1;
531 u_char descriptors_loop_length_hi :4;
533 u_char descriptors_loop_length_hi :4;
534 u_char free_ca_mode :1;
535 u_char running_status :3;
537 u_char descriptors_loop_length_lo :8;
552 #if BYTE_ORDER == BIG_ENDIAN 565 u_char transport_stream_id_hi :8;
566 u_char transport_stream_id_lo :8;
567 u_char original_network_id_hi :8;
568 u_char original_network_id_lo :8;
569 u_char service_id_hi :8;
570 u_char service_id_lo :8;
571 u_char event_id_hi :8;
572 u_char event_id_lo :8;
573 #if BYTE_ORDER == BIG_ENDIAN 575 u_char running_status :3;
577 u_char running_status :3;
596 #if BYTE_ORDER == BIG_ENDIAN 606 u_char utc_mjd_hi :8;
607 u_char utc_mjd_lo :8;
608 u_char utc_time_h :8;
609 u_char utc_time_m :8;
610 u_char utc_time_s :8;
626 #if BYTE_ORDER == BIG_ENDIAN 636 u_char utc_mjd_hi :8;
637 u_char utc_mjd_lo :8;
638 u_char utc_time_h :8;
639 u_char utc_time_m :8;
640 u_char utc_time_s :8;
641 #if BYTE_ORDER == BIG_ENDIAN 643 u_char descriptors_loop_length_hi :4;
645 u_char descriptors_loop_length_hi :4;
648 u_char descriptors_loop_length_lo :8;
695 #if BYTE_ORDER == BIG_ENDIAN 705 u_char application_type_hi :8;
706 u_char application_type_lo :8;
707 #if BYTE_ORDER == BIG_ENDIAN 709 u_char version_number :5;
710 u_char current_next_indicator :1;
712 u_char current_next_indicator :1;
713 u_char version_number :5;
716 u_char section_number :8;
717 u_char last_section_number :8;
718 #if BYTE_ORDER == BIG_ENDIAN 720 u_char common_descriptors_length_hi :4;
722 u_char common_descriptors_length_hi :4;
725 u_char common_descriptors_length_lo :8;
728 #define SIZE_AIT_MID 2 731 #if BYTE_ORDER == BIG_ENDIAN 733 u_char application_loop_length_hi :4;
735 u_char application_loop_length_hi :4;
738 u_char application_loop_length_lo :8;
741 #define SIZE_AIT_END 4 747 #define AIT_APP_LEN 9 752 u_char organisation_id_hi_hi :8;
753 u_char organisation_id_hi_lo :8;
754 u_char organisation_id_lo_hi :8;
755 u_char organisation_id_lo_lo :8;
758 u_char application_id_hi :8;
759 u_char application_id_lo :8;
760 u_char application_control_code :8;
761 #if BYTE_ORDER == BIG_ENDIAN 763 u_char application_descriptors_length_hi :4;
765 u_char application_descriptors_length_hi :4;
768 u_char application_descriptors_length_lo :8;
778 #if BYTE_ORDER == BIG_ENDIAN 792 #if BYTE_ORDER == BIG_ENDIAN 794 u_char version_number :5;
795 u_char current_next_indicator :1;
797 u_char current_next_indicator :1;
798 u_char version_number :5;
801 u_char section_number :8;
802 u_char last_section_number :8;
804 u_char contentId_hi_hi :8;
805 u_char contentId_hi_lo :8;
806 u_char contentId_lo_hi :8;
807 u_char contentId_lo_lo :8;
809 u_char duration_h :8;
810 u_char duration_m :8;
811 u_char duration_s :8;
813 #if BYTE_ORDER == BIG_ENDIAN 815 u_char descriptors_loop_length_hi :4;
817 u_char descriptors_loop_length_hi :4;
820 u_char descriptors_loop_length_lo :8;
842 #define DESCR_GEN_LEN 2 844 u_char descriptor_tag :8;
845 u_char descriptor_length :8;
848 #define GetDescriptorTag(x) (((descr_gen_t *) x)->descriptor_tag) 849 #define GetDescriptorLength(x) (((descr_gen_t *) x)->descriptor_length+DESCR_GEN_LEN) 853 #define DESCR_CA_LEN 6 855 u_char descriptor_tag :8;
856 u_char descriptor_length :8;
857 u_char CA_type_hi :8;
858 u_char CA_type_lo :8;
859 #if BYTE_ORDER == BIG_ENDIAN 871 #define DESCR_ISO_639_LANGUAGE_LEN 5 873 u_char descriptor_tag :8;
874 u_char descriptor_length :8;
878 u_char lang_code1 :8;
879 u_char lang_code2 :8;
880 u_char lang_code3 :8;
881 u_char audio_type :8;
886 #define DESCR_CAROUSEL_IDENTIFIER_LEN 7 888 u_char descriptor_tag :8;
889 u_char descriptor_length :8;
890 u_char carousel_id_hi_hi :8;
891 u_char carousel_id_hi_lo :8;
892 u_char carousel_id_lo_hi :8;
893 u_char carousel_id_lo_lo :8;
900 #define DESCR_NETWORK_NAME_LEN 2 902 u_char descriptor_tag :8;
903 u_char descriptor_length :8;
908 #define DESCR_SERVICE_LIST_LEN 2 910 u_char descriptor_tag :8;
911 u_char descriptor_length :8;
914 #define DESCR_SERVICE_LIST_LOOP_LEN 3 916 u_char service_id_hi :8;
917 u_char service_id_lo :8;
918 u_char service_type :8;
923 #define DESCR_STUFFING_LEN XX 925 u_char descriptor_tag :8;
926 u_char descriptor_length :8;
932 #define DESCR_SATELLITE_DELIVERY_SYSTEM_LEN 13 934 u_char descriptor_tag :8;
935 u_char descriptor_length :8;
936 u_char frequency_hi_hi :8;
937 u_char frequency_hi_lo :8;
938 u_char frequency_lo_hi :8;
939 u_char frequency_lo_lo :8;
940 u_char orbital_position_hi :8;
941 u_char orbital_position_lo :8;
942 #if BYTE_ORDER == BIG_ENDIAN 943 u_char west_east_flag :1;
944 u_char polarization :2;
946 u_char modulation_system :1;
947 u_char modulation_type :2;
949 u_char modulation_type :2;
950 u_char modulation_system :1;
952 u_char polarization :2;
953 u_char west_east_flag :1;
955 u_char symbol_rate_hi_hi :8;
956 u_char symbol_rate_hi_lo :8;
957 u_char symbol_rate_lo_1 :8;
958 #if BYTE_ORDER == BIG_ENDIAN 959 u_char symbol_rate_lo_2 :4;
963 u_char symbol_rate_lo_2 :4;
969 #define DESCR_CABLE_DELIVERY_SYSTEM_LEN 13 971 u_char descriptor_tag :8;
972 u_char descriptor_length :8;
973 u_char frequency_hi_hi :8;
974 u_char frequency_hi_lo :8;
975 u_char frequency_lo_hi :8;
976 u_char frequency_lo_lo :8;
978 #if BYTE_ORDER == BIG_ENDIAN 985 u_char modulation :8;
986 u_char symbol_rate_hi_hi :8;
987 u_char symbol_rate_hi_lo :8;
988 u_char symbol_rate_lo_1 :8;
989 #if BYTE_ORDER == BIG_ENDIAN 990 u_char symbol_rate_lo_2 :4;
994 u_char symbol_rate_lo_2 :4;
1000 #define DESCR_VBI_DATA_LEN XX 1002 u_char descriptor_tag :8;
1003 u_char descriptor_length :8;
1009 #define DESCR_VBI_TELETEXT_LEN XX 1011 u_char descriptor_tag :8;
1012 u_char descriptor_length :8;
1018 #define DESCR_BOUQUET_NAME_LEN 2 1020 u_char descriptor_tag :8;
1021 u_char descriptor_length :8;
1026 #define DESCR_SERVICE_LEN 4 1028 u_char descriptor_tag :8;
1029 u_char descriptor_length :8;
1030 u_char service_type :8;
1031 u_char provider_name_length :8;
1035 u_char service_name_length :8;
1040 #define DESCR_COUNTRY_AVAILABILITY_LEN 3 1042 u_char descriptor_tag :8;
1043 u_char descriptor_length :8;
1044 #if BYTE_ORDER == BIG_ENDIAN 1045 u_char country_availability_flag :1;
1049 u_char country_availability_flag :1;
1055 #define DESCR_LINKAGE_LEN 9 1057 u_char descriptor_tag :8;
1058 u_char descriptor_length :8;
1059 u_char transport_stream_id_hi :8;
1060 u_char transport_stream_id_lo :8;
1061 u_char original_network_id_hi :8;
1062 u_char original_network_id_lo :8;
1063 u_char service_id_hi :8;
1064 u_char service_id_lo :8;
1065 u_char linkage_type :8;
1068 #define DESCR_LINKAGE_8_LEN 3 1070 #if BYTE_ORDER == BIG_ENDIAN 1071 u_char hand_over_type :4;
1073 u_char origin_type :1;
1075 u_char origin_type :1;
1077 u_char hand_over_type :4;
1085 #define DESCR_NVOD_REFERENCE_LEN 2 1087 u_char descriptor_tag :8;
1088 u_char descriptor_length :8;
1091 #define ITEM_NVOD_REFERENCE_LEN 6 1093 u_char transport_stream_id_hi :8;
1094 u_char transport_stream_id_lo :8;
1095 u_char original_network_id_hi :8;
1096 u_char original_network_id_lo :8;
1097 u_char service_id_hi :8;
1098 u_char service_id_lo :8;
1103 #define DESCR_TIME_SHIFTED_SERVICE_LEN 4 1105 u_char descriptor_tag :8;
1106 u_char descriptor_length :8;
1107 u_char reference_service_id_hi :8;
1108 u_char reference_service_id_lo :8;
1113 #define DESCR_SHORT_EVENT_LEN 6 1115 u_char descriptor_tag :8;
1116 u_char descriptor_length :8;
1117 u_char lang_code1 :8;
1118 u_char lang_code2 :8;
1119 u_char lang_code3 :8;
1120 u_char event_name_length :8;
1124 u_char text_length :8;
1129 #define DESCR_EXTENDED_EVENT_LEN 7 1131 u_char descriptor_tag :8;
1132 u_char descriptor_length :8;
1134 #if BYTE_ORDER == BIG_ENDIAN 1135 u_char descriptor_number :4;
1136 u_char last_descriptor_number :4;
1138 u_char last_descriptor_number :4;
1139 u_char descriptor_number :4;
1141 u_char lang_code1 :8;
1142 u_char lang_code2 :8;
1143 u_char lang_code3 :8;
1144 u_char length_of_items :8;
1148 u_char text_length :8;
1151 #define ITEM_EXTENDED_EVENT_LEN 1 1153 u_char item_description_length :8;
1157 u_char item_length :8;
1162 #define DESCR_TIME_SHIFTED_EVENT_LEN 6 1164 u_char descriptor_tag :8;
1165 u_char descriptor_length :8;
1166 u_char reference_service_id_hi :8;
1167 u_char reference_service_id_lo :8;
1168 u_char reference_event_id_hi :8;
1169 u_char reference_event_id_lo :8;
1174 #define DESCR_COMPONENT_LEN 8 1176 u_char descriptor_tag :8;
1177 u_char descriptor_length :8;
1178 #if BYTE_ORDER == BIG_ENDIAN 1180 u_char stream_content :4;
1182 u_char stream_content :4;
1185 u_char component_type :8;
1186 u_char component_tag :8;
1187 u_char lang_code1 :8;
1188 u_char lang_code2 :8;
1189 u_char lang_code3 :8;
1194 #define DESCR_MOSAIC_LEN XX 1196 u_char descriptor_tag :8;
1197 u_char descriptor_length :8;
1203 #define DESCR_STREAM_IDENTIFIER_LEN 3 1205 u_char descriptor_tag :8;
1206 u_char descriptor_length :8;
1207 u_char component_tag :8;
1212 #define DESCR_CA_IDENTIFIER_LEN 2 1214 u_char descriptor_tag :8;
1215 u_char descriptor_length :8;
1220 #define DESCR_CONTENT_LEN 2 1222 u_char descriptor_tag :8;
1223 u_char descriptor_length :8;
1227 #if BYTE_ORDER == BIG_ENDIAN 1228 u_char content_nibble_level_1 :4;
1229 u_char content_nibble_level_2 :4;
1231 u_char content_nibble_level_2 :4;
1232 u_char content_nibble_level_1 :4;
1234 #if BYTE_ORDER == BIG_ENDIAN 1235 u_char user_nibble_1 :4;
1236 u_char user_nibble_2 :4;
1238 u_char user_nibble_2 :4;
1239 u_char user_nibble_1 :4;
1245 #define DESCR_PARENTAL_RATING_LEN 2 1247 u_char descriptor_tag :8;
1248 u_char descriptor_length :8;
1251 #define PARENTAL_RATING_LEN 4 1253 u_char lang_code1 :8;
1254 u_char lang_code2 :8;
1255 u_char lang_code3 :8;
1261 #define DESCR_TELETEXT_LEN 2 1263 u_char descriptor_tag :8;
1264 u_char descriptor_length :8;
1267 #define ITEM_TELETEXT_LEN 5 1269 u_char lang_code1 :8;
1270 u_char lang_code2 :8;
1271 u_char lang_code3 :8;
1272 #if BYTE_ORDER == BIG_ENDIAN 1274 u_char magazine_number :3;
1276 u_char magazine_number :3;
1279 u_char page_number :8;
1284 #define DESCR_TELEPHONE_LEN XX 1286 u_char descriptor_tag :8;
1287 u_char descriptor_length :8;
1293 #define DESCR_LOCAL_TIME_OFFSET_LEN 2 1295 u_char descriptor_tag :8;
1296 u_char descriptor_length :8;
1299 #define LOCAL_TIME_OFFSET_ENTRY_LEN 15 1301 u_char country_code1 :8;
1302 u_char country_code2 :8;
1303 u_char country_code3 :8;
1304 #if BYTE_ORDER == BIG_ENDIAN 1305 u_char country_region_id :6;
1307 u_char local_time_offset_polarity :1;
1309 u_char local_time_offset_polarity :1;
1311 u_char country_region_id :6;
1313 u_char local_time_offset_h :8;
1314 u_char local_time_offset_m :8;
1315 u_char time_of_change_mjd_hi :8;
1316 u_char time_of_change_mjd_lo :8;
1317 u_char time_of_change_time_h :8;
1318 u_char time_of_change_time_m :8;
1319 u_char time_of_change_time_s :8;
1320 u_char next_time_offset_h :8;
1321 u_char next_time_offset_m :8;
1326 #define DESCR_SUBTITLING_LEN 2 1328 u_char descriptor_tag :8;
1329 u_char descriptor_length :8;
1332 #define ITEM_SUBTITLING_LEN 8 1334 u_char lang_code1 :8;
1335 u_char lang_code2 :8;
1336 u_char lang_code3 :8;
1337 u_char subtitling_type :8;
1338 u_char composition_page_id_hi :8;
1339 u_char composition_page_id_lo :8;
1340 u_char ancillary_page_id_hi :8;
1341 u_char ancillary_page_id_lo :8;
1346 #define DESCR_TERRESTRIAL_DELIVERY_SYSTEM_LEN XX 1348 u_char descriptor_tag :8;
1349 u_char descriptor_length :8;
1350 u_char frequency_hi_hi :8;
1351 u_char frequency_hi_lo :8;
1352 u_char frequency_lo_hi :8;
1353 u_char frequency_lo_lo :8;
1354 #if BYTE_ORDER == BIG_ENDIAN 1355 u_char bandwidth :3;
1357 u_char time_slicing_indicator :1;
1358 u_char mpe_fec_indicator :1;
1359 u_char reserved1 :2;
1361 u_char reserved1 :2;
1362 u_char mpe_fec_indicator :1;
1363 u_char time_slicing_indicator :1;
1365 u_char bandwidth :3;
1367 #if BYTE_ORDER == BIG_ENDIAN 1368 u_char constellation :2;
1369 u_char hierarchy :3;
1370 u_char code_rate_HP :3;
1372 u_char code_rate_HP :3;
1373 u_char hierarchy :3;
1374 u_char constellation :2;
1376 #if BYTE_ORDER == BIG_ENDIAN 1377 u_char code_rate_LP :3;
1378 u_char guard_interval :2;
1379 u_char transmission_mode :2;
1380 u_char other_frequency_flag :1;
1382 u_char other_frequency_flag :1;
1383 u_char transmission_mode :2;
1384 u_char guard_interval :2;
1385 u_char code_rate_LP :3;
1387 u_char reserver2 :8;
1388 u_char reserver3 :8;
1389 u_char reserver4 :8;
1390 u_char reserver5 :8;
1395 #define DESCR_MULTILINGUAL_NETWORK_NAME_LEN XX 1397 u_char descriptor_tag :8;
1398 u_char descriptor_length :8;
1402 u_char lang_code1 :8;
1403 u_char lang_code2 :8;
1404 u_char lang_code3 :8;
1405 u_char text_length :8;
1410 #define DESCR_MULTILINGUAL_BOUQUET_NAME_LEN XX 1412 u_char descriptor_tag :8;
1413 u_char descriptor_length :8;
1418 #define DESCR_MULTILINGUAL_SERVICE_NAME_LEN XX 1420 u_char descriptor_tag :8;
1421 u_char descriptor_length :8;
1425 u_char service_name_length :8;
1430 #define DESCR_MULTILINGUAL_COMPONENT_LEN XX 1432 u_char descriptor_tag :8;
1433 u_char descriptor_length :8;
1434 u_char component_tag :8;
1439 #define DESCR_PRIVATE_DATA_SPECIFIER_LEN XX 1441 u_char descriptor_tag :8;
1442 u_char descriptor_length :8;
1443 u_char private_data_specifier_hi_hi :8;
1444 u_char private_data_specifier_hi_lo :8;
1445 u_char private_data_specifier_lo_hi :8;
1446 u_char private_data_specifier_lo_lo :8;
1451 #define DESCR_SERVICE_MOVE_LEN XX 1453 u_char descriptor_tag :8;
1454 u_char descriptor_length :8;
1455 u_char new_original_network_id_hi :8;
1456 u_char new_original_network_id_lo :8;
1457 u_char new_transport_stream_id_hi :8;
1458 u_char new_transport_stream_id_lo :8;
1459 u_char new_service_id_hi :8;
1460 u_char new_service_id_lo :8;
1465 #define DESCR_SHORT_SMOOTHING_BUFFER_LEN XX 1467 u_char descriptor_tag :8;
1468 u_char descriptor_length :8;
1474 #define DESCR_FREQUENCY_LIST_LEN XX 1476 u_char descriptor_tag :8;
1477 u_char descriptor_length :8;
1478 #if BYTE_ORDER == BIG_ENDIAN 1480 u_char coding_type :2;
1482 u_char coding_type :2;
1489 #define DESCR_PARTIAL_TRANSPORT_STREAM_LEN XX 1491 u_char descriptor_tag :8;
1492 u_char descriptor_length :8;
1498 #define DESCR_DATA_BROADCAST_LEN XX 1500 u_char descriptor_tag :8;
1501 u_char descriptor_length :8;
1507 #define DESCR_SCRAMBLING_LEN XX 1509 u_char descriptor_tag :8;
1510 u_char descriptor_length :8;
1516 #define DESCR_DATA_BROADCAST_ID_LEN XX 1518 u_char descriptor_tag :8;
1519 u_char descriptor_length :8;
1525 #define DESCR_TRANSPORT_STREAM_LEN XX 1527 u_char descriptor_tag :8;
1528 u_char descriptor_length :8;
1534 #define DESCR_DSNG_LEN XX 1536 u_char descriptor_tag :8;
1537 u_char descriptor_length :8;
1543 #define DESCR_PDC_LEN 5 1545 u_char descriptor_tag :8;
1546 u_char descriptor_length :8;
1554 #define DESCR_AC3_LEN 3 1556 u_char descriptor_tag :8;
1557 u_char descriptor_length :8;
1558 #if BYTE_ORDER == BIG_ENDIAN 1559 u_char ac3_type_flag :1;
1560 u_char bsid_flag :1;
1561 u_char mainid_flag :1;
1562 u_char asvc_flag :1;
1566 u_char asvc_flag :1;
1567 u_char mainid_flag :1;
1568 u_char bsid_flag :1;
1569 u_char ac3_type_flag :1;
1579 #define DESCR_ANCILLARY_DATA_LEN 3 1581 u_char descriptor_tag :8;
1582 u_char descriptor_length :8;
1583 u_char ancillary_data_identifier :8;
1588 #define DESCR_CELL_LIST_LEN XX 1590 u_char descriptor_tag :8;
1591 u_char descriptor_length :8;
1597 #define DESCR_CELL_FREQUENCY_LINK_LEN XX 1599 u_char descriptor_tag :8;
1600 u_char descriptor_length :8;
1606 #define DESCR_ANNOUNCEMENT_SUPPORT_LEN XX 1608 u_char descriptor_tag :8;
1609 u_char descriptor_length :8;
1615 #define DESCR_APPLICATION_SIGNALLING_LEN 2 1617 u_char descriptor_tag :8;
1618 u_char descriptor_length :8;
1621 #define APPLICATION_SIGNALLING_ENTRY_LEN 3 1623 u_char application_type_hi :8;
1624 u_char application_type_lo :8;
1625 #if BYTE_ORDER == BIG_ENDIAN 1627 u_char AIT_version_number :5;
1629 u_char AIT_version_number :5;
1637 u_char descriptor_tag :8;
1638 u_char descriptor_length :8;
1644 u_char descriptor_tag :8;
1645 u_char descriptor_length :8;
1646 #if BYTE_ORDER == BIG_ENDIAN 1647 u_char availability_flag :1;
1651 u_char availability_flag :1;
1658 u_char descriptor_tag :8;
1659 u_char descriptor_length :8;
1665 u_char descriptor_tag :8;
1666 u_char descriptor_length :8;
1672 u_char descriptor_tag :8;
1673 u_char descriptor_length :8;
1679 u_char descriptor_tag :8;
1680 u_char descriptor_length :8;
1684 #if BYTE_ORDER == BIG_ENDIAN 1685 u_char crid_type :6;
1686 u_char crid_location :2;
1688 u_char crid_location :2;
1689 u_char crid_type :6;
1692 u_char crid_length :8;
1693 u_char crid_ref_hi :8;
1696 u_char crid_byte :8;
1697 u_char crid_ref_lo :8;
1704 u_char descriptor_tag :8;
1705 u_char descriptor_length :8;
1706 #if BYTE_ORDER == BIG_ENDIAN 1707 u_char time_slicing :1;
1710 u_char frame_size :3;
1712 u_char frame_size :3;
1715 u_char time_slicing :1;
1717 u_char max_burst_duration :8;
1718 #if BYTE_ORDER == BIG_ENDIAN 1719 u_char max_average_rate :4;
1720 u_char time_slice_fec_id :4;
1722 u_char time_slice_fec_id :4;
1723 u_char max_average_rate :4;
1730 u_char descriptor_tag :8;
1731 u_char descriptor_length :8;
1732 u_char ca_system_id_hi :8;
1733 u_char ca_system_id_lo :8;
1734 u_char ecm_repetition_rate_hi :8;
1735 u_char ecm_repetition_rate_lo :8;
1741 u_char descriptor_tag :8;
1742 u_char descriptor_length :8;
1743 #if BYTE_ORDER == BIG_ENDIAN 1744 u_char scrambling_sequence_selector :1;
1745 u_char multiple_input_stream_flag :1;
1746 u_char backwards_compatibility_indicator :1;
1750 u_char backwards_compatibility_indicator :1;
1751 u_char multiple_input_stream_flag :1;
1752 u_char scrambling_sequence_selector :1;
1757 #if BYTE_ORDER == BIG_ENDIAN 1759 u_char scrambling_sequence_index_hi_lo :2;
1761 u_char scrambling_sequence_index_hi_lo :2;
1764 u_char scrambling_sequence_index_lo_hi :8;
1765 u_char scrambling_sequence_index_lo_lo :8;
1771 u_char descriptor_tag :8;
1772 u_char descriptor_length :8;
1773 #if BYTE_ORDER == BIG_ENDIAN 1774 u_char component_type_flag :1;
1775 u_char bsid_flag :1;
1776 u_char mainid_flag :1;
1777 u_char asvc_flag :1;
1778 u_char mixinfoexists :1;
1779 u_char substream1_flag :1;
1780 u_char substream2_flag :1;
1781 u_char substream3_flag :1;
1783 u_char substream3_flag :1;
1784 u_char substream2_flag :1;
1785 u_char substream1_flag :1;
1786 u_char mixinfoexists :1;
1787 u_char asvc_flag :1;
1788 u_char mainid_flag :1;
1789 u_char bsid_flag :1;
1790 u_char component_type_flag :1;
1797 u_char descriptor_tag :8;
1798 u_char descriptor_length :8;
1799 #if BYTE_ORDER == BIG_ENDIAN 1800 u_char sample_rate_code :4;
1801 u_char bit_rate_code :6;
1805 u_char surround_mode :6;
1807 u_char extended_surround_flag :2;
1809 u_char extended_surround_flag :2;
1811 u_char surround_mode :6;
1815 u_char bit_rate_code :6;
1816 u_char sample_rate_code :4;
1823 u_char descriptor_tag :8;
1824 u_char descriptor_length :8;
1825 u_char profile_and_level :8;
1826 #if BYTE_ORDER == BIG_ENDIAN 1827 u_char aac_type_flag :1;
1831 u_char aac_type_flag :1;
1837 u_char descriptor_tag :8;
1838 u_char descriptor_length :8;
1839 u_char descriptor_tag_extension :8;
1845 u_char descriptor_tag :8;
1846 u_char descriptor_length :8;
1847 u_char descriptor_tag_extension :8;
1849 u_char t2_system_id_hi :8;
1850 u_char t2_system_id_lo :8;
1851 #if BYTE_ORDER == BIG_ENDIAN 1852 u_char siso_miso :2;
1853 u_char bandwidth :4;
1855 u_char guard_interval :3;
1856 u_char transmission_mode :3;
1857 u_char other_frequency_flag :1;
1861 u_char bandwidth :4;
1862 u_char siso_miso :2;
1864 u_char other_frequency_flag :1;
1865 u_char transmission_mode :3;
1866 u_char guard_interval :3;
1875 #define DESCR_LOGICAL_CHANNEL_LEN 2 1877 u_char descriptor_tag :8;
1878 u_char descriptor_length :8;
1881 #define ITEM_LOGICAL_CHANNEL_LEN 4 1883 u_char service_id_hi :8;
1884 u_char service_id_lo :8;
1885 #if BYTE_ORDER == BIG_ENDIAN 1886 u_char visible_service_flag :1;
1888 u_char logical_channel_number_hi :2;
1890 u_char logical_channel_number_hi :2;
1892 u_char visible_service_flag :1;
1894 u_char logical_channel_number_lo :8;
1899 #define DESCR_HD_SIMULCAST_LOGICAL_CHANNEL_LEN 2 1901 u_char descriptor_tag :8;
1902 u_char descriptor_length :8;
1905 #define ITEM_HD_SIMULCAST_LOGICAL_CHANNEL_LEN 4 1907 u_char service_id_hi :8;
1908 u_char service_id_lo :8;
1909 #if BYTE_ORDER == BIG_ENDIAN 1910 u_char visible_service_flag :1;
1912 u_char logical_channel_number_hi :2;
1914 u_char logical_channel_number_hi :2;
1916 u_char visible_service_flag :1;
1918 u_char logical_channel_number_lo :8;
1923 #define DESCR_APPLICATION_LEN 3 1926 u_char descriptor_tag :8;
1927 u_char descriptor_length :8;
1928 u_char application_profiles_length :8;
1931 #define DESCR_APPLICATION_END_LEN 2 1934 #if BYTE_ORDER == BIG_ENDIAN 1935 u_char service_bound_flag :1;
1936 u_char visibility :2;
1940 u_char visibility :2;
1941 u_char service_bound_flag :1;
1943 u_char application_priority :8;
1947 #define APPLICATION_PROFILE_ENTRY_LEN 5 1950 u_char application_profile_hi :8;
1951 u_char application_profile_lo :8;
1952 u_char version_major :8;
1953 u_char version_minor :8;
1954 u_char version_micro :8;
1959 #define DESCR_APPLICATION_NAME_LEN 2 1962 u_char descriptor_tag :8;
1963 u_char descriptor_length :8;
1966 #define APPLICATION_NAME_ENTRY_LEN 4 1969 u_char lang_code1 :8;
1970 u_char lang_code2 :8;
1971 u_char lang_code3 :8;
1972 u_char application_name_length :8;
1978 #define DESCR_TRANSPORT_PROTOCOL_LEN 5 1981 u_char descriptor_tag :8;
1982 u_char descriptor_length :8;
1983 u_char protocol_id_hi :8;
1984 u_char protocol_id_lo :8;
1985 u_char transport_protocol_label :8;
1990 u_char url_extension_length :8;
1994 #define TRANSPORT_VIA_OC_LEN 1 1997 #if BYTE_ORDER == BIG_ENDIAN 2009 #define TRANSPORT_VIA_OC_REMOTE_END_LEN 7 2012 u_char original_network_id_hi :8;
2013 u_char original_network_id_lo :8;
2014 u_char transport_stream_id_hi :8;
2015 u_char transport_stream_id_lo :8;
2016 u_char service_id_hi :8;
2017 u_char service_id_lo :8;
2018 u_char component_tag :8;
2021 #define TRANSPORT_VIA_OC_END_LEN 1 2024 u_char component_tag :8;
2027 #define TRANSPORT_VIA_HTTP_LEN 1 2030 u_char url_base_length :8;
2035 #define DESCR_DVBJ_APPLICATION_LEN 2 2038 u_char descriptor_tag :8;
2039 u_char descriptor_length :8;
2042 #define DESCR_DVBJ_APPLICATION_ENTRY_LEN 1 2045 u_char parameter_length :8;
2051 #define DESCR_DVBJ_APPLICATION_LOCATION_LEN 3 2054 u_char descriptor_tag :8;
2055 u_char descriptor_length :8;
2056 u_char base_directory_length :8;
2060 #define DESCR_DVBJ_APPLICATION_LOCATION_MID_LEN 1 2063 u_char classpath_extension_length :8;
2068 #define DESCR_APPLICATION_ICONS_LEN 3 2071 u_char descriptor_tag :8;
2072 u_char descriptor_length :8;
2073 u_char icon_locator_length :8;
2077 #define DESCR_APPLICATION_ICONS_END_LEN 2 2080 u_char icon_flags_hi :8;
2081 u_char icon_flags_lo :8;
2086 #define DESCR_SIMPLE_APPLICATION_LOCATION_LEN 3 2089 u_char descriptor_tag :8;
2090 u_char descriptor_length :8;
2098 #define DESCR_PREMIERE_CONTENT_TRANSMISSION_LEN 8 2101 u_char descriptor_tag :8;
2102 u_char descriptor_length :8;
2103 u_char transport_stream_id_hi :8;
2104 u_char transport_stream_id_lo :8;
2105 u_char original_network_id_hi :8;
2106 u_char original_network_id_lo :8;
2107 u_char service_id_hi :8;
2108 u_char service_id_lo :8;
2111 #define ITEM_PREMIERE_CONTENT_TRANSMISSION_DAY_LEN 3 2116 u_char start_time_loop :8;
2119 #define ITEM_PREMIERE_CONTENT_TRANSMISSION_TIME_LEN 3 2122 u_char start_time_h :8;
2123 u_char start_time_m :8;
2124 u_char start_time_s :8;
2129 #define DESCR_REGISTRATION_LEN 6 2131 u_char descriptor_tag :8;
2132 u_char descriptor_length :8;
2133 u_char format_identifier_hi_hi :8;
2134 u_char format_identifier_hi_lo :8;
2135 u_char format_identifier_lo_hi :8;
2136 u_char format_identifier_lo_lo :8;
2141 #define DESCR_AVC_LEN 6 2143 u_char descriptor_tag :8;
2144 u_char descriptor_length :8;
2145 u_char profile_idc :8;
2146 u_char constraint_set0_flag :1;
2147 u_char constraint_set1_flag :1;
2148 u_char constraint_set2_flag :1;
2149 u_char constraint_set3_flag :1;
2150 u_char constraint_set4_flag :1;
2151 u_char constraint_set5_flag :1;
2152 u_char avc_compatible_flags :2;
2153 u_char level_idc :8;
2154 u_char avc_still_present :1;
2155 u_char avc_24_hour_picture_flag :1;
2156 u_char frame_packing_sei_not_present_flag :1;
2162 #endif //LIBSI_HEADERS_H