FireBirdLib - Topfield TMS PVR TAP Programming Library
FBLib_flash.h
Go to the documentation of this file.
1#ifndef FBLIB_FLASH_H
2#define FBLIB_FLASH_H
3
4 #include "libFireBird.h"
5
6 #define TIMER_NAME "FireBirdLib.rec"
7 #define TIMER_DATE 0xffff0000 //22.04.2038 00:00
8 #define MAXFAVS 30
9 #define MAXSAT 255
10
11 typedef struct
12 {
13 byte SatIdx; //0x00
14 byte VideoStreamType; //0x01
15
16 word TPIdx:10; //0x02
17 word TunerNum:2;
18 word SkipFlag:1;
19 word LockFlag:1;
20 word CASFlag:1;
21 word DelFlag:1;
22
23 word SVCID; //0x04
24 word PMTPID; //0x06
25 word PCRPID; //0x08
26 word VideoPID; //0x0a
27
28 word AudioPID:13; //0x0c
31
32 word NameLock:1; //0x0e
33 word Flags2:15;
34
35 dword NameOffset; //0x10
36 word ProviderIdx; //0x14
37 word LCN; //0x16
38 byte unknown2[6]; //0x18
39 word AudioStreamType; //0x1e
41
42 #define TYPE_Service_TMST TYPE_Service_TMSS
43 #define TYPE_Service_TMSC TYPE_Service_TMSS
44
45 bool FlashServiceDecode(void *Data, tFlashService *Service);
46 bool FlashServiceDelete(void *Data);
47 bool FlashServiceDelServiceName(int SvcType, int SvcNum);
48 bool FlashServiceEncode(void *Data, tFlashService *Service);
49
52
53 typedef struct
54 {
56 char SatName[MAX_SatName]; //Contains DVBT
58
59 typedef struct
60 {
63
64 typedef struct
65 {
66 byte SatIdx;
67
68 word Polar:1; // 0=V, 1=H
69 word TPMode:3; // TPMode is either 000 for "normal" or 001 for "SmaTV" ("SmaTV" not seen in the wild)
70 word ModulationSystem:1; // 0=DVBS, 1=DVBS2
71 word ModulationType:2; // 0=Auto, 1=QPSK, 2=8PSK, 3=16QAM
72 word FECMode:4; // 0x0 = AUTO, 0x1 = 1_2, 0x2 = 2_3, 0x3 = 3_4,
73 // 0x4 = 5_6 , 0x5 = 7_8, 0x6 = 8_9, 0x7 = 3_5,
74 // 0x8 = 4_5, 0x9 = 9_10, 0xa = reserved, 0xf = NO_CONV
75 word Pilot:1;
76 word unused2:4;
77
78 byte unused3;
79 dword Frequency;
81 word TSID;
82
84 word unused4:15;
85
87 }__attribute__((packed)) TYPE_TpInfo_TMSS;
88
89 typedef struct
90 {
91 byte SatIdx;
94 byte unused1;
95 dword Frequency;
96 word TSID;
97 byte LPHP;
98 byte unused2;
99 word OriginalNetworkID;
101 }__attribute__((packed)) TYPE_TpInfo_TMST;
102
103 typedef struct
104 {
105 union
106 {
107 dword Frequency;
108 struct
109 {
110 dword SatIdx:8;
111 dword Frequency2:24;
112 };
113 };
114 word SymbolRate;
115 word TSID;
116 word OriginalNetworkID;
118 byte unused1;
119 }__attribute__((packed)) TYPE_TpInfo_TMSC;
120
121 typedef struct
122 {
123 word TunerIndex:8; //0000
124 word RecMode:3;
125 word DemuxPath:2;
126 word ManualRec:1;
127 word unused1:2; //uumd drrr tttt tttt
128
129 byte SatIndex; //0002
130
131 byte ServiceType:1; //0003
133 byte unused2:4; //uuuu rrrt
134
135 word ServiceID; //0004
136 word Duration; //0006
137 byte unused3; //0008
138 char FileName[131]; //0009
139 dword StartTime; //008C
140 dword EndTime; //0090
141 word PMTPID; //0094
142 byte isRec; //0096
143 byte NameSet; //0097
144 byte unused4; //0098
145 byte EPGMarker; //0099
146 word unused5; //009a
147 dword unknown1; //009c
148 dword EventID1; //00a0
149 dword EventID2; //00a4
150 word ServiceIndex; //00a8
151 byte unused8[8]; //00aa
152 byte IceTV; //00b2
153 byte unused9[5]; //00b3
154 }__attribute__((packed)) TYPE_Timer_generic; //184 bytes
155
156 typedef struct
157 {
158 TYPE_Timer_generic TimerInfo; //184 bytes
159 TYPE_TpInfo_TMSS TpInfo; // 32 bytes
160 }__attribute__((packed)) TYPE_Timer_TMSS; //216 bytes
161
162 typedef struct
163 {
164 TYPE_Timer_generic TimerInfo; //184 bytes
165 byte unused10[8];
166 TYPE_TpInfo_TMST TpInfo; // 16 bytes
167 }__attribute__((packed)) TYPE_Timer_TMST; //208 bytes
168
169 typedef struct
170 {
171 TYPE_Timer_generic TimerInfo; //184 bytes
172 TYPE_TpInfo_TMST TpInfo; // 16 bytes
173 }__attribute__((packed)) TYPE_Timer_TMST200; //200 bytes
174
175 typedef struct
176 {
177 TYPE_Timer_generic TimerInfo;
178 byte unused10[8];
180 char rs_episodeCRID[64];
181 char rs_seriesCRID[64];
187 TYPE_TpInfo_TMST TpInfo;
188 }__attribute__((packed)) TYPE_Timer_TMST360; //DMC 2015-11-06 360 byte structure for the 5300
189
190 typedef struct
191 {
192 TYPE_Timer_generic TimerInfo; //184 bytes
193 TYPE_TpInfo_TMSC TpInfo; // 12 bytes
194 }__attribute__((packed)) TYPE_Timer_TMSC; //196 bytes
195
196 void FlashReindexTimers(int SvcType, int FromSvcNum, int ToSvcNum);
197
198 typedef struct
199 {
201 dword EndTime;
203
204 word ReservationType:3; //see TYPE_ReservationType
205 word unknown1:4;
206 word DelOrig:1;
207 word unknown2:1; //always 1?
208 word NrOfFiles:6;
209 word unknown3:1;
211 char FileName[50][128];
213
214 void FlashReindexFavorites(int SvcType, int FromSvcNum, int ToSvcNum);
215
216 typedef struct
217 {
218 char GroupName[12];
219 word SvcNum[50];
220 byte SvcType[50];
224
225#endif
void FlashReindexTimers(int SvcType, int FromSvcNum, int ToSvcNum)
bool FlashServiceDelete(void *Data)
bool FlashServiceDecode(void *Data, tFlashService *Service)
void FlashReindexFavorites(int SvcType, int FromSvcNum, int ToSvcNum)
bool FlashServiceEncode(void *Data, tFlashService *Service)
tFlashSatTable TYPE_SatInfo_TMSS
Definition: FBLib_flash.h:51
bool FlashServiceDelServiceName(int SvcType, int SvcNum)
tFlashLNB TYPE_LNB_TMSS
Definition: FBLib_flash.h:50
dword rs_timestamp2
Definition: FBLib_flash.h:184
dword rs_timestamp1
Definition: FBLib_flash.h:179
dword rs_unknown3
Definition: FBLib_flash.h:185
byte ModulationType
Definition: FBLib_flash.h:117
word AllowTimeSync
Definition: FBLib_flash.h:83
word OriginalNetworkID
Definition: FBLib_flash.h:86
dword rs_unknown4
Definition: FBLib_flash.h:186
byte ReservationType
Definition: FBLib_flash.h:132
word ModulationType
Definition: FBLib_flash.h:71
dword rs_unknown2
Definition: FBLib_flash.h:183
word ModulationSystem
Definition: FBLib_flash.h:70
TYPE_TpInfo_TMSS TpInfo
Definition: FBLib_flash.h:159
TYPE_TpInfo_TMSC TpInfo
Definition: FBLib_flash.h:193
dword Frequency
Definition: FBLib_flash.h:79
TYPE_Timer_generic TimerInfo
Definition: FBLib_flash.h:158
dword rs_unknown1
Definition: FBLib_flash.h:182
dword Frequency2
Definition: FBLib_flash.h:111