OSDN Git Service

fix logo parse func
[rec10/rec10-git.git] / epgdump / dsmcc.h
1 #ifndef DSMCC_H
2 #define DSMCC_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 _DSMCChead {
12         int table_id;
13         int section_syntax_indicator;
14         int complement_indicator;
15         int reserved1;
16         int section_length;
17         int table_id_extension;
18         int reserved2;
19         int version_number;
20         int current_next_indicator;
21         int section_number;
22         int last_section_number;
23 } DSMCChead;
24 /*
25 typedef struct _DSMCCmsghead {
26         int  protocolDiscriminator;
27         int  dsmccType;
28         int  messageId;
29         int  transaction_id;
30         int  reserved;
31         int  adaptationLength;
32         int  messageLength;
33         void *dsmccAdaptationHeader;
34 } DSMCCmsghead;
35 */
36 typedef struct _DSMCCbodyDIIModule {
37         int  moduleId;
38         int  moduleSize;
39         int  moduleVersion;
40         int  moduleInfoLength;
41         unsigned char *moduleInfo;
42
43         int     descriptor_tag;
44         int     descriptor_length;
45         char    *Type;
46         char    *Name;
47         char    *Info;
48 } DSMCCbodyDIIModule;
49
50 typedef struct _DSMCCbodyDII {
51         int  protocolDiscriminator;
52         int  dsmccType;
53         int  messageId;
54         int  transaction_id;
55         int  reserved;
56         int  adaptationLength;
57         int  messageLength;
58         void *dsmccAdaptationHeader;
59
60         int  downloadId;
61         int  blockSize;
62         int  windowSize;
63         int  ackPeriod;
64         int  tCDownloadWindow;
65         int  tCDownloadScenario;
66         int  compatibilityDescriptor;
67         int  numberOfModules;
68         void *modules;
69         int  privateDataLength;
70         void *privateData;
71 } DSMCCbodyDII;
72
73 typedef struct _DSMCCbodyDDB {
74         int  protocolDiscriminator;
75         int  dsmccType;
76         int  messageId;
77         unsigned int  downloadId;
78         int  reserved1;
79         int  adaptationLength;
80         int  messageLength;
81         void *dsmccAdaptationHeader;
82
83         int  moduleId;
84         int  moduleVersion;
85         int  reserved2;
86         int  blockNumber;
87         void *blockData;
88 } DSMCCbodyDDB;
89
90 #ifdef __cplusplus
91 extern "C"{
92 #endif /* __cplusplus */
93
94         int parseDSMCChead(unsigned char *data, DSMCChead *h);
95         int parseDSMCCbodyDDB(unsigned char *data, DSMCCbodyDDB *dsmbddb);
96         void dumpDSMCC(unsigned char *ptr, int *downloadDataId, DSM_CONTROL *dsmctl);
97
98 #ifdef __cplusplus
99 }
100 #endif /* __cplusplus */
101
102 #endif
103