- 19 Mar 2007
- 9.176
- 1.168
- 0
INFO: channel_list_st is the entry point for all_channel.dat
#define MAX_CHANNEL 15000
#define MAX_PROMO_CHANNEL 10
#define MAX_TV_CHANNEL 10000
#define MAX_RADIO_CHANNEL 5000
#define MAX_FAV_NUM 200
#define MAX_FAV 50
//------------------ group -------------------------------
#define MAX_PROVIDER 500
#define MAX_GENRE 100
#define MAX_COUNTRY 300
#define MAX_LIM_NUM 10
struct channel_group_st {
HX_INT8 type;
HX_INT16 id;
HX_INT16 name_len;
HX_INT8 name[MAX_SERVICE_NAME_LEN+1];
};
struct channel_st {
struct list_head list;
name_list_st channel_name_list;
// struct channel_group_st provider_info;
HX_INT16 country_id;
HX_INT16 genre_id;
HX_INT16 provider_id;
HX_UINT8 net_index;
HX_INT64 freq; // If channel type is ETH, this is inet addr
// If channel type is HDD, this is offset
HX_UINT16 type;
HX_UINT16 ts_id; // If channel type is ETH, this is port num
HX_INT16 pat_version_number;
HX_INT16 pmt_version_number;
HX_UINT16 original_network_id;
HX_UINT16 service_id;
HX_UINT8 polarisation;
HX_UINT16 pmt_pid;
HX_UINT16 pcr_pid;
HX_UINT8 video_tag;
HX_UINT16 video_pid;
HX_UINT16 video_ecm_pid; // es ecm_pid
HX_UINT8 audio_tag;
HX_UINT16 audio_pid;
HX_UINT16 audio_ecm_pid;
HX_INT8 audio_lang[4];
private_data_st pdata[PRIVATE_DATA_MAX];
HX_INT16 pdata_num;
HX_UINT16 ecm_pid; // program ecm_pid
HX_UINT8 flag;
HX_UINT8 use_num;
struct text_info_st text_info;
// HX_UINT32 reserved;
// by ygkwon
#ifdef _TD115S_P
HX_UINT16 reference_service_id;
HX_UINT8 general_last_table_id;
HX_UINT8 general_last_section_number;
HX_UINT8 detail_last_table_id;
HX_UINT8 detail_last_section_number;
#endif
#ifdef _USE_OPENIPTV
HX_INT8 yn_adult;
HX_UINT16 service_corp;
HX_UINT16 c_menu; // current menu
HX_UINT16 p_menu; // parent menu
#endif
//DM_logo_bitmap_list_st *logo_bitmap_list;
//DM_logo_bitmap_list_st logo_bitmap_list;
};
struct virtual_channel_st {
HX_UINT16 type;
HX_INT16 major_ch_num; //
HX_INT16 minor_ch_num; //
HX_UINT8 net_index;
HX_UINT32 frequency; /* intermedate frequency in Hz for QPSK */
HX_UINT8 polar;
HX_UINT16 service_id;
HX_UINT16 original_network_id; //
HX_UINT16 transport_id; //
struct channel_st *r_ch;
};
struct tp_ch_st {
struct list_head list;
HX_UINT16 transport_id;
//HX_UINT16 network_id;
//HX_UINT8 net_index;
HX_UINT32 frequency; /* intermedate frequency in Hz for QPSK */
HX_UINT8 polarisation;
HX_UINT16 rch_num;
struct channel_st rch;
};
struct network_ch_st {
struct list_head list;
HX_UINT8 net_index;
HX_UINT16 network_id;
HX_INT8 name[MAX_SAT_NAME_LEN];
HX_UINT16 tp_num;
struct tp_ch_st tp_ch;
};
struct channel_list_st {
HX_INT32 version;
HX_UINT16 bouquet_id;
HX_INT8 use_group_list;
// ALL_CH_LIST, SATELLITE_CH_LIST, GENRE_CH_LIST, PROVIDER_CH_LIST, COUNTRY_CH_LIST, FTA/CAS_CH_LIST, FAV_CH_LIST
HX_UINT8 service_type; // TV ,RADIO
HX_UINT8 net_index;
HX_INT16 sub_group_id;
struct channel_group_st provider_info[MAX_PROVIDER];
HX_INT16 provider_number;
struct channel_group_st genre_info[MAX_GENRE];
HX_INT16 genre_number;
struct channel_group_st country_info[MAX_COUNTRY];
HX_INT16 country_number;
struct channel_group_st favorite_group_info[MAX_FAV];
HX_INT8 favorite_group_number;
HX_INT16 vch_type; /* 0 : default original_vch
1 : digital television
2 : digital radio sound
3 : USER
10 ~ 59 : fav_vch
*/
struct virtual_channel_st *vch;
HX_INT16 *vnumber;
struct virtual_channel_st original_vch[MAX_CHANNEL];
HX_INT16 original_vnumber;
struct virtual_channel_st tv_vch[MAX_TV_CHANNEL];
HX_INT16 tv_vnumber;
struct virtual_channel_st radio_vch[MAX_RADIO_CHANNEL];
HX_INT16 radio_vnumber;
struct virtual_channel_st favorite_vch[MAX_FAV][MAX_FAV_NUM];
HX_INT16 favorite_vnumber[MAX_FAV];
struct virtual_channel_st user_vch[MAX_CHANNEL];
HX_INT16 user_vnumber;
struct virtual_channel_st promo_vch[MAX_PROMO_CHANNEL];
HX_INT16 promo_vnumber;
HX_UINT16 network_num;
struct network_ch_st network;
HX_INT16 limited_ch[MAX_LIM_NUM];
};
struct return_channel_st {
HX_INT8 group_list;
HX_UINT8 service_type; // TV ,RADIO
HX_INT16 sub_group_id;
HX_INT16 ch_index;
HX_UINT8 net_index;
struct virtual_channel_st vch;
};
#define MAX_CHANNEL 15000
#define MAX_PROMO_CHANNEL 10
#define MAX_TV_CHANNEL 10000
#define MAX_RADIO_CHANNEL 5000
#define MAX_FAV_NUM 200
#define MAX_FAV 50
//------------------ group -------------------------------
#define MAX_PROVIDER 500
#define MAX_GENRE 100
#define MAX_COUNTRY 300
#define MAX_LIM_NUM 10
struct channel_group_st {
HX_INT8 type;
HX_INT16 id;
HX_INT16 name_len;
HX_INT8 name[MAX_SERVICE_NAME_LEN+1];
};
struct channel_st {
struct list_head list;
name_list_st channel_name_list;
// struct channel_group_st provider_info;
HX_INT16 country_id;
HX_INT16 genre_id;
HX_INT16 provider_id;
HX_UINT8 net_index;
HX_INT64 freq; // If channel type is ETH, this is inet addr
// If channel type is HDD, this is offset
HX_UINT16 type;
HX_UINT16 ts_id; // If channel type is ETH, this is port num
HX_INT16 pat_version_number;
HX_INT16 pmt_version_number;
HX_UINT16 original_network_id;
HX_UINT16 service_id;
HX_UINT8 polarisation;
HX_UINT16 pmt_pid;
HX_UINT16 pcr_pid;
HX_UINT8 video_tag;
HX_UINT16 video_pid;
HX_UINT16 video_ecm_pid; // es ecm_pid
HX_UINT8 audio_tag;
HX_UINT16 audio_pid;
HX_UINT16 audio_ecm_pid;
HX_INT8 audio_lang[4];
private_data_st pdata[PRIVATE_DATA_MAX];
HX_INT16 pdata_num;
HX_UINT16 ecm_pid; // program ecm_pid
HX_UINT8 flag;
HX_UINT8 use_num;
struct text_info_st text_info;
// HX_UINT32 reserved;
// by ygkwon
#ifdef _TD115S_P
HX_UINT16 reference_service_id;
HX_UINT8 general_last_table_id;
HX_UINT8 general_last_section_number;
HX_UINT8 detail_last_table_id;
HX_UINT8 detail_last_section_number;
#endif
#ifdef _USE_OPENIPTV
HX_INT8 yn_adult;
HX_UINT16 service_corp;
HX_UINT16 c_menu; // current menu
HX_UINT16 p_menu; // parent menu
#endif
//DM_logo_bitmap_list_st *logo_bitmap_list;
//DM_logo_bitmap_list_st logo_bitmap_list;
};
struct virtual_channel_st {
HX_UINT16 type;
HX_INT16 major_ch_num; //
HX_INT16 minor_ch_num; //
HX_UINT8 net_index;
HX_UINT32 frequency; /* intermedate frequency in Hz for QPSK */
HX_UINT8 polar;
HX_UINT16 service_id;
HX_UINT16 original_network_id; //
HX_UINT16 transport_id; //
struct channel_st *r_ch;
};
struct tp_ch_st {
struct list_head list;
HX_UINT16 transport_id;
//HX_UINT16 network_id;
//HX_UINT8 net_index;
HX_UINT32 frequency; /* intermedate frequency in Hz for QPSK */
HX_UINT8 polarisation;
HX_UINT16 rch_num;
struct channel_st rch;
};
struct network_ch_st {
struct list_head list;
HX_UINT8 net_index;
HX_UINT16 network_id;
HX_INT8 name[MAX_SAT_NAME_LEN];
HX_UINT16 tp_num;
struct tp_ch_st tp_ch;
};
struct channel_list_st {
HX_INT32 version;
HX_UINT16 bouquet_id;
HX_INT8 use_group_list;
// ALL_CH_LIST, SATELLITE_CH_LIST, GENRE_CH_LIST, PROVIDER_CH_LIST, COUNTRY_CH_LIST, FTA/CAS_CH_LIST, FAV_CH_LIST
HX_UINT8 service_type; // TV ,RADIO
HX_UINT8 net_index;
HX_INT16 sub_group_id;
struct channel_group_st provider_info[MAX_PROVIDER];
HX_INT16 provider_number;
struct channel_group_st genre_info[MAX_GENRE];
HX_INT16 genre_number;
struct channel_group_st country_info[MAX_COUNTRY];
HX_INT16 country_number;
struct channel_group_st favorite_group_info[MAX_FAV];
HX_INT8 favorite_group_number;
HX_INT16 vch_type; /* 0 : default original_vch
1 : digital television
2 : digital radio sound
3 : USER
10 ~ 59 : fav_vch
*/
struct virtual_channel_st *vch;
HX_INT16 *vnumber;
struct virtual_channel_st original_vch[MAX_CHANNEL];
HX_INT16 original_vnumber;
struct virtual_channel_st tv_vch[MAX_TV_CHANNEL];
HX_INT16 tv_vnumber;
struct virtual_channel_st radio_vch[MAX_RADIO_CHANNEL];
HX_INT16 radio_vnumber;
struct virtual_channel_st favorite_vch[MAX_FAV][MAX_FAV_NUM];
HX_INT16 favorite_vnumber[MAX_FAV];
struct virtual_channel_st user_vch[MAX_CHANNEL];
HX_INT16 user_vnumber;
struct virtual_channel_st promo_vch[MAX_PROMO_CHANNEL];
HX_INT16 promo_vnumber;
HX_UINT16 network_num;
struct network_ch_st network;
HX_INT16 limited_ch[MAX_LIM_NUM];
};
struct return_channel_st {
HX_INT8 group_list;
HX_UINT8 service_type; // TV ,RADIO
HX_INT16 sub_group_id;
HX_INT16 ch_index;
HX_UINT8 net_index;
struct virtual_channel_st vch;
};
