source: svn/trunk/zasc/app_c/DST_MemoryDB.h

Last change on this file was 29, checked in by phkim, 10 years ago
  1. phkim
  2. app
  3. 변경 내용
    • 채널 편집 기능 활성화
    • 프로그램ID, RF 기능을 Major, Minor 로 변경
    • Skip_list 저장 위치를 TVCT_SUB 아래로 변경
    • define 이름 변경 -> SUPPORT_CHANNEL_EDIT
File size: 8.0 KB
Line 
1#ifndef __DST_MEMORY_DB_H__
2#define __DST_MEMORY_DB_H__
3
4#include "DST_CommonAPI.h"
5#include "DST_Types.h"
6
7
8typedef enum
9{
10        NO_PAT,
11        NO_PMT,
12#if EPG_SUPPORT
13        NO_EIT,
14        NO_EIT_SUB,
15        NO_ETT,
16#endif
17#if CVCT_SUPPORT
18        NO_CVCT,
19        NO_CVCT_SUB,
20#endif
21        NO_TVCT,
22        NO_TVCT_SUB,
23#if SUPPORT_CHANNEL_EDIT
24        NO_SKIP_LIST,
25#endif
26        NO_CONFIG,
27        NO_CHANNEL_DB,
28        NO_CHANNEL_UPDN,
29        NO_PMT_CC_TABLE,
30        NO_PMT_AC3_TABLE,
31        NO_PMT_ISO_TABLE,
32        NO_PMT_AUDIO_TABLE,
33        NO_DB_MAX
34}       DB_NO_LIST;
35
36typedef struct 
37{
38        DB_NO_LIST list;
39        char *name;
40}DB_LIST;
41
42
43extern DB_LIST db_list[NO_DB_MAX+1];
44
45////////////////////////////////         PAT            ///////////////////////////////
46#define DB_PAT_MAX RF_COUNT // RF °¹¼ö
47
48typedef struct DB_PAT
49{
50        int rf;
51        int program_number;
52        int pid;
53        DS_U32 crc;
54} _DB_PAT_;
55
56extern struct DB_PAT db_pat[DB_PAT_MAX];
57///////////////////////////////////////////////////////////////////////////
58
59
60////////////////////////////////         PMT             ///////////////////////////////
61#define DB_PMT_MAX MAX_CHANNEL_NUMBER // Àüü ä³Î °¹¼ö
62
63typedef struct DB_PMT
64{
65        int rf;
66        int program_number;
67        int pcr_pid;
68        int ca_pid;
69        int video_pid;
70        int video_type;
71        int minor;
72        DS_U32 crc;
73}_DB_PMT_;
74
75extern struct DB_PMT db_pmt[DB_PMT_MAX];
76////////////////////////////////////////////////////////////////////////////
77
78#if EPG_SUPPORT
79////////////////////////////////         EIT             ///////////////////////////////
80#define DB_EIT_MAX MAX_CHANNEL_NUMBER // Àüü ä³Î °¹¼ö
81
82typedef struct DB_EIT
83{
84        int rf;
85        int id;
86        int source_id;
87        int version_number;
88        DS_U32 crc;
89}_DB_EIT_;
90
91extern struct DB_EIT db_eit[DB_EIT_MAX];
92////////////////////////////////////////////////////////////////////////////
93
94
95//////////////////////////////   EIT_SUB                 ////////////////////////////////
96#define DB_EIT_SUB_MAX MAX_CHANNEL_NUMBER // Àüü ä³Î °¹¼ö * 10
97
98typedef struct DB_EIT_SUB
99{
100        int rf;
101        int id;
102        int source_id; // not zero
103        int event_id;
104        int start_time;
105        int length_in_seconds;
106        char* title;
107        // there's no crc?
108}_DB_EIT_SUB_;
109       
110extern struct DB_EIT_SUB db_eit_sub[DB_EIT_SUB_MAX];
111////////////////////////////////////////////////////////////////////////////
112
113
114////////////////////////////////         ETT             ///////////////////////////////
115#define DB_ETT_MAX MAX_CHANNEL_NUMBER // Àüü ä³Î °¹¼ö * 10
116
117typedef struct DB_ETT
118{
119        int rf;
120        int source_id;
121        int event_id;
122        char* title;
123        DS_U32 crc;
124}_DB_ETT_;
125       
126extern struct DB_ETT db_ett[DB_ETT_MAX];
127////////////////////////////////////////////////////////////////////////////
128#endif // EPG_SUPPORT
129
130#if SUPPORT_CHANNEL_EDIT
131//////////////////////////       SKIP_LIST               ///////////////////////////////
132#define DB_SKIP_LIST_MAX MAX_CHANNEL_NUMBER // Àüü ä³Î °¹¼ö
133
134typedef struct DB_SKIP_LIST
135{
136        int major;
137        int minor;
138}_DB_SKIP_LIST_;
139       
140extern struct DB_SKIP_LIST db_skip_list[DB_SKIP_LIST_MAX];
141////////////////////////////////////////////////////////////////////////////
142#endif
143
144#if CVCT_SUPPORT
145//////////////////////////////   CVCT            ///////////////////////////////
146#define DB_CVCT_MAX RF_COUNT // Àüü ä³Î °¹¼ö
147
148typedef struct DB_CVCT
149{
150        int rf;
151        int transport_stream_id;
152        int version_number;
153        DS_U32 crc;
154} _DB_CVCT_;
155       
156extern struct DB_CVCT db_cvct[DB_CVCT_MAX];
157/////////////////////////////////////////////////////////////////////////////
158
159
160//////////////////////////////   CVCT_SUB                /////////////////////////////
161#define DB_CVCT_SUB_MAX MAX_CHANNEL_NUMBER // Àüü ä³Î °¹¼ö
162
163typedef struct DB_CVCT_SUB
164{
165        int rf;
166        char short_name[TEXT_LENGTH_MAX/2];
167        char long_name[TEXT_LENGTH_MAX];
168        int major_channel_number;
169        int minor_channel_number;
170        int modulation_mode;
171        int carrier_frequency;
172        int channel_TSID;
173        int program_number;
174        int ETM_location;
175        int access_controlled;
176        int hidden;
177        int show_guide;
178        int service_type;
179        int source_id;
180        //no crc?
181} _DB_CVCT_SUB_;
182       
183extern struct DB_CVCT_SUB db_cvct_sub[DB_CVCT_SUB_MAX];
184///////////////////////////////////////////////////////////////////////////
185#endif
186
187//////////////////////////////   TVTC            ///////////////////////////////
188#define DB_TVCT_MAX RF_COUNT // Àüü ä³Î °¹¼ö
189
190typedef struct DB_TVCT
191{
192        int rf;
193        int transport_stream_id;
194        int version_number;
195        DS_U32 crc;
196} _DB_TVCT_;
197       
198extern struct DB_TVCT db_tvct[DB_TVCT_MAX];
199/////////////////////////////////////////////////////////////////////////////
200
201
202//////////////////////////////   TVTC_SUB                /////////////////////////////
203#define DB_TVCT_SUB_MAX MAX_CHANNEL_NUMBER // Àüü ä³Î °¹¼ö
204
205typedef struct DB_TVCT_SUB
206{
207        int rf;
208        char short_name[TEXT_LENGTH_MAX/2];
209        char long_name[TEXT_LENGTH_MAX];
210        int major_channel_number;
211        int minor_channel_number;
212        int modulation_mode;
213        int carrier_frequency;
214        int channel_TSID;
215        int program_number; // if valid data exist, this value is not zero.
216        int ETM_location;
217        int access_controlled;
218        int hidden;
219        int show_guide;
220        int service_type;
221        int source_id;
222        //no crc?
223} _DB_TVCT_SUB_;
224       
225extern struct DB_TVCT_SUB db_tvct_sub[DB_TVCT_SUB_MAX];
226///////////////////////////////////////////////////////////////////////////////
227
228
229////////////////////////////////         CONFIG          ///////////////////////////////
230#define DB_CONFIG_MAX 15
231
232typedef struct DB_CONFIG
233{
234        char name[50];
235        int value;
236} _DB_CONFIG_;
237       
238extern struct DB_CONFIG db_config[DB_CONFIG_MAX];
239////////////////////////////////////////////////////////////////////////////////
240
241///////////////////////////////  CHANNEL_DB              ///////////////////////////////
242#define DB_CHANNEL_DB_MAX MAX_CHANNEL_NUMBER // Àüü ä³Î °¹¼ö
243
244typedef struct DB_CHANNEL_DB
245{
246        int rf;
247        char name[TEXT_LENGTH_MAX];
248        int major;
249        int minor;
250        int program_number;
251        int source_id;
252        int pcr_pid;
253        int video_pid;
254        int video_type;
255} _DB_CHANNEL_DB_;
256       
257extern struct DB_CHANNEL_DB db_channel_db[DB_CHANNEL_DB_MAX];
258////////////////////////////////////////////////////////////////////////////////
259
260///////////////////////////////  CHANNEL_UPDN            /////////////////////////////
261#define DB_CHANNEL_UPDN_MAX MAX_CHANNEL_NUMBER // Àüü ä³Î °¹¼ö
262
263typedef struct DB_CHANNEL_UPDN
264{
265        int major;
266        int rf;
267        int minor;
268        int program_number;
269} _DB_CHANNEL_UPDN_;
270       
271extern struct DB_CHANNEL_UPDN db_channel_updn[DB_CHANNEL_UPDN_MAX];
272////////////////////////////////////////////////////////////////////////////////
273
274///////////////////////////////  PMT_CC_TABLE            /////////////////////////////
275#define MAX_PMT_CC_TABLE_COUNT 500
276typedef struct PMT_CC_TABLE
277{
278        int rf;
279        int program_number;
280        char language[4];
281        int cc_type;
282        int cc_id;
283        int easy_reader;
284        int wide_aspect_ratio;
285        int korean_code;
286} _PMT_CC_TABLE_;
287extern struct PMT_CC_TABLE pmt_cc_table[MAX_PMT_CC_TABLE_COUNT];
288////////////////////////////////////////////////////////////////////////////////
289
290///////////////////////////////  PMT_AC3_TABLE           /////////////////////////////
291#define MAX_PMT_AC3_TABLE_COUNT 500
292typedef struct PMT_AC3_TABLE
293{
294        int rf;
295        int program_number;
296        int pid;
297        int bsmod;
298        int full_svc;
299        int langcod;
300        char language[4];
301} _PMT_AC3_TABLE_;
302extern struct PMT_AC3_TABLE pmt_ac3_table[MAX_PMT_AC3_TABLE_COUNT];
303////////////////////////////////////////////////////////////////////////////////
304
305///////////////////////////////  PMT_ISO_TABLE           /////////////////////////////
306#define MAX_PMT_ISO_TABLE_COUNT 500
307typedef struct PMT_ISO_TABLE
308{
309        int rf;
310        int program_number;
311        int pid;
312        char lang[4];
313        int type;
314} _PMT_ISO_TABLE_;
315extern struct PMT_ISO_TABLE pmt_iso_table[MAX_PMT_ISO_TABLE_COUNT];
316////////////////////////////////////////////////////////////////////////////////
317
318///////////////////////////////  PMT_AUDIO_TABLE                 /////////////////////////////
319#define MAX_PMT_AUDIO_TABLE_COUNT 500
320typedef struct PMT_AUDIO_TABLE
321{
322        int rf;
323        int program_number;
324        int pid;
325        int type;
326        int component_tag;
327} _PMT_AUDIO_TABLE_;
328extern struct PMT_AUDIO_TABLE pmt_audio_table[MAX_PMT_AUDIO_TABLE_COUNT];
329
330////////////////////////////////////////////////////////////////////////////////
331
332void DBLock(bool bLock);
333
334#endif //__DST_MEMORY_DB_H__
Note: See TracBrowser for help on using the repository browser.