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

金融证券系统

开发平台:

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 MAX_GDDM_SIZE   10
  13. #define MAX_JYMM_SIZE   6
  14. #define MAX_RQ_SIZE     6 
  15. #define MAX_GPDM_SIZE   6
  16. #define MAX_HTHM_SIZE   6
  17. #define MAX_TIME_SIZE   6
  18. #define MAX_CANCEL_SENDCOUNT    10
  19. #define MAX_CX_SENDCOUNT                20
  20. // define udp request and answer pack  structure                                  
  21. typedef struct tag_PACK_ASK_CHKUSR
  22. {
  23. char jys;                               //
  24. int userId;
  25. char gddm[MAX_GDDM_SIZE+1];             //
  26.     char jymm[MAX_JYMM_SIZE+1];         //
  27. }JY_ASK_CHKUSR, FAR *LPJY_ASK_CHKUSR;
  28. typedef struct tag_PACK_ANS_CHKUSR
  29. {
  30. char  flag;                          //if 0,right,if -1 ,then user invalid
  31. char jys;                               //
  32. int userId;
  33. char gddm[MAX_GDDM_SIZE+1];         //
  34. }JY_ANS_CHKUSR, FAR *LPJY_ANS_CHKUSR;
  35. typedef struct tag_PACK_ASK_CHGPWD
  36. {
  37. char jys;                               //
  38. int userId;
  39. char gddm[MAX_GDDM_SIZE+1];             //
  40. char xmm[MAX_JYMM_SIZE+1];              //
  41. }JY_ASK_CHGPWD, FAR *LPJY_ASK_CHGPWD;
  42. typedef struct tag_PACK_ANS_CHGPWD
  43. {
  44. char  flag;                          // if 0 succeed,if -1 then failed
  45. char jys;                               //
  46. char gddm[MAX_GDDM_SIZE+1];             //
  47. }JY_ANS_CHGPWD, FAR *LPJY_ANS_CHGPWD;
  48.   
  49. typedef struct tag_PACK_ASK_BUYSELL
  50. {
  51. char  jys;                              //
  52. int userId;
  53. char  gddm[MAX_GDDM_SIZE+1];        //
  54. char  gpdm[MAX_GPDM_SIZE+1];        //
  55. char  bs;        // 'B', 'S'
  56. int  wtgs;
  57. int wtjg;
  58. }JY_ASK_BUYSELL, FAR *LPJY_ASK_BUYSELL;
  59. typedef struct tag_PACK_ANS_BUYSELL
  60. {
  61. char   flag;                         //0 succeed,-1 no money,-2 no stock     
  62. char  jys;                              //
  63. char  gddm[MAX_GDDM_SIZE+1];        //
  64. char  hthm[MAX_HTHM_SIZE+1];           //
  65.     char bs;
  66. }JY_ANS_BUYSELL, FAR *LPJY_ANS_BUYSELL;
  67. typedef struct tag_CANCEL
  68. {
  69. char hthm[MAX_HTHM_SIZE+1];
  70. }CANCEL, FAR *LPCANCEL;
  71. typedef struct tag_PACK_ASK_CANCEL
  72. {
  73. char  jys;                               //
  74. int userId;
  75. char  gddm[MAX_GDDM_SIZE+1];         //
  76. short   cancelCount;
  77. CANCEL Cancel[MAX_CANCEL_SENDCOUNT]; //
  78. }JY_ASK_CANCEL, FAR *LPJY_ASK_CANCEL;
  79. typedef struct tag_PACK_ANS_CANCEL
  80. {
  81. char  flag[MAX_CANCEL_SENDCOUNT];   //
  82. char  jys;                              //
  83. char  gddm[MAX_GDDM_SIZE+1];        //
  84. }JY_ANS_CANCEL, FAR *LPJY_ANS_CANCEL;
  85. typedef struct tag_PACK_ASK_YECX
  86. {
  87. char  jys;                              //
  88. int userId;
  89. char  gddm[MAX_GDDM_SIZE+1];        //
  90. char  gpdm[MAX_GPDM_SIZE+1];        //
  91. }JY_ASK_YECX, FAR *LPJY_ASK_YECX;
  92. typedef struct tag_GPTG
  93. {
  94. char  gpdm[MAX_GPDM_SIZE+1];       //
  95. char  kys[9+1],gpye[9+1];          //
  96. char  ghrq[MAX_RQ_SIZE+1];         //
  97. }JY_GPTG, FAR *LPJY_GPTG;
  98. typedef struct tag_PACK_ANS_YECX
  99. {
  100. char   flag;
  101. char   jys;                        //
  102. char   gddm[MAX_GDDM_SIZE+1];      //
  103. short    recnum;                     //
  104. double kys,zjye;
  105.     LPJY_GPTG lpGptg;
  106. }JY_ANS_YECX, FAR *LPJY_ANS_YECX;
  107. typedef struct tag_PACK_ASK_CJCX
  108. {
  109. char  jys;                         //
  110. int userId;
  111. char  gddm[MAX_GDDM_SIZE+1];       //
  112. char  cjrq[MAX_RQ_SIZE+1];         //YYMMDD
  113. char  hthm[MAX_HTHM_SIZE+1];       // IF HTHM IS EMPTY,THEN RUQER ALL CJ
  114. }JY_ASK_CJCX, FAR *LPJY_ASK_CJCX;
  115. typedef struct tag_CJ
  116. {
  117. char  hthm[MAX_HTHM_SIZE+1];      //
  118. char  cjsj[MAX_TIME_SIZE+1];      //HHMISS 
  119.     char  mmbz;                       //B,S
  120. char  gpdm[MAX_GPDM_SIZE+1];
  121.     char  cjgs[8+1];
  122.     char  cjjg[7+1];
  123. }JY_CJ, FAR *LPJY_CJ;
  124. typedef struct tag_PACK_ANS_CJCX
  125. {
  126. char  flag;
  127. char  jys;                          //
  128. char  gddm[MAX_GDDM_SIZE+1];    //
  129. short   recnum;
  130. char  cjrq[MAX_RQ_SIZE+1];          //YYMMDD
  131. LPJY_CJ lpCj;
  132. }JY_ANS_CJCX, FAR *LPJY_ANS_CJCX;
  133. typedef struct tag_PACK_ASK_WTCX
  134. {
  135. char  jys;                          //
  136. int userId;
  137. char  gddm[MAX_GDDM_SIZE+1];    //
  138. char  wtrq[MAX_RQ_SIZE+1];          //YYMMDD
  139. char  hthm[MAX_HTHM_SIZE+1];    // IF HTHM IS EMPTY,THEN RUQER ALL WT 
  140. }JY_ASK_WTCX, FAR *LPJY_ASK_WTCX;
  141. typedef struct tag_WT
  142. {
  143. char  hthm[MAX_HTHM_SIZE+1];    //
  144. char  wtsj[MAX_TIME_SIZE+1];    //HHMISS         
  145.     char  mmbz;                     //B,S
  146. char  gpdm[MAX_GPDM_SIZE+1];
  147.     char  wtgs[8+1];                     //if wtgs<0 then is cancel
  148.     char  wtjg[7+1];
  149. }JY_WT, FAR *LPJY_WT;
  150. typedef struct tag_PACK_ANS_WTCX
  151. {
  152. char  flag;     
  153. char  jys;                          //
  154. char  gddm[MAX_GDDM_SIZE+1];    //
  155. short   recnum;
  156. char  wtrq[MAX_RQ_SIZE+1];          //YYMMDD
  157. LPJY_WT lpWt;
  158. }JY_ANS_WTCX, FAR *LPJY_ANS_WTCX;
  159.     
  160. #define JY_CHKUSR               0
  161. #define JY_CHGPWD               1
  162. #define JY_BUYSELL              2
  163. #define JY_CANCEL               3
  164. #define JY_YECX                 4
  165. #define JY_CJCX                 5
  166. #define JY_WTCX                 6
  167. // defeine comm dbf file                                     
  168. #define fld_ASKNO       0
  169. #define fld_ANSNO       1
  170. #define fld_STKNO       2
  171. #define fld_GDDM        3
  172. #define fld_JYMM    4
  173. #define fld_GPDM    5
  174. #define fld_WTGS    6
  175. #define fld_WTJG    7
  176. #define fld_HTHM    8
  177. #define fld_DATE    9   
  178. #define fld_STAT        10
  179. #define REQ_NULL        '0'
  180. #define REQ_CHKUSR      '1'
  181. #define REQ_CHGPWD      '2'
  182. #define REQ_BUY         '3'
  183. #define REQ_SELL        '4'
  184. #define REQ_BUYSEL      '3'
  185. #define REQ_CANCEL      '5'
  186. #define REQ_YECX        '6'
  187. #define REQ_CJCX        '7'
  188. #define REQ_WTCX        '8'
  189. #define REQ_EXIT        '9'
  190. #define ANS_SUCC        '0' 
  191. #define ANS_NO_MONEY    '1'
  192. #define ANS_NO_STOCK    '2'
  193. #define ANS_NOT_FOUND   '3'
  194. #define ANS_TIME_OUT    '4'
  195. #define ANS_SYS_ERR     '5'
  196. #define ANS_NO_PRIV     '6'
  197. #define ANS_NO_GDDM     '7'
  198. #define ANS_NO_CANCEL   '8'
  199. #define ANS_GDDM_USE    'I'
  200. #define MAX_WAIT_TIME   20
  201. int JyInit(void);
  202. int JyExit(void);
  203. int Jy_ChkUsr(int sd, struct sockaddr *, int, LPJY_ASK_CHKUSR);
  204. int Jy_ChgPwd(int sd, struct sockaddr *, int, LPJY_ASK_CHGPWD);
  205. int Jy_BuySell(int sd, struct sockaddr *, int, LPJY_ASK_BUYSELL);
  206. int Jy_Cancel(int sd, struct sockaddr *, int, LPJY_ASK_CANCEL);
  207. int Jy_Yecx(int sd, struct sockaddr *, int, LPJY_ASK_YECX);
  208. int Jy_Cjcx(int sd, struct sockaddr *, int, LPJY_ASK_CJCX);
  209. int Jy_Wtcx(int sd, struct sockaddr *, int, LPJY_ASK_WTCX);