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

金融证券系统

开发平台:

Visual C++

  1. //  define udp pack head
  2. #define JY_CHKUSR_HEAD                          (LPSTR)"JYCHKUSR"
  3. #define JY_CHGPWD_HEAD                          (LPSTR)"JYCHGPWD"
  4. #define JY_BUYSELL_HEAD                         (LPSTR)"JYBUYSELL"
  5. #define JY_SELL_HEAD                            (LPSTR)"JYSELL"
  6. #define JY_CANCEL_HEAD                          (LPSTR)"JYCANCEL"
  7. #define JY_YECX_HEAD                            (LPSTR)"JYYECX"
  8. #define JY_CJCX_HEAD                            (LPSTR)"JYCJCX"
  9. #define JY_WTCX_HEAD                            (LPSTR)"JYWTCX"
  10. #define JY_CXEND_HEAD                           (LPSTR)"JYCXEND"
  11. #define JY_TIMEOUT_HEAD                         (LPSTR)"JYTIMEOUT"
  12. #define JY_ZQSXX_HEAD (LPSTR)"PKRSA"
  13. #define MAX_GDDM_SIZE   10
  14. #define MAX_JYMM_SIZE   6
  15. #define MAX_RQ_SIZE     8
  16. #define MAX_GPDM_SIZE   6
  17. #define MAX_HTHM_SIZE   6
  18. #define MAX_TIME_SIZE   8
  19. #define MAX_CANCEL_SENDCOUNT    2
  20. #define MAX_CX_SENDCOUNT        20
  21. #define MAX_ZQS_COUNT 32
  22. #ifdef _MSDOS
  23. #ifndef BYTE
  24. #define BYTE char
  25. #endif
  26. #ifndef BOOL
  27. #define BOOL char
  28. #endif
  29. #ifdef FAR
  30. #define FAR far
  31. #endif
  32. #endif
  33. #ifdef _WIN16
  34. typedef struct tag_zqsxx
  35. {
  36. int zqsid[MAX_ZQS_COUNT+1];
  37. char zqsjc[MAX_ZQS_COUNT +1][12+1];
  38. }ZQSXX, FAR * LPZQSXX;
  39. typedef struct tag_PACK_ASK_CHKUSR
  40. {
  41. char jys;  
  42. int zqsid;
  43. long userId;
  44. char gddm[MAX_GDDM_SIZE+1]; 
  45.     char jymm[MAX_JYMM_SIZE+1]; 
  46. int sdHq;
  47. }JY_ASK_CHKUSR, FAR *LPJY_ASK_CHKUSR;
  48. typedef struct tag_PACK_ANS_CHKUSR
  49. {
  50. char  flag;
  51. char jys;                            
  52. long userId;
  53. char gddm[MAX_GDDM_SIZE+1];   
  54. }JY_ANS_CHKUSR, FAR *LPJY_ANS_CHKUSR;
  55. typedef struct tag_PACK_ASK_CHGPWD
  56. {
  57. char jys; 
  58. long userId;
  59. char gddm[MAX_GDDM_SIZE+1]; 
  60. char xmm[MAX_JYMM_SIZE+1];
  61. }JY_ASK_CHGPWD, FAR *LPJY_ASK_CHGPWD;
  62. typedef struct tag_PACK_ANS_CHGPWD
  63. {
  64. char  flag;
  65. char jys;       
  66. char gddm[MAX_GDDM_SIZE+1];
  67. }JY_ANS_CHGPWD, FAR *LPJY_ANS_CHGPWD;
  68. typedef struct tag_PACK_ASK_BUYSELL
  69. {
  70. char  jys;
  71. long userId;
  72. char  gddm[MAX_GDDM_SIZE+1];
  73. char  gpdm[MAX_GPDM_SIZE+1];
  74. char  bs;
  75. long  wtgs;
  76. long wtjg;
  77. }JY_ASK_BUYSELL, FAR *LPJY_ASK_BUYSELL;
  78. typedef struct tag_PACK_ANS_BUYSELL
  79. {
  80. char  flag;
  81. char  jys;     
  82. char  gddm[MAX_GDDM_SIZE+1]; 
  83. char  hthm[MAX_HTHM_SIZE+1]; 
  84.     char bs;
  85. }JY_ANS_BUYSELL, FAR *LPJY_ANS_BUYSELL;
  86. typedef struct tag_CANCEL
  87. {
  88. char hthm[MAX_HTHM_SIZE+1];
  89. }CANCEL, FAR *LPCANCEL;
  90. typedef struct tag_PACK_ASK_CANCEL
  91. {
  92. char  jys;                   
  93. long userId;
  94. char  gddm[MAX_GDDM_SIZE+1]; 
  95. int   cancelCount;
  96. CANCEL Cancel[MAX_CANCEL_SENDCOUNT];
  97. }JY_ASK_CANCEL, FAR *LPJY_ASK_CANCEL;
  98. typedef struct tag_PACK_ANS_CANCEL
  99. {
  100. char  flag[MAX_CANCEL_SENDCOUNT];
  101. char  jys;               
  102. char  gddm[MAX_GDDM_SIZE+1];
  103. }JY_ANS_CANCEL, FAR *LPJY_ANS_CANCEL;
  104. typedef struct tag_PACK_ASK_YECX
  105. {
  106. char  jys;                  
  107. long userId;
  108. char  gddm[MAX_GDDM_SIZE+1];
  109. char  gpdm[MAX_GPDM_SIZE+1];
  110. }JY_ASK_YECX, FAR *LPJY_ASK_YECX;
  111. typedef struct tag_GPTG
  112. {
  113. char  gpdm[MAX_GPDM_SIZE+1];
  114. char  kys[12+1],gpye[12+1]; 
  115. char  ghrq[MAX_RQ_SIZE+1];  
  116. }JY_GPTG, FAR *LPJY_GPTG;
  117. typedef struct tag_PACK_ANS_YECX
  118. {
  119. char   flag;
  120. char   jys;                 
  121. char   gddm[MAX_GDDM_SIZE+1];
  122. int    recnum;             
  123. double kys,zjye;
  124.     LPJY_GPTG lpGptg;
  125. }JY_ANS_YECX, FAR *LPJY_ANS_YECX;
  126. typedef struct tag_PACK_ASK_CJCX
  127. {
  128. char  jys;                   
  129. long userId;
  130. char  gddm[MAX_GDDM_SIZE+1]; 
  131. char  cjrq[MAX_RQ_SIZE+1];         //YYMMDD
  132. char  hthm[MAX_HTHM_SIZE+1];       // IF HTHM IS EMPTY,THEN RUQER ALL CJ
  133. }JY_ASK_CJCX, FAR *LPJY_ASK_CJCX;
  134. typedef struct tag_CJ
  135. {
  136. char  hthm[MAX_HTHM_SIZE+1];  
  137. char  cjsj[MAX_TIME_SIZE+1];      //HH:MI:SS 
  138.     char  mmbz;                       //B,S
  139. char  gpdm[MAX_GPDM_SIZE+1];
  140.     char  cjgs[12+1];
  141.     char  cjjg[12+1];
  142. }JY_CJ, FAR *LPJY_CJ;
  143. typedef struct tag_PACK_ANS_CJCX
  144. {
  145. char  flag;
  146. char  jys;                    
  147. char  gddm[MAX_GDDM_SIZE+1]; 
  148. int   recnum;
  149. char  cjrq[MAX_RQ_SIZE+1];      //YYMMDD
  150. LPJY_CJ lpCj;
  151. }JY_ANS_CJCX, FAR *LPJY_ANS_CJCX;
  152. typedef struct tag_PACK_ASK_WTCX
  153. {
  154. char  jys;                  
  155. long userId;
  156. char  gddm[MAX_GDDM_SIZE+1];
  157. char  wtrq[MAX_RQ_SIZE+1];      //YYMMDD
  158. char  hthm[MAX_HTHM_SIZE+1];    // IF HTHM IS EMPTY,THEN RUQER ALL WT 
  159. char cdcx;
  160. }JY_ASK_WTCX, FAR *LPJY_ASK_WTCX;
  161. typedef struct tag_WT
  162. {
  163. char  hthm[MAX_HTHM_SIZE+1];
  164. char  wtsj[MAX_TIME_SIZE+1];    //HH:MI:SS         
  165.     char  mmbz;                     //B,S
  166. char  gpdm[MAX_GPDM_SIZE+1];
  167.     char  wtgs[12+1];               //if wtgs<0 then is cancel
  168.     char  wtjg[12+1];
  169. }JY_WT, FAR *LPJY_WT;
  170. typedef struct tag_PACK_ANS_WTCX
  171. {
  172. char  flag;     
  173. char  jys;                  
  174. char  gddm[MAX_GDDM_SIZE+1];
  175. int   recnum;
  176. char  wtrq[MAX_RQ_SIZE+1];      //YYMMDD
  177. LPJY_WT lpWt;
  178. }JY_ANS_WTCX, FAR *LPJY_ANS_WTCX;
  179. #else
  180. typedef struct tag_zqsxx
  181. {
  182. short zqsid[MAX_ZQS_COUNT+1];
  183. char zqsjc[MAX_ZQS_COUNT +1][12+1];
  184. }ZQSXX, FAR * LPZQSXX;
  185. typedef struct tag_PACK_ASK_CHKUSR
  186. {
  187. char jys;  
  188. short zqsid;
  189. int userId;
  190. char gddm[MAX_GDDM_SIZE+1]; 
  191.     char jymm[MAX_JYMM_SIZE+1]; 
  192. short sdHq;
  193. }JY_ASK_CHKUSR, FAR *LPJY_ASK_CHKUSR;
  194. typedef struct tag_PACK_ANS_CHKUSR
  195. {
  196. char  flag;    //if 0,right,if -1 ,then user invalid
  197. char jys;                            
  198. int userId;
  199. char gddm[MAX_GDDM_SIZE+1];   
  200. }JY_ANS_CHKUSR, FAR *LPJY_ANS_CHKUSR;
  201. typedef struct tag_PACK_ASK_CHGPWD
  202. {
  203. char jys; 
  204. int userId;
  205. char gddm[MAX_GDDM_SIZE+1]; 
  206. char xmm[MAX_JYMM_SIZE+1];
  207. }JY_ASK_CHGPWD, FAR *LPJY_ASK_CHGPWD;
  208. typedef struct tag_PACK_ANS_CHGPWD
  209. {
  210. char  flag;    // if 0 succeed,if -1 then failed
  211. char jys;       
  212. char gddm[MAX_GDDM_SIZE+1];
  213. }JY_ANS_CHGPWD, FAR *LPJY_ANS_CHGPWD;
  214.   
  215. typedef struct tag_PACK_ASK_BUYSELL
  216. {
  217. char  jys;
  218. int userId;
  219. char  gddm[MAX_GDDM_SIZE+1];
  220. char  gpdm[MAX_GPDM_SIZE+1];
  221. char  bs;        // 'B', 'S'
  222. int  wtgs;
  223. int wtjg;
  224. }JY_ASK_BUYSELL, FAR *LPJY_ASK_BUYSELL;
  225. typedef struct tag_PACK_ANS_BUYSELL
  226. {
  227. char   flag;  //0 succeed,-1 no money,-2 no stock     
  228. char  jys;     
  229. char  gddm[MAX_GDDM_SIZE+1]; 
  230. char  hthm[MAX_HTHM_SIZE+1]; 
  231.     char bs;
  232. }JY_ANS_BUYSELL, FAR *LPJY_ANS_BUYSELL;
  233. typedef struct tag_CANCEL
  234. {
  235. char hthm[MAX_HTHM_SIZE+1];
  236. }CANCEL, FAR *LPCANCEL;
  237. typedef struct tag_PACK_ASK_CANCEL
  238. {
  239. char  jys;                   
  240. int userId;
  241. char  gddm[MAX_GDDM_SIZE+1]; 
  242. short   cancelCount;
  243. CANCEL Cancel[MAX_CANCEL_SENDCOUNT];
  244. }JY_ASK_CANCEL, FAR *LPJY_ASK_CANCEL;
  245. typedef struct tag_PACK_ANS_CANCEL
  246. {
  247. char  flag[MAX_CANCEL_SENDCOUNT];
  248. char  jys;               
  249. char  gddm[MAX_GDDM_SIZE+1];
  250. }JY_ANS_CANCEL, FAR *LPJY_ANS_CANCEL;
  251. typedef struct tag_PACK_ASK_YECX
  252. {
  253. char  jys;                  
  254. int userId;
  255. char  gddm[MAX_GDDM_SIZE+1];
  256. char  gpdm[MAX_GPDM_SIZE+1];
  257. }JY_ASK_YECX, FAR *LPJY_ASK_YECX;
  258. typedef struct tag_GPTG
  259. {
  260. char  gpdm[MAX_GPDM_SIZE+1];
  261. char  kys[12+1],gpye[12+1]; 
  262. char  ghrq[MAX_RQ_SIZE+1];  
  263. }JY_GPTG, FAR *LPJY_GPTG;
  264. typedef struct tag_PACK_ANS_YECX
  265. {
  266. char   flag;
  267. char   jys;                 
  268. char   gddm[MAX_GDDM_SIZE+1];
  269. short    recnum;             
  270. double kys,zjye;
  271.     LPJY_GPTG lpGptg;
  272. }JY_ANS_YECX, FAR *LPJY_ANS_YECX;
  273. typedef struct tag_PACK_ASK_CJCX
  274. {
  275. char  jys;                   
  276. int userId;
  277. char  gddm[MAX_GDDM_SIZE+1]; 
  278. char  cjrq[MAX_RQ_SIZE+1];         //YYMMDD
  279. char  hthm[MAX_HTHM_SIZE+1];       // IF HTHM IS EMPTY,THEN RUQER ALL CJ
  280. }JY_ASK_CJCX, FAR *LPJY_ASK_CJCX;
  281. typedef struct tag_CJ
  282. {
  283. char  hthm[MAX_HTHM_SIZE+1];  
  284. char  cjsj[MAX_TIME_SIZE+1];      //HH:MI:SS 
  285.     char  mmbz;                       //B,S
  286. char  gpdm[MAX_GPDM_SIZE+1];
  287.     char  cjgs[12+1];
  288.     char  cjjg[12+1];
  289. }JY_CJ, FAR *LPJY_CJ;
  290. typedef struct tag_PACK_ANS_CJCX
  291. {
  292. char  flag;
  293. char  jys;                    
  294. char  gddm[MAX_GDDM_SIZE+1]; 
  295. short   recnum;
  296. char  cjrq[MAX_RQ_SIZE+1];      //YYMMDD
  297. LPJY_CJ lpCj;
  298. }JY_ANS_CJCX, FAR *LPJY_ANS_CJCX;
  299. typedef struct tag_PACK_ASK_WTCX
  300. {
  301. char  jys;                  
  302. int userId;
  303. char  gddm[MAX_GDDM_SIZE+1];
  304. char  wtrq[MAX_RQ_SIZE+1];      //YYMMDD
  305. char  hthm[MAX_HTHM_SIZE+1];    // IF HTHM IS EMPTY,THEN RUQER ALL WT 
  306. char cdcx;
  307. }JY_ASK_WTCX, FAR *LPJY_ASK_WTCX;
  308. typedef struct tag_WT
  309. {
  310. char  hthm[MAX_HTHM_SIZE+1];
  311. char  wtsj[MAX_TIME_SIZE+1];    //HH:MI:SS         
  312.     char  mmbz;                     //B,S
  313. char  gpdm[MAX_GPDM_SIZE+1];
  314.     char  wtgs[12+1];               //if wtgs<0 then is cancel
  315.     char  wtjg[12+1];
  316. }JY_WT, FAR *LPJY_WT;
  317. typedef struct tag_PACK_ANS_WTCX
  318. {
  319. char  flag;     
  320. char  jys;                  
  321. char  gddm[MAX_GDDM_SIZE+1];
  322. short   recnum;
  323. char  wtrq[MAX_RQ_SIZE+1];      //YYMMDD
  324. LPJY_WT lpWt;
  325. }JY_ANS_WTCX, FAR *LPJY_ANS_WTCX;
  326. #endif
  327.     
  328. #define JY_CHKUSR               0
  329. #define JY_CHGPWD               1
  330. #define JY_BUYSELL              2
  331. #define JY_CANCEL               3
  332. #define JY_YECX                 4
  333. #define JY_CJCX                 5
  334. #define JY_WTCX                 6
  335. // defeine comm dbf file                                     
  336. #define fld_ASKNO   0
  337. #define fld_ANSNO   1
  338. #define fld_STKNO   2
  339. #define fld_GDDM    3
  340. #define fld_JYMM    4
  341. #define fld_GPDM    5
  342. #define fld_WTGS    6
  343. #define fld_WTJG    7
  344. #define fld_HTHM    8
  345. #define fld_DATE    9   
  346. #define fld_STAT    10
  347. #define fld_ADDR 11
  348. #define fld_SERI 12
  349. #define REQ_NULL        '0'
  350. #define REQ_CHKUSR      '1'
  351. #define REQ_CHGPWD      '2'
  352. #define REQ_BUY         '3'
  353. #define REQ_SELL        '4'
  354. #define REQ_BUYSEL      '3'
  355. #define REQ_CANCEL      '5'
  356. #define REQ_YECX        '6'
  357. #define REQ_CJCX        '7'
  358. #define REQ_WTCX        '8'
  359. #define REQ_EXIT        '9'
  360. #define ANS_SUCC '0' 
  361. #define ANS_TIME_OUT 'A'
  362. #define ANS_SYS_ERR 'B'
  363. #define ANS_NO_PRIV 'C'
  364. #define ANS_NO_GDDM 'D'
  365. #define ANS_NO_CANCEL 'E'
  366. #define ANS_NO_DATA_FOUND 'F'
  367. #define ANS_GDDM_USE 'I'
  368. #define ANS_SUSP_REQ 'J'
  369. #define MAX_WAIT_TIME   60
  370. int JyInit(void);
  371. int JyExit(void);
  372. int Jy_ChkUsr(int sd, int, LPJY_ASK_CHKUSR);
  373. int Jy_ChgPwd(int sd, int, LPJY_ASK_CHGPWD);
  374. int Jy_BuySell(int sd, int, LPJY_ASK_BUYSELL);
  375. int Jy_Cancel(int sd, int, LPJY_ASK_CANCEL);
  376. int Jy_Yecx(int sd, int, LPJY_ASK_YECX);
  377. int Jy_Cjcx(int sd, int, LPJY_ASK_CJCX);
  378. int Jy_Wtcx(int sd, int, LPJY_ASK_WTCX);
  379. int Jy_Zqsxx(int sd);