OSDN Git Service

add tunerec
[rec10/rec10-git.git] / epgdump / sdtt.h
1 #ifndef SDTT_H
2 #define SDTT_H 1
3
4 #include <stdio.h>
5 #include <stdlib.h>
6
7 #include "sdt.h"
8 #include "util.h"
9 #include "ts_ctl.h"
10
11 typedef struct _SDTThead {
12         unsigned char table_id;
13         int  section_syntax_indicator;
14         int  reserved_future_use1;
15         int  reserved1;
16         int  section_length;
17         int  maker_id;
18         int  model_id;
19 //      int  table_id_ext;
20         int  reserved2;
21         int  version_number;
22         int  current_next_indicator;
23         int  section_number;
24         int  last_section_number;
25         int  transport_stream_id;
26         int  original_network_id;
27         int  service_id;
28         int  num_of_contents;
29 } SDTThead;
30
31 typedef struct _SDTTcont {
32         int  group;
33         int  target_version;
34         int  new_version;
35         int  download_level;
36         int  version_indicator;
37         int  content_description_length;
38         int  reserved1;
39         int  schedule_description_length;
40         int  schedule_timeshift_information;
41 } SDTTcont;
42
43 typedef struct _SDTTdescModule {
44         int     module_id;
45         int     module_size;
46         int     module_info_length;
47         void    *module_info_byte;
48         int     descriptor_tag;
49         int     descriptor_length;
50         char    *Type;
51         char    *Name;
52         char    *Info;
53 } SDTTdescModule;
54
55 typedef struct _SDTTdesc {
56         int  descriptor_tag;
57         int  descriptor_length;
58         int  reboot;
59         int  add_on;
60         int  compatibility_flag;
61         int  compatibility_length;
62         int  module_info_flag;
63         int  text_info_flag;
64         int  reserved1;
65         int  component_size;
66         unsigned int  download_id;
67         int  time_out_value_DII;
68         int  leak_rate;
69         int  reserved2;
70         int  component_tag;
71         int  num_of_modules;
72         void  *modules;
73         int  private_data_length;
74         void  *private_data_byte;
75         int  ISO_639_language_code;
76         int  text_length;
77         //void  *text_char;
78         char text_char;
79 } SDTTdesc;
80
81 typedef struct _SDTTdataService {
82         int  original_network_id;
83         int  transport_stream_id;
84         int  service_id;
85 } SDTTdataService;
86
87 typedef struct _SDTTdataLoop {
88         int     reserved_future_use1;
89         int     logo_id;
90         int     number_of_services;
91         SDTTdataService *services;
92         int     data_size;
93         void    *data;
94 } SDTTdataLoop;
95
96 typedef struct _SDTTdataBC {
97         int     logo_type;
98         int     number_of_loop;
99         SDTTdataLoop    *loop;
100 } SDTTdata;
101
102 #ifdef __cplusplus
103 extern "C"{
104 #endif /* __cplusplus */
105
106         int parseSDTThead(unsigned char *data, SDTThead *h);
107         int parseSDTTdesc(unsigned char *data, SDTTdesc *sdts);
108         void dumpSDTT(unsigned char *ptr, STATION *station, int station_count);
109
110 #ifdef __cplusplus
111 }
112 #endif /* __cplusplus */
113
114 #endif
115