17#ifndef LIBSI_HEADERS_H
18#define LIBSI_HEADERS_H
28#if BYTE_ORDER == BIG_ENDIAN
42#if BYTE_ORDER == BIG_ENDIAN
54#if BYTE_ORDER == BIG_ENDIAN
93#if BYTE_ORDER == BIG_ENDIAN
107#if BYTE_ORDER == BIG_ENDIAN
120#define PAT_PROG_LEN 4
125#if BYTE_ORDER == BIG_ENDIAN
150#if BYTE_ORDER == BIG_ENDIAN
164#if BYTE_ORDER == BIG_ENDIAN
191#if BYTE_ORDER == BIG_ENDIAN
205#if BYTE_ORDER == BIG_ENDIAN
216#if BYTE_ORDER == BIG_ENDIAN
224#if BYTE_ORDER == BIG_ENDIAN
235#define PMT_INFO_LEN 5
239#if BYTE_ORDER == BIG_ENDIAN
247#if BYTE_ORDER == BIG_ENDIAN
272#if BYTE_ORDER == BIG_ENDIAN
286#if BYTE_ORDER == BIG_ENDIAN
313#if BYTE_ORDER == BIG_ENDIAN
325#if BYTE_ORDER == BIG_ENDIAN
336#if BYTE_ORDER == BIG_ENDIAN
347#define SIZE_NIT_MID 2
350#if BYTE_ORDER == BIG_ENDIAN
360#define SIZE_NIT_END 4
373#if BYTE_ORDER == BIG_ENDIAN
415#if BYTE_ORDER == BIG_ENDIAN
427#if BYTE_ORDER == BIG_ENDIAN
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
451#if BYTE_ORDER == BIG_ENDIAN
484#if BYTE_ORDER == BIG_ENDIAN
496#if BYTE_ORDER == BIG_ENDIAN
515#define EIT_EVENT_LEN 12
528#if BYTE_ORDER == BIG_ENDIAN
552#if BYTE_ORDER == BIG_ENDIAN
573#if BYTE_ORDER == BIG_ENDIAN
596#if BYTE_ORDER == BIG_ENDIAN
626#if BYTE_ORDER == BIG_ENDIAN
641#if BYTE_ORDER == BIG_ENDIAN
695#if BYTE_ORDER == BIG_ENDIAN
707#if BYTE_ORDER == BIG_ENDIAN
718#if BYTE_ORDER == BIG_ENDIAN
728#define SIZE_AIT_MID 2
731#if BYTE_ORDER == BIG_ENDIAN
741#define SIZE_AIT_END 4
761#if BYTE_ORDER == BIG_ENDIAN
778#if BYTE_ORDER == BIG_ENDIAN
792#if BYTE_ORDER == BIG_ENDIAN
813#if BYTE_ORDER == BIG_ENDIAN
842#define DESCR_GEN_LEN 2
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
859#if BYTE_ORDER == BIG_ENDIAN
871#define DESCR_ISO_639_LANGUAGE_LEN 5
886#define DESCR_CAROUSEL_IDENTIFIER_LEN 7
900#define DESCR_NETWORK_NAME_LEN 2
908#define DESCR_SERVICE_LIST_LEN 2
914#define DESCR_SERVICE_LIST_LOOP_LEN 3
923#define DESCR_STUFFING_LEN XX
932#define DESCR_SATELLITE_DELIVERY_SYSTEM_LEN 13
942#if BYTE_ORDER == BIG_ENDIAN
958#if BYTE_ORDER == BIG_ENDIAN
969#define DESCR_CABLE_DELIVERY_SYSTEM_LEN 13
978#if BYTE_ORDER == BIG_ENDIAN
989#if BYTE_ORDER == BIG_ENDIAN
1000#define DESCR_VBI_DATA_LEN XX
1009#define DESCR_VBI_TELETEXT_LEN XX
1018#define DESCR_BOUQUET_NAME_LEN 2
1026#define DESCR_SERVICE_LEN 4
1040#define DESCR_COUNTRY_AVAILABILITY_LEN 3
1044#if BYTE_ORDER == BIG_ENDIAN
1055#define DESCR_LINKAGE_LEN 9
1068#define DESCR_LINKAGE_8_LEN 3
1070#if BYTE_ORDER == BIG_ENDIAN
1085#define DESCR_NVOD_REFERENCE_LEN 2
1091#define ITEM_NVOD_REFERENCE_LEN 6
1103#define DESCR_TIME_SHIFTED_SERVICE_LEN 4
1113#define DESCR_SHORT_EVENT_LEN 6
1129#define DESCR_EXTENDED_EVENT_LEN 7
1134#if BYTE_ORDER == BIG_ENDIAN
1151#define ITEM_EXTENDED_EVENT_LEN 1
1162#define DESCR_TIME_SHIFTED_EVENT_LEN 6
1174#define DESCR_COMPONENT_LEN 8
1178#if BYTE_ORDER == BIG_ENDIAN
1194#define DESCR_MOSAIC_LEN XX
1203#define DESCR_STREAM_IDENTIFIER_LEN 3
1212#define DESCR_CA_IDENTIFIER_LEN 2
1220#define DESCR_CONTENT_LEN 2
1227#if BYTE_ORDER == BIG_ENDIAN
1234#if BYTE_ORDER == BIG_ENDIAN
1245#define DESCR_PARENTAL_RATING_LEN 2
1251#define PARENTAL_RATING_LEN 4
1261#define DESCR_TELETEXT_LEN 2
1267#define ITEM_TELETEXT_LEN 5
1272#if BYTE_ORDER == BIG_ENDIAN
1284#define DESCR_TELEPHONE_LEN XX
1293#define DESCR_LOCAL_TIME_OFFSET_LEN 2
1299#define LOCAL_TIME_OFFSET_ENTRY_LEN 15
1304#if BYTE_ORDER == BIG_ENDIAN
1326#define DESCR_SUBTITLING_LEN 2
1332#define ITEM_SUBTITLING_LEN 8
1346#define DESCR_TERRESTRIAL_DELIVERY_SYSTEM_LEN XX
1354#if BYTE_ORDER == BIG_ENDIAN
1367#if BYTE_ORDER == BIG_ENDIAN
1376#if BYTE_ORDER == BIG_ENDIAN
1395#define DESCR_MULTILINGUAL_NETWORK_NAME_LEN XX
1410#define DESCR_MULTILINGUAL_BOUQUET_NAME_LEN XX
1418#define DESCR_MULTILINGUAL_SERVICE_NAME_LEN XX
1430#define DESCR_MULTILINGUAL_COMPONENT_LEN XX
1439#define DESCR_PRIVATE_DATA_SPECIFIER_LEN XX
1451#define DESCR_SERVICE_MOVE_LEN XX
1465#define DESCR_SHORT_SMOOTHING_BUFFER_LEN XX
1474#define DESCR_FREQUENCY_LIST_LEN XX
1478#if BYTE_ORDER == BIG_ENDIAN
1489#define DESCR_PARTIAL_TRANSPORT_STREAM_LEN XX
1498#define DESCR_DATA_BROADCAST_LEN XX
1507#define DESCR_SCRAMBLING_LEN XX
1516#define DESCR_DATA_BROADCAST_ID_LEN XX
1525#define DESCR_TRANSPORT_STREAM_LEN XX
1534#define DESCR_DSNG_LEN XX
1543#define DESCR_PDC_LEN 5
1554#define DESCR_AC3_LEN 3
1558#if BYTE_ORDER == BIG_ENDIAN
1579#define DESCR_ANCILLARY_DATA_LEN 3
1588#define DESCR_CELL_LIST_LEN XX
1597#define DESCR_CELL_FREQUENCY_LINK_LEN XX
1606#define DESCR_ANNOUNCEMENT_SUPPORT_LEN XX
1615#define DESCR_APPLICATION_SIGNALLING_LEN 2
1621#define APPLICATION_SIGNALLING_ENTRY_LEN 3
1625#if BYTE_ORDER == BIG_ENDIAN
1646#if BYTE_ORDER == BIG_ENDIAN
1684#if BYTE_ORDER == BIG_ENDIAN
1706#if BYTE_ORDER == BIG_ENDIAN
1718#if BYTE_ORDER == BIG_ENDIAN
1743#if BYTE_ORDER == BIG_ENDIAN
1757#if BYTE_ORDER == BIG_ENDIAN
1773#if BYTE_ORDER == BIG_ENDIAN
1799#if BYTE_ORDER == BIG_ENDIAN
1826#if BYTE_ORDER == BIG_ENDIAN
1851#if BYTE_ORDER == BIG_ENDIAN
1875#define DESCR_LOGICAL_CHANNEL_LEN 2
1881#define ITEM_LOGICAL_CHANNEL_LEN 4
1885#if BYTE_ORDER == BIG_ENDIAN
1899#define DESCR_HD_SIMULCAST_LOGICAL_CHANNEL_LEN 2
1905#define ITEM_HD_SIMULCAST_LOGICAL_CHANNEL_LEN 4
1909#if BYTE_ORDER == BIG_ENDIAN
1923#define DESCR_APPLICATION_LEN 3
1931#define DESCR_APPLICATION_END_LEN 2
1934#if BYTE_ORDER == BIG_ENDIAN
1947#define APPLICATION_PROFILE_ENTRY_LEN 5
1959#define DESCR_APPLICATION_NAME_LEN 2
1966#define APPLICATION_NAME_ENTRY_LEN 4
1978#define DESCR_TRANSPORT_PROTOCOL_LEN 5
1994#define TRANSPORT_VIA_OC_LEN 1
1997#if BYTE_ORDER == BIG_ENDIAN
2009#define TRANSPORT_VIA_OC_REMOTE_END_LEN 7
2021#define TRANSPORT_VIA_OC_END_LEN 1
2027#define TRANSPORT_VIA_HTTP_LEN 1
2035#define DESCR_DVBJ_APPLICATION_LEN 2
2042#define DESCR_DVBJ_APPLICATION_ENTRY_LEN 1
2051#define DESCR_DVBJ_APPLICATION_LOCATION_LEN 3
2060#define DESCR_DVBJ_APPLICATION_LOCATION_MID_LEN 1
2068#define DESCR_APPLICATION_ICONS_LEN 3
2077#define DESCR_APPLICATION_ICONS_END_LEN 2
2086#define DESCR_SIMPLE_APPLICATION_LOCATION_LEN 3
2098#define DESCR_PREMIERE_CONTENT_TRANSMISSION_LEN 8
2111#define ITEM_PREMIERE_CONTENT_TRANSMISSION_DAY_LEN 3
2119#define ITEM_PREMIERE_CONTENT_TRANSMISSION_TIME_LEN 3
2129#define DESCR_REGISTRATION_LEN 6
2141#define DESCR_AVC_LEN 6
u_char application_descriptors_length_hi
u_char organisation_id_lo_lo
u_char organisation_id_lo_hi
u_char application_descriptors_length_lo
u_char application_control_code
u_char organisation_id_hi_hi
u_char organisation_id_hi_lo
u_char application_loop_length_lo
u_char application_loop_length_hi
u_char common_descriptors_length_hi
u_char last_section_number
u_char application_type_hi
u_char section_syntax_indicator
u_char current_next_indicator
u_char application_type_lo
u_char common_descriptors_length_lo
u_char application_profile_hi
u_char application_profile_lo
u_char application_type_hi
u_char AIT_version_number
u_char application_type_lo
u_char section_syntax_indicator
u_char last_section_number
u_char current_next_indicator
u_char ancillary_data_identifier
u_char service_bound_flag
u_char application_priority
u_char icon_locator_length
u_char application_name_length
u_char application_profiles_length
u_char constraint_set4_flag
u_char frame_packing_sei_not_present_flag
u_char constraint_set1_flag
u_char constraint_set2_flag
u_char constraint_set3_flag
u_char constraint_set5_flag
u_char avc_24_hour_picture_flag
u_char avc_compatible_flags
u_char constraint_set0_flag
u_char stream_content_ext
u_char country_availability_flag
u_char extended_surround_flag
u_char classpath_extension_length
u_char base_directory_length
u_char ecm_repetition_rate_hi
u_char ecm_repetition_rate_lo
u_char component_type_flag
u_char last_descriptor_number
u_char descriptor_tag_extension
u_char original_network_id_lo
u_char transport_stream_id_hi
u_char original_network_id_hi
u_char transport_stream_id_lo
u_char transport_stream_id_hi
u_char transport_stream_id_lo
u_char original_network_id_lo
u_char original_network_id_hi
u_char private_data_specifier_lo_lo
u_char private_data_specifier_hi_hi
u_char private_data_specifier_lo_hi
u_char private_data_specifier_hi_lo
u_char format_identifier_lo_lo
u_char format_identifier_hi_lo
u_char format_identifier_hi_hi
u_char format_identifier_lo_hi
u_char backwards_compatibility_indicator
u_char multiple_input_stream_flag
u_char scrambling_sequence_selector
u_char orbital_position_lo
u_char orbital_position_hi
u_char scrambling_sequence_index_hi_lo
u_char scrambling_sequence_index_lo_lo
u_char scrambling_sequence_index_lo_hi
u_char service_name_length
u_char new_transport_stream_id_hi
u_char new_original_network_id_hi
u_char new_original_network_id_lo
u_char new_transport_stream_id_lo
u_char provider_name_length
u_char other_frequency_flag
u_char descriptor_tag_extension
u_char other_frequency_flag
u_char time_slicing_indicator
u_char reference_event_id_lo
u_char reference_service_id_lo
u_char reference_event_id_hi
u_char reference_service_id_hi
u_char reference_service_id_hi
u_char reference_service_id_lo
u_char max_burst_duration
u_char transport_protocol_label
u_char url_extension_length
u_char descriptors_loop_length_hi
u_char descriptors_loop_length_lo
u_char segment_last_section_number
u_char current_next_indicator
u_char last_section_number
u_char section_syntax_indicator
u_char transport_stream_id_hi
u_char transport_stream_id_lo
u_char original_network_id_hi
u_char original_network_id_lo
u_char service_name_length
u_char item_description_length
u_char logical_channel_number_hi
u_char visible_service_flag
u_char logical_channel_number_lo
u_char visible_service_flag
u_char logical_channel_number_hi
u_char logical_channel_number_lo
u_char original_network_id_lo
u_char transport_stream_id_hi
u_char original_network_id_hi
u_char transport_stream_id_lo
u_char ancillary_page_id_hi
u_char composition_page_id_lo
u_char composition_page_id_hi
u_char ancillary_page_id_lo
u_char time_of_change_time_m
u_char time_of_change_time_s
u_char time_of_change_mjd_hi
u_char next_time_offset_m
u_char local_time_offset_m
u_char time_of_change_time_h
u_char time_of_change_mjd_lo
u_char local_time_offset_polarity
u_char next_time_offset_h
u_char local_time_offset_h
u_char transport_stream_id_lo
u_char transport_descriptors_length_hi
u_char original_network_id_lo
u_char original_network_id_hi
u_char transport_descriptors_length_lo
u_char transport_stream_id_hi
u_char content_nibble_level_1
u_char content_nibble_level_2
u_char transport_stream_loop_length_lo
u_char transport_stream_loop_length_hi
u_char section_syntax_indicator
u_char last_section_number
u_char network_descriptor_length_lo
u_char current_next_indicator
u_char network_descriptor_length_hi
u_char transport_stream_id_lo
u_char section_syntax_indicator
u_char last_section_number
u_char current_next_indicator
u_char transport_stream_id_hi
u_char last_section_number
u_char descriptors_loop_length_hi
u_char section_syntax_indicator
u_char descriptors_loop_length_lo
u_char current_next_indicator
u_char current_next_indicator
u_char last_section_number
u_char program_info_length_lo
u_char section_syntax_indicator
u_char program_info_length_hi
u_char original_network_id_hi
u_char transport_stream_id_lo
u_char original_network_id_lo
u_char transport_stream_id_hi
u_char section_syntax_indicator
u_char descriptors_loop_length_hi
u_char eit_present_following_flag
u_char descriptors_loop_length_lo
u_char transport_stream_id_hi
u_char original_network_id_hi
u_char transport_stream_id_lo
u_char section_syntax_indicator
u_char current_next_indicator
u_char last_section_number
u_char original_network_id_lo
u_char section_syntax_indicator
u_char descriptors_loop_length_hi
u_char descriptors_loop_length_lo
u_char section_syntax_indicator
u_char original_network_id_hi
u_char transport_stream_id_hi
u_char transport_stream_id_lo
u_char original_network_id_lo
u_char section_syntax_indicator
u_char last_section_number
u_char current_next_indicator