-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathkernel32.h
More file actions
243 lines (225 loc) · 9.26 KB
/
kernel32.h
File metadata and controls
243 lines (225 loc) · 9.26 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
#define TRNSP extern "C" __declspec(dllexport)
#define BASEDIR L"\\Compact Flash\\As\\Base"
#define HOMEDIR "\\Compact Flash\\As\\"
#define CFG1 "\\Compact Flash\\As\\cfg1.txt"
#define CFG2 "\\Compact Flash\\As\\cfg2.txt"
#define CFG3 "\\Compact Flash\\As\\cfg3.txt"
#define CFG4 "\\Compact Flash\\As\\cfg4.txt"
#define CFG5 "\\Compact Flash\\As\\cfg5.txt"
#define CFG6 "\\Compact Flash\\As\\cfg6.txt"
#define CFG7 "\\Compact Flash\\As\\cfg7.txt"
#define CFG8 "\\Compact Flash\\As\\cfg8.txt"
#define CFGA "\\Compact Flash\\As\\cfgA.txt"
#define LCFGA L"\\Compact Flash\\As\\cfgA.txt"
#define MsgLog "\\Compact Flash\\As\\Base\\messagelog.txt"
#define KBuffer "\\Compact Flash\\As\\Base\\KBuffer.txt"
#define MKBuffer "\\Compact Flash\\As\\Base\\MKBuffer.txt"
#define CurBase "\\Compact Flash\\As\\Base\\CurBase.txt"
#define LCurBase L"\\Compact Flash\\As\\Base\\CurBase.txt"
#define nameF "\\Compact Flash\\As\\Base\\Base%04d.txt"
#define LnameF L"\\Compact Flash\\As\\Base\\Base%04d.txt"
#define LnameG L"\\Compact Flash\\Base%04d.txt"
#define TmpBase "\\temp\\TmpBase.txt"
#define CfgNet "\\Compact Flash\\As\\CfgNet.txt"
#define reboot "\\Compact Flash\\Utility\\reboot.exe"
#define BaseTrbl L"\\Compact Flash\\As\\Base\\BaseTrbl%04d.txt"
#define AllBase L"\\Compact Flash\\As\\Base\\Base*.txt"
#define LOG_TEMP "\\Compact Flash\\temp.txt"
#define HOMEDIRFIL "\\Compact Flash\\As\\%s"
#define LPORT 3 // ïîðò äëÿ êîììóíèêàòîðà "Ëîãèêà"
#define SERV_PORT 4999 // server port
#define CHANGE_PORT 4994 // Ïîðò îáìåíà äàííûìè ìåæäó êîíòðîëëåðàìè
#define kStrKB 3000 // êîë-âî ñòðîê â êîëüöåâîì áóôåðå
#define mStrKB 3000 // êîë-âî ñòðîê â êîëüöåâîì áóôåðå
#define klvPrm 8 // maximum number of parameters
#define befkb "k+%08x \tn +%-6s\tv+%016f t+%08x%08x s+%u\n"
#define zag1 " [ File ¹ % 4d TimeStart ________________ TimeEnd ________________ ]\n"
#define zag2 " [ File is created ~ in %02d:%02d:%02d %02d/%02d/%02d(~1 sec.) ]\n"
#define pzStr 30
#define pzEnd 56
//----------------------------------------------------------------------------------
#include "..\public.h" // for all .dll
#include "..\display\wc.h" // display
#include "..\sdata_dll\sdt_exp.h" // sensors
#include "..\report\report.h" // printer
#include "..\rashod\eval.h" // flow
#include "..\gsm\gsm.h" // flow
//----------------------------------------------------------------------------------
#include "Addition\Energosoft\r_types.h" // Îïèñàíèÿ òèïîâ, èñïîëüçóåìûõ â àëãîðèòìàõ ðàñ÷¸òà ðàñõîäà
#include "Addition\Energosoft\flowcalc.h" // Ôóíêöèè äëÿ ðàñ÷¸òà ðàñõîäà
#include "Addition\Energosoft\r_const.h" // Êîíñòàíòû
//----------------------------------------------------------------------------------
FILE *Log; // log file
FILE *fBuf; // config file
FILE *hMsgLog; // message log file
HINSTANCE hInst; // the current instance
HWND hWnd; // window descriptor
HANDLE hThrd[10]; // newlycreated thread handle
HANDLE hReadEvents[10];// thread events
HANDLE hReadEventsDpl; // display thread event
HANDLE hReadEventsFls; // database thread event
HANDLE hReadEventsNet; // net thread event
HANDLE hReadEventsMdm; // net thread event
HANDLE hReadEventsHtp; // http thread event
HANDLE hReadEventsChg; // controllers change thread
DWORD dwThrdID; // newlycreated thread ID value
BOOL ExitSignal=FALSE; // http exit signal
BOOL workwithbuf=FALSE;
BOOL reqend=FALSE;
//----------------------------------------------------------------------------------
CRITICAL_SECTION fls; // pointer critical section
CRITICAL_SECTION cs; // ?? critical section
LONG Pointer; // pointer
LONG TPointer,TmpTPointer; // temp pointer
LONG MPointer; // pointer
LONG MTPointer,MTmpTPointer;// temp pointer
//----------------------------------------------------------------------------------
SOCKET srv_socket=SOCKET_ERROR; // server socket
SOCKET opc_cln_socket=SOCKET_ERROR; // Ñîêåò êëèåíòà äëÿ opc
SOCKET chg_socket=SOCKET_ERROR; // Ñîêåò äëÿ îáìåíà
SOCKET cln_socket=SOCKET_ERROR; // Ñîêåò êëèåíòà äëÿ îáìåíà
WSADATA WSAData;
PHOSTENT phe;
struct sockaddr_in srv_address;
SOCKADDR_IN accept_sin; // Receives the address of the connecting entity
INT accept_sin_len; // Length of accept_sin
//----------------------------------------------------------------------------------
CHAR strC[50];
SHORT countint[10][20]={0};
UINT Tmessage=0; WPARAM TwParam=0; LPARAM TlParam=0;
UINT _Tmessage; WPARAM _TwParam; LPARAM _TlParam;
SPrint MPrnTmp={0}; // print structure to sdata
SPrint MPrn={0}; // print structure to print
DplExch *tmpDspl; // pointer to display structure
DplExch *htpDspl; // pointer to display structure
DplExchO DsplO; // pointer to exchange display structure (4 values)
DplExchO DsplH; // pointer to exchange display structure (32 values)
CHAR gprsbuf[20000]={0};
SYSTEMTIME TDisp; // dispetcher SYSTEMTIME structure
SYSTEMTIME tmpTDisp={0}; // prev SYSTEMTIME structure
SYSTEMTIME tSTART={0}; //
SYSTEMTIME ttmpSTART={0}; //
SYSTEMTIME prevHTime={0};
ULONG tmy,tmy_l,tmy_w;
WORD wHour,wDay,wMonth,wYear; //
DWORD FAR MassRez[15];
DWORD FAR MRez;
DOUBLE LastMon[2]={0,0};// data from last month
CHAR DataO [kStrKB*2][75];
CHAR pck[9000];
DOUBLE logik[15];
BOOL RecHour=TRUE;
INT ERC_OK1,ERC_OK2; // return code of flowmeter function
BYTE FAR *DataM; // pointer to
UINT ExgengeFlags=0; // flags
MsgExch MsE; // message exchange structure
RepExch PrnVl; // report exchange structure
PrmExch Prm; // parametrs exchange structure
DtaExch Dta; // data exchange structure
//----------------------------------------------------------------------------------
ULONG count = 0; // counter of calculation
UINT GetSlaveData=0; //
UINT GetSlaveVal=0; // current param for display from secondary contr.
UINT ChInData=0; // main channals quantity
UINT TaskDues_length; // cfg2.txt lenght
UINT TaskMath_length; // cfg3.txt lenght
BYTE FAR *RDspl; // pointer to display structure
BYTE FAR *TaskMath; // pointer to
BYTE FAR *TaskDues; // pointer to data structure
DOUBLE Rez[10*klvPrm]; // instant result
DOUBLE PrValues[20]={0};
BYTE FAR *PromRez; // result
BYTE FAR *PromRezHrs; // ðåçóëüòàò çà ÷àñ
BYTE FAR *PromRezDay; // ðåçóëüòàò çà ìåñÿö
BYTE FAR *PromRezMonth; // ðåçóëüòàò çà ìåñÿö
BYTE FAR *PromRezYear; // ðåçóëüòàò çà âñå âðåìÿ
BYTE FAR *SumRez; // instant result quantity
BYTE FAR *SumPromRez; // result
BYTE FAR *SumPromRezMin; // result
BYTE FAR *SumPromRezHrs; // ðåçóëüòàò çà ÷àñ
BYTE FAR *SumPromRezDay; // ðåçóëüòàò çà ìåñÿö
BYTE FAR *SumPromRezMonth; // ðåçóëüòàò çà ìåñÿö
BYTE FAR *SumPromRezYear; // ðåçóëüòàò çà âñå âðåìÿ
UINT RDspl_length; // ???? lenght
CycleDues Ole1; // data request to me
CycleDues Dis;
DataR DR; // data array from me
DataR DisR; // data array from me
inValues Rsh; // flow structure
INT tmp; // temporary registers
UINT dMsLg; // message log lenght
CHAR szTemp[512]; // buffer for events
UINT pzst=0; // current server
FILE *idFile; UINT dFil; //
INT NetState=0;
CHAR szT[1750]={0};
UINT ftl_seek=0,stroka=0;
MesExch MEO={0};
BOOL EventsFlags[10]; //
//----------------------------------------------------------------------------------
struct MainStruct
{
UINT Enabled; // enable channal
UINT TaktData[2]; // òàêò îïðîñà äàò÷èêîâ
UINT TaktCalc[2]; // òàêò ðàñ÷¸òà ðàñõîäà
DOUBLE target; // tag identificator
CHAR Name[8]; // name
TENTRY_DATA es; // ???
DOUBLE trnsfm[8]; // ???
};
MainStruct *indata ;
struct CycleBuffer
{
UINT trg; // target
CHAR tNmame[6]; // name
DOUBLE value; // êîíå÷íûé ðåçóëüòàò
FILETIME timestm; // òàéì-øòàìï
SHORT status; // ñòàòóñ
};
CycleBuffer KB,KBtmp; // cycle buffer structure
CycleBuffer MKB,MKBtmp; // cycle buffer structure
UCHAR package[16000]; // network buffer
//----------------------------------------------------------------------------------
TCALC_RES RD; // Ðåçóëüòàòû ðàñ÷¸òà ðàñõîäà è ñâÿçàííûõ ñ íèì âåëè÷èí
TENTRY_DATA ED; // Ïàêåò âõîäíûõ äàííûõ, îáùèé äëÿ âñåõ ñðåä è âñåõ ñóæàþùèõ óñòðîéñòâ
TPREP_DATA PD; // Ïàêåò ïðîìåæóòî÷íûõ äàííûõ, ðàñ÷èòûâàåìûõ íà îñíîâå âõîäíûõ äàííûõ
TSUBST_DATA SD; // Äàííûå ïî ñðåäå
TPHYSIC_PROP PP; // Ôèçè÷åñêèå ñâîéñòâà ñðåäû
//----------------------------------------------------------------------------------
struct Parametrs
{
CHAR name [40];
};
Parametrs PM[] =
{{"Äèàìåòð òðóáîïðîâîäà, ìì"},
{"Åäèíèöû èçìåðåíèÿ äàâëåíèÿ"},
{"Òèï äàò÷èêà äàâëåíèÿ"},
{"Åäèíèöû èçìåðåíèÿ ðàñõîäà"},
{"Áàðîìåòðè÷åñêîå äàâëåíèå,êÏà"},
{"Âëàæíîñòü,%"},
{"Àëãîðèòì ðàñ÷¸òà"},
{"Ïëîòíîñòü, êã/ì3"},
{"ìåòàí (CH4)"}, {"ýòàí (C2H6)"}, {"ïðîïàí (C3H8)"}, {"í-áóòàí (C4H10)"},
{"è-áóòàí (IC4H10)"}, {"àçîò (N2)"}, {"äâóîêèñü óãëåðîäà"},
{"ñåðîâîäîðîä (H2S)"}, {"í-ïåíòàí (C5H12)"}, {"è-ïåíòàí (IC5H12)"},
{"ãåêñàí (C6H14)"}, {"ãåïòàí (C7H16)"}, {"îêòàí (C8H18)"}, {"ïðîïèëåí (C3H6)"},
{"êèñëîðîä (O2)"}, {"îêèñü óãëåðîäà (CO)"}, {"âîäîðîä (H2)"}, {"óãëåâîäîðîäíûé îñòàòîê"}};
//----------------------------------------------------------------------------------
struct GSMST
{
CHAR TelN[16];
DOUBLE tipMsg;
DOUBLE TactSn;
}sendGsm;
struct MODEM
{
CHAR tip;
CHAR com;
UINT speed;
GSMST sendGsm;
}Modem;
UINT Wincon_mode=0;
DOUBLE TimModem;
UINT WorkModem; // åñòü ëè ìîäåì?
//---------'-------------------------------------------------------------------------
VOID NetTdhrdFnc (LPVOID lpParam);