FireBirdLib - Topfield TMS PVR TAP Programming Library
FlashTimeDecode.c
Go to the documentation of this file.
1#include <string.h>
2#include "FBLib_flash.h"
3
4static bool FlashTimeDecode_ST_TMSS(tFlashTimeInfo *Data, tFlashTimeInfo *TimeInfo)
5{
7
8 memset(TimeInfo, 0, sizeof(tFlashTimeInfo));
9 TimeInfo->UTCOffset = Data->UTCOffset;
10 TimeInfo->SleepTimer = Data->SleepTimer;
11 TimeInfo->unknown1 = Data->unknown1;
12 TimeInfo->GMTCollection = Data->GMTCollection;
13 TimeInfo->Mode = Data->Mode;
14 TimeInfo->unknown2 = Data->unknown2;
15 TimeInfo->unknown3 = Data->unknown3;
16 TimeInfo->DSTActive = Data->DSTActive;
17 TimeInfo->AutoDSTEnabled = Data->AutoDSTEnabled;
18 TimeInfo->unknown4 = Data->unknown4;
19
20 TRACEEXIT();
21 return TRUE;
22}
23
24static bool FlashTimeDecode_ST_TMST(tFlashTimeInfo *Data, tFlashTimeInfo *TimeInfo)
25{
26 bool ret;
27
28 TRACEENTER();
29
30 ret = FlashTimeDecode_ST_TMSS(Data, TimeInfo);
31
32 TRACEEXIT();
33 return ret;
34}
35
36static bool FlashTimeDecode_ST_TMSC(tFlashTimeInfo *Data, tFlashTimeInfo *TimeInfo)
37{
38 bool ret;
39
40 TRACEENTER();
41
42 ret = FlashTimeDecode_ST_TMSS(Data, TimeInfo);
43
44 TRACEEXIT();
45 return ret;
46}
47
49{
50 bool ret;
51
52 TRACEENTER();
53
54 //TimeInfo is NULL
55 if(!Data || !TimeInfo)
56 {
57 TRACEEXIT();
58 return FALSE;
59 }
60
61 ret = FALSE;
62 switch(GetSystemType())
63 {
64 //Unknown and old 5k/6k systems are not supported
65 case ST_UNKNOWN:
66 case ST_S:
67 case ST_ST:
68 case ST_T:
69 case ST_C:
70 case ST_CT:
71 case ST_T5700:
72 case ST_T5800:
73 case ST_TF7k7HDPVR: break;
74
75 case ST_TMSS: ret = FlashTimeDecode_ST_TMSS(Data, TimeInfo); break;
76 case ST_TMST: ret = FlashTimeDecode_ST_TMST(Data, TimeInfo); break;
77 case ST_TMSC: ret = FlashTimeDecode_ST_TMSC(Data, TimeInfo); break;
78
79 case ST_NRTYPES: break;
80 }
81
82 TRACEEXIT();
83 return ret;
84}
85
86
88{
89 TRACEENTER();
90
91 bool ret;
92
93 //TimeInfo is NULL
94 if(!TimeInfo)
95 {
96 TRACEEXIT();
97 return FALSE;
98 }
99
100 ret = FALSE;
101 switch(GetSystemType())
102 {
103 //Unknown and old 5k/6k systems are not supported
104 case ST_UNKNOWN:
105 case ST_S:
106 case ST_ST:
107 case ST_T:
108 case ST_C:
109 case ST_CT:
110 case ST_T5700:
111 case ST_T5800:
112 case ST_TF7k7HDPVR: break;
113
114 case ST_TMSS:
115 {
117
119 if(p) ret = FlashTimeDecode(p, TimeInfo);
120 break;
121 }
122
123 case ST_TMST:
124 {
126
128 if(p) ret = FlashTimeDecode(p, TimeInfo);
129 break;
130 }
131
132 case ST_TMSC:
133 {
135
137 if(p) ret = FlashTimeDecode(p, TimeInfo);
138 break;
139 }
140
141 case ST_NRTYPES: break;
142 }
143
144 TRACEEXIT();
145 return ret;
146}
dword FIS_vFlashBlockTimeInfo(void)
bool FlashTimeGetInfo(tFlashTimeInfo *TimeInfo)
bool FlashTimeDecode(tFlashTimeInfo *Data, tFlashTimeInfo *TimeInfo)
SYSTEM_TYPE GetSystemType(void)
Definition: GetSystemType.c:3
#define TRACEEXIT()
Definition: libFireBird.h:1244
#define TRACEENTER()
Definition: libFireBird.h:1243
@ ST_CT
Definition: libFireBird.h:77
@ ST_T
Definition: libFireBird.h:69
@ ST_TMSC
Definition: libFireBird.h:74
@ ST_UNKNOWN
Definition: libFireBird.h:67
@ ST_T5700
Definition: libFireBird.h:71
@ ST_TMST
Definition: libFireBird.h:73
@ ST_T5800
Definition: libFireBird.h:75
@ ST_TMSS
Definition: libFireBird.h:72
@ ST_ST
Definition: libFireBird.h:76
@ ST_NRTYPES
Definition: libFireBird.h:79
@ ST_TF7k7HDPVR
Definition: libFireBird.h:78
@ ST_S
Definition: libFireBird.h:68
@ ST_C
Definition: libFireBird.h:70