FireBirdLib - Topfield TMS PVR TAP Programming Library
FlashTimeEncode.c
Go to the documentation of this file.
1#include <string.h>
2#include "FBLib_flash.h"
3
4static bool FlashTimeEncode_ST_TMSS(tFlashTimeInfo *TimeInfo, tFlashTimeInfo *Data)
5{
7
8 memset(Data, 0, sizeof(tFlashTimeInfo));
9 Data->UTCOffset = TimeInfo->UTCOffset;
10 Data->SleepTimer = TimeInfo->SleepTimer;
11 Data->unknown1 = TimeInfo->unknown1;
12 Data->GMTCollection = TimeInfo->GMTCollection;
13 Data->Mode = TimeInfo->Mode;
14 Data->unknown2 = TimeInfo->unknown2;
15 Data->unknown3 = TimeInfo->unknown3;
16 Data->DSTActive = TimeInfo->DSTActive;
17 Data->AutoDSTEnabled = TimeInfo->AutoDSTEnabled;
18 Data->unknown4 = TimeInfo->unknown4;
19
20 TRACEEXIT();
21 return TRUE;
22}
23
24static bool FlashTimeEncode_ST_TMST(tFlashTimeInfo *TimeInfo, tFlashTimeInfo *Data)
25{
26 bool ret;
27
28 TRACEENTER();
29
30 ret = FlashTimeEncode_ST_TMSS(TimeInfo, Data);
31
32 TRACEEXIT();
33 return ret;
34}
35
36static bool FlashTimeEncode_ST_TMSC(tFlashTimeInfo *TimeInfo, tFlashTimeInfo *Data)
37{
38 bool ret;
39
40 TRACEENTER();
41
42 ret = FlashTimeEncode_ST_TMSS(TimeInfo, Data);
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 = FlashTimeEncode_ST_TMSS(TimeInfo, Data); break;
76 case ST_TMST: ret = FlashTimeEncode_ST_TMST(TimeInfo, Data); break;
77 case ST_TMSC: ret = FlashTimeEncode_ST_TMSC(TimeInfo, Data); break;
78
79 case ST_NRTYPES: break;
80 }
81
82 TRACEEXIT();
83 return ret;
84}
85
87{
88 TRACEENTER();
89
90 bool ret;
91
92 //TimeInfo is NULL
93 if(!TimeInfo)
94 {
95 TRACEEXIT();
96 return FALSE;
97 }
98
99 ret = FALSE;
100 switch(GetSystemType())
101 {
102 //Unknown and old 5k/6k systems are not supported
103 case ST_UNKNOWN:
104 case ST_S:
105 case ST_ST:
106 case ST_T:
107 case ST_C:
108 case ST_CT:
109 case ST_T5700:
110 case ST_T5800:
111 case ST_TF7k7HDPVR: break;
112
113 case ST_TMSS:
114 {
116
118 if(p) ret = FlashTimeEncode(TimeInfo, p);
119 break;
120 }
121
122 case ST_TMST:
123 {
125
127 if(p) ret = FlashTimeEncode(TimeInfo, p);
128 break;
129 }
130
131 case ST_TMSC:
132 {
134
136 if(p) ret = FlashTimeEncode(TimeInfo, p);
137 break;
138 }
139
140 case ST_NRTYPES: break;
141 }
142
143 TRACEEXIT();
144 return ret;
145}
dword FIS_vFlashBlockTimeInfo(void)
bool FlashTimeEncode(tFlashTimeInfo *TimeInfo, tFlashTimeInfo *Data)
bool FlashTimeSetInfo(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