HQ.H
上传用户:bjghjy
上传日期:2007-01-07
资源大小:379k
文件大小:7k
源码类别:

金融证券系统

开发平台:

Visual C++

  1. #define MAX_HQ_SEND_COUNT 25
  2. #define MAX_ZQXX_SEND_COUNT 10
  3. #define MAX_GRA_SEND_COUNT 20
  4. #define MAX_HQFLDS_COUNT 15
  5. #define MAX_HQSEL_COUNT 5
  6. #define MAX_HQSEL_REC_COUNT 100
  7. #define MAX_HQ_REC_COUNT 600
  8. #define MAX_GMIN_REC_COUNT 500
  9. #define MAX_ZS_COUNT 15
  10. #define MAX_ZQDM_SIZE 7
  11. #define MAX_ZQMC_SIZE 13
  12. #define MAX_ZS_NAME_SIZE 15
  13. #define MAX_ZS_SIZE 12
  14. #define MAX_JG_SIZE 8
  15. #define MAX_CJSS_SIZE 12
  16. #define MAX_SL_SIZE 15
  17. #define MAX_CJJE_SIZE 18
  18. #define MAX_CJZJ_SIZE 15
  19. #define MAX_CJZJE_SIZE 18
  20. #define MAX_FLD_SIZE MAX_CJZJE_SIZE
  21. #define MAX_FILE_NAME_SIZE 13
  22. #define MSG_HEAD (LPSTR)"MSG"
  23. #define ERROR_HEAD (LPSTR)"ERROR"
  24. #define NOTRUN_HEAD (LPSTR)"NOTRUN"
  25. #define ECHO_HEAD (LPSTR)"ECHO"
  26. #define HQ00_HEAD (LPSTR)"HQ00"
  27. #define XHQ00_HEAD (LPSTR)"XHQ00"
  28. #define HQ01_HEAD (LPSTR)"HQ01"
  29. #define ZQXX_HEAD (LPSTR)"PKRSA"
  30. #define DP_HEAD (LPSTR)"DP"
  31. #define MMP_HEAD (LPSTR)"MMP"
  32. #define HQ10_HEAD (LPSTR)"HQ10"
  33. #define GRA00_HEAD (LPSTR)"GRA00"
  34. #define XGRA00_HEAD (LPSTR)"XGRA00"
  35. #define GRA01_HEAD (LPSTR)"GRA01"
  36. #define GRA10_HEAD (LPSTR)"GRA10"
  37. #define MAXMIN10_HEAD (LPSTR)"MAXMIN10"
  38. #define ZX_HEAD (LPSTR)"ZX"
  39. #define HQREF_HEAD (LPSTR)"HQREF"
  40. #define CLNT_EXIT (LPSTR)"CEXIT"
  41. #define CLNT_ALIVE      (LPSTR)"ALIVE"
  42. #define JY_EXIT (LPSTR)"JYEXIT"
  43. #define GETZQMC_HEAD (LPSTR)"GETZQMC"
  44. #define HQ_CHKUSR_HEAD (LPSTR)"CHKUSR"
  45. #define DATA_DAY_HEAD (LPSTR)"DATADAY"
  46. #define DAY_DATA_HEAD (LPSTR)"DAYDATA"
  47. #define SEND_FILE_HEAD (LPSTR)"RECVFILE"
  48. typedef struct tag_SEND_FILE_FRAME
  49. {
  50.     char filename[12];
  51. char sign; // bit4 is file begin sign ,bit3 is file EOF sign,
  52. short filelen;        //  bit2 is file compress sign 
  53. }SEND_FILE_FRAME;
  54. #define STOCK_INFO_HEAD (LPSTR)"STOCKINFO"
  55. typedef struct tag_STOCK_INFO_FRAME
  56. {
  57. short type;
  58. char gpdm[MAX_FILE_NAME_SIZE];
  59. }STOCK_INFO_FRAME,FILE_INFO_FRAME;
  60. #define GZ_SZ 0
  61. #define GZ_SH 1
  62. #define MAX_SEND_BUF_SIZE 2048
  63. #define MAX_RECV_BUF_SIZE 2048
  64. #define MAX_JUNK_PACK 50
  65. #define MAX_JUNK_PACK_COUNT 10
  66. #define MAX_JUNK_VALID_TIME     5 
  67. #define HQ_FLDS_COUNT 14
  68. #define HQ10_FLDS_COUNT 11
  69. #define SZZS_CF_REC_NUM 0    //深圳成分指数记录号
  70. #define SSUB_INT 0
  71. #define SSUB_LONG 1
  72. #define SSUB_FLOAT 2
  73. #define SSUB_FLOAT100 3
  74. #define SORT_UP 0
  75. #define SORT_DOWN 1
  76. typedef struct tag_GPZT
  77. {
  78. BOOL tpbz;
  79. BOOL fnew;
  80. BYTE type;
  81. }GPZT, *LPGPZT;
  82. typedef struct tag_GPZT_DATA
  83. {
  84. short recCount;
  85. LPGPZT lpGpzt;
  86. }GPZT_DATA, *LPGPZT_DATA;
  87. #define FLD_TYPE_STRING 0
  88. #define FLD_TYPE_FLOAT 1
  89. #define FLD_TYPE_LONG 2
  90. typedef struct tag_HQ_REF_DATA
  91. {
  92. float zgjg;
  93. float zdjg;
  94. float zgjm;
  95. float zdjm;
  96. float zjcj;
  97. float zdf;
  98. int cjss;
  99. int lc;
  100. int npzl;
  101. float wb;
  102. int cjje;
  103. }HQ_REF_DATA,  *LPHQ_REF_DATA;
  104. #define HQ_REF_ITEM_COUNT 11
  105. typedef struct tag_HQ_PRE_DATA
  106. {
  107. char zqmc[MAX_ZQMC_SIZE];
  108. char zqdm[MAX_ZQDM_SIZE];
  109. float zrsp;
  110. float jrkp;
  111. }HQ_PRE_DATA,  *LPHQ_PRE_DATA;
  112. typedef struct tag_HQ_DATA
  113. {
  114. short jys;
  115. short recCount;
  116. LPHQ_PRE_DATA lpPreData; //unrefresh datas
  117. LPHQ_REF_DATA lpRefData; //refresh datas
  118. BYTE *lpbChanged;  //???
  119. }HQ_DATA,  *LPHQ_DATA;
  120. typedef struct tag_HQ_TIME
  121. {
  122. short am_min_start, am_min_end;
  123. short pm_min_start, pm_min_end;
  124. BOOL fRunning;
  125. }HQ_TIME,  *LPHQ_TIME;
  126. typedef struct tag_ZS
  127. {
  128. char szName[MAX_ZS_NAME_SIZE+1];
  129. float sp;
  130. float kp;
  131. float zg;
  132. float zd;
  133. float zj;
  134. float sd;
  135. }ZS,  *LPZS;
  136. typedef struct tag_ZS_DATA
  137. {
  138. short zsCount;
  139. LPZS lpZs;
  140. }ZS_DATA,  *LPZS_DATA;
  141. typedef struct tag_MMP
  142. {
  143. float jwBuy[3];
  144. int slBuy[3];
  145. float jwSell[3];
  146. int slSell[3];
  147. }MMP,  *LPMMP;
  148. typedef struct tag_MMP_DATA
  149. {
  150. short recCount;
  151. LPMMP lpMmp;
  152. BYTE *lpChanged;
  153. }MMP_DATA,  *LPMMP_DATA;
  154. typedef struct tag_DP_DATA
  155. {
  156. short zsCount;
  157. float zs[15]; //主要指数:深圳成分指数,上海综合指数
  158. float sp[15];
  159. float zd[15]; //升跌
  160. int cjzje; //上海成交总金额
  161. float npbl; //内盘比例
  162. int cjss; //成交手数
  163. short upCount, downCount, equalCount;
  164. }DP_DATA,  *LPDP_DATA;
  165. typedef struct tag_HQSEL_DATA
  166. {
  167. short jys;
  168. short recCount;
  169. short recNum[MAX_HQSEL_REC_COUNT+1];
  170. }HQSEL_DATA,  *LPHQSEL_DATA;
  171. typedef struct tag_MAXMIN
  172. {
  173. float zjcj;
  174. float zdf;
  175. int cjss;
  176. }MAXMIN,  *LPMAXMIN;
  177. #define ZDF 0
  178. #define ZD 1
  179. #define CJSS 2
  180. #define CJJE 3
  181. typedef struct tag_MAXMIN_DATA
  182. {
  183. short recNum[4][10];
  184. MAXMIN MaxMin[4][10];
  185. }MAXMIN_DATA,  *LPMAXMIN_DATA;
  186. typedef struct tag_ZX_DATA
  187. {
  188. short curMin;
  189. short len;
  190. LPSTR lpText;
  191. }ZX_DATA,  *LPZX_DATA;
  192. typedef struct tag_GRA_DATA
  193. {
  194. short tim;
  195. float cjjg;
  196. int lc, zl;
  197. BYTE BS;
  198. }GRA_DATA,  *LPGRA_DATA;
  199. typedef struct tag_GRA_HEAD
  200. {
  201. short dateNum;
  202. short recCount;
  203. float zgjg, zdjg;
  204. int zglc, zdlc;
  205. float zrsp;
  206. int npzl, wpzl;
  207. }GRA_HEAD,  *LPGRA_HEAD;
  208. typedef struct tag_GRAPH_DATA
  209. {
  210. char szGraPath[128];
  211. LPGRA_HEAD lpGraHead;
  212. LPGRA_DATA lpGraData;
  213. }GRAPH_DATA,  *LPGRAPH_DATA,GRA_ALL,  *LPGRA_ALL;
  214. typedef struct tag_G5M_HEAD
  215. {
  216. short dateCount;
  217. short firstDate, lastDate;
  218. short dataCount;
  219. float maxjg, minjg;
  220. int maxlc;
  221. }G5M_HEAD,  *LPG5M_HEAD;
  222. typedef struct tag_G5M_DATE_HEAD
  223. {
  224. short dateNum;
  225. short dataCount;
  226. }G5M_DATE_HEAD,  *LPG5M_DATE_HEADd;
  227. typedef struct tag_G5M_DATE_REC
  228. {
  229. short min;
  230. float zg, zd, jg;
  231. int lc, zl;
  232. }G5M_DATE_REC,  *LPG5M_DATE_REC;
  233. typedef struct tag_G5M_DATE_DATA
  234. {
  235. G5M_DATE_HEAD DateHead;
  236. G5M_DATE_REC DateRec;
  237. }G5M_DATE_DATA,  *LPG5M_DATE_DATA;
  238. typedef struct tag_G5M_DATA
  239. {
  240. G5M_HEAD G5MHead;
  241. G5M_DATE_HEAD DateHead;
  242. G5M_DATE_REC DateRec;
  243. }G5M_DATA,  *LPG5M_DATA;
  244. typedef struct tag_G5M_GP_DATA
  245. {
  246. LPG5M_DATA lpG5M;
  247. }G5M_GP_DATA,  *LPG5M_GP_DATA;
  248. typedef struct tag_DAY_DATA
  249. {
  250. int day;
  251. float kpjg, spjg, zgjg, zdjg;
  252. int cjss;
  253. double cjje;
  254. }DAY_DATA, *LPDAY_DATA;
  255. typedef struct tag_DAY_DATAS
  256. {
  257. int *lpRecCount;
  258. }DAY_DATAS, *LPDAY_DATAS;
  259. typedef struct tag_JUNK_PACK
  260. {
  261. int sd;
  262. short len;
  263. time_t ltime;
  264. char junk[MAX_JUNK_PACK];
  265. }JUNK_PACK;
  266. #define DEALED 0
  267. #define NO_DEAL 1
  268. #define DEALING 2
  269. #define MAX_CMD_SIZE 50
  270. #define MAX_CMD_VALID_TIME 6
  271. #define MAX_CMD_BUFF_COUNT 100
  272. typedef struct tag_CLT_CMD
  273. {
  274. int sd,bz;
  275. struct sockaddr_in dest;
  276. int len;
  277. time_t ltime;
  278. char cmd[MAX_CMD_SIZE];
  279. }CLT_CMD;
  280. extern HQ_DATA HqData[2];
  281. extern MMP_DATA MmpData[2];
  282. extern DP_DATA DpData[2];
  283. extern HQSEL_DATA HqSelData;
  284. extern HQ_TIME HqTime[2];
  285. extern GRAPH_DATA GraphData[2];
  286. extern GPZT_DATA GpztData[2];
  287. extern MAXMIN_DATA MaxMinData[2][2];  //jys, 0:max, 1:min
  288. extern ZX_DATA ZxData;
  289. int CheckZqdm(LPSTR);
  290. typedef struct tag_HISTORY_DATA
  291. {
  292. char date[10];               //yymmddhhmi
  293. float ks;
  294. float zg;
  295. float zd;
  296. float ss;
  297. int  cj;
  298. }HISTORY_DATA,  *LPHISTORY_DATA;
  299. // To send HQ data fastly,We design the struct to decreace data amount
  300. typedef struct tag_HQ_REF_DATA_V202
  301. {
  302. char zqmc[MAX_ZQMC_SIZE]; //名称
  303. char zqdm[MAX_ZQDM_SIZE]; //代码
  304. int zrsp;      //昨收盘 0
  305. int jrkp;      //今开盘 1
  306. int zgjg;      //最高   2
  307. int zdjg;      //最低   3
  308. int zgjm;      //叫卖   4
  309. int zdjm;      //叫买   5
  310. int zjjg;      //成交   6
  311. int cjss;      //成交手数 8
  312. int npzl;  //内盘总量   10
  313. int cjje;      //成交金额 12
  314. int wb;
  315. }HQ_REF_DATA_V202,*LPHQ_REF_DATA_V202;
  316. typedef struct tag_DATA_V202
  317. {
  318. short *recCount;
  319.     HQ_REF_DATA_V202 *lpData202;
  320. }LZW_DATA_202,*LPLZW_DATA_202;