/*************************************************************************** * Copyright (c) 2011, Broadcom Corporation * All Rights Reserved * Confidential Property of Broadcom Corporation * * THIS SOFTWARE MAY ONLY BE USED SUBJECT TO AN EXECUTED SOFTWARE LICENSE * AGREEMENT BETWEEN THE USER AND BROADCOM. YOU HAVE NO RIGHT TO USE OR * EXPLOIT THIS MATERIAL EXCEPT SUBJECT TO THE TERMS OF SUCH AN AGREEMENT. * * $brcm_Workfile: $ * $brcm_Revision: $ * $brcm_Date: $ * * Module Description: * * Revision History: * * $brcm_Log: $ * ****************************************************************************/ #ifndef __DVB_DESCRIPTOR_H__ #define __DVB_DESCRIPTOR_H__ /* should sync with btuner_qam_mode in bsettop_tuner.h */ enum { eDVB_QAM_16 = 0x10, eDVB_QAM_32 = 0x20, eDVB_QAM_64 = 0x30, eDVB_QAM_128 = 0x40, eDVB_QAM_256 = 0x50, eDVB_QAM_512 = 0x60, eDVB_QAM_1024 = 0x70, eDVB_QAM_2048 = 0x80, eDVB_QAM_4096 = 0x90, eDVB_QAM_Scan = 0xFF, }; typedef struct desc_hdr_t { uint8_t tag; } desc_hdr_t; typedef struct service_list_desc_t { desc_hdr_t hdr; uint8_t num_list; uint16_t service_id[MAX_SERVICE_LIST]; uint8_t service_type[MAX_SERVICE_LIST]; } service_list_desc_t; typedef struct network_name_desc_t { desc_hdr_t hdr; uint8_t name[MAX_NAME_LEN]; } network_name_desc_t; typedef struct cable_delivery_desc_t { desc_hdr_t hdr; uint32_t frequency; uint8_t modulation; uint32_t symbol_rate; uint8_t code_rate; } cable_delivery_desc_t; typedef struct terrestrial_delivery_desc_t { desc_hdr_t hdr; uint32_t frequency; /* khz */ uint8_t constellation; uint8_t bandwidth; } terrestrial_delivery_desc_t; typedef struct satellite_delivery_desc_t { desc_hdr_t hdr; uint32_t frequency; } satellite_delivery_desc_t; typedef struct service_desc_t { desc_hdr_t hdr; uint8_t service_type; /* service type. table 72. */ uint8_t provider_name[MAX_NAME_LEN]; uint8_t service_name[MAX_NAME_LEN]; } service_desc_t; typedef struct short_event_desc_t { desc_hdr_t hdr; uint8_t lang_code[3]; uint8_t event_name[MAX_EVENT_NAME]; uint8_t event_text[MAX_EVENT_TEXT]; } short_event_desc_t; typedef struct extend_event_desc_t { desc_hdr_t hdr; uint8_t lang_code[3]; uint8_t item_desc[MAX_EVENT_NAME]; uint8_t item_char[MAX_EVENT_NAME]; uint8_t text_char[MAX_EVENT_TEXT]; } extend_event_desc_t; typedef struct rating_desc_t { desc_hdr_t hdr; uint8_t country_code[3]; uint8_t rating; } rating_desc_t; typedef struct ca_desc_t { desc_hdr_t hdr; uint16_t ca_system_id; } ca_desc_t; typedef struct content_desc_t { desc_hdr_t hdr; uint8_t content; uint8_t user; } content_desc_t; typedef struct pdc_desc_t { desc_hdr_t hdr; uint8_t day; uint8_t month; uint16_t hour; uint16_t minute; } pdc_desc_t; typedef struct component_desc_t { desc_hdr_t hdr; uint8_t content; uint8_t type; uint8_t tag; uint8_t lang[3]; uint8_t text[MAX_EVENT_TEXT]; } component_desc_t; typedef struct timeshift_event_desc_t { desc_hdr_t hdr; uint16_t service_id; uint16_t event_id; } timeshift_event_desc_t; typedef struct freq_list_desc_t { desc_hdr_t hdr; uint8_t num_freq; uint8_t coding_type; uint32_t frequency[0xFF]; } freq_list_desc_t; typedef struct time_offset_desc_t { desc_hdr_t hdr; uint8_t num_offset; struct time_offset_t { uint8_t country[3]; uint8_t region_id; uint8_t polarity; uint16_t offset; uint32_t toc; uint16_t next_offset; } offsets[MAX_TIMEOFFSET]; } time_offset_desc_t; typedef struct bouquet_name_desc_t { desc_hdr_t hdr; uint8_t bouquet_name[MAX_NAME_LEN]; } bouquet_name_desc_t; typedef struct teletext_desc_t { desc_hdr_t hdr; uint8_t lang[3]; uint8_t type; uint8_t magazine; uint8_t page; } teletext_desc_t; typedef struct subtitling_desc_t { desc_hdr_t hdr; uint8_t lang[3]; uint8_t type; uint16_t composition_page; uint16_t ancillary_page; } subtitling_desc_t; #endif