1#![allow(non_camel_case_types)]
2#![allow(non_snake_case)]
3#![allow(non_upper_case_globals)]
4#![allow(non_camel_case_types)]
5#![allow(dead_code)]
6
7pub use ffi::*;
8use std::fs::create_dir_all;
9use std::mem::forget;
10use std::path::Path;
11use std::sync::mpsc::Sender;
12use std::sync::Arc;
13
14pub type UniquePtr<T> = cxx::UniquePtr<T>;
15
16pub enum THOST_TE_RESUME_TYPE {
17 THOST_TERT_RESTART = 0,
18 THOST_TERT_RESUME,
19 THOST_TERT_QUICK,
20 THOST_TERT_NONE,
21}
22
23pub const THOST_FTDC_EXP_Normal: u8 = '0' as u8;
24pub const THOST_FTDC_EXP_GenOrderByTrade: u8 = '1' as u8;
25pub const THOST_FTDC_ICT_EID: u8 = '0' as u8;
26pub const THOST_FTDC_ICT_IDCard: u8 = '1' as u8;
27pub const THOST_FTDC_ICT_OfficerIDCard: u8 = '2' as u8;
28pub const THOST_FTDC_ICT_PoliceIDCard: u8 = '3' as u8;
29pub const THOST_FTDC_ICT_SoldierIDCard: u8 = '4' as u8;
30pub const THOST_FTDC_ICT_HouseholdRegister: u8 = '5' as u8;
31pub const THOST_FTDC_ICT_Passport: u8 = '6' as u8;
32pub const THOST_FTDC_ICT_TaiwanCompatriotIDCard: u8 = '7' as u8;
33pub const THOST_FTDC_ICT_HomeComingCard: u8 = '8' as u8;
34pub const THOST_FTDC_ICT_LicenseNo: u8 = '9' as u8;
35pub const THOST_FTDC_ICT_TaxNo: u8 = 'A' as u8;
36pub const THOST_FTDC_ICT_HMMainlandTravelPermit: u8 = 'B' as u8;
37pub const THOST_FTDC_ICT_TwMainlandTravelPermit: u8 = 'C' as u8;
38pub const THOST_FTDC_ICT_DrivingLicense: u8 = 'D' as u8;
39pub const THOST_FTDC_ICT_SocialID: u8 = 'F' as u8;
40pub const THOST_FTDC_ICT_LocalID: u8 = 'G' as u8;
41pub const THOST_FTDC_ICT_BusinessRegistration: u8 = 'H' as u8;
42pub const THOST_FTDC_ICT_HKMCIDCard: u8 = 'I' as u8;
43pub const THOST_FTDC_ICT_AccountsPermits: u8 = 'J' as u8;
44pub const THOST_FTDC_ICT_FrgPrmtRdCard: u8 = 'K' as u8;
45pub const THOST_FTDC_ICT_CptMngPrdLetter: u8 = 'L' as u8;
46pub const THOST_FTDC_ICT_HKMCTwResidencePermit: u8 = 'M' as u8;
47pub const THOST_FTDC_ICT_UniformSocialCreditCode: u8 = 'N' as u8;
48pub const THOST_FTDC_ICT_CorporationCertNo: u8 = 'O' as u8;
49pub const THOST_FTDC_ICT_OtherCard: u8 = 'x' as u8;
50pub const THOST_FTDC_IR_All: u8 = '1' as u8;
51pub const THOST_FTDC_IR_Group: u8 = '2' as u8;
52pub const THOST_FTDC_IR_Single: u8 = '3' as u8;
53pub const THOST_FTDC_DR_All: u8 = '1' as u8;
54pub const THOST_FTDC_DR_Group: u8 = '2' as u8;
55pub const THOST_FTDC_DR_Single: u8 = '3' as u8;
56pub const THOST_FTDC_DS_Asynchronous: u8 = '1' as u8;
57pub const THOST_FTDC_DS_Synchronizing: u8 = '2' as u8;
58pub const THOST_FTDC_DS_Synchronized: u8 = '3' as u8;
59pub const THOST_FTDC_BDS_Synchronized: u8 = '1' as u8;
60pub const THOST_FTDC_BDS_Synchronizing: u8 = '2' as u8;
61pub const THOST_FTDC_ECS_NoConnection: u8 = '1' as u8;
62pub const THOST_FTDC_ECS_QryInstrumentSent: u8 = '2' as u8;
63pub const THOST_FTDC_ECS_GotInformation: u8 = '9' as u8;
64pub const THOST_FTDC_TCS_NotConnected: u8 = '1' as u8;
65pub const THOST_FTDC_TCS_Connected: u8 = '2' as u8;
66pub const THOST_FTDC_TCS_QryInstrumentSent: u8 = '3' as u8;
67pub const THOST_FTDC_TCS_SubPrivateFlow: u8 = '4' as u8;
68pub const THOST_FTDC_FC_DataAsync: u8 = '1' as u8;
69pub const THOST_FTDC_FC_ForceUserLogout: u8 = '2' as u8;
70pub const THOST_FTDC_FC_UserPasswordUpdate: u8 = '3' as u8;
71pub const THOST_FTDC_FC_BrokerPasswordUpdate: u8 = '4' as u8;
72pub const THOST_FTDC_FC_InvestorPasswordUpdate: u8 = '5' as u8;
73pub const THOST_FTDC_FC_OrderInsert: u8 = '6' as u8;
74pub const THOST_FTDC_FC_OrderAction: u8 = '7' as u8;
75pub const THOST_FTDC_FC_SyncSystemData: u8 = '8' as u8;
76pub const THOST_FTDC_FC_SyncBrokerData: u8 = '9' as u8;
77pub const THOST_FTDC_FC_BachSyncBrokerData: u8 = 'A' as u8;
78pub const THOST_FTDC_FC_SuperQuery: u8 = 'B' as u8;
79pub const THOST_FTDC_FC_ParkedOrderInsert: u8 = 'C' as u8;
80pub const THOST_FTDC_FC_ParkedOrderAction: u8 = 'D' as u8;
81pub const THOST_FTDC_FC_SyncOTP: u8 = 'E' as u8;
82pub const THOST_FTDC_FC_DeleteOrder: u8 = 'F' as u8;
83pub const THOST_FTDC_FC_ExitEmergency: u8 = 'G' as u8;
84pub const THOST_FTDC_BFC_ForceUserLogout: u8 = '1' as u8;
85pub const THOST_FTDC_BFC_UserPasswordUpdate: u8 = '2' as u8;
86pub const THOST_FTDC_BFC_SyncBrokerData: u8 = '3' as u8;
87pub const THOST_FTDC_BFC_BachSyncBrokerData: u8 = '4' as u8;
88pub const THOST_FTDC_BFC_OrderInsert: u8 = '5' as u8;
89pub const THOST_FTDC_BFC_OrderAction: u8 = '6' as u8;
90pub const THOST_FTDC_BFC_AllQuery: u8 = '7' as u8;
91pub const THOST_FTDC_BFC_log: u8 = 'a' as u8;
92pub const THOST_FTDC_BFC_BaseQry: u8 = 'b' as u8;
93pub const THOST_FTDC_BFC_TradeQry: u8 = 'c' as u8;
94pub const THOST_FTDC_BFC_Trade: u8 = 'd' as u8;
95pub const THOST_FTDC_BFC_Virement: u8 = 'e' as u8;
96pub const THOST_FTDC_BFC_Risk: u8 = 'f' as u8;
97pub const THOST_FTDC_BFC_Session: u8 = 'g' as u8;
98pub const THOST_FTDC_BFC_RiskNoticeCtl: u8 = 'h' as u8;
99pub const THOST_FTDC_BFC_RiskNotice: u8 = 'i' as u8;
100pub const THOST_FTDC_BFC_BrokerDeposit: u8 = 'j' as u8;
101pub const THOST_FTDC_BFC_QueryFund: u8 = 'k' as u8;
102pub const THOST_FTDC_BFC_QueryOrder: u8 = 'l' as u8;
103pub const THOST_FTDC_BFC_QueryTrade: u8 = 'm' as u8;
104pub const THOST_FTDC_BFC_QueryPosition: u8 = 'n' as u8;
105pub const THOST_FTDC_BFC_QueryMarketData: u8 = 'o' as u8;
106pub const THOST_FTDC_BFC_QueryUserEvent: u8 = 'p' as u8;
107pub const THOST_FTDC_BFC_QueryRiskNotify: u8 = 'q' as u8;
108pub const THOST_FTDC_BFC_QueryFundChange: u8 = 'r' as u8;
109pub const THOST_FTDC_BFC_QueryInvestor: u8 = 's' as u8;
110pub const THOST_FTDC_BFC_QueryTradingCode: u8 = 't' as u8;
111pub const THOST_FTDC_BFC_ForceClose: u8 = 'u' as u8;
112pub const THOST_FTDC_BFC_PressTest: u8 = 'v' as u8;
113pub const THOST_FTDC_BFC_RemainCalc: u8 = 'w' as u8;
114pub const THOST_FTDC_BFC_NetPositionInd: u8 = 'x' as u8;
115pub const THOST_FTDC_BFC_RiskPredict: u8 = 'y' as u8;
116pub const THOST_FTDC_BFC_DataExport: u8 = 'z' as u8;
117pub const THOST_FTDC_BFC_RiskTargetSetup: u8 = 'A' as u8;
118pub const THOST_FTDC_BFC_MarketDataWarn: u8 = 'B' as u8;
119pub const THOST_FTDC_BFC_QryBizNotice: u8 = 'C' as u8;
120pub const THOST_FTDC_BFC_CfgBizNotice: u8 = 'D' as u8;
121pub const THOST_FTDC_BFC_SyncOTP: u8 = 'E' as u8;
122pub const THOST_FTDC_BFC_SendBizNotice: u8 = 'F' as u8;
123pub const THOST_FTDC_BFC_CfgRiskLevelStd: u8 = 'G' as u8;
124pub const THOST_FTDC_BFC_TbCommand: u8 = 'H' as u8;
125pub const THOST_FTDC_BFC_DeleteOrder: u8 = 'J' as u8;
126pub const THOST_FTDC_BFC_ParkedOrderInsert: u8 = 'K' as u8;
127pub const THOST_FTDC_BFC_ParkedOrderAction: u8 = 'L' as u8;
128pub const THOST_FTDC_BFC_ExecOrderNoCheck: u8 = 'M' as u8;
129pub const THOST_FTDC_BFC_Designate: u8 = 'N' as u8;
130pub const THOST_FTDC_BFC_StockDisposal: u8 = 'O' as u8;
131pub const THOST_FTDC_BFC_BrokerDepositWarn: u8 = 'Q' as u8;
132pub const THOST_FTDC_BFC_CoverWarn: u8 = 'S' as u8;
133pub const THOST_FTDC_BFC_PreExecOrder: u8 = 'T' as u8;
134pub const THOST_FTDC_BFC_ExecOrderRisk: u8 = 'P' as u8;
135pub const THOST_FTDC_BFC_PosiLimitWarn: u8 = 'U' as u8;
136pub const THOST_FTDC_BFC_QryPosiLimit: u8 = 'V' as u8;
137pub const THOST_FTDC_BFC_FBSign: u8 = 'W' as u8;
138pub const THOST_FTDC_BFC_FBAccount: u8 = 'X' as u8;
139pub const THOST_FTDC_OAS_Submitted: u8 = 'a' as u8;
140pub const THOST_FTDC_OAS_Accepted: u8 = 'b' as u8;
141pub const THOST_FTDC_OAS_Rejected: u8 = 'c' as u8;
142pub const THOST_FTDC_OST_AllTraded: u8 = '0' as u8;
143pub const THOST_FTDC_OST_PartTradedQueueing: u8 = '1' as u8;
144pub const THOST_FTDC_OST_PartTradedNotQueueing: u8 = '2' as u8;
145pub const THOST_FTDC_OST_NoTradeQueueing: u8 = '3' as u8;
146pub const THOST_FTDC_OST_NoTradeNotQueueing: u8 = '4' as u8;
147pub const THOST_FTDC_OST_Canceled: u8 = '5' as u8;
148pub const THOST_FTDC_OST_Unknown: u8 = 'a' as u8;
149pub const THOST_FTDC_OST_NotTouched: u8 = 'b' as u8;
150pub const THOST_FTDC_OST_Touched: u8 = 'c' as u8;
151pub const THOST_FTDC_OSS_InsertSubmitted: u8 = '0' as u8;
152pub const THOST_FTDC_OSS_CancelSubmitted: u8 = '1' as u8;
153pub const THOST_FTDC_OSS_ModifySubmitted: u8 = '2' as u8;
154pub const THOST_FTDC_OSS_Accepted: u8 = '3' as u8;
155pub const THOST_FTDC_OSS_InsertRejected: u8 = '4' as u8;
156pub const THOST_FTDC_OSS_CancelRejected: u8 = '5' as u8;
157pub const THOST_FTDC_OSS_ModifyRejected: u8 = '6' as u8;
158pub const THOST_FTDC_PSD_Today: u8 = '1' as u8;
159pub const THOST_FTDC_PSD_History: u8 = '2' as u8;
160pub const THOST_FTDC_PDT_UseHistory: u8 = '1' as u8;
161pub const THOST_FTDC_PDT_NoUseHistory: u8 = '2' as u8;
162pub const THOST_FTDC_ER_Broker: u8 = '1' as u8;
163pub const THOST_FTDC_ER_Host: u8 = '2' as u8;
164pub const THOST_FTDC_ER_Maker: u8 = '3' as u8;
165pub const THOST_FTDC_PC_Futures: u8 = '1' as u8;
166pub const THOST_FTDC_PC_Options: u8 = '2' as u8;
167pub const THOST_FTDC_PC_Combination: u8 = '3' as u8;
168pub const THOST_FTDC_PC_Spot: u8 = '4' as u8;
169pub const THOST_FTDC_PC_EFP: u8 = '5' as u8;
170pub const THOST_FTDC_PC_SpotOption: u8 = '6' as u8;
171pub const THOST_FTDC_PC_TAS: u8 = '7' as u8;
172pub const THOST_FTDC_PC_MI: u8 = 'I' as u8;
173pub const THOST_FTDC_APC_FutureSingle: u8 = '1' as u8;
174pub const THOST_FTDC_APC_OptionSingle: u8 = '2' as u8;
175pub const THOST_FTDC_APC_Futures: u8 = '3' as u8;
176pub const THOST_FTDC_APC_Options: u8 = '4' as u8;
177pub const THOST_FTDC_APC_TradingComb: u8 = '5' as u8;
178pub const THOST_FTDC_APC_UnTradingComb: u8 = '6' as u8;
179pub const THOST_FTDC_APC_AllTrading: u8 = '7' as u8;
180pub const THOST_FTDC_APC_All: u8 = '8' as u8;
181pub const THOST_FTDC_IP_NotStart: u8 = '0' as u8;
182pub const THOST_FTDC_IP_Started: u8 = '1' as u8;
183pub const THOST_FTDC_IP_Pause: u8 = '2' as u8;
184pub const THOST_FTDC_IP_Expired: u8 = '3' as u8;
185pub const THOST_FTDC_D_Buy: u8 = '0' as u8;
186pub const THOST_FTDC_D_Sell: u8 = '1' as u8;
187pub const THOST_FTDC_PT_Net: u8 = '1' as u8;
188pub const THOST_FTDC_PT_Gross: u8 = '2' as u8;
189pub const THOST_FTDC_PD_Net: u8 = '1' as u8;
190pub const THOST_FTDC_PD_Long: u8 = '2' as u8;
191pub const THOST_FTDC_PD_Short: u8 = '3' as u8;
192pub const THOST_FTDC_SS_NonActive: u8 = '1' as u8;
193pub const THOST_FTDC_SS_Startup: u8 = '2' as u8;
194pub const THOST_FTDC_SS_Operating: u8 = '3' as u8;
195pub const THOST_FTDC_SS_Settlement: u8 = '4' as u8;
196pub const THOST_FTDC_SS_SettlementFinished: u8 = '5' as u8;
197pub const THOST_FTDC_RA_Trade: u8 = '0' as u8;
198pub const THOST_FTDC_RA_Settlement: u8 = '1' as u8;
199pub const THOST_FTDC_HF_Speculation: u8 = '1' as u8;
200pub const THOST_FTDC_HF_Arbitrage: u8 = '2' as u8;
201pub const THOST_FTDC_HF_Hedge: u8 = '3' as u8;
202pub const THOST_FTDC_HF_MarketMaker: u8 = '5' as u8;
203pub const THOST_FTDC_HF_SpecHedge: u8 = '6' as u8;
204pub const THOST_FTDC_HF_HedgeSpec: u8 = '7' as u8;
205pub const THOST_FTDC_BHF_Speculation: u8 = '1' as u8;
206pub const THOST_FTDC_BHF_Arbitrage: u8 = '2' as u8;
207pub const THOST_FTDC_BHF_Hedge: u8 = '3' as u8;
208pub const THOST_FTDC_CIDT_Speculation: u8 = '1' as u8;
209pub const THOST_FTDC_CIDT_Arbitrage: u8 = '2' as u8;
210pub const THOST_FTDC_CIDT_Hedge: u8 = '3' as u8;
211pub const THOST_FTDC_CIDT_MarketMaker: u8 = '5' as u8;
212pub const THOST_FTDC_OPT_AnyPrice: u8 = '1' as u8;
213pub const THOST_FTDC_OPT_LimitPrice: u8 = '2' as u8;
214pub const THOST_FTDC_OPT_BestPrice: u8 = '3' as u8;
215pub const THOST_FTDC_OPT_LastPrice: u8 = '4' as u8;
216pub const THOST_FTDC_OPT_LastPricePlusOneTicks: u8 = '5' as u8;
217pub const THOST_FTDC_OPT_LastPricePlusTwoTicks: u8 = '6' as u8;
218pub const THOST_FTDC_OPT_LastPricePlusThreeTicks: u8 = '7' as u8;
219pub const THOST_FTDC_OPT_AskPrice1: u8 = '8' as u8;
220pub const THOST_FTDC_OPT_AskPrice1PlusOneTicks: u8 = '9' as u8;
221pub const THOST_FTDC_OPT_AskPrice1PlusTwoTicks: u8 = 'A' as u8;
222pub const THOST_FTDC_OPT_AskPrice1PlusThreeTicks: u8 = 'B' as u8;
223pub const THOST_FTDC_OPT_BidPrice1: u8 = 'C' as u8;
224pub const THOST_FTDC_OPT_BidPrice1PlusOneTicks: u8 = 'D' as u8;
225pub const THOST_FTDC_OPT_BidPrice1PlusTwoTicks: u8 = 'E' as u8;
226pub const THOST_FTDC_OPT_BidPrice1PlusThreeTicks: u8 = 'F' as u8;
227pub const THOST_FTDC_OPT_FiveLevelPrice: u8 = 'G' as u8;
228pub const THOST_FTDC_OF_Open: u8 = '0' as u8;
229pub const THOST_FTDC_OF_Close: u8 = '1' as u8;
230pub const THOST_FTDC_OF_ForceClose: u8 = '2' as u8;
231pub const THOST_FTDC_OF_CloseToday: u8 = '3' as u8;
232pub const THOST_FTDC_OF_CloseYesterday: u8 = '4' as u8;
233pub const THOST_FTDC_OF_ForceOff: u8 = '5' as u8;
234pub const THOST_FTDC_OF_LocalForceClose: u8 = '6' as u8;
235pub const THOST_FTDC_FCC_NotForceClose: u8 = '0' as u8;
236pub const THOST_FTDC_FCC_LackDeposit: u8 = '1' as u8;
237pub const THOST_FTDC_FCC_ClientOverPositionLimit: u8 = '2' as u8;
238pub const THOST_FTDC_FCC_MemberOverPositionLimit: u8 = '3' as u8;
239pub const THOST_FTDC_FCC_NotMultiple: u8 = '4' as u8;
240pub const THOST_FTDC_FCC_Violation: u8 = '5' as u8;
241pub const THOST_FTDC_FCC_Other: u8 = '6' as u8;
242pub const THOST_FTDC_FCC_PersonDeliv: u8 = '7' as u8;
243pub const THOST_FTDC_FCC_Notverifycapital: u8 = '8' as u8;
244pub const THOST_FTDC_FCC_LocalLackDeposit: u8 = '9' as u8;
245pub const THOST_FTDC_FCC_LocalViolationNocheck: u8 = 'a' as u8;
246pub const THOST_FTDC_FCC_LocalViolation: u8 = 'b' as u8;
247pub const THOST_FTDC_ORDT_Normal: u8 = '0' as u8;
248pub const THOST_FTDC_ORDT_DeriveFromQuote: u8 = '1' as u8;
249pub const THOST_FTDC_ORDT_DeriveFromCombination: u8 = '2' as u8;
250pub const THOST_FTDC_ORDT_Combination: u8 = '3' as u8;
251pub const THOST_FTDC_ORDT_ConditionalOrder: u8 = '4' as u8;
252pub const THOST_FTDC_ORDT_Swap: u8 = '5' as u8;
253pub const THOST_FTDC_ORDT_DeriveFromBlockTrade: u8 = '6' as u8;
254pub const THOST_FTDC_ORDT_DeriveFromEFPTrade: u8 = '7' as u8;
255pub const THOST_FTDC_TC_IOC: u8 = '1' as u8;
256pub const THOST_FTDC_TC_GFS: u8 = '2' as u8;
257pub const THOST_FTDC_TC_GFD: u8 = '3' as u8;
258pub const THOST_FTDC_TC_GTD: u8 = '4' as u8;
259pub const THOST_FTDC_TC_GTC: u8 = '5' as u8;
260pub const THOST_FTDC_TC_GFA: u8 = '6' as u8;
261pub const THOST_FTDC_VC_AV: u8 = '1' as u8;
262pub const THOST_FTDC_VC_MV: u8 = '2' as u8;
263pub const THOST_FTDC_VC_CV: u8 = '3' as u8;
264pub const THOST_FTDC_CC_Immediately: u8 = '1' as u8;
265pub const THOST_FTDC_CC_Touch: u8 = '2' as u8;
266pub const THOST_FTDC_CC_TouchProfit: u8 = '3' as u8;
267pub const THOST_FTDC_CC_ParkedOrder: u8 = '4' as u8;
268pub const THOST_FTDC_CC_LastPriceGreaterThanStopPrice: u8 = '5' as u8;
269pub const THOST_FTDC_CC_LastPriceGreaterEqualStopPrice: u8 = '6' as u8;
270pub const THOST_FTDC_CC_LastPriceLesserThanStopPrice: u8 = '7' as u8;
271pub const THOST_FTDC_CC_LastPriceLesserEqualStopPrice: u8 = '8' as u8;
272pub const THOST_FTDC_CC_AskPriceGreaterThanStopPrice: u8 = '9' as u8;
273pub const THOST_FTDC_CC_AskPriceGreaterEqualStopPrice: u8 = 'A' as u8;
274pub const THOST_FTDC_CC_AskPriceLesserThanStopPrice: u8 = 'B' as u8;
275pub const THOST_FTDC_CC_AskPriceLesserEqualStopPrice: u8 = 'C' as u8;
276pub const THOST_FTDC_CC_BidPriceGreaterThanStopPrice: u8 = 'D' as u8;
277pub const THOST_FTDC_CC_BidPriceGreaterEqualStopPrice: u8 = 'E' as u8;
278pub const THOST_FTDC_CC_BidPriceLesserThanStopPrice: u8 = 'F' as u8;
279pub const THOST_FTDC_CC_BidPriceLesserEqualStopPrice: u8 = 'H' as u8;
280pub const THOST_FTDC_AF_Delete: u8 = '0' as u8;
281pub const THOST_FTDC_AF_Modify: u8 = '3' as u8;
282pub const THOST_FTDC_TR_Allow: u8 = '0' as u8;
283pub const THOST_FTDC_TR_CloseOnly: u8 = '1' as u8;
284pub const THOST_FTDC_TR_Forbidden: u8 = '2' as u8;
285pub const THOST_FTDC_OSRC_Participant: u8 = '0' as u8;
286pub const THOST_FTDC_OSRC_Administrator: u8 = '1' as u8;
287pub const THOST_FTDC_TRDT_SplitCombination: u8 = '#' as u8;
288pub const THOST_FTDC_TRDT_Common: u8 = '0' as u8;
289pub const THOST_FTDC_TRDT_OptionsExecution: u8 = '1' as u8;
290pub const THOST_FTDC_TRDT_OTC: u8 = '2' as u8;
291pub const THOST_FTDC_TRDT_EFPDerived: u8 = '3' as u8;
292pub const THOST_FTDC_TRDT_CombinationDerived: u8 = '4' as u8;
293pub const THOST_FTDC_TRDT_BlockTrade: u8 = '5' as u8;
294pub const THOST_FTDC_SPOST_Common: u8 = '#' as u8;
295pub const THOST_FTDC_SPOST_Tas: u8 = '0' as u8;
296pub const THOST_FTDC_PSRC_LastPrice: u8 = '0' as u8;
297pub const THOST_FTDC_PSRC_Buy: u8 = '1' as u8;
298pub const THOST_FTDC_PSRC_Sell: u8 = '2' as u8;
299pub const THOST_FTDC_PSRC_OTC: u8 = '3' as u8;
300pub const THOST_FTDC_IS_BeforeTrading: u8 = '0' as u8;
301pub const THOST_FTDC_IS_NoTrading: u8 = '1' as u8;
302pub const THOST_FTDC_IS_Continous: u8 = '2' as u8;
303pub const THOST_FTDC_IS_AuctionOrdering: u8 = '3' as u8;
304pub const THOST_FTDC_IS_AuctionBalance: u8 = '4' as u8;
305pub const THOST_FTDC_IS_AuctionMatch: u8 = '5' as u8;
306pub const THOST_FTDC_IS_Closed: u8 = '6' as u8;
307pub const THOST_FTDC_IS_TransactionProcessing: u8 = '7' as u8;
308pub const THOST_FTDC_IER_Automatic: u8 = '1' as u8;
309pub const THOST_FTDC_IER_Manual: u8 = '2' as u8;
310pub const THOST_FTDC_IER_Fuse: u8 = '3' as u8;
311pub const THOST_FTDC_BS_NoUpload: u8 = '1' as u8;
312pub const THOST_FTDC_BS_Uploaded: u8 = '2' as u8;
313pub const THOST_FTDC_BS_Failed: u8 = '3' as u8;
314pub const THOST_FTDC_RS_All: u8 = '1' as u8;
315pub const THOST_FTDC_RS_ByProduct: u8 = '2' as u8;
316pub const THOST_FTDC_RP_ByVolume: u8 = '1' as u8;
317pub const THOST_FTDC_RP_ByFeeOnHand: u8 = '2' as u8;
318pub const THOST_FTDC_RL_Level1: u8 = '1' as u8;
319pub const THOST_FTDC_RL_Level2: u8 = '2' as u8;
320pub const THOST_FTDC_RL_Level3: u8 = '3' as u8;
321pub const THOST_FTDC_RL_Level4: u8 = '4' as u8;
322pub const THOST_FTDC_RL_Level5: u8 = '5' as u8;
323pub const THOST_FTDC_RL_Level6: u8 = '6' as u8;
324pub const THOST_FTDC_RL_Level7: u8 = '7' as u8;
325pub const THOST_FTDC_RL_Level8: u8 = '8' as u8;
326pub const THOST_FTDC_RL_Level9: u8 = '9' as u8;
327pub const THOST_FTDC_RSD_ByPeriod: u8 = '1' as u8;
328pub const THOST_FTDC_RSD_ByStandard: u8 = '2' as u8;
329pub const THOST_FTDC_MT_Out: u8 = '0' as u8;
330pub const THOST_FTDC_MT_In: u8 = '1' as u8;
331pub const THOST_FTDC_ISPI_MortgageRatio: u8 = '4' as u8;
332pub const THOST_FTDC_ISPI_MarginWay: u8 = '5' as u8;
333pub const THOST_FTDC_ISPI_BillDeposit: u8 = '9' as u8;
334pub const THOST_FTDC_ESPI_MortgageRatio: u8 = '1' as u8;
335pub const THOST_FTDC_ESPI_OtherFundItem: u8 = '2' as u8;
336pub const THOST_FTDC_ESPI_OtherFundImport: u8 = '3' as u8;
337pub const THOST_FTDC_ESPI_CFFEXMinPrepa: u8 = '6' as u8;
338pub const THOST_FTDC_ESPI_CZCESettlementType: u8 = '7' as u8;
339pub const THOST_FTDC_ESPI_ExchDelivFeeMode: u8 = '9' as u8;
340pub const THOST_FTDC_ESPI_DelivFeeMode: u8 = '0' as u8;
341pub const THOST_FTDC_ESPI_CZCEComMarginType: u8 = 'A' as u8;
342pub const THOST_FTDC_ESPI_DceComMarginType: u8 = 'B' as u8;
343pub const THOST_FTDC_ESPI_OptOutDisCountRate: u8 = 'a' as u8;
344pub const THOST_FTDC_ESPI_OptMiniGuarantee: u8 = 'b' as u8;
345pub const THOST_FTDC_SPI_InvestorIDMinLength: u8 = '1' as u8;
346pub const THOST_FTDC_SPI_AccountIDMinLength: u8 = '2' as u8;
347pub const THOST_FTDC_SPI_UserRightLogon: u8 = '3' as u8;
348pub const THOST_FTDC_SPI_SettlementBillTrade: u8 = '4' as u8;
349pub const THOST_FTDC_SPI_TradingCode: u8 = '5' as u8;
350pub const THOST_FTDC_SPI_CheckFund: u8 = '6' as u8;
351pub const THOST_FTDC_SPI_CommModelRight: u8 = '7' as u8;
352pub const THOST_FTDC_SPI_MarginModelRight: u8 = '9' as u8;
353pub const THOST_FTDC_SPI_IsStandardActive: u8 = '8' as u8;
354pub const THOST_FTDC_SPI_UploadSettlementFile: u8 = 'U' as u8;
355pub const THOST_FTDC_SPI_DownloadCSRCFile: u8 = 'D' as u8;
356pub const THOST_FTDC_SPI_SettlementBillFile: u8 = 'S' as u8;
357pub const THOST_FTDC_SPI_CSRCOthersFile: u8 = 'C' as u8;
358pub const THOST_FTDC_SPI_InvestorPhoto: u8 = 'P' as u8;
359pub const THOST_FTDC_SPI_CSRCData: u8 = 'R' as u8;
360pub const THOST_FTDC_SPI_InvestorPwdModel: u8 = 'I' as u8;
361pub const THOST_FTDC_SPI_CFFEXInvestorSettleFile: u8 = 'F' as u8;
362pub const THOST_FTDC_SPI_InvestorIDType: u8 = 'a' as u8;
363pub const THOST_FTDC_SPI_FreezeMaxReMain: u8 = 'r' as u8;
364pub const THOST_FTDC_SPI_IsSync: u8 = 'A' as u8;
365pub const THOST_FTDC_SPI_RelieveOpenLimit: u8 = 'O' as u8;
366pub const THOST_FTDC_SPI_IsStandardFreeze: u8 = 'X' as u8;
367pub const THOST_FTDC_SPI_CZCENormalProductHedge: u8 = 'B' as u8;
368pub const THOST_FTDC_TPID_EncryptionStandard: u8 = 'E' as u8;
369pub const THOST_FTDC_TPID_RiskMode: u8 = 'R' as u8;
370pub const THOST_FTDC_TPID_RiskModeGlobal: u8 = 'G' as u8;
371pub const THOST_FTDC_TPID_modeEncode: u8 = 'P' as u8;
372pub const THOST_FTDC_TPID_tickMode: u8 = 'T' as u8;
373pub const THOST_FTDC_TPID_SingleUserSessionMaxNum: u8 = 'S' as u8;
374pub const THOST_FTDC_TPID_LoginFailMaxNum: u8 = 'L' as u8;
375pub const THOST_FTDC_TPID_IsAuthForce: u8 = 'A' as u8;
376pub const THOST_FTDC_TPID_IsPosiFreeze: u8 = 'F' as u8;
377pub const THOST_FTDC_TPID_IsPosiLimit: u8 = 'M' as u8;
378pub const THOST_FTDC_TPID_ForQuoteTimeInterval: u8 = 'Q' as u8;
379pub const THOST_FTDC_TPID_IsFuturePosiLimit: u8 = 'B' as u8;
380pub const THOST_FTDC_TPID_IsFutureOrderFreq: u8 = 'C' as u8;
381pub const THOST_FTDC_TPID_IsExecOrderProfit: u8 = 'H' as u8;
382pub const THOST_FTDC_TPID_IsCheckBankAcc: u8 = 'I' as u8;
383pub const THOST_FTDC_TPID_PasswordDeadLine: u8 = 'J' as u8;
384pub const THOST_FTDC_TPID_IsStrongPassword: u8 = 'K' as u8;
385pub const THOST_FTDC_TPID_BalanceMorgage: u8 = 'a' as u8;
386pub const THOST_FTDC_TPID_MinPwdLen: u8 = 'O' as u8;
387pub const THOST_FTDC_TPID_LoginFailMaxNumForIP: u8 = 'U' as u8;
388pub const THOST_FTDC_TPID_PasswordPeriod: u8 = 'V' as u8;
389pub const THOST_FTDC_TPID_PwdHistoryCmp: u8 = 'X' as u8;
390pub const THOST_FTDC_TPID_TranferChkProperty: u8 = 'i' as u8;
391pub const THOST_FTDC_TPID_TradeChkPhase: u8 = 'j' as u8;
392pub const THOST_FTDC_TPID_TradeChkPriceVol: u8 = 'k' as u8;
393pub const THOST_FTDC_TPID_NewBESMarginAlgo: u8 = 'l' as u8;
394pub const THOST_FTDC_FI_SettlementFund: u8 = 'F' as u8;
395pub const THOST_FTDC_FI_Trade: u8 = 'T' as u8;
396pub const THOST_FTDC_FI_InvestorPosition: u8 = 'P' as u8;
397pub const THOST_FTDC_FI_SubEntryFund: u8 = 'O' as u8;
398pub const THOST_FTDC_FI_CZCECombinationPos: u8 = 'C' as u8;
399pub const THOST_FTDC_FI_CSRCData: u8 = 'R' as u8;
400pub const THOST_FTDC_FI_CZCEClose: u8 = 'L' as u8;
401pub const THOST_FTDC_FI_CZCENoClose: u8 = 'N' as u8;
402pub const THOST_FTDC_FI_PositionDtl: u8 = 'D' as u8;
403pub const THOST_FTDC_FI_OptionStrike: u8 = 'S' as u8;
404pub const THOST_FTDC_FI_SettlementPriceComparison: u8 = 'M' as u8;
405pub const THOST_FTDC_FI_NonTradePosChange: u8 = 'B' as u8;
406pub const THOST_FTDC_FUT_Settlement: u8 = '0' as u8;
407pub const THOST_FTDC_FUT_Check: u8 = '1' as u8;
408pub const THOST_FTDC_FFT_Txt: u8 = '0' as u8;
409pub const THOST_FTDC_FFT_Zip: u8 = '1' as u8;
410pub const THOST_FTDC_FFT_DBF: u8 = '2' as u8;
411pub const THOST_FTDC_FUS_SucceedUpload: u8 = '1' as u8;
412pub const THOST_FTDC_FUS_FailedUpload: u8 = '2' as u8;
413pub const THOST_FTDC_FUS_SucceedLoad: u8 = '3' as u8;
414pub const THOST_FTDC_FUS_PartSucceedLoad: u8 = '4' as u8;
415pub const THOST_FTDC_FUS_FailedLoad: u8 = '5' as u8;
416pub const THOST_FTDC_TD_Out: u8 = '0' as u8;
417pub const THOST_FTDC_TD_In: u8 = '1' as u8;
418pub const THOST_FTDC_SC_NoSpecialRule: u8 = '0' as u8;
419pub const THOST_FTDC_SC_NoSpringFestival: u8 = '1' as u8;
420pub const THOST_FTDC_IPT_LastSettlement: u8 = '1' as u8;
421pub const THOST_FTDC_IPT_LaseClose: u8 = '2' as u8;
422pub const THOST_FTDC_PLP_Active: u8 = '1' as u8;
423pub const THOST_FTDC_PLP_NonActive: u8 = '2' as u8;
424pub const THOST_FTDC_PLP_Canceled: u8 = '3' as u8;
425pub const THOST_FTDC_DM_CashDeliv: u8 = '1' as u8;
426pub const THOST_FTDC_DM_CommodityDeliv: u8 = '2' as u8;
427pub const THOST_FTDC_FIOT_FundIO: u8 = '1' as u8;
428pub const THOST_FTDC_FIOT_Transfer: u8 = '2' as u8;
429pub const THOST_FTDC_FIOT_SwapCurrency: u8 = '3' as u8;
430pub const THOST_FTDC_FT_Deposite: u8 = '1' as u8;
431pub const THOST_FTDC_FT_ItemFund: u8 = '2' as u8;
432pub const THOST_FTDC_FT_Company: u8 = '3' as u8;
433pub const THOST_FTDC_FT_InnerTransfer: u8 = '4' as u8;
434pub const THOST_FTDC_FD_In: u8 = '1' as u8;
435pub const THOST_FTDC_FD_Out: u8 = '2' as u8;
436pub const THOST_FTDC_FS_Record: u8 = '1' as u8;
437pub const THOST_FTDC_FS_Check: u8 = '2' as u8;
438pub const THOST_FTDC_FS_Charge: u8 = '3' as u8;
439pub const THOST_FTDC_PS_None: u8 = '1' as u8;
440pub const THOST_FTDC_PS_Publishing: u8 = '2' as u8;
441pub const THOST_FTDC_PS_Published: u8 = '3' as u8;
442pub const THOST_FTDC_ES_NonActive: u8 = '1' as u8;
443pub const THOST_FTDC_ES_Startup: u8 = '2' as u8;
444pub const THOST_FTDC_ES_Initialize: u8 = '3' as u8;
445pub const THOST_FTDC_ES_Initialized: u8 = '4' as u8;
446pub const THOST_FTDC_ES_Close: u8 = '5' as u8;
447pub const THOST_FTDC_ES_Closed: u8 = '6' as u8;
448pub const THOST_FTDC_ES_Settlement: u8 = '7' as u8;
449pub const THOST_FTDC_STS_Initialize: u8 = '0' as u8;
450pub const THOST_FTDC_STS_Settlementing: u8 = '1' as u8;
451pub const THOST_FTDC_STS_Settlemented: u8 = '2' as u8;
452pub const THOST_FTDC_STS_Finished: u8 = '3' as u8;
453pub const THOST_FTDC_CT_Person: u8 = '0' as u8;
454pub const THOST_FTDC_CT_Company: u8 = '1' as u8;
455pub const THOST_FTDC_CT_Fund: u8 = '2' as u8;
456pub const THOST_FTDC_CT_SpecialOrgan: u8 = '3' as u8;
457pub const THOST_FTDC_CT_Asset: u8 = '4' as u8;
458pub const THOST_FTDC_BT_Trade: u8 = '0' as u8;
459pub const THOST_FTDC_BT_TradeSettle: u8 = '1' as u8;
460pub const THOST_FTDC_FAS_Low: u8 = '1' as u8;
461pub const THOST_FTDC_FAS_Normal: u8 = '2' as u8;
462pub const THOST_FTDC_FAS_Focus: u8 = '3' as u8;
463pub const THOST_FTDC_FAS_Risk: u8 = '4' as u8;
464pub const THOST_FTDC_FAS_ByTrade: u8 = '1' as u8;
465pub const THOST_FTDC_FAS_ByDeliv: u8 = '2' as u8;
466pub const THOST_FTDC_FAS_None: u8 = '3' as u8;
467pub const THOST_FTDC_FAS_FixFee: u8 = '4' as u8;
468pub const THOST_FTDC_PWDT_Trade: u8 = '1' as u8;
469pub const THOST_FTDC_PWDT_Account: u8 = '2' as u8;
470pub const THOST_FTDC_AG_All: u8 = '1' as u8;
471pub const THOST_FTDC_AG_OnlyLost: u8 = '2' as u8;
472pub const THOST_FTDC_AG_OnlyGain: u8 = '3' as u8;
473pub const THOST_FTDC_AG_None: u8 = '4' as u8;
474pub const THOST_FTDC_ICP_Include: u8 = '0' as u8;
475pub const THOST_FTDC_ICP_NotInclude: u8 = '2' as u8;
476pub const THOST_FTDC_AWT_Enable: u8 = '0' as u8;
477pub const THOST_FTDC_AWT_Disable: u8 = '2' as u8;
478pub const THOST_FTDC_AWT_NoHoldEnable: u8 = '3' as u8;
479pub const THOST_FTDC_FPWD_UnCheck: u8 = '0' as u8;
480pub const THOST_FTDC_FPWD_Check: u8 = '1' as u8;
481pub const THOST_FTDC_TT_BankToFuture: u8 = '0' as u8;
482pub const THOST_FTDC_TT_FutureToBank: u8 = '1' as u8;
483pub const THOST_FTDC_TVF_Invalid: u8 = '0' as u8;
484pub const THOST_FTDC_TVF_Valid: u8 = '1' as u8;
485pub const THOST_FTDC_TVF_Reverse: u8 = '2' as u8;
486pub const THOST_FTDC_RN_CD: u8 = '0' as u8;
487pub const THOST_FTDC_RN_ZT: u8 = '1' as u8;
488pub const THOST_FTDC_RN_QT: u8 = '2' as u8;
489pub const THOST_FTDC_SEX_None: u8 = '0' as u8;
490pub const THOST_FTDC_SEX_Man: u8 = '1' as u8;
491pub const THOST_FTDC_SEX_Woman: u8 = '2' as u8;
492pub const THOST_FTDC_UT_Investor: u8 = '0' as u8;
493pub const THOST_FTDC_UT_Operator: u8 = '1' as u8;
494pub const THOST_FTDC_UT_SuperUser: u8 = '2' as u8;
495pub const THOST_FTDC_RATETYPE_MarginRate: u8 = '2' as u8;
496pub const THOST_FTDC_NOTETYPE_TradeSettleBill: u8 = '1' as u8;
497pub const THOST_FTDC_NOTETYPE_TradeSettleMonth: u8 = '2' as u8;
498pub const THOST_FTDC_NOTETYPE_CallMarginNotes: u8 = '3' as u8;
499pub const THOST_FTDC_NOTETYPE_ForceCloseNotes: u8 = '4' as u8;
500pub const THOST_FTDC_NOTETYPE_TradeNotes: u8 = '5' as u8;
501pub const THOST_FTDC_NOTETYPE_DelivNotes: u8 = '6' as u8;
502pub const THOST_FTDC_SBS_Day: u8 = '1' as u8;
503pub const THOST_FTDC_SBS_Volume: u8 = '2' as u8;
504pub const THOST_FTDC_ST_Day: u8 = '0' as u8;
505pub const THOST_FTDC_ST_Month: u8 = '1' as u8;
506pub const THOST_FTDC_URT_Logon: u8 = '1' as u8;
507pub const THOST_FTDC_URT_Transfer: u8 = '2' as u8;
508pub const THOST_FTDC_URT_EMail: u8 = '3' as u8;
509pub const THOST_FTDC_URT_Fax: u8 = '4' as u8;
510pub const THOST_FTDC_URT_ConditionOrder: u8 = '5' as u8;
511pub const THOST_FTDC_MPT_PreSettlementPrice: u8 = '1' as u8;
512pub const THOST_FTDC_MPT_SettlementPrice: u8 = '2' as u8;
513pub const THOST_FTDC_MPT_AveragePrice: u8 = '3' as u8;
514pub const THOST_FTDC_MPT_OpenPrice: u8 = '4' as u8;
515pub const THOST_FTDC_BGS_None: u8 = '0' as u8;
516pub const THOST_FTDC_BGS_NoGenerated: u8 = '1' as u8;
517pub const THOST_FTDC_BGS_Generated: u8 = '2' as u8;
518pub const THOST_FTDC_AT_HandlePositionAlgo: u8 = '1' as u8;
519pub const THOST_FTDC_AT_FindMarginRateAlgo: u8 = '2' as u8;
520pub const THOST_FTDC_HPA_Base: u8 = '1' as u8;
521pub const THOST_FTDC_HPA_DCE: u8 = '2' as u8;
522pub const THOST_FTDC_HPA_CZCE: u8 = '3' as u8;
523pub const THOST_FTDC_FMRA_Base: u8 = '1' as u8;
524pub const THOST_FTDC_FMRA_DCE: u8 = '2' as u8;
525pub const THOST_FTDC_FMRA_CZCE: u8 = '3' as u8;
526pub const THOST_FTDC_HTAA_Base: u8 = '1' as u8;
527pub const THOST_FTDC_HTAA_DCE: u8 = '2' as u8;
528pub const THOST_FTDC_HTAA_CZCE: u8 = '3' as u8;
529pub const THOST_FTDC_PST_Order: u8 = '1' as u8;
530pub const THOST_FTDC_PST_Open: u8 = '2' as u8;
531pub const THOST_FTDC_PST_Fund: u8 = '3' as u8;
532pub const THOST_FTDC_PST_Settlement: u8 = '4' as u8;
533pub const THOST_FTDC_PST_Company: u8 = '5' as u8;
534pub const THOST_FTDC_PST_Corporation: u8 = '6' as u8;
535pub const THOST_FTDC_PST_LinkMan: u8 = '7' as u8;
536pub const THOST_FTDC_PST_Ledger: u8 = '8' as u8;
537pub const THOST_FTDC_PST_Trustee: u8 = '9' as u8;
538pub const THOST_FTDC_PST_TrusteeCorporation: u8 = 'A' as u8;
539pub const THOST_FTDC_PST_TrusteeOpen: u8 = 'B' as u8;
540pub const THOST_FTDC_PST_TrusteeContact: u8 = 'C' as u8;
541pub const THOST_FTDC_PST_ForeignerRefer: u8 = 'D' as u8;
542pub const THOST_FTDC_PST_CorporationRefer: u8 = 'E' as u8;
543pub const THOST_FTDC_QIR_All: u8 = '1' as u8;
544pub const THOST_FTDC_QIR_Group: u8 = '2' as u8;
545pub const THOST_FTDC_QIR_Single: u8 = '3' as u8;
546pub const THOST_FTDC_IRS_Normal: u8 = '1' as u8;
547pub const THOST_FTDC_IRS_Warn: u8 = '2' as u8;
548pub const THOST_FTDC_IRS_Call: u8 = '3' as u8;
549pub const THOST_FTDC_IRS_Force: u8 = '4' as u8;
550pub const THOST_FTDC_IRS_Exception: u8 = '5' as u8;
551pub const THOST_FTDC_UET_Login: u8 = '1' as u8;
552pub const THOST_FTDC_UET_Logout: u8 = '2' as u8;
553pub const THOST_FTDC_UET_Trading: u8 = '3' as u8;
554pub const THOST_FTDC_UET_TradingError: u8 = '4' as u8;
555pub const THOST_FTDC_UET_UpdatePassword: u8 = '5' as u8;
556pub const THOST_FTDC_UET_Authenticate: u8 = '6' as u8;
557pub const THOST_FTDC_UET_SubmitSysInfo: u8 = '7' as u8;
558pub const THOST_FTDC_UET_Transfer: u8 = '8' as u8;
559pub const THOST_FTDC_UET_Other: u8 = '9' as u8;
560pub const THOST_FTDC_UET_UpdateTradingAccountPassword: u8 = 'a' as u8;
561pub const THOST_FTDC_ICS_Close: u8 = '0' as u8;
562pub const THOST_FTDC_ICS_CloseToday: u8 = '1' as u8;
563pub const THOST_FTDC_SM_Non: u8 = '0' as u8;
564pub const THOST_FTDC_SM_Instrument: u8 = '1' as u8;
565pub const THOST_FTDC_SM_Product: u8 = '2' as u8;
566pub const THOST_FTDC_SM_Investor: u8 = '3' as u8;
567pub const THOST_FTDC_PAOS_NotSend: u8 = '1' as u8;
568pub const THOST_FTDC_PAOS_Send: u8 = '2' as u8;
569pub const THOST_FTDC_PAOS_Deleted: u8 = '3' as u8;
570pub const THOST_FTDC_VDS_Dealing: u8 = '1' as u8;
571pub const THOST_FTDC_VDS_DeaclSucceed: u8 = '2' as u8;
572pub const THOST_FTDC_ORGS_Standard: u8 = '0' as u8;
573pub const THOST_FTDC_ORGS_ESunny: u8 = '1' as u8;
574pub const THOST_FTDC_ORGS_KingStarV6: u8 = '2' as u8;
575pub const THOST_FTDC_VTS_NaturalDeal: u8 = '0' as u8;
576pub const THOST_FTDC_VTS_SucceedEnd: u8 = '1' as u8;
577pub const THOST_FTDC_VTS_FailedEND: u8 = '2' as u8;
578pub const THOST_FTDC_VTS_Exception: u8 = '3' as u8;
579pub const THOST_FTDC_VTS_ManualDeal: u8 = '4' as u8;
580pub const THOST_FTDC_VTS_MesException: u8 = '5' as u8;
581pub const THOST_FTDC_VTS_SysException: u8 = '6' as u8;
582pub const THOST_FTDC_VBAT_BankBook: u8 = '1' as u8;
583pub const THOST_FTDC_VBAT_BankCard: u8 = '2' as u8;
584pub const THOST_FTDC_VBAT_CreditCard: u8 = '3' as u8;
585pub const THOST_FTDC_VMS_Natural: u8 = '0' as u8;
586pub const THOST_FTDC_VMS_Canceled: u8 = '9' as u8;
587pub const THOST_FTDC_VAA_NoAvailAbility: u8 = '0' as u8;
588pub const THOST_FTDC_VAA_AvailAbility: u8 = '1' as u8;
589pub const THOST_FTDC_VAA_Repeal: u8 = '2' as u8;
590pub const THOST_FTDC_GEN_Program: u8 = '0' as u8;
591pub const THOST_FTDC_GEN_HandWork: u8 = '1' as u8;
592pub const THOST_FTDC_CFMMCKK_REQUEST: u8 = 'R' as u8;
593pub const THOST_FTDC_CFMMCKK_AUTO: u8 = 'A' as u8;
594pub const THOST_FTDC_CFMMCKK_MANUAL: u8 = 'M' as u8;
595pub const THOST_FTDC_CFT_IDCard: u8 = '0' as u8;
596pub const THOST_FTDC_CFT_Passport: u8 = '1' as u8;
597pub const THOST_FTDC_CFT_OfficerIDCard: u8 = '2' as u8;
598pub const THOST_FTDC_CFT_SoldierIDCard: u8 = '3' as u8;
599pub const THOST_FTDC_CFT_HomeComingCard: u8 = '4' as u8;
600pub const THOST_FTDC_CFT_HouseholdRegister: u8 = '5' as u8;
601pub const THOST_FTDC_CFT_LicenseNo: u8 = '6' as u8;
602pub const THOST_FTDC_CFT_InstitutionCodeCard: u8 = '7' as u8;
603pub const THOST_FTDC_CFT_TempLicenseNo: u8 = '8' as u8;
604pub const THOST_FTDC_CFT_NoEnterpriseLicenseNo: u8 = '9' as u8;
605pub const THOST_FTDC_CFT_OtherCard: u8 = 'x' as u8;
606pub const THOST_FTDC_CFT_SuperDepAgree: u8 = 'a' as u8;
607pub const THOST_FTDC_FBC_Others: u8 = '0' as u8;
608pub const THOST_FTDC_FBC_TransferDetails: u8 = '1' as u8;
609pub const THOST_FTDC_FBC_CustAccStatus: u8 = '2' as u8;
610pub const THOST_FTDC_FBC_AccountTradeDetails: u8 = '3' as u8;
611pub const THOST_FTDC_FBC_FutureAccountChangeInfoDetails: u8 = '4' as u8;
612pub const THOST_FTDC_FBC_CustMoneyDetail: u8 = '5' as u8;
613pub const THOST_FTDC_FBC_CustCancelAccountInfo: u8 = '6' as u8;
614pub const THOST_FTDC_FBC_CustMoneyResult: u8 = '7' as u8;
615pub const THOST_FTDC_FBC_OthersExceptionResult: u8 = '8' as u8;
616pub const THOST_FTDC_FBC_CustInterestNetMoneyDetails: u8 = '9' as u8;
617pub const THOST_FTDC_FBC_CustMoneySendAndReceiveDetails: u8 = 'a' as u8;
618pub const THOST_FTDC_FBC_CorporationMoneyTotal: u8 = 'b' as u8;
619pub const THOST_FTDC_FBC_MainbodyMoneyTotal: u8 = 'c' as u8;
620pub const THOST_FTDC_FBC_MainPartMonitorData: u8 = 'd' as u8;
621pub const THOST_FTDC_FBC_PreparationMoney: u8 = 'e' as u8;
622pub const THOST_FTDC_FBC_BankMoneyMonitorData: u8 = 'f' as u8;
623pub const THOST_FTDC_CEC_Exchange: u8 = '1' as u8;
624pub const THOST_FTDC_CEC_Cash: u8 = '2' as u8;
625pub const THOST_FTDC_YNI_Yes: u8 = '0' as u8;
626pub const THOST_FTDC_YNI_No: u8 = '1' as u8;
627pub const THOST_FTDC_BLT_CurrentMoney: u8 = '0' as u8;
628pub const THOST_FTDC_BLT_UsableMoney: u8 = '1' as u8;
629pub const THOST_FTDC_BLT_FetchableMoney: u8 = '2' as u8;
630pub const THOST_FTDC_BLT_FreezeMoney: u8 = '3' as u8;
631pub const THOST_FTDC_GD_Unknown: u8 = '0' as u8;
632pub const THOST_FTDC_GD_Male: u8 = '1' as u8;
633pub const THOST_FTDC_GD_Female: u8 = '2' as u8;
634pub const THOST_FTDC_FPF_BEN: u8 = '0' as u8;
635pub const THOST_FTDC_FPF_OUR: u8 = '1' as u8;
636pub const THOST_FTDC_FPF_SHA: u8 = '2' as u8;
637pub const THOST_FTDC_PWKT_ExchangeKey: u8 = '0' as u8;
638pub const THOST_FTDC_PWKT_PassWordKey: u8 = '1' as u8;
639pub const THOST_FTDC_PWKT_MACKey: u8 = '2' as u8;
640pub const THOST_FTDC_PWKT_MessageKey: u8 = '3' as u8;
641pub const THOST_FTDC_PWT_Query: u8 = '0' as u8;
642pub const THOST_FTDC_PWT_Fetch: u8 = '1' as u8;
643pub const THOST_FTDC_PWT_Transfer: u8 = '2' as u8;
644pub const THOST_FTDC_PWT_Trade: u8 = '3' as u8;
645pub const THOST_FTDC_EM_NoEncry: u8 = '0' as u8;
646pub const THOST_FTDC_EM_DES: u8 = '1' as u8;
647pub const THOST_FTDC_EM_3DES: u8 = '2' as u8;
648pub const THOST_FTDC_BRF_BankNotNeedRepeal: u8 = '0' as u8;
649pub const THOST_FTDC_BRF_BankWaitingRepeal: u8 = '1' as u8;
650pub const THOST_FTDC_BRF_BankBeenRepealed: u8 = '2' as u8;
651pub const THOST_FTDC_BRORF_BrokerNotNeedRepeal: u8 = '0' as u8;
652pub const THOST_FTDC_BRORF_BrokerWaitingRepeal: u8 = '1' as u8;
653pub const THOST_FTDC_BRORF_BrokerBeenRepealed: u8 = '2' as u8;
654pub const THOST_FTDC_TS_Bank: u8 = '0' as u8;
655pub const THOST_FTDC_TS_Future: u8 = '1' as u8;
656pub const THOST_FTDC_TS_Store: u8 = '2' as u8;
657pub const THOST_FTDC_LF_Yes: u8 = '0' as u8;
658pub const THOST_FTDC_LF_No: u8 = '1' as u8;
659pub const THOST_FTDC_BAS_Normal: u8 = '0' as u8;
660pub const THOST_FTDC_BAS_Freeze: u8 = '1' as u8;
661pub const THOST_FTDC_BAS_ReportLoss: u8 = '2' as u8;
662pub const THOST_FTDC_MAS_Normal: u8 = '0' as u8;
663pub const THOST_FTDC_MAS_Cancel: u8 = '1' as u8;
664pub const THOST_FTDC_MSS_Point: u8 = '0' as u8;
665pub const THOST_FTDC_MSS_PrePoint: u8 = '1' as u8;
666pub const THOST_FTDC_MSS_CancelPoint: u8 = '2' as u8;
667pub const THOST_FTDC_SYT_FutureBankTransfer: u8 = '0' as u8;
668pub const THOST_FTDC_SYT_StockBankTransfer: u8 = '1' as u8;
669pub const THOST_FTDC_SYT_TheThirdPartStore: u8 = '2' as u8;
670pub const THOST_FTDC_TEF_NormalProcessing: u8 = '0' as u8;
671pub const THOST_FTDC_TEF_Success: u8 = '1' as u8;
672pub const THOST_FTDC_TEF_Failed: u8 = '2' as u8;
673pub const THOST_FTDC_TEF_Abnormal: u8 = '3' as u8;
674pub const THOST_FTDC_TEF_ManualProcessedForException: u8 = '4' as u8;
675pub const THOST_FTDC_TEF_CommuFailedNeedManualProcess: u8 = '5' as u8;
676pub const THOST_FTDC_TEF_SysErrorNeedManualProcess: u8 = '6' as u8;
677pub const THOST_FTDC_PSS_NotProcess: u8 = '0' as u8;
678pub const THOST_FTDC_PSS_StartProcess: u8 = '1' as u8;
679pub const THOST_FTDC_PSS_Finished: u8 = '2' as u8;
680pub const THOST_FTDC_CUSTT_Person: u8 = '0' as u8;
681pub const THOST_FTDC_CUSTT_Institution: u8 = '1' as u8;
682pub const THOST_FTDC_FBTTD_FromBankToFuture: u8 = '1' as u8;
683pub const THOST_FTDC_FBTTD_FromFutureToBank: u8 = '2' as u8;
684pub const THOST_FTDC_OOD_Open: u8 = '1' as u8;
685pub const THOST_FTDC_OOD_Destroy: u8 = '0' as u8;
686pub const THOST_FTDC_AVAF_Invalid: u8 = '0' as u8;
687pub const THOST_FTDC_AVAF_Valid: u8 = '1' as u8;
688pub const THOST_FTDC_AVAF_Repeal: u8 = '2' as u8;
689pub const THOST_FTDC_OT_Bank: u8 = '1' as u8;
690pub const THOST_FTDC_OT_Future: u8 = '2' as u8;
691pub const THOST_FTDC_OT_PlateForm: u8 = '9' as u8;
692pub const THOST_FTDC_OL_HeadQuarters: u8 = '1' as u8;
693pub const THOST_FTDC_OL_Branch: u8 = '2' as u8;
694pub const THOST_FTDC_PID_FutureProtocal: u8 = '0' as u8;
695pub const THOST_FTDC_PID_ICBCProtocal: u8 = '1' as u8;
696pub const THOST_FTDC_PID_ABCProtocal: u8 = '2' as u8;
697pub const THOST_FTDC_PID_CBCProtocal: u8 = '3' as u8;
698pub const THOST_FTDC_PID_CCBProtocal: u8 = '4' as u8;
699pub const THOST_FTDC_PID_BOCOMProtocal: u8 = '5' as u8;
700pub const THOST_FTDC_PID_FBTPlateFormProtocal: u8 = 'X' as u8;
701pub const THOST_FTDC_CM_ShortConnect: u8 = '0' as u8;
702pub const THOST_FTDC_CM_LongConnect: u8 = '1' as u8;
703pub const THOST_FTDC_SRM_ASync: u8 = '0' as u8;
704pub const THOST_FTDC_SRM_Sync: u8 = '1' as u8;
705pub const THOST_FTDC_BAT_BankBook: u8 = '1' as u8;
706pub const THOST_FTDC_BAT_SavingCard: u8 = '2' as u8;
707pub const THOST_FTDC_BAT_CreditCard: u8 = '3' as u8;
708pub const THOST_FTDC_FAT_BankBook: u8 = '1' as u8;
709pub const THOST_FTDC_FAT_SavingCard: u8 = '2' as u8;
710pub const THOST_FTDC_FAT_CreditCard: u8 = '3' as u8;
711pub const THOST_FTDC_OS_Ready: u8 = '0' as u8;
712pub const THOST_FTDC_OS_CheckIn: u8 = '1' as u8;
713pub const THOST_FTDC_OS_CheckOut: u8 = '2' as u8;
714pub const THOST_FTDC_OS_CheckFileArrived: u8 = '3' as u8;
715pub const THOST_FTDC_OS_CheckDetail: u8 = '4' as u8;
716pub const THOST_FTDC_OS_DayEndClean: u8 = '5' as u8;
717pub const THOST_FTDC_OS_Invalid: u8 = '9' as u8;
718pub const THOST_FTDC_CCBFM_ByAmount: u8 = '1' as u8;
719pub const THOST_FTDC_CCBFM_ByMonth: u8 = '2' as u8;
720pub const THOST_FTDC_CAPIT_Client: u8 = '1' as u8;
721pub const THOST_FTDC_CAPIT_Server: u8 = '2' as u8;
722pub const THOST_FTDC_CAPIT_UserApi: u8 = '3' as u8;
723pub const THOST_FTDC_LS_Connected: u8 = '1' as u8;
724pub const THOST_FTDC_LS_Disconnected: u8 = '2' as u8;
725pub const THOST_FTDC_BPWDF_NoCheck: u8 = '0' as u8;
726pub const THOST_FTDC_BPWDF_BlankCheck: u8 = '1' as u8;
727pub const THOST_FTDC_BPWDF_EncryptCheck: u8 = '2' as u8;
728pub const THOST_FTDC_SAT_AccountID: u8 = '1' as u8;
729pub const THOST_FTDC_SAT_CardID: u8 = '2' as u8;
730pub const THOST_FTDC_SAT_SHStockholderID: u8 = '3' as u8;
731pub const THOST_FTDC_SAT_SZStockholderID: u8 = '4' as u8;
732pub const THOST_FTDC_TRFS_Normal: u8 = '0' as u8;
733pub const THOST_FTDC_TRFS_Repealed: u8 = '1' as u8;
734pub const THOST_FTDC_SPTYPE_Broker: u8 = '0' as u8;
735pub const THOST_FTDC_SPTYPE_Bank: u8 = '1' as u8;
736pub const THOST_FTDC_REQRSP_Request: u8 = '0' as u8;
737pub const THOST_FTDC_REQRSP_Response: u8 = '1' as u8;
738pub const THOST_FTDC_FBTUET_SignIn: u8 = '0' as u8;
739pub const THOST_FTDC_FBTUET_FromBankToFuture: u8 = '1' as u8;
740pub const THOST_FTDC_FBTUET_FromFutureToBank: u8 = '2' as u8;
741pub const THOST_FTDC_FBTUET_OpenAccount: u8 = '3' as u8;
742pub const THOST_FTDC_FBTUET_CancelAccount: u8 = '4' as u8;
743pub const THOST_FTDC_FBTUET_ChangeAccount: u8 = '5' as u8;
744pub const THOST_FTDC_FBTUET_RepealFromBankToFuture: u8 = '6' as u8;
745pub const THOST_FTDC_FBTUET_RepealFromFutureToBank: u8 = '7' as u8;
746pub const THOST_FTDC_FBTUET_QueryBankAccount: u8 = '8' as u8;
747pub const THOST_FTDC_FBTUET_QueryFutureAccount: u8 = '9' as u8;
748pub const THOST_FTDC_FBTUET_SignOut: u8 = 'A' as u8;
749pub const THOST_FTDC_FBTUET_SyncKey: u8 = 'B' as u8;
750pub const THOST_FTDC_FBTUET_ReserveOpenAccount: u8 = 'C' as u8;
751pub const THOST_FTDC_FBTUET_CancelReserveOpenAccount: u8 = 'D' as u8;
752pub const THOST_FTDC_FBTUET_ReserveOpenAccountConfirm: u8 = 'E' as u8;
753pub const THOST_FTDC_FBTUET_Other: u8 = 'Z' as u8;
754pub const THOST_FTDC_DBOP_Insert: u8 = '0' as u8;
755pub const THOST_FTDC_DBOP_Update: u8 = '1' as u8;
756pub const THOST_FTDC_DBOP_Delete: u8 = '2' as u8;
757pub const THOST_FTDC_SYNF_Yes: u8 = '0' as u8;
758pub const THOST_FTDC_SYNF_No: u8 = '1' as u8;
759pub const THOST_FTDC_SYNT_OneOffSync: u8 = '0' as u8;
760pub const THOST_FTDC_SYNT_TimerSync: u8 = '1' as u8;
761pub const THOST_FTDC_SYNT_TimerFullSync: u8 = '2' as u8;
762pub const THOST_FTDC_FBEDIR_Settlement: u8 = '0' as u8;
763pub const THOST_FTDC_FBEDIR_Sale: u8 = '1' as u8;
764pub const THOST_FTDC_FBERES_Success: u8 = '0' as u8;
765pub const THOST_FTDC_FBERES_InsufficientBalance: u8 = '1' as u8;
766pub const THOST_FTDC_FBERES_UnknownTrading: u8 = '8' as u8;
767pub const THOST_FTDC_FBERES_Fail: u8 = 'x' as u8;
768pub const THOST_FTDC_FBEES_Normal: u8 = '0' as u8;
769pub const THOST_FTDC_FBEES_ReExchange: u8 = '1' as u8;
770pub const THOST_FTDC_FBEFG_DataPackage: u8 = '0' as u8;
771pub const THOST_FTDC_FBEFG_File: u8 = '1' as u8;
772pub const THOST_FTDC_FBEAT_NotTrade: u8 = '0' as u8;
773pub const THOST_FTDC_FBEAT_Trade: u8 = '1' as u8;
774pub const THOST_FTDC_FBEUET_SignIn: u8 = '0' as u8;
775pub const THOST_FTDC_FBEUET_Exchange: u8 = '1' as u8;
776pub const THOST_FTDC_FBEUET_ReExchange: u8 = '2' as u8;
777pub const THOST_FTDC_FBEUET_QueryBankAccount: u8 = '3' as u8;
778pub const THOST_FTDC_FBEUET_QueryExchDetial: u8 = '4' as u8;
779pub const THOST_FTDC_FBEUET_QueryExchSummary: u8 = '5' as u8;
780pub const THOST_FTDC_FBEUET_QueryExchRate: u8 = '6' as u8;
781pub const THOST_FTDC_FBEUET_CheckBankAccount: u8 = '7' as u8;
782pub const THOST_FTDC_FBEUET_SignOut: u8 = '8' as u8;
783pub const THOST_FTDC_FBEUET_Other: u8 = 'Z' as u8;
784pub const THOST_FTDC_FBERF_UnProcessed: u8 = '0' as u8;
785pub const THOST_FTDC_FBERF_WaitSend: u8 = '1' as u8;
786pub const THOST_FTDC_FBERF_SendSuccess: u8 = '2' as u8;
787pub const THOST_FTDC_FBERF_SendFailed: u8 = '3' as u8;
788pub const THOST_FTDC_FBERF_WaitReSend: u8 = '4' as u8;
789pub const THOST_FTDC_NC_NOERROR: u8 = '0' as u8;
790pub const THOST_FTDC_NC_Warn: u8 = '1' as u8;
791pub const THOST_FTDC_NC_Call: u8 = '2' as u8;
792pub const THOST_FTDC_NC_Force: u8 = '3' as u8;
793pub const THOST_FTDC_NC_CHUANCANG: u8 = '4' as u8;
794pub const THOST_FTDC_NC_Exception: u8 = '5' as u8;
795pub const THOST_FTDC_FCT_Manual: u8 = '0' as u8;
796pub const THOST_FTDC_FCT_Single: u8 = '1' as u8;
797pub const THOST_FTDC_FCT_Group: u8 = '2' as u8;
798pub const THOST_FTDC_RNM_System: u8 = '0' as u8;
799pub const THOST_FTDC_RNM_SMS: u8 = '1' as u8;
800pub const THOST_FTDC_RNM_EMail: u8 = '2' as u8;
801pub const THOST_FTDC_RNM_Manual: u8 = '3' as u8;
802pub const THOST_FTDC_RNS_NotGen: u8 = '0' as u8;
803pub const THOST_FTDC_RNS_Generated: u8 = '1' as u8;
804pub const THOST_FTDC_RNS_SendError: u8 = '2' as u8;
805pub const THOST_FTDC_RNS_SendOk: u8 = '3' as u8;
806pub const THOST_FTDC_RNS_Received: u8 = '4' as u8;
807pub const THOST_FTDC_RNS_Confirmed: u8 = '5' as u8;
808pub const THOST_FTDC_RUE_ExportData: u8 = '0' as u8;
809pub const THOST_FTDC_COST_LastPriceAsc: u8 = '0' as u8;
810pub const THOST_FTDC_COST_LastPriceDesc: u8 = '1' as u8;
811pub const THOST_FTDC_COST_AskPriceAsc: u8 = '2' as u8;
812pub const THOST_FTDC_COST_AskPriceDesc: u8 = '3' as u8;
813pub const THOST_FTDC_COST_BidPriceAsc: u8 = '4' as u8;
814pub const THOST_FTDC_COST_BidPriceDesc: u8 = '5' as u8;
815pub const THOST_FTDC_UOAST_NoSend: u8 = '0' as u8;
816pub const THOST_FTDC_UOAST_Sended: u8 = '1' as u8;
817pub const THOST_FTDC_UOAST_Generated: u8 = '2' as u8;
818pub const THOST_FTDC_UOAST_SendFail: u8 = '3' as u8;
819pub const THOST_FTDC_UOAST_Success: u8 = '4' as u8;
820pub const THOST_FTDC_UOAST_Fail: u8 = '5' as u8;
821pub const THOST_FTDC_UOAST_Cancel: u8 = '6' as u8;
822pub const THOST_FTDC_UOACS_NoApply: u8 = '1' as u8;
823pub const THOST_FTDC_UOACS_Submited: u8 = '2' as u8;
824pub const THOST_FTDC_UOACS_Sended: u8 = '3' as u8;
825pub const THOST_FTDC_UOACS_Success: u8 = '4' as u8;
826pub const THOST_FTDC_UOACS_Refuse: u8 = '5' as u8;
827pub const THOST_FTDC_UOACS_Cancel: u8 = '6' as u8;
828pub const THOST_FTDC_QT_Radio: u8 = '1' as u8;
829pub const THOST_FTDC_QT_Option: u8 = '2' as u8;
830pub const THOST_FTDC_QT_Blank: u8 = '3' as u8;
831pub const THOST_FTDC_BT_Request: u8 = '1' as u8;
832pub const THOST_FTDC_BT_Response: u8 = '2' as u8;
833pub const THOST_FTDC_BT_Notice: u8 = '3' as u8;
834pub const THOST_FTDC_CRC_Success: u8 = '0' as u8;
835pub const THOST_FTDC_CRC_Working: u8 = '1' as u8;
836pub const THOST_FTDC_CRC_InfoFail: u8 = '2' as u8;
837pub const THOST_FTDC_CRC_IDCardFail: u8 = '3' as u8;
838pub const THOST_FTDC_CRC_OtherFail: u8 = '4' as u8;
839pub const THOST_FTDC_CfMMCCT_All: u8 = '0' as u8;
840pub const THOST_FTDC_CfMMCCT_Person: u8 = '1' as u8;
841pub const THOST_FTDC_CfMMCCT_Company: u8 = '2' as u8;
842pub const THOST_FTDC_CfMMCCT_Other: u8 = '3' as u8;
843pub const THOST_FTDC_CfMMCCT_SpecialOrgan: u8 = '4' as u8;
844pub const THOST_FTDC_CfMMCCT_Asset: u8 = '5' as u8;
845pub const THOST_FTDC_EIDT_SHFE: u8 = 'S' as u8;
846pub const THOST_FTDC_EIDT_CZCE: u8 = 'Z' as u8;
847pub const THOST_FTDC_EIDT_DCE: u8 = 'D' as u8;
848pub const THOST_FTDC_EIDT_CFFEX: u8 = 'J' as u8;
849pub const THOST_FTDC_EIDT_INE: u8 = 'N' as u8;
850pub const THOST_FTDC_ECIDT_Hedge: u8 = '1' as u8;
851pub const THOST_FTDC_ECIDT_Arbitrage: u8 = '2' as u8;
852pub const THOST_FTDC_ECIDT_Speculation: u8 = '3' as u8;
853pub const THOST_FTDC_UF_NoUpdate: u8 = '0' as u8;
854pub const THOST_FTDC_UF_Success: u8 = '1' as u8;
855pub const THOST_FTDC_UF_Fail: u8 = '2' as u8;
856pub const THOST_FTDC_UF_TCSuccess: u8 = '3' as u8;
857pub const THOST_FTDC_UF_TCFail: u8 = '4' as u8;
858pub const THOST_FTDC_UF_Cancel: u8 = '5' as u8;
859pub const THOST_FTDC_AOID_OpenInvestor: u8 = '1' as u8;
860pub const THOST_FTDC_AOID_ModifyIDCard: u8 = '2' as u8;
861pub const THOST_FTDC_AOID_ModifyNoIDCard: u8 = '3' as u8;
862pub const THOST_FTDC_AOID_ApplyTradingCode: u8 = '4' as u8;
863pub const THOST_FTDC_AOID_CancelTradingCode: u8 = '5' as u8;
864pub const THOST_FTDC_AOID_CancelInvestor: u8 = '6' as u8;
865pub const THOST_FTDC_AOID_FreezeAccount: u8 = '8' as u8;
866pub const THOST_FTDC_AOID_ActiveFreezeAccount: u8 = '9' as u8;
867pub const THOST_FTDC_ASID_NoComplete: u8 = '1' as u8;
868pub const THOST_FTDC_ASID_Submited: u8 = '2' as u8;
869pub const THOST_FTDC_ASID_Checked: u8 = '3' as u8;
870pub const THOST_FTDC_ASID_Refused: u8 = '4' as u8;
871pub const THOST_FTDC_ASID_Deleted: u8 = '5' as u8;
872pub const THOST_FTDC_UOASM_ByAPI: u8 = '1' as u8;
873pub const THOST_FTDC_UOASM_ByFile: u8 = '2' as u8;
874pub const THOST_FTDC_EvM_ADD: u8 = '1' as u8;
875pub const THOST_FTDC_EvM_UPDATE: u8 = '2' as u8;
876pub const THOST_FTDC_EvM_DELETE: u8 = '3' as u8;
877pub const THOST_FTDC_EvM_CHECK: u8 = '4' as u8;
878pub const THOST_FTDC_EvM_COPY: u8 = '5' as u8;
879pub const THOST_FTDC_EvM_CANCEL: u8 = '6' as u8;
880pub const THOST_FTDC_EvM_Reverse: u8 = '7' as u8;
881pub const THOST_FTDC_UOAA_ASR: u8 = '1' as u8;
882pub const THOST_FTDC_UOAA_ASNR: u8 = '2' as u8;
883pub const THOST_FTDC_UOAA_NSAR: u8 = '3' as u8;
884pub const THOST_FTDC_UOAA_NSR: u8 = '4' as u8;
885pub const THOST_FTDC_EvM_InvestorGroupFlow: u8 = '1' as u8;
886pub const THOST_FTDC_EvM_InvestorRate: u8 = '2' as u8;
887pub const THOST_FTDC_EvM_InvestorCommRateModel: u8 = '3' as u8;
888pub const THOST_FTDC_CL_Zero: u8 = '0' as u8;
889pub const THOST_FTDC_CL_One: u8 = '1' as u8;
890pub const THOST_FTDC_CL_Two: u8 = '2' as u8;
891pub const THOST_FTDC_CHS_Init: u8 = '0' as u8;
892pub const THOST_FTDC_CHS_Checking: u8 = '1' as u8;
893pub const THOST_FTDC_CHS_Checked: u8 = '2' as u8;
894pub const THOST_FTDC_CHS_Refuse: u8 = '3' as u8;
895pub const THOST_FTDC_CHS_Cancel: u8 = '4' as u8;
896pub const THOST_FTDC_CHU_Unused: u8 = '0' as u8;
897pub const THOST_FTDC_CHU_Used: u8 = '1' as u8;
898pub const THOST_FTDC_CHU_Fail: u8 = '2' as u8;
899pub const THOST_FTDC_BAO_ByAccProperty: u8 = '0' as u8;
900pub const THOST_FTDC_BAO_ByFBTransfer: u8 = '1' as u8;
901pub const THOST_FTDC_MBTS_ByInstrument: u8 = '0' as u8;
902pub const THOST_FTDC_MBTS_ByDayInsPrc: u8 = '1' as u8;
903pub const THOST_FTDC_MBTS_ByDayIns: u8 = '2' as u8;
904pub const THOST_FTDC_OTP_NONE: u8 = '0' as u8;
905pub const THOST_FTDC_OTP_TOTP: u8 = '1' as u8;
906pub const THOST_FTDC_OTPS_Unused: u8 = '0' as u8;
907pub const THOST_FTDC_OTPS_Used: u8 = '1' as u8;
908pub const THOST_FTDC_OTPS_Disuse: u8 = '2' as u8;
909pub const THOST_FTDC_BUT_Investor: u8 = '1' as u8;
910pub const THOST_FTDC_BUT_BrokerUser: u8 = '2' as u8;
911pub const THOST_FTDC_FUTT_Commodity: u8 = '1' as u8;
912pub const THOST_FTDC_FUTT_Financial: u8 = '2' as u8;
913pub const THOST_FTDC_FET_Restriction: u8 = '0' as u8;
914pub const THOST_FTDC_FET_TodayRestriction: u8 = '1' as u8;
915pub const THOST_FTDC_FET_Transfer: u8 = '2' as u8;
916pub const THOST_FTDC_FET_Credit: u8 = '3' as u8;
917pub const THOST_FTDC_FET_InvestorWithdrawAlm: u8 = '4' as u8;
918pub const THOST_FTDC_FET_BankRestriction: u8 = '5' as u8;
919pub const THOST_FTDC_FET_Accountregister: u8 = '6' as u8;
920pub const THOST_FTDC_FET_ExchangeFundIO: u8 = '7' as u8;
921pub const THOST_FTDC_FET_InvestorFundIO: u8 = '8' as u8;
922pub const THOST_FTDC_AST_FBTransfer: u8 = '0' as u8;
923pub const THOST_FTDC_AST_ManualEntry: u8 = '1' as u8;
924pub const THOST_FTDC_CST_UnifyAccount: u8 = '0' as u8;
925pub const THOST_FTDC_CST_ManualEntry: u8 = '1' as u8;
926pub const THOST_FTDC_UR_All: u8 = '0' as u8;
927pub const THOST_FTDC_UR_Single: u8 = '1' as u8;
928pub const THOST_FTDC_BG_Investor: u8 = '2' as u8;
929pub const THOST_FTDC_BG_Group: u8 = '1' as u8;
930pub const THOST_FTDC_TSSM_Instrument: u8 = '1' as u8;
931pub const THOST_FTDC_TSSM_Product: u8 = '2' as u8;
932pub const THOST_FTDC_TSSM_Exchange: u8 = '3' as u8;
933pub const THOST_FTDC_ESM_Relative: u8 = '1' as u8;
934pub const THOST_FTDC_ESM_Typical: u8 = '2' as u8;
935pub const THOST_FTDC_RIR_All: u8 = '1' as u8;
936pub const THOST_FTDC_RIR_Model: u8 = '2' as u8;
937pub const THOST_FTDC_RIR_Single: u8 = '3' as u8;
938pub const THOST_FTDC_SDS_Initialize: u8 = '0' as u8;
939pub const THOST_FTDC_SDS_Settlementing: u8 = '1' as u8;
940pub const THOST_FTDC_SDS_Settlemented: u8 = '2' as u8;
941pub const THOST_FTDC_TSRC_NORMAL: u8 = '0' as u8;
942pub const THOST_FTDC_TSRC_QUERY: u8 = '1' as u8;
943pub const THOST_FTDC_FSM_Product: u8 = '1' as u8;
944pub const THOST_FTDC_FSM_Exchange: u8 = '2' as u8;
945pub const THOST_FTDC_FSM_All: u8 = '3' as u8;
946pub const THOST_FTDC_BIR_Property: u8 = '1' as u8;
947pub const THOST_FTDC_BIR_All: u8 = '2' as u8;
948pub const THOST_FTDC_PIR_All: u8 = '1' as u8;
949pub const THOST_FTDC_PIR_Property: u8 = '2' as u8;
950pub const THOST_FTDC_PIR_Single: u8 = '3' as u8;
951pub const THOST_FTDC_FIS_NoCreate: u8 = '0' as u8;
952pub const THOST_FTDC_FIS_Created: u8 = '1' as u8;
953pub const THOST_FTDC_FIS_Failed: u8 = '2' as u8;
954pub const THOST_FTDC_FGS_FileTransmit: u8 = '0' as u8;
955pub const THOST_FTDC_FGS_FileGen: u8 = '1' as u8;
956pub const THOST_FTDC_SoM_Add: u8 = '1' as u8;
957pub const THOST_FTDC_SoM_Update: u8 = '2' as u8;
958pub const THOST_FTDC_SoM_Delete: u8 = '3' as u8;
959pub const THOST_FTDC_SoM_Copy: u8 = '4' as u8;
960pub const THOST_FTDC_SoM_AcTive: u8 = '5' as u8;
961pub const THOST_FTDC_SoM_CanCel: u8 = '6' as u8;
962pub const THOST_FTDC_SoM_ReSet: u8 = '7' as u8;
963pub const THOST_FTDC_SoT_UpdatePassword: u8 = '0' as u8;
964pub const THOST_FTDC_SoT_UserDepartment: u8 = '1' as u8;
965pub const THOST_FTDC_SoT_RoleManager: u8 = '2' as u8;
966pub const THOST_FTDC_SoT_RoleFunction: u8 = '3' as u8;
967pub const THOST_FTDC_SoT_BaseParam: u8 = '4' as u8;
968pub const THOST_FTDC_SoT_SetUserID: u8 = '5' as u8;
969pub const THOST_FTDC_SoT_SetUserRole: u8 = '6' as u8;
970pub const THOST_FTDC_SoT_UserIpRestriction: u8 = '7' as u8;
971pub const THOST_FTDC_SoT_DepartmentManager: u8 = '8' as u8;
972pub const THOST_FTDC_SoT_DepartmentCopy: u8 = '9' as u8;
973pub const THOST_FTDC_SoT_Tradingcode: u8 = 'A' as u8;
974pub const THOST_FTDC_SoT_InvestorStatus: u8 = 'B' as u8;
975pub const THOST_FTDC_SoT_InvestorAuthority: u8 = 'C' as u8;
976pub const THOST_FTDC_SoT_PropertySet: u8 = 'D' as u8;
977pub const THOST_FTDC_SoT_ReSetInvestorPasswd: u8 = 'E' as u8;
978pub const THOST_FTDC_SoT_InvestorPersonalityInfo: u8 = 'F' as u8;
979pub const THOST_FTDC_CSRCQ_Current: u8 = '0' as u8;
980pub const THOST_FTDC_CSRCQ_History: u8 = '1' as u8;
981pub const THOST_FTDC_FRS_Normal: u8 = '1' as u8;
982pub const THOST_FTDC_FRS_Freeze: u8 = '0' as u8;
983pub const THOST_FTDC_STST_Standard: u8 = '0' as u8;
984pub const THOST_FTDC_STST_NonStandard: u8 = '1' as u8;
985pub const THOST_FTDC_RPT_Freeze: u8 = '1' as u8;
986pub const THOST_FTDC_RPT_FreezeActive: u8 = '2' as u8;
987pub const THOST_FTDC_RPT_OpenLimit: u8 = '3' as u8;
988pub const THOST_FTDC_RPT_RelieveOpenLimit: u8 = '4' as u8;
989pub const THOST_FTDC_AMLDS_Normal: u8 = '0' as u8;
990pub const THOST_FTDC_AMLDS_Deleted: u8 = '1' as u8;
991pub const THOST_FTDC_AMLCHS_Init: u8 = '0' as u8;
992pub const THOST_FTDC_AMLCHS_Checking: u8 = '1' as u8;
993pub const THOST_FTDC_AMLCHS_Checked: u8 = '2' as u8;
994pub const THOST_FTDC_AMLCHS_RefuseReport: u8 = '3' as u8;
995pub const THOST_FTDC_AMLDT_DrawDay: u8 = '0' as u8;
996pub const THOST_FTDC_AMLDT_TouchDay: u8 = '1' as u8;
997pub const THOST_FTDC_AMLCL_CheckLevel0: u8 = '0' as u8;
998pub const THOST_FTDC_AMLCL_CheckLevel1: u8 = '1' as u8;
999pub const THOST_FTDC_AMLCL_CheckLevel2: u8 = '2' as u8;
1000pub const THOST_FTDC_AMLCL_CheckLevel3: u8 = '3' as u8;
1001pub const THOST_FTDC_EFT_CSV: u8 = '0' as u8;
1002pub const THOST_FTDC_EFT_EXCEL: u8 = '1' as u8;
1003pub const THOST_FTDC_EFT_DBF: u8 = '2' as u8;
1004pub const THOST_FTDC_SMT_Before: u8 = '1' as u8;
1005pub const THOST_FTDC_SMT_Settlement: u8 = '2' as u8;
1006pub const THOST_FTDC_SMT_After: u8 = '3' as u8;
1007pub const THOST_FTDC_SMT_Settlemented: u8 = '4' as u8;
1008pub const THOST_FTDC_SML_Must: u8 = '1' as u8;
1009pub const THOST_FTDC_SML_Alarm: u8 = '2' as u8;
1010pub const THOST_FTDC_SML_Prompt: u8 = '3' as u8;
1011pub const THOST_FTDC_SML_Ignore: u8 = '4' as u8;
1012pub const THOST_FTDC_SMG_Exhcange: u8 = '1' as u8;
1013pub const THOST_FTDC_SMG_ASP: u8 = '2' as u8;
1014pub const THOST_FTDC_SMG_CSRC: u8 = '3' as u8;
1015pub const THOST_FTDC_LUT_Repeatable: u8 = '1' as u8;
1016pub const THOST_FTDC_LUT_Unrepeatable: u8 = '2' as u8;
1017pub const THOST_FTDC_DAR_Settle: u8 = '1' as u8;
1018pub const THOST_FTDC_DAR_Exchange: u8 = '2' as u8;
1019pub const THOST_FTDC_DAR_CSRC: u8 = '3' as u8;
1020pub const THOST_FTDC_MGT_ExchMarginRate: u8 = '0' as u8;
1021pub const THOST_FTDC_MGT_InstrMarginRate: u8 = '1' as u8;
1022pub const THOST_FTDC_MGT_InstrMarginRateTrade: u8 = '2' as u8;
1023pub const THOST_FTDC_ACT_Intraday: u8 = '1' as u8;
1024pub const THOST_FTDC_ACT_Long: u8 = '2' as u8;
1025pub const THOST_FTDC_MRT_Exchange: u8 = '1' as u8;
1026pub const THOST_FTDC_MRT_Investor: u8 = '2' as u8;
1027pub const THOST_FTDC_MRT_InvestorTrade: u8 = '3' as u8;
1028pub const THOST_FTDC_BUS_UnBak: u8 = '0' as u8;
1029pub const THOST_FTDC_BUS_BakUp: u8 = '1' as u8;
1030pub const THOST_FTDC_BUS_BakUped: u8 = '2' as u8;
1031pub const THOST_FTDC_BUS_BakFail: u8 = '3' as u8;
1032pub const THOST_FTDC_SIS_UnInitialize: u8 = '0' as u8;
1033pub const THOST_FTDC_SIS_Initialize: u8 = '1' as u8;
1034pub const THOST_FTDC_SIS_Initialized: u8 = '2' as u8;
1035pub const THOST_FTDC_SRS_NoCreate: u8 = '0' as u8;
1036pub const THOST_FTDC_SRS_Create: u8 = '1' as u8;
1037pub const THOST_FTDC_SRS_Created: u8 = '2' as u8;
1038pub const THOST_FTDC_SRS_CreateFail: u8 = '3' as u8;
1039pub const THOST_FTDC_SSS_UnSaveData: u8 = '0' as u8;
1040pub const THOST_FTDC_SSS_SaveDatad: u8 = '1' as u8;
1041pub const THOST_FTDC_SAS_UnArchived: u8 = '0' as u8;
1042pub const THOST_FTDC_SAS_Archiving: u8 = '1' as u8;
1043pub const THOST_FTDC_SAS_Archived: u8 = '2' as u8;
1044pub const THOST_FTDC_SAS_ArchiveFail: u8 = '3' as u8;
1045pub const THOST_FTDC_CTPT_Unkown: u8 = '0' as u8;
1046pub const THOST_FTDC_CTPT_MainCenter: u8 = '1' as u8;
1047pub const THOST_FTDC_CTPT_BackUp: u8 = '2' as u8;
1048pub const THOST_FTDC_CDT_Normal: u8 = '0' as u8;
1049pub const THOST_FTDC_CDT_SpecFirst: u8 = '1' as u8;
1050pub const THOST_FTDC_MFUR_None: u8 = '0' as u8;
1051pub const THOST_FTDC_MFUR_Margin: u8 = '1' as u8;
1052pub const THOST_FTDC_MFUR_All: u8 = '2' as u8;
1053pub const THOST_FTDC_MFUR_CNY3: u8 = '3' as u8;
1054pub const THOST_FTDC_SPT_CzceHedge: u8 = '1' as u8;
1055pub const THOST_FTDC_SPT_IneForeignCurrency: u8 = '2' as u8;
1056pub const THOST_FTDC_SPT_DceOpenClose: u8 = '3' as u8;
1057pub const THOST_FTDC_FMT_Mortgage: u8 = '1' as u8;
1058pub const THOST_FTDC_FMT_Redemption: u8 = '2' as u8;
1059pub const THOST_FTDC_ASPI_BaseMargin: u8 = '1' as u8;
1060pub const THOST_FTDC_ASPI_LowestInterest: u8 = '2' as u8;
1061pub const THOST_FTDC_FMD_In: u8 = '1' as u8;
1062pub const THOST_FTDC_FMD_Out: u8 = '2' as u8;
1063pub const THOST_FTDC_BT_Profit: u8 = '0' as u8;
1064pub const THOST_FTDC_BT_Loss: u8 = '1' as u8;
1065pub const THOST_FTDC_BT_Other: u8 = 'Z' as u8;
1066pub const THOST_FTDC_SST_Manual: u8 = '0' as u8;
1067pub const THOST_FTDC_SST_Automatic: u8 = '1' as u8;
1068pub const THOST_FTDC_CED_Settlement: u8 = '0' as u8;
1069pub const THOST_FTDC_CED_Sale: u8 = '1' as u8;
1070pub const THOST_FTDC_CSS_Entry: u8 = '1' as u8;
1071pub const THOST_FTDC_CSS_Approve: u8 = '2' as u8;
1072pub const THOST_FTDC_CSS_Refuse: u8 = '3' as u8;
1073pub const THOST_FTDC_CSS_Revoke: u8 = '4' as u8;
1074pub const THOST_FTDC_CSS_Send: u8 = '5' as u8;
1075pub const THOST_FTDC_CSS_Success: u8 = '6' as u8;
1076pub const THOST_FTDC_CSS_Failure: u8 = '7' as u8;
1077pub const THOST_FTDC_REQF_NoSend: u8 = '0' as u8;
1078pub const THOST_FTDC_REQF_SendSuccess: u8 = '1' as u8;
1079pub const THOST_FTDC_REQF_SendFailed: u8 = '2' as u8;
1080pub const THOST_FTDC_REQF_WaitReSend: u8 = '3' as u8;
1081pub const THOST_FTDC_RESF_Success: u8 = '0' as u8;
1082pub const THOST_FTDC_RESF_InsuffiCient: u8 = '1' as u8;
1083pub const THOST_FTDC_RESF_UnKnown: u8 = '8' as u8;
1084pub const THOST_FTDC_EXS_Before: u8 = '0' as u8;
1085pub const THOST_FTDC_EXS_After: u8 = '1' as u8;
1086pub const THOST_FTDC_CR_Domestic: u8 = '1' as u8;
1087pub const THOST_FTDC_CR_GMT: u8 = '2' as u8;
1088pub const THOST_FTDC_CR_Foreign: u8 = '3' as u8;
1089pub const THOST_FTDC_HB_No: u8 = '0' as u8;
1090pub const THOST_FTDC_HB_Yes: u8 = '1' as u8;
1091pub const THOST_FTDC_SM_Normal: u8 = '1' as u8;
1092pub const THOST_FTDC_SM_Emerge: u8 = '2' as u8;
1093pub const THOST_FTDC_SM_Restore: u8 = '3' as u8;
1094pub const THOST_FTDC_TPT_Full: u8 = '1' as u8;
1095pub const THOST_FTDC_TPT_Increment: u8 = '2' as u8;
1096pub const THOST_FTDC_TPT_BackUp: u8 = '3' as u8;
1097pub const THOST_FTDC_LM_Trade: u8 = '0' as u8;
1098pub const THOST_FTDC_LM_Transfer: u8 = '1' as u8;
1099pub const THOST_FTDC_CPT_Instrument: u8 = '1' as u8;
1100pub const THOST_FTDC_CPT_Margin: u8 = '2' as u8;
1101pub const THOST_FTDC_HT_Yes: u8 = '1' as u8;
1102pub const THOST_FTDC_HT_No: u8 = '0' as u8;
1103pub const THOST_FTDC_AMT_Bank: u8 = '1' as u8;
1104pub const THOST_FTDC_AMT_Securities: u8 = '2' as u8;
1105pub const THOST_FTDC_AMT_Fund: u8 = '3' as u8;
1106pub const THOST_FTDC_AMT_Insurance: u8 = '4' as u8;
1107pub const THOST_FTDC_AMT_Trust: u8 = '5' as u8;
1108pub const THOST_FTDC_AMT_Other: u8 = '9' as u8;
1109pub const THOST_FTDC_CFIOT_FundIO: u8 = '0' as u8;
1110pub const THOST_FTDC_CFIOT_SwapCurrency: u8 = '1' as u8;
1111pub const THOST_FTDC_CAT_Futures: u8 = '1' as u8;
1112pub const THOST_FTDC_CAT_AssetmgrFuture: u8 = '2' as u8;
1113pub const THOST_FTDC_CAT_AssetmgrTrustee: u8 = '3' as u8;
1114pub const THOST_FTDC_CAT_AssetmgrTransfer: u8 = '4' as u8;
1115pub const THOST_FTDC_LT_Chinese: u8 = '1' as u8;
1116pub const THOST_FTDC_LT_English: u8 = '2' as u8;
1117pub const THOST_FTDC_AMCT_Person: u8 = '1' as u8;
1118pub const THOST_FTDC_AMCT_Organ: u8 = '2' as u8;
1119pub const THOST_FTDC_AMCT_SpecialOrgan: u8 = '4' as u8;
1120pub const THOST_FTDC_ASST_Futures: u8 = '3' as u8;
1121pub const THOST_FTDC_ASST_SpecialOrgan: u8 = '4' as u8;
1122pub const THOST_FTDC_CIT_HasExch: u8 = '0' as u8;
1123pub const THOST_FTDC_CIT_HasATP: u8 = '1' as u8;
1124pub const THOST_FTDC_CIT_HasDiff: u8 = '2' as u8;
1125pub const THOST_FTDC_DT_HandDeliv: u8 = '1' as u8;
1126pub const THOST_FTDC_DT_PersonDeliv: u8 = '2' as u8;
1127pub const THOST_FTDC_MMSA_NO: u8 = '0' as u8;
1128pub const THOST_FTDC_MMSA_YES: u8 = '1' as u8;
1129pub const THOST_FTDC_CACT_Person: u8 = '0' as u8;
1130pub const THOST_FTDC_CACT_Company: u8 = '1' as u8;
1131pub const THOST_FTDC_CACT_Other: u8 = '2' as u8;
1132pub const THOST_FTDC_UOAAT_Futures: u8 = '1' as u8;
1133pub const THOST_FTDC_UOAAT_SpecialOrgan: u8 = '2' as u8;
1134pub const THOST_FTDC_DEN_Buy: u8 = '0' as u8;
1135pub const THOST_FTDC_DEN_Sell: u8 = '1' as u8;
1136pub const THOST_FTDC_OFEN_Open: u8 = '0' as u8;
1137pub const THOST_FTDC_OFEN_Close: u8 = '1' as u8;
1138pub const THOST_FTDC_OFEN_ForceClose: u8 = '2' as u8;
1139pub const THOST_FTDC_OFEN_CloseToday: u8 = '3' as u8;
1140pub const THOST_FTDC_OFEN_CloseYesterday: u8 = '4' as u8;
1141pub const THOST_FTDC_OFEN_ForceOff: u8 = '5' as u8;
1142pub const THOST_FTDC_OFEN_LocalForceClose: u8 = '6' as u8;
1143pub const THOST_FTDC_HFEN_Speculation: u8 = '1' as u8;
1144pub const THOST_FTDC_HFEN_Arbitrage: u8 = '2' as u8;
1145pub const THOST_FTDC_HFEN_Hedge: u8 = '3' as u8;
1146pub const THOST_FTDC_FIOTEN_FundIO: u8 = '1' as u8;
1147pub const THOST_FTDC_FIOTEN_Transfer: u8 = '2' as u8;
1148pub const THOST_FTDC_FIOTEN_SwapCurrency: u8 = '3' as u8;
1149pub const THOST_FTDC_FTEN_Deposite: u8 = '1' as u8;
1150pub const THOST_FTDC_FTEN_ItemFund: u8 = '2' as u8;
1151pub const THOST_FTDC_FTEN_Company: u8 = '3' as u8;
1152pub const THOST_FTDC_FTEN_InnerTransfer: u8 = '4' as u8;
1153pub const THOST_FTDC_FDEN_In: u8 = '1' as u8;
1154pub const THOST_FTDC_FDEN_Out: u8 = '2' as u8;
1155pub const THOST_FTDC_FMDEN_In: u8 = '1' as u8;
1156pub const THOST_FTDC_FMDEN_Out: u8 = '2' as u8;
1157pub const THOST_FTDC_CP_CallOptions: u8 = '1' as u8;
1158pub const THOST_FTDC_CP_PutOptions: u8 = '2' as u8;
1159pub const THOST_FTDC_STM_Continental: u8 = '0' as u8;
1160pub const THOST_FTDC_STM_American: u8 = '1' as u8;
1161pub const THOST_FTDC_STM_Bermuda: u8 = '2' as u8;
1162pub const THOST_FTDC_STT_Hedge: u8 = '0' as u8;
1163pub const THOST_FTDC_STT_Match: u8 = '1' as u8;
1164pub const THOST_FTDC_APPT_NotStrikeNum: u8 = '4' as u8;
1165pub const THOST_FTDC_GUDS_Gen: u8 = '0' as u8;
1166pub const THOST_FTDC_GUDS_Hand: u8 = '1' as u8;
1167pub const THOST_FTDC_OER_NoExec: u8 = 'n' as u8;
1168pub const THOST_FTDC_OER_Canceled: u8 = 'c' as u8;
1169pub const THOST_FTDC_OER_OK: u8 = '0' as u8;
1170pub const THOST_FTDC_OER_NoPosition: u8 = '1' as u8;
1171pub const THOST_FTDC_OER_NoDeposit: u8 = '2' as u8;
1172pub const THOST_FTDC_OER_NoParticipant: u8 = '3' as u8;
1173pub const THOST_FTDC_OER_NoClient: u8 = '4' as u8;
1174pub const THOST_FTDC_OER_NoInstrument: u8 = '6' as u8;
1175pub const THOST_FTDC_OER_NoRight: u8 = '7' as u8;
1176pub const THOST_FTDC_OER_InvalidVolume: u8 = '8' as u8;
1177pub const THOST_FTDC_OER_NoEnoughHistoryTrade: u8 = '9' as u8;
1178pub const THOST_FTDC_OER_Unknown: u8 = 'a' as u8;
1179pub const THOST_FTDC_COMBT_Future: u8 = '0' as u8;
1180pub const THOST_FTDC_COMBT_BUL: u8 = '1' as u8;
1181pub const THOST_FTDC_COMBT_BER: u8 = '2' as u8;
1182pub const THOST_FTDC_COMBT_STD: u8 = '3' as u8;
1183pub const THOST_FTDC_COMBT_STG: u8 = '4' as u8;
1184pub const THOST_FTDC_COMBT_PRT: u8 = '5' as u8;
1185pub const THOST_FTDC_COMBT_CAS: u8 = '6' as u8;
1186pub const THOST_FTDC_COMBT_OPL: u8 = '7' as u8;
1187pub const THOST_FTDC_COMBT_BFO: u8 = '8' as u8;
1188pub const THOST_FTDC_COMBT_BLS: u8 = '9' as u8;
1189pub const THOST_FTDC_COMBT_BES: u8 = 'a' as u8;
1190pub const THOST_FTDC_DCECOMBT_SPL: u8 = '0' as u8;
1191pub const THOST_FTDC_DCECOMBT_OPL: u8 = '1' as u8;
1192pub const THOST_FTDC_DCECOMBT_SP: u8 = '2' as u8;
1193pub const THOST_FTDC_DCECOMBT_SPC: u8 = '3' as u8;
1194pub const THOST_FTDC_DCECOMBT_BLS: u8 = '4' as u8;
1195pub const THOST_FTDC_DCECOMBT_BES: u8 = '5' as u8;
1196pub const THOST_FTDC_DCECOMBT_CAS: u8 = '6' as u8;
1197pub const THOST_FTDC_DCECOMBT_STD: u8 = '7' as u8;
1198pub const THOST_FTDC_DCECOMBT_STG: u8 = '8' as u8;
1199pub const THOST_FTDC_DCECOMBT_BFO: u8 = '9' as u8;
1200pub const THOST_FTDC_DCECOMBT_SFO: u8 = 'a' as u8;
1201pub const THOST_FTDC_ORPT_PreSettlementPrice: u8 = '1' as u8;
1202pub const THOST_FTDC_ORPT_OpenPrice: u8 = '4' as u8;
1203pub const THOST_FTDC_ORPT_MaxPreSettlementPrice: u8 = '5' as u8;
1204pub const THOST_FTDC_BLAG_Default: u8 = '1' as u8;
1205pub const THOST_FTDC_BLAG_IncludeOptValLost: u8 = '2' as u8;
1206pub const THOST_FTDC_ACTP_Exec: u8 = '1' as u8;
1207pub const THOST_FTDC_ACTP_Abandon: u8 = '2' as u8;
1208pub const THOST_FTDC_FQST_Submitted: u8 = 'a' as u8;
1209pub const THOST_FTDC_FQST_Accepted: u8 = 'b' as u8;
1210pub const THOST_FTDC_FQST_Rejected: u8 = 'c' as u8;
1211pub const THOST_FTDC_VM_Absolute: u8 = '0' as u8;
1212pub const THOST_FTDC_VM_Ratio: u8 = '1' as u8;
1213pub const THOST_FTDC_EOPF_Reserve: u8 = '0' as u8;
1214pub const THOST_FTDC_EOPF_UnReserve: u8 = '1' as u8;
1215pub const THOST_FTDC_EOCF_AutoClose: u8 = '0' as u8;
1216pub const THOST_FTDC_EOCF_NotToClose: u8 = '1' as u8;
1217pub const THOST_FTDC_PTE_Futures: u8 = '1' as u8;
1218pub const THOST_FTDC_PTE_Options: u8 = '2' as u8;
1219pub const THOST_FTDC_CUFN_CUFN_O: u8 = 'O' as u8;
1220pub const THOST_FTDC_CUFN_CUFN_T: u8 = 'T' as u8;
1221pub const THOST_FTDC_CUFN_CUFN_P: u8 = 'P' as u8;
1222pub const THOST_FTDC_CUFN_CUFN_N: u8 = 'N' as u8;
1223pub const THOST_FTDC_CUFN_CUFN_L: u8 = 'L' as u8;
1224pub const THOST_FTDC_CUFN_CUFN_F: u8 = 'F' as u8;
1225pub const THOST_FTDC_CUFN_CUFN_C: u8 = 'C' as u8;
1226pub const THOST_FTDC_CUFN_CUFN_M: u8 = 'M' as u8;
1227pub const THOST_FTDC_DUFN_DUFN_O: u8 = 'O' as u8;
1228pub const THOST_FTDC_DUFN_DUFN_T: u8 = 'T' as u8;
1229pub const THOST_FTDC_DUFN_DUFN_P: u8 = 'P' as u8;
1230pub const THOST_FTDC_DUFN_DUFN_F: u8 = 'F' as u8;
1231pub const THOST_FTDC_DUFN_DUFN_C: u8 = 'C' as u8;
1232pub const THOST_FTDC_DUFN_DUFN_D: u8 = 'D' as u8;
1233pub const THOST_FTDC_DUFN_DUFN_M: u8 = 'M' as u8;
1234pub const THOST_FTDC_DUFN_DUFN_S: u8 = 'S' as u8;
1235pub const THOST_FTDC_SUFN_SUFN_O: u8 = 'O' as u8;
1236pub const THOST_FTDC_SUFN_SUFN_T: u8 = 'T' as u8;
1237pub const THOST_FTDC_SUFN_SUFN_P: u8 = 'P' as u8;
1238pub const THOST_FTDC_SUFN_SUFN_F: u8 = 'F' as u8;
1239pub const THOST_FTDC_CFUFN_SUFN_T: u8 = 'T' as u8;
1240pub const THOST_FTDC_CFUFN_SUFN_P: u8 = 'P' as u8;
1241pub const THOST_FTDC_CFUFN_SUFN_F: u8 = 'F' as u8;
1242pub const THOST_FTDC_CFUFN_SUFN_S: u8 = 'S' as u8;
1243pub const THOST_FTDC_CMDR_Comb: u8 = '0' as u8;
1244pub const THOST_FTDC_CMDR_UnComb: u8 = '1' as u8;
1245pub const THOST_FTDC_CMDR_DelComb: u8 = '2' as u8;
1246pub const THOST_FTDC_STOV_RealValue: u8 = '1' as u8;
1247pub const THOST_FTDC_STOV_ProfitValue: u8 = '2' as u8;
1248pub const THOST_FTDC_STOV_RealRatio: u8 = '3' as u8;
1249pub const THOST_FTDC_STOV_ProfitRatio: u8 = '4' as u8;
1250pub const THOST_FTDC_ROAST_Processing: u8 = '0' as u8;
1251pub const THOST_FTDC_ROAST_Cancelled: u8 = '1' as u8;
1252pub const THOST_FTDC_ROAST_Opened: u8 = '2' as u8;
1253pub const THOST_FTDC_ROAST_Invalid: u8 = '3' as u8;
1254pub const THOST_FTDC_WPSR_Lib: u8 = '1' as u8;
1255pub const THOST_FTDC_WPSR_Manual: u8 = '2' as u8;
1256pub const THOST_FTDC_OSCF_CloseSelfOptionPosition: u8 = '1' as u8;
1257pub const THOST_FTDC_OSCF_ReserveOptionPosition: u8 = '2' as u8;
1258pub const THOST_FTDC_OSCF_SellCloseSelfFuturePosition: u8 = '3' as u8;
1259pub const THOST_FTDC_OSCF_ReserveFuturePosition: u8 = '4' as u8;
1260pub const THOST_FTDC_BZTP_Future: u8 = '1' as u8;
1261pub const THOST_FTDC_BZTP_Stock: u8 = '2' as u8;
1262pub const THOST_FTDC_APP_TYPE_Investor: u8 = '1' as u8;
1263pub const THOST_FTDC_APP_TYPE_InvestorRelay: u8 = '2' as u8;
1264pub const THOST_FTDC_APP_TYPE_OperatorRelay: u8 = '3' as u8;
1265pub const THOST_FTDC_APP_TYPE_UnKnown: u8 = '4' as u8;
1266pub const THOST_FTDC_RV_Right: u8 = '0' as u8;
1267pub const THOST_FTDC_RV_Refuse: u8 = '1' as u8;
1268pub const THOST_FTDC_OTC_TRDT_Block: u8 = '0' as u8;
1269pub const THOST_FTDC_OTC_TRDT_EFP: u8 = '1' as u8;
1270pub const THOST_FTDC_OTC_MT_DV01: u8 = '1' as u8;
1271pub const THOST_FTDC_OTC_MT_ParValue: u8 = '2' as u8;
1272pub const THOST_FTDC_AU_WHITE: u8 = '0' as u8;
1273pub const THOST_FTDC_AU_BLACK: u8 = '1' as u8;
1274pub const THOST_FTDC_INS_ALL: u8 = '0' as u8;
1275pub const THOST_FTDC_INS_FUTURE: u8 = '1' as u8;
1276pub const THOST_FTDC_INS_OPTION: u8 = '2' as u8;
1277pub const THOST_FTDC_INS_COMB: u8 = '3' as u8;
1278pub const THOST_FTDC_TD_ALL: u8 = '0' as u8;
1279pub const THOST_FTDC_TD_TRADE: u8 = '1' as u8;
1280pub const THOST_FTDC_TD_UNTRADE: u8 = '2' as u8;
1281pub const THOST_FTDC_PS_tradeable: u8 = '1' as u8;
1282pub const THOST_FTDC_PS_untradeable: u8 = '2' as u8;
1283pub const THOST_FTDC_SDS_Readable: u8 = '1' as u8;
1284pub const THOST_FTDC_SDS_Reading: u8 = '2' as u8;
1285pub const THOST_FTDC_SDS_Readend: u8 = '3' as u8;
1286pub const THOST_FTDC_SDS_OptErr: u8 = 'e' as u8;
1287pub const THOST_FTDC_ACD_Add: u8 = '1' as u8;
1288pub const THOST_FTDC_ACD_Del: u8 = '2' as u8;
1289pub const THOST_FTDC_ACD_Upd: u8 = '3' as u8;
1290pub const THOST_FTDC_OAC_Balance: u8 = '1' as u8;
1291pub const THOST_FTDC_OAC_OrigFirst: u8 = '2' as u8;
1292pub const THOST_FTDC_PLCL_None: u8 = '0' as u8;
1293pub const THOST_FTDC_PLCL_Product: u8 = '1' as u8;
1294pub const THOST_FTDC_PLCL_Inst: u8 = '2' as u8;
1295pub const THOST_FTDC_OFCL_None: u8 = '0' as u8;
1296pub const THOST_FTDC_OFCL_Product: u8 = '1' as u8;
1297pub const THOST_FTDC_OFCL_Inst: u8 = '2' as u8;
1298pub const THOST_FTDC_EBL_False: u8 = '0' as u8;
1299pub const THOST_FTDC_EBL_True: u8 = '1' as u8;
1300pub const THOST_FTDC_ETR_USUAL: u8 = '1' as u8;
1301pub const THOST_FTDC_ETR_FNSP: u8 = '2' as u8;
1302pub const THOST_FTDC_ETR_BNSP: u8 = '3' as u8;
1303pub const THOST_FTDC_ETR_SPOT: u8 = '4' as u8;
1304pub const THOST_FTDC_EPF_None: u8 = '0' as u8;
1305pub const THOST_FTDC_EPF_SPBM: u8 = '1' as u8;
1306pub const THOST_FTDC_EPF_RULE: u8 = '2' as u8;
1307pub const THOST_FTDC_EPF_SPMM: u8 = '3' as u8;
1308pub const THOST_FTDC_EPF_RCAMS: u8 = '4' as u8;
1309pub const THOST_FTDC_WDPID_CashIn: u8 = 'C' as u8;
1310pub const THOST_FTDC_ITR_CloseOnly: u8 = '1' as u8;
1311pub const THOST_FTDC_ITR_Forbidden: u8 = '2' as u8;
1312pub const THOST_FTDC_IMID_BothSide: u8 = '1' as u8;
1313pub const THOST_FTDC_IMID_MMSA: u8 = '2' as u8;
1314pub const THOST_FTDC_IMID_SPMM: u8 = '3' as u8;
1315pub const THOST_FTDC_ERComb_BUC: u8 = '0' as u8;
1316pub const THOST_FTDC_ERComb_BEC: u8 = '1' as u8;
1317pub const THOST_FTDC_ERComb_BEP: u8 = '2' as u8;
1318pub const THOST_FTDC_ERComb_BUP: u8 = '3' as u8;
1319pub const THOST_FTDC_ERComb_CAS: u8 = '4' as u8;
1320pub const THOST_FTDC_EET_None: u8 = '0' as u8;
1321pub const THOST_FTDC_EET_SPBM_AddOnHedge: u8 = '1' as u8;
1322pub const THOST_FTDC_EIC_Usual: u8 = '1' as u8;
1323pub const THOST_FTDC_EIC_Delivery: u8 = '2' as u8;
1324pub const THOST_FTDC_EIC_NonComb: u8 = '3' as u8;
1325pub const THOST_FTDC_PCF_None: u8 = '0' as u8;
1326pub const THOST_FTDC_PCF_OnlyFrozen: u8 = '1' as u8;
1327pub const THOST_FTDC_PCF_PositionChange: u8 = '2' as u8;
1328pub const THOST_FTDC_PRS_Init: u8 = '0' as u8;
1329pub const THOST_FTDC_PRS_Sync: u8 = '1' as u8;
1330pub const THOST_FTDC_PRS_UserUpd: u8 = '2' as u8;
1331pub const THOST_FTDC_PRS_SuperUserUpd: u8 = '3' as u8;
1332pub const THOST_FTDC_PRS_SecUpd: u8 = '4' as u8;
1333pub const THOST_FTDC_ASM_Trade: u8 = '0' as u8;
1334pub const THOST_FTDC_ASM_MarketData: u8 = '1' as u8;
1335pub const THOST_FTDC_ASM_Other: u8 = '2' as u8;
1336pub const THOST_FTDC_ADV_V4: u8 = '0' as u8;
1337pub const THOST_FTDC_ADV_V6: u8 = '1' as u8;
1338pub const THOST_FTDC_TGQS_QryIdle: u8 = '1' as u8;
1339pub const THOST_FTDC_TGQS_QryBusy: u8 = '2' as u8;
1340pub const THOST_FTDC_OT_OPT_OFFSET: u8 = '0' as u8;
1341pub const THOST_FTDC_OT_FUT_OFFSET: u8 = '1' as u8;
1342pub const THOST_FTDC_OT_EXEC_OFFSET: u8 = '2' as u8;
1343pub const THOST_FTDC_OT_PERFORM_OFFSET: u8 = '3' as u8;
1344pub const THOST_FTDC_AS_Trade: u8 = '0' as u8;
1345pub const THOST_FTDC_AS_Member: u8 = '1' as u8;
1346
1347unsafe impl Send for MdApi {}
1348unsafe impl Sync for MdApi {}
1349
1350impl MdApi {
1351 pub fn CreateMdApiAndSpi(tx: Sender<MdSpiMsg>, flow_path: String, is_using_udp: bool, is_multicast: bool, is_production_mode: bool) -> UniquePtr<MdApi> {
1352 if !Path::new(&flow_path).exists() {
1353 create_dir_all(&flow_path).unwrap();
1354 }
1355 let spi = Arc::pin(MdSpi { tx });
1356 let api = CreateMdApi(&spi, flow_path, is_using_udp, is_multicast, is_production_mode);
1357 forget(spi); api
1359 }
1360}
1361
1362#[derive(Debug, Clone)]
1363pub enum MdSpiMsg {
1364 OnFrontConnected,
1365 OnFrontDisconnected(i32),
1366 OnHeartBeatWarning(i32),
1367 OnRspUserLogin(RspUserLoginField, RspInfoField, i32, bool),
1368 OnRspUserLogout(UserLogoutField, RspInfoField, i32, bool),
1369 OnRspQryMulticastInstrument(MulticastInstrumentField, RspInfoField, i32, bool),
1370 OnRspError(RspInfoField, i32, bool),
1371 OnRspSubMarketData(SpecificInstrumentField, RspInfoField, i32, bool),
1372 OnRspUnSubMarketData(SpecificInstrumentField, RspInfoField, i32, bool),
1373 OnRspSubForQuoteRsp(SpecificInstrumentField, RspInfoField, i32, bool),
1374 OnRspUnSubForQuoteRsp(SpecificInstrumentField, RspInfoField, i32, bool),
1375 OnRtnDepthMarketData(DepthMarketDataField),
1376 OnRtnForQuoteRsp(ForQuoteRspField),
1377}
1378
1379pub struct MdSpi {
1380 tx: Sender<MdSpiMsg>,
1381}
1382
1383impl MdSpi {
1384pub fn OnFrontConnected(&self) { self.tx.send(MdSpiMsg::OnFrontConnected).expect("sending MdSpiMsg failed"); }
1385pub fn OnFrontDisconnected(&self, nReason: i32) { self.tx.send(MdSpiMsg::OnFrontDisconnected(nReason)).expect("sending MdSpiMsg failed"); }
1386pub fn OnHeartBeatWarning(&self, nTimeLapse: i32) { self.tx.send(MdSpiMsg::OnHeartBeatWarning(nTimeLapse)).expect("sending MdSpiMsg failed"); }
1387pub fn OnRspUserLogin(&self, pRspUserLogin: RspUserLoginField, pRspInfo: RspInfoField, nRequestID: i32, bIsLast: bool) { self.tx.send(MdSpiMsg::OnRspUserLogin(pRspUserLogin, pRspInfo, nRequestID, bIsLast)).expect("sending MdSpiMsg failed"); }
1388pub fn OnRspUserLogout(&self, pUserLogout: UserLogoutField, pRspInfo: RspInfoField, nRequestID: i32, bIsLast: bool) { self.tx.send(MdSpiMsg::OnRspUserLogout(pUserLogout, pRspInfo, nRequestID, bIsLast)).expect("sending MdSpiMsg failed"); }
1389pub fn OnRspQryMulticastInstrument(&self, pMulticastInstrument: MulticastInstrumentField, pRspInfo: RspInfoField, nRequestID: i32, bIsLast: bool) { self.tx.send(MdSpiMsg::OnRspQryMulticastInstrument(pMulticastInstrument, pRspInfo, nRequestID, bIsLast)).expect("sending MdSpiMsg failed"); }
1390pub fn OnRspError(&self, pRspInfo: RspInfoField, nRequestID: i32, bIsLast: bool) { self.tx.send(MdSpiMsg::OnRspError(pRspInfo, nRequestID, bIsLast)).expect("sending MdSpiMsg failed"); }
1391pub fn OnRspSubMarketData(&self, pSpecificInstrument: SpecificInstrumentField, pRspInfo: RspInfoField, nRequestID: i32, bIsLast: bool) { self.tx.send(MdSpiMsg::OnRspSubMarketData(pSpecificInstrument, pRspInfo, nRequestID, bIsLast)).expect("sending MdSpiMsg failed"); }
1392pub fn OnRspUnSubMarketData(&self, pSpecificInstrument: SpecificInstrumentField, pRspInfo: RspInfoField, nRequestID: i32, bIsLast: bool) { self.tx.send(MdSpiMsg::OnRspUnSubMarketData(pSpecificInstrument, pRspInfo, nRequestID, bIsLast)).expect("sending MdSpiMsg failed"); }
1393pub fn OnRspSubForQuoteRsp(&self, pSpecificInstrument: SpecificInstrumentField, pRspInfo: RspInfoField, nRequestID: i32, bIsLast: bool) { self.tx.send(MdSpiMsg::OnRspSubForQuoteRsp(pSpecificInstrument, pRspInfo, nRequestID, bIsLast)).expect("sending MdSpiMsg failed"); }
1394pub fn OnRspUnSubForQuoteRsp(&self, pSpecificInstrument: SpecificInstrumentField, pRspInfo: RspInfoField, nRequestID: i32, bIsLast: bool) { self.tx.send(MdSpiMsg::OnRspUnSubForQuoteRsp(pSpecificInstrument, pRspInfo, nRequestID, bIsLast)).expect("sending MdSpiMsg failed"); }
1395pub fn OnRtnDepthMarketData(&self, pDepthMarketData: DepthMarketDataField) { self.tx.send(MdSpiMsg::OnRtnDepthMarketData(pDepthMarketData)).expect("sending MdSpiMsg failed"); }
1396pub fn OnRtnForQuoteRsp(&self, pForQuoteRsp: ForQuoteRspField) { self.tx.send(MdSpiMsg::OnRtnForQuoteRsp(pForQuoteRsp)).expect("sending MdSpiMsg failed"); }
1397}
1398
1399unsafe impl Send for TraderApi {}
1400unsafe impl Sync for TraderApi {}
1401
1402impl TraderApi {
1403 pub fn CreateTraderApiAndSpi(tx: Sender<TraderSpiMsg>, flow_path: String, is_production_mode: bool) -> UniquePtr<TraderApi> {
1404 if !Path::new(&flow_path).exists() {
1405 create_dir_all(&flow_path).unwrap();
1406 }
1407 let spi = Arc::pin(TraderSpi { tx });
1408 let api = CreateTraderApi(&spi, flow_path, is_production_mode);
1409 forget(spi); api
1411 }
1412}
1413
1414#[derive(Debug, Clone)]
1415pub enum TraderSpiMsg {
1416 OnFrontConnected,
1417 OnFrontDisconnected(i32),
1418 OnHeartBeatWarning(i32),
1419 OnRspAuthenticate(RspAuthenticateField, RspInfoField, i32, bool),
1420 OnRspUserLogin(RspUserLoginField, RspInfoField, i32, bool),
1421 OnRspUserLogout(UserLogoutField, RspInfoField, i32, bool),
1422 OnRspUserPasswordUpdate(UserPasswordUpdateField, RspInfoField, i32, bool),
1423 OnRspTradingAccountPasswordUpdate(TradingAccountPasswordUpdateField, RspInfoField, i32, bool),
1424 OnRspUserAuthMethod(RspUserAuthMethodField, RspInfoField, i32, bool),
1425 OnRspGenUserCaptcha(RspGenUserCaptchaField, RspInfoField, i32, bool),
1426 OnRspGenUserText(RspGenUserTextField, RspInfoField, i32, bool),
1427 OnRspOrderInsert(InputOrderField, RspInfoField, i32, bool),
1428 OnRspParkedOrderInsert(ParkedOrderField, RspInfoField, i32, bool),
1429 OnRspParkedOrderAction(ParkedOrderActionField, RspInfoField, i32, bool),
1430 OnRspOrderAction(InputOrderActionField, RspInfoField, i32, bool),
1431 OnRspQryMaxOrderVolume(QryMaxOrderVolumeField, RspInfoField, i32, bool),
1432 OnRspSettlementInfoConfirm(SettlementInfoConfirmField, RspInfoField, i32, bool),
1433 OnRspRemoveParkedOrder(RemoveParkedOrderField, RspInfoField, i32, bool),
1434 OnRspRemoveParkedOrderAction(RemoveParkedOrderActionField, RspInfoField, i32, bool),
1435 OnRspExecOrderInsert(InputExecOrderField, RspInfoField, i32, bool),
1436 OnRspExecOrderAction(InputExecOrderActionField, RspInfoField, i32, bool),
1437 OnRspForQuoteInsert(InputForQuoteField, RspInfoField, i32, bool),
1438 OnRspQuoteInsert(InputQuoteField, RspInfoField, i32, bool),
1439 OnRspQuoteAction(InputQuoteActionField, RspInfoField, i32, bool),
1440 OnRspBatchOrderAction(InputBatchOrderActionField, RspInfoField, i32, bool),
1441 OnRspOptionSelfCloseInsert(InputOptionSelfCloseField, RspInfoField, i32, bool),
1442 OnRspOptionSelfCloseAction(InputOptionSelfCloseActionField, RspInfoField, i32, bool),
1443 OnRspCombActionInsert(InputCombActionField, RspInfoField, i32, bool),
1444 OnRspQryOrder(OrderField, RspInfoField, i32, bool),
1445 OnRspQryTrade(TradeField, RspInfoField, i32, bool),
1446 OnRspQryInvestorPosition(InvestorPositionField, RspInfoField, i32, bool),
1447 OnRspQryTradingAccount(TradingAccountField, RspInfoField, i32, bool),
1448 OnRspQryInvestor(InvestorField, RspInfoField, i32, bool),
1449 OnRspQryTradingCode(TradingCodeField, RspInfoField, i32, bool),
1450 OnRspQryInstrumentMarginRate(InstrumentMarginRateField, RspInfoField, i32, bool),
1451 OnRspQryInstrumentCommissionRate(InstrumentCommissionRateField, RspInfoField, i32, bool),
1452 OnRspQryUserSession(UserSessionField, RspInfoField, i32, bool),
1453 OnRspQryExchange(ExchangeField, RspInfoField, i32, bool),
1454 OnRspQryProduct(ProductField, RspInfoField, i32, bool),
1455 OnRspQryInstrument(InstrumentField, RspInfoField, i32, bool),
1456 OnRspQryDepthMarketData(DepthMarketDataField, RspInfoField, i32, bool),
1457 OnRspQryTraderOffer(TraderOfferField, RspInfoField, i32, bool),
1458 OnRspQrySettlementInfo(SettlementInfoField, RspInfoField, i32, bool),
1459 OnRspQryTransferBank(TransferBankField, RspInfoField, i32, bool),
1460 OnRspQryInvestorPositionDetail(InvestorPositionDetailField, RspInfoField, i32, bool),
1461 OnRspQryNotice(NoticeField, RspInfoField, i32, bool),
1462 OnRspQrySettlementInfoConfirm(SettlementInfoConfirmField, RspInfoField, i32, bool),
1463 OnRspQryInvestorPositionCombineDetail(InvestorPositionCombineDetailField, RspInfoField, i32, bool),
1464 OnRspQryCFMMCTradingAccountKey(CFMMCTradingAccountKeyField, RspInfoField, i32, bool),
1465 OnRspQryEWarrantOffset(EWarrantOffsetField, RspInfoField, i32, bool),
1466 OnRspQryInvestorProductGroupMargin(InvestorProductGroupMarginField, RspInfoField, i32, bool),
1467 OnRspQryExchangeMarginRate(ExchangeMarginRateField, RspInfoField, i32, bool),
1468 OnRspQryExchangeMarginRateAdjust(ExchangeMarginRateAdjustField, RspInfoField, i32, bool),
1469 OnRspQryExchangeRate(ExchangeRateField, RspInfoField, i32, bool),
1470 OnRspQrySecAgentACIDMap(SecAgentACIDMapField, RspInfoField, i32, bool),
1471 OnRspQryProductExchRate(ProductExchRateField, RspInfoField, i32, bool),
1472 OnRspQryProductGroup(ProductGroupField, RspInfoField, i32, bool),
1473 OnRspQryMMInstrumentCommissionRate(MMInstrumentCommissionRateField, RspInfoField, i32, bool),
1474 OnRspQryMMOptionInstrCommRate(MMOptionInstrCommRateField, RspInfoField, i32, bool),
1475 OnRspQryInstrumentOrderCommRate(InstrumentOrderCommRateField, RspInfoField, i32, bool),
1476 OnRspQrySecAgentTradingAccount(TradingAccountField, RspInfoField, i32, bool),
1477 OnRspQrySecAgentCheckMode(SecAgentCheckModeField, RspInfoField, i32, bool),
1478 OnRspQrySecAgentTradeInfo(SecAgentTradeInfoField, RspInfoField, i32, bool),
1479 OnRspQryOptionInstrTradeCost(OptionInstrTradeCostField, RspInfoField, i32, bool),
1480 OnRspQryOptionInstrCommRate(OptionInstrCommRateField, RspInfoField, i32, bool),
1481 OnRspQryExecOrder(ExecOrderField, RspInfoField, i32, bool),
1482 OnRspQryForQuote(ForQuoteField, RspInfoField, i32, bool),
1483 OnRspQryQuote(QuoteField, RspInfoField, i32, bool),
1484 OnRspQryOptionSelfClose(OptionSelfCloseField, RspInfoField, i32, bool),
1485 OnRspQryInvestUnit(InvestUnitField, RspInfoField, i32, bool),
1486 OnRspQryCombInstrumentGuard(CombInstrumentGuardField, RspInfoField, i32, bool),
1487 OnRspQryCombAction(CombActionField, RspInfoField, i32, bool),
1488 OnRspQryTransferSerial(TransferSerialField, RspInfoField, i32, bool),
1489 OnRspQryAccountregister(AccountregisterField, RspInfoField, i32, bool),
1490 OnRspError(RspInfoField, i32, bool),
1491 OnRtnOrder(OrderField),
1492 OnRtnTrade(TradeField),
1493 OnErrRtnOrderInsert(InputOrderField, RspInfoField),
1494 OnErrRtnOrderAction(OrderActionField, RspInfoField),
1495 OnRtnInstrumentStatus(InstrumentStatusField),
1496 OnRtnBulletin(BulletinField),
1497 OnRtnTradingNotice(TradingNoticeInfoField),
1498 OnRtnErrorConditionalOrder(ErrorConditionalOrderField),
1499 OnRtnExecOrder(ExecOrderField),
1500 OnErrRtnExecOrderInsert(InputExecOrderField, RspInfoField),
1501 OnErrRtnExecOrderAction(ExecOrderActionField, RspInfoField),
1502 OnErrRtnForQuoteInsert(InputForQuoteField, RspInfoField),
1503 OnRtnQuote(QuoteField),
1504 OnErrRtnQuoteInsert(InputQuoteField, RspInfoField),
1505 OnErrRtnQuoteAction(QuoteActionField, RspInfoField),
1506 OnRtnForQuoteRsp(ForQuoteRspField),
1507 OnRtnCFMMCTradingAccountToken(CFMMCTradingAccountTokenField),
1508 OnErrRtnBatchOrderAction(BatchOrderActionField, RspInfoField),
1509 OnRtnOptionSelfClose(OptionSelfCloseField),
1510 OnErrRtnOptionSelfCloseInsert(InputOptionSelfCloseField, RspInfoField),
1511 OnErrRtnOptionSelfCloseAction(OptionSelfCloseActionField, RspInfoField),
1512 OnRtnCombAction(CombActionField),
1513 OnErrRtnCombActionInsert(InputCombActionField, RspInfoField),
1514 OnRspQryContractBank(ContractBankField, RspInfoField, i32, bool),
1515 OnRspQryParkedOrder(ParkedOrderField, RspInfoField, i32, bool),
1516 OnRspQryParkedOrderAction(ParkedOrderActionField, RspInfoField, i32, bool),
1517 OnRspQryTradingNotice(TradingNoticeField, RspInfoField, i32, bool),
1518 OnRspQryBrokerTradingParams(BrokerTradingParamsField, RspInfoField, i32, bool),
1519 OnRspQryBrokerTradingAlgos(BrokerTradingAlgosField, RspInfoField, i32, bool),
1520 OnRspQueryCFMMCTradingAccountToken(QueryCFMMCTradingAccountTokenField, RspInfoField, i32, bool),
1521 OnRtnFromBankToFutureByBank(RspTransferField),
1522 OnRtnFromFutureToBankByBank(RspTransferField),
1523 OnRtnRepealFromBankToFutureByBank(RspRepealField),
1524 OnRtnRepealFromFutureToBankByBank(RspRepealField),
1525 OnRtnFromBankToFutureByFuture(RspTransferField),
1526 OnRtnFromFutureToBankByFuture(RspTransferField),
1527 OnRtnRepealFromBankToFutureByFutureManual(RspRepealField),
1528 OnRtnRepealFromFutureToBankByFutureManual(RspRepealField),
1529 OnRtnQueryBankBalanceByFuture(NotifyQueryAccountField),
1530 OnErrRtnBankToFutureByFuture(ReqTransferField, RspInfoField),
1531 OnErrRtnFutureToBankByFuture(ReqTransferField, RspInfoField),
1532 OnErrRtnRepealBankToFutureByFutureManual(ReqRepealField, RspInfoField),
1533 OnErrRtnRepealFutureToBankByFutureManual(ReqRepealField, RspInfoField),
1534 OnErrRtnQueryBankBalanceByFuture(ReqQueryAccountField, RspInfoField),
1535 OnRtnRepealFromBankToFutureByFuture(RspRepealField),
1536 OnRtnRepealFromFutureToBankByFuture(RspRepealField),
1537 OnRspFromBankToFutureByFuture(ReqTransferField, RspInfoField, i32, bool),
1538 OnRspFromFutureToBankByFuture(ReqTransferField, RspInfoField, i32, bool),
1539 OnRspQueryBankAccountMoneyByFuture(ReqQueryAccountField, RspInfoField, i32, bool),
1540 OnRtnOpenAccountByBank(OpenAccountField),
1541 OnRtnCancelAccountByBank(CancelAccountField),
1542 OnRtnChangeAccountByBank(ChangeAccountField),
1543 OnRspQryClassifiedInstrument(InstrumentField, RspInfoField, i32, bool),
1544 OnRspQryCombPromotionParam(CombPromotionParamField, RspInfoField, i32, bool),
1545 OnRspQryRiskSettleInvstPosition(RiskSettleInvstPositionField, RspInfoField, i32, bool),
1546 OnRspQryRiskSettleProductStatus(RiskSettleProductStatusField, RspInfoField, i32, bool),
1547 OnRspQrySPBMFutureParameter(SPBMFutureParameterField, RspInfoField, i32, bool),
1548 OnRspQrySPBMOptionParameter(SPBMOptionParameterField, RspInfoField, i32, bool),
1549 OnRspQrySPBMIntraParameter(SPBMIntraParameterField, RspInfoField, i32, bool),
1550 OnRspQrySPBMInterParameter(SPBMInterParameterField, RspInfoField, i32, bool),
1551 OnRspQrySPBMPortfDefinition(SPBMPortfDefinitionField, RspInfoField, i32, bool),
1552 OnRspQrySPBMInvestorPortfDef(SPBMInvestorPortfDefField, RspInfoField, i32, bool),
1553 OnRspQryInvestorPortfMarginRatio(InvestorPortfMarginRatioField, RspInfoField, i32, bool),
1554 OnRspQryInvestorProdSPBMDetail(InvestorProdSPBMDetailField, RspInfoField, i32, bool),
1555 OnRspQryInvestorCommoditySPMMMargin(InvestorCommoditySPMMMarginField, RspInfoField, i32, bool),
1556 OnRspQryInvestorCommodityGroupSPMMMargin(InvestorCommodityGroupSPMMMarginField, RspInfoField, i32, bool),
1557 OnRspQrySPMMInstParam(SPMMInstParamField, RspInfoField, i32, bool),
1558 OnRspQrySPMMProductParam(SPMMProductParamField, RspInfoField, i32, bool),
1559 OnRspQrySPBMAddOnInterParameter(SPBMAddOnInterParameterField, RspInfoField, i32, bool),
1560 OnRspQryRCAMSCombProductInfo(RCAMSCombProductInfoField, RspInfoField, i32, bool),
1561 OnRspQryRCAMSInstrParameter(RCAMSInstrParameterField, RspInfoField, i32, bool),
1562 OnRspQryRCAMSIntraParameter(RCAMSIntraParameterField, RspInfoField, i32, bool),
1563 OnRspQryRCAMSInterParameter(RCAMSInterParameterField, RspInfoField, i32, bool),
1564 OnRspQryRCAMSShortOptAdjustParam(RCAMSShortOptAdjustParamField, RspInfoField, i32, bool),
1565 OnRspQryRCAMSInvestorCombPosition(RCAMSInvestorCombPositionField, RspInfoField, i32, bool),
1566 OnRspQryInvestorProdRCAMSMargin(InvestorProdRCAMSMarginField, RspInfoField, i32, bool),
1567 OnRspQryRULEInstrParameter(RULEInstrParameterField, RspInfoField, i32, bool),
1568 OnRspQryRULEIntraParameter(RULEIntraParameterField, RspInfoField, i32, bool),
1569 OnRspQryRULEInterParameter(RULEInterParameterField, RspInfoField, i32, bool),
1570 OnRspQryInvestorProdRULEMargin(InvestorProdRULEMarginField, RspInfoField, i32, bool),
1571 OnRspQryInvestorPortfSetting(InvestorPortfSettingField, RspInfoField, i32, bool),
1572 OnRspQryInvestorInfoCommRec(InvestorInfoCommRecField, RspInfoField, i32, bool),
1573 OnRspQryCombLeg(CombLegField, RspInfoField, i32, bool),
1574 OnRspOffsetSetting(InputOffsetSettingField, RspInfoField, i32, bool),
1575 OnRspCancelOffsetSetting(InputOffsetSettingField, RspInfoField, i32, bool),
1576 OnRtnOffsetSetting(OffsetSettingField),
1577 OnErrRtnOffsetSetting(InputOffsetSettingField, RspInfoField),
1578 OnErrRtnCancelOffsetSetting(CancelOffsetSettingField, RspInfoField),
1579 OnRspQryOffsetSetting(OffsetSettingField, RspInfoField, i32, bool),
1580}
1581
1582pub struct TraderSpi {
1583 tx: Sender<TraderSpiMsg>,
1584}
1585
1586impl TraderSpi {
1587pub fn OnFrontConnected(&self) { self.tx.send(TraderSpiMsg::OnFrontConnected).expect("sending TraderSpiMsg failed"); }
1588pub fn OnFrontDisconnected(&self, nReason: i32) { self.tx.send(TraderSpiMsg::OnFrontDisconnected(nReason)).expect("sending TraderSpiMsg failed"); }
1589pub fn OnHeartBeatWarning(&self, nTimeLapse: i32) { self.tx.send(TraderSpiMsg::OnHeartBeatWarning(nTimeLapse)).expect("sending TraderSpiMsg failed"); }
1590pub fn OnRspAuthenticate(&self, pRspAuthenticateField: RspAuthenticateField, pRspInfo: RspInfoField, nRequestID: i32, bIsLast: bool) { self.tx.send(TraderSpiMsg::OnRspAuthenticate(pRspAuthenticateField, pRspInfo, nRequestID, bIsLast)).expect("sending TraderSpiMsg failed"); }
1591pub fn OnRspUserLogin(&self, pRspUserLogin: RspUserLoginField, pRspInfo: RspInfoField, nRequestID: i32, bIsLast: bool) { self.tx.send(TraderSpiMsg::OnRspUserLogin(pRspUserLogin, pRspInfo, nRequestID, bIsLast)).expect("sending TraderSpiMsg failed"); }
1592pub fn OnRspUserLogout(&self, pUserLogout: UserLogoutField, pRspInfo: RspInfoField, nRequestID: i32, bIsLast: bool) { self.tx.send(TraderSpiMsg::OnRspUserLogout(pUserLogout, pRspInfo, nRequestID, bIsLast)).expect("sending TraderSpiMsg failed"); }
1593pub fn OnRspUserPasswordUpdate(&self, pUserPasswordUpdate: UserPasswordUpdateField, pRspInfo: RspInfoField, nRequestID: i32, bIsLast: bool) { self.tx.send(TraderSpiMsg::OnRspUserPasswordUpdate(pUserPasswordUpdate, pRspInfo, nRequestID, bIsLast)).expect("sending TraderSpiMsg failed"); }
1594pub fn OnRspTradingAccountPasswordUpdate(&self, pTradingAccountPasswordUpdate: TradingAccountPasswordUpdateField, pRspInfo: RspInfoField, nRequestID: i32, bIsLast: bool) { self.tx.send(TraderSpiMsg::OnRspTradingAccountPasswordUpdate(pTradingAccountPasswordUpdate, pRspInfo, nRequestID, bIsLast)).expect("sending TraderSpiMsg failed"); }
1595pub fn OnRspUserAuthMethod(&self, pRspUserAuthMethod: RspUserAuthMethodField, pRspInfo: RspInfoField, nRequestID: i32, bIsLast: bool) { self.tx.send(TraderSpiMsg::OnRspUserAuthMethod(pRspUserAuthMethod, pRspInfo, nRequestID, bIsLast)).expect("sending TraderSpiMsg failed"); }
1596pub fn OnRspGenUserCaptcha(&self, pRspGenUserCaptcha: RspGenUserCaptchaField, pRspInfo: RspInfoField, nRequestID: i32, bIsLast: bool) { self.tx.send(TraderSpiMsg::OnRspGenUserCaptcha(pRspGenUserCaptcha, pRspInfo, nRequestID, bIsLast)).expect("sending TraderSpiMsg failed"); }
1597pub fn OnRspGenUserText(&self, pRspGenUserText: RspGenUserTextField, pRspInfo: RspInfoField, nRequestID: i32, bIsLast: bool) { self.tx.send(TraderSpiMsg::OnRspGenUserText(pRspGenUserText, pRspInfo, nRequestID, bIsLast)).expect("sending TraderSpiMsg failed"); }
1598pub fn OnRspOrderInsert(&self, pInputOrder: InputOrderField, pRspInfo: RspInfoField, nRequestID: i32, bIsLast: bool) { self.tx.send(TraderSpiMsg::OnRspOrderInsert(pInputOrder, pRspInfo, nRequestID, bIsLast)).expect("sending TraderSpiMsg failed"); }
1599pub fn OnRspParkedOrderInsert(&self, pParkedOrder: ParkedOrderField, pRspInfo: RspInfoField, nRequestID: i32, bIsLast: bool) { self.tx.send(TraderSpiMsg::OnRspParkedOrderInsert(pParkedOrder, pRspInfo, nRequestID, bIsLast)).expect("sending TraderSpiMsg failed"); }
1600pub fn OnRspParkedOrderAction(&self, pParkedOrderAction: ParkedOrderActionField, pRspInfo: RspInfoField, nRequestID: i32, bIsLast: bool) { self.tx.send(TraderSpiMsg::OnRspParkedOrderAction(pParkedOrderAction, pRspInfo, nRequestID, bIsLast)).expect("sending TraderSpiMsg failed"); }
1601pub fn OnRspOrderAction(&self, pInputOrderAction: InputOrderActionField, pRspInfo: RspInfoField, nRequestID: i32, bIsLast: bool) { self.tx.send(TraderSpiMsg::OnRspOrderAction(pInputOrderAction, pRspInfo, nRequestID, bIsLast)).expect("sending TraderSpiMsg failed"); }
1602pub fn OnRspQryMaxOrderVolume(&self, pQryMaxOrderVolume: QryMaxOrderVolumeField, pRspInfo: RspInfoField, nRequestID: i32, bIsLast: bool) { self.tx.send(TraderSpiMsg::OnRspQryMaxOrderVolume(pQryMaxOrderVolume, pRspInfo, nRequestID, bIsLast)).expect("sending TraderSpiMsg failed"); }
1603pub fn OnRspSettlementInfoConfirm(&self, pSettlementInfoConfirm: SettlementInfoConfirmField, pRspInfo: RspInfoField, nRequestID: i32, bIsLast: bool) { self.tx.send(TraderSpiMsg::OnRspSettlementInfoConfirm(pSettlementInfoConfirm, pRspInfo, nRequestID, bIsLast)).expect("sending TraderSpiMsg failed"); }
1604pub fn OnRspRemoveParkedOrder(&self, pRemoveParkedOrder: RemoveParkedOrderField, pRspInfo: RspInfoField, nRequestID: i32, bIsLast: bool) { self.tx.send(TraderSpiMsg::OnRspRemoveParkedOrder(pRemoveParkedOrder, pRspInfo, nRequestID, bIsLast)).expect("sending TraderSpiMsg failed"); }
1605pub fn OnRspRemoveParkedOrderAction(&self, pRemoveParkedOrderAction: RemoveParkedOrderActionField, pRspInfo: RspInfoField, nRequestID: i32, bIsLast: bool) { self.tx.send(TraderSpiMsg::OnRspRemoveParkedOrderAction(pRemoveParkedOrderAction, pRspInfo, nRequestID, bIsLast)).expect("sending TraderSpiMsg failed"); }
1606pub fn OnRspExecOrderInsert(&self, pInputExecOrder: InputExecOrderField, pRspInfo: RspInfoField, nRequestID: i32, bIsLast: bool) { self.tx.send(TraderSpiMsg::OnRspExecOrderInsert(pInputExecOrder, pRspInfo, nRequestID, bIsLast)).expect("sending TraderSpiMsg failed"); }
1607pub fn OnRspExecOrderAction(&self, pInputExecOrderAction: InputExecOrderActionField, pRspInfo: RspInfoField, nRequestID: i32, bIsLast: bool) { self.tx.send(TraderSpiMsg::OnRspExecOrderAction(pInputExecOrderAction, pRspInfo, nRequestID, bIsLast)).expect("sending TraderSpiMsg failed"); }
1608pub fn OnRspForQuoteInsert(&self, pInputForQuote: InputForQuoteField, pRspInfo: RspInfoField, nRequestID: i32, bIsLast: bool) { self.tx.send(TraderSpiMsg::OnRspForQuoteInsert(pInputForQuote, pRspInfo, nRequestID, bIsLast)).expect("sending TraderSpiMsg failed"); }
1609pub fn OnRspQuoteInsert(&self, pInputQuote: InputQuoteField, pRspInfo: RspInfoField, nRequestID: i32, bIsLast: bool) { self.tx.send(TraderSpiMsg::OnRspQuoteInsert(pInputQuote, pRspInfo, nRequestID, bIsLast)).expect("sending TraderSpiMsg failed"); }
1610pub fn OnRspQuoteAction(&self, pInputQuoteAction: InputQuoteActionField, pRspInfo: RspInfoField, nRequestID: i32, bIsLast: bool) { self.tx.send(TraderSpiMsg::OnRspQuoteAction(pInputQuoteAction, pRspInfo, nRequestID, bIsLast)).expect("sending TraderSpiMsg failed"); }
1611pub fn OnRspBatchOrderAction(&self, pInputBatchOrderAction: InputBatchOrderActionField, pRspInfo: RspInfoField, nRequestID: i32, bIsLast: bool) { self.tx.send(TraderSpiMsg::OnRspBatchOrderAction(pInputBatchOrderAction, pRspInfo, nRequestID, bIsLast)).expect("sending TraderSpiMsg failed"); }
1612pub fn OnRspOptionSelfCloseInsert(&self, pInputOptionSelfClose: InputOptionSelfCloseField, pRspInfo: RspInfoField, nRequestID: i32, bIsLast: bool) { self.tx.send(TraderSpiMsg::OnRspOptionSelfCloseInsert(pInputOptionSelfClose, pRspInfo, nRequestID, bIsLast)).expect("sending TraderSpiMsg failed"); }
1613pub fn OnRspOptionSelfCloseAction(&self, pInputOptionSelfCloseAction: InputOptionSelfCloseActionField, pRspInfo: RspInfoField, nRequestID: i32, bIsLast: bool) { self.tx.send(TraderSpiMsg::OnRspOptionSelfCloseAction(pInputOptionSelfCloseAction, pRspInfo, nRequestID, bIsLast)).expect("sending TraderSpiMsg failed"); }
1614pub fn OnRspCombActionInsert(&self, pInputCombAction: InputCombActionField, pRspInfo: RspInfoField, nRequestID: i32, bIsLast: bool) { self.tx.send(TraderSpiMsg::OnRspCombActionInsert(pInputCombAction, pRspInfo, nRequestID, bIsLast)).expect("sending TraderSpiMsg failed"); }
1615pub fn OnRspQryOrder(&self, pOrder: OrderField, pRspInfo: RspInfoField, nRequestID: i32, bIsLast: bool) { self.tx.send(TraderSpiMsg::OnRspQryOrder(pOrder, pRspInfo, nRequestID, bIsLast)).expect("sending TraderSpiMsg failed"); }
1616pub fn OnRspQryTrade(&self, pTrade: TradeField, pRspInfo: RspInfoField, nRequestID: i32, bIsLast: bool) { self.tx.send(TraderSpiMsg::OnRspQryTrade(pTrade, pRspInfo, nRequestID, bIsLast)).expect("sending TraderSpiMsg failed"); }
1617pub fn OnRspQryInvestorPosition(&self, pInvestorPosition: InvestorPositionField, pRspInfo: RspInfoField, nRequestID: i32, bIsLast: bool) { self.tx.send(TraderSpiMsg::OnRspQryInvestorPosition(pInvestorPosition, pRspInfo, nRequestID, bIsLast)).expect("sending TraderSpiMsg failed"); }
1618pub fn OnRspQryTradingAccount(&self, pTradingAccount: TradingAccountField, pRspInfo: RspInfoField, nRequestID: i32, bIsLast: bool) { self.tx.send(TraderSpiMsg::OnRspQryTradingAccount(pTradingAccount, pRspInfo, nRequestID, bIsLast)).expect("sending TraderSpiMsg failed"); }
1619pub fn OnRspQryInvestor(&self, pInvestor: InvestorField, pRspInfo: RspInfoField, nRequestID: i32, bIsLast: bool) { self.tx.send(TraderSpiMsg::OnRspQryInvestor(pInvestor, pRspInfo, nRequestID, bIsLast)).expect("sending TraderSpiMsg failed"); }
1620pub fn OnRspQryTradingCode(&self, pTradingCode: TradingCodeField, pRspInfo: RspInfoField, nRequestID: i32, bIsLast: bool) { self.tx.send(TraderSpiMsg::OnRspQryTradingCode(pTradingCode, pRspInfo, nRequestID, bIsLast)).expect("sending TraderSpiMsg failed"); }
1621pub fn OnRspQryInstrumentMarginRate(&self, pInstrumentMarginRate: InstrumentMarginRateField, pRspInfo: RspInfoField, nRequestID: i32, bIsLast: bool) { self.tx.send(TraderSpiMsg::OnRspQryInstrumentMarginRate(pInstrumentMarginRate, pRspInfo, nRequestID, bIsLast)).expect("sending TraderSpiMsg failed"); }
1622pub fn OnRspQryInstrumentCommissionRate(&self, pInstrumentCommissionRate: InstrumentCommissionRateField, pRspInfo: RspInfoField, nRequestID: i32, bIsLast: bool) { self.tx.send(TraderSpiMsg::OnRspQryInstrumentCommissionRate(pInstrumentCommissionRate, pRspInfo, nRequestID, bIsLast)).expect("sending TraderSpiMsg failed"); }
1623pub fn OnRspQryUserSession(&self, pUserSession: UserSessionField, pRspInfo: RspInfoField, nRequestID: i32, bIsLast: bool) { self.tx.send(TraderSpiMsg::OnRspQryUserSession(pUserSession, pRspInfo, nRequestID, bIsLast)).expect("sending TraderSpiMsg failed"); }
1624pub fn OnRspQryExchange(&self, pExchange: ExchangeField, pRspInfo: RspInfoField, nRequestID: i32, bIsLast: bool) { self.tx.send(TraderSpiMsg::OnRspQryExchange(pExchange, pRspInfo, nRequestID, bIsLast)).expect("sending TraderSpiMsg failed"); }
1625pub fn OnRspQryProduct(&self, pProduct: ProductField, pRspInfo: RspInfoField, nRequestID: i32, bIsLast: bool) { self.tx.send(TraderSpiMsg::OnRspQryProduct(pProduct, pRspInfo, nRequestID, bIsLast)).expect("sending TraderSpiMsg failed"); }
1626pub fn OnRspQryInstrument(&self, pInstrument: InstrumentField, pRspInfo: RspInfoField, nRequestID: i32, bIsLast: bool) { self.tx.send(TraderSpiMsg::OnRspQryInstrument(pInstrument, pRspInfo, nRequestID, bIsLast)).expect("sending TraderSpiMsg failed"); }
1627pub fn OnRspQryDepthMarketData(&self, pDepthMarketData: DepthMarketDataField, pRspInfo: RspInfoField, nRequestID: i32, bIsLast: bool) { self.tx.send(TraderSpiMsg::OnRspQryDepthMarketData(pDepthMarketData, pRspInfo, nRequestID, bIsLast)).expect("sending TraderSpiMsg failed"); }
1628pub fn OnRspQryTraderOffer(&self, pTraderOffer: TraderOfferField, pRspInfo: RspInfoField, nRequestID: i32, bIsLast: bool) { self.tx.send(TraderSpiMsg::OnRspQryTraderOffer(pTraderOffer, pRspInfo, nRequestID, bIsLast)).expect("sending TraderSpiMsg failed"); }
1629pub fn OnRspQrySettlementInfo(&self, pSettlementInfo: SettlementInfoField, pRspInfo: RspInfoField, nRequestID: i32, bIsLast: bool) { self.tx.send(TraderSpiMsg::OnRspQrySettlementInfo(pSettlementInfo, pRspInfo, nRequestID, bIsLast)).expect("sending TraderSpiMsg failed"); }
1630pub fn OnRspQryTransferBank(&self, pTransferBank: TransferBankField, pRspInfo: RspInfoField, nRequestID: i32, bIsLast: bool) { self.tx.send(TraderSpiMsg::OnRspQryTransferBank(pTransferBank, pRspInfo, nRequestID, bIsLast)).expect("sending TraderSpiMsg failed"); }
1631pub fn OnRspQryInvestorPositionDetail(&self, pInvestorPositionDetail: InvestorPositionDetailField, pRspInfo: RspInfoField, nRequestID: i32, bIsLast: bool) { self.tx.send(TraderSpiMsg::OnRspQryInvestorPositionDetail(pInvestorPositionDetail, pRspInfo, nRequestID, bIsLast)).expect("sending TraderSpiMsg failed"); }
1632pub fn OnRspQryNotice(&self, pNotice: NoticeField, pRspInfo: RspInfoField, nRequestID: i32, bIsLast: bool) { self.tx.send(TraderSpiMsg::OnRspQryNotice(pNotice, pRspInfo, nRequestID, bIsLast)).expect("sending TraderSpiMsg failed"); }
1633pub fn OnRspQrySettlementInfoConfirm(&self, pSettlementInfoConfirm: SettlementInfoConfirmField, pRspInfo: RspInfoField, nRequestID: i32, bIsLast: bool) { self.tx.send(TraderSpiMsg::OnRspQrySettlementInfoConfirm(pSettlementInfoConfirm, pRspInfo, nRequestID, bIsLast)).expect("sending TraderSpiMsg failed"); }
1634pub fn OnRspQryInvestorPositionCombineDetail(&self, pInvestorPositionCombineDetail: InvestorPositionCombineDetailField, pRspInfo: RspInfoField, nRequestID: i32, bIsLast: bool) { self.tx.send(TraderSpiMsg::OnRspQryInvestorPositionCombineDetail(pInvestorPositionCombineDetail, pRspInfo, nRequestID, bIsLast)).expect("sending TraderSpiMsg failed"); }
1635pub fn OnRspQryCFMMCTradingAccountKey(&self, pCFMMCTradingAccountKey: CFMMCTradingAccountKeyField, pRspInfo: RspInfoField, nRequestID: i32, bIsLast: bool) { self.tx.send(TraderSpiMsg::OnRspQryCFMMCTradingAccountKey(pCFMMCTradingAccountKey, pRspInfo, nRequestID, bIsLast)).expect("sending TraderSpiMsg failed"); }
1636pub fn OnRspQryEWarrantOffset(&self, pEWarrantOffset: EWarrantOffsetField, pRspInfo: RspInfoField, nRequestID: i32, bIsLast: bool) { self.tx.send(TraderSpiMsg::OnRspQryEWarrantOffset(pEWarrantOffset, pRspInfo, nRequestID, bIsLast)).expect("sending TraderSpiMsg failed"); }
1637pub fn OnRspQryInvestorProductGroupMargin(&self, pInvestorProductGroupMargin: InvestorProductGroupMarginField, pRspInfo: RspInfoField, nRequestID: i32, bIsLast: bool) { self.tx.send(TraderSpiMsg::OnRspQryInvestorProductGroupMargin(pInvestorProductGroupMargin, pRspInfo, nRequestID, bIsLast)).expect("sending TraderSpiMsg failed"); }
1638pub fn OnRspQryExchangeMarginRate(&self, pExchangeMarginRate: ExchangeMarginRateField, pRspInfo: RspInfoField, nRequestID: i32, bIsLast: bool) { self.tx.send(TraderSpiMsg::OnRspQryExchangeMarginRate(pExchangeMarginRate, pRspInfo, nRequestID, bIsLast)).expect("sending TraderSpiMsg failed"); }
1639pub fn OnRspQryExchangeMarginRateAdjust(&self, pExchangeMarginRateAdjust: ExchangeMarginRateAdjustField, pRspInfo: RspInfoField, nRequestID: i32, bIsLast: bool) { self.tx.send(TraderSpiMsg::OnRspQryExchangeMarginRateAdjust(pExchangeMarginRateAdjust, pRspInfo, nRequestID, bIsLast)).expect("sending TraderSpiMsg failed"); }
1640pub fn OnRspQryExchangeRate(&self, pExchangeRate: ExchangeRateField, pRspInfo: RspInfoField, nRequestID: i32, bIsLast: bool) { self.tx.send(TraderSpiMsg::OnRspQryExchangeRate(pExchangeRate, pRspInfo, nRequestID, bIsLast)).expect("sending TraderSpiMsg failed"); }
1641pub fn OnRspQrySecAgentACIDMap(&self, pSecAgentACIDMap: SecAgentACIDMapField, pRspInfo: RspInfoField, nRequestID: i32, bIsLast: bool) { self.tx.send(TraderSpiMsg::OnRspQrySecAgentACIDMap(pSecAgentACIDMap, pRspInfo, nRequestID, bIsLast)).expect("sending TraderSpiMsg failed"); }
1642pub fn OnRspQryProductExchRate(&self, pProductExchRate: ProductExchRateField, pRspInfo: RspInfoField, nRequestID: i32, bIsLast: bool) { self.tx.send(TraderSpiMsg::OnRspQryProductExchRate(pProductExchRate, pRspInfo, nRequestID, bIsLast)).expect("sending TraderSpiMsg failed"); }
1643pub fn OnRspQryProductGroup(&self, pProductGroup: ProductGroupField, pRspInfo: RspInfoField, nRequestID: i32, bIsLast: bool) { self.tx.send(TraderSpiMsg::OnRspQryProductGroup(pProductGroup, pRspInfo, nRequestID, bIsLast)).expect("sending TraderSpiMsg failed"); }
1644pub fn OnRspQryMMInstrumentCommissionRate(&self, pMMInstrumentCommissionRate: MMInstrumentCommissionRateField, pRspInfo: RspInfoField, nRequestID: i32, bIsLast: bool) { self.tx.send(TraderSpiMsg::OnRspQryMMInstrumentCommissionRate(pMMInstrumentCommissionRate, pRspInfo, nRequestID, bIsLast)).expect("sending TraderSpiMsg failed"); }
1645pub fn OnRspQryMMOptionInstrCommRate(&self, pMMOptionInstrCommRate: MMOptionInstrCommRateField, pRspInfo: RspInfoField, nRequestID: i32, bIsLast: bool) { self.tx.send(TraderSpiMsg::OnRspQryMMOptionInstrCommRate(pMMOptionInstrCommRate, pRspInfo, nRequestID, bIsLast)).expect("sending TraderSpiMsg failed"); }
1646pub fn OnRspQryInstrumentOrderCommRate(&self, pInstrumentOrderCommRate: InstrumentOrderCommRateField, pRspInfo: RspInfoField, nRequestID: i32, bIsLast: bool) { self.tx.send(TraderSpiMsg::OnRspQryInstrumentOrderCommRate(pInstrumentOrderCommRate, pRspInfo, nRequestID, bIsLast)).expect("sending TraderSpiMsg failed"); }
1647pub fn OnRspQrySecAgentTradingAccount(&self, pTradingAccount: TradingAccountField, pRspInfo: RspInfoField, nRequestID: i32, bIsLast: bool) { self.tx.send(TraderSpiMsg::OnRspQrySecAgentTradingAccount(pTradingAccount, pRspInfo, nRequestID, bIsLast)).expect("sending TraderSpiMsg failed"); }
1648pub fn OnRspQrySecAgentCheckMode(&self, pSecAgentCheckMode: SecAgentCheckModeField, pRspInfo: RspInfoField, nRequestID: i32, bIsLast: bool) { self.tx.send(TraderSpiMsg::OnRspQrySecAgentCheckMode(pSecAgentCheckMode, pRspInfo, nRequestID, bIsLast)).expect("sending TraderSpiMsg failed"); }
1649pub fn OnRspQrySecAgentTradeInfo(&self, pSecAgentTradeInfo: SecAgentTradeInfoField, pRspInfo: RspInfoField, nRequestID: i32, bIsLast: bool) { self.tx.send(TraderSpiMsg::OnRspQrySecAgentTradeInfo(pSecAgentTradeInfo, pRspInfo, nRequestID, bIsLast)).expect("sending TraderSpiMsg failed"); }
1650pub fn OnRspQryOptionInstrTradeCost(&self, pOptionInstrTradeCost: OptionInstrTradeCostField, pRspInfo: RspInfoField, nRequestID: i32, bIsLast: bool) { self.tx.send(TraderSpiMsg::OnRspQryOptionInstrTradeCost(pOptionInstrTradeCost, pRspInfo, nRequestID, bIsLast)).expect("sending TraderSpiMsg failed"); }
1651pub fn OnRspQryOptionInstrCommRate(&self, pOptionInstrCommRate: OptionInstrCommRateField, pRspInfo: RspInfoField, nRequestID: i32, bIsLast: bool) { self.tx.send(TraderSpiMsg::OnRspQryOptionInstrCommRate(pOptionInstrCommRate, pRspInfo, nRequestID, bIsLast)).expect("sending TraderSpiMsg failed"); }
1652pub fn OnRspQryExecOrder(&self, pExecOrder: ExecOrderField, pRspInfo: RspInfoField, nRequestID: i32, bIsLast: bool) { self.tx.send(TraderSpiMsg::OnRspQryExecOrder(pExecOrder, pRspInfo, nRequestID, bIsLast)).expect("sending TraderSpiMsg failed"); }
1653pub fn OnRspQryForQuote(&self, pForQuote: ForQuoteField, pRspInfo: RspInfoField, nRequestID: i32, bIsLast: bool) { self.tx.send(TraderSpiMsg::OnRspQryForQuote(pForQuote, pRspInfo, nRequestID, bIsLast)).expect("sending TraderSpiMsg failed"); }
1654pub fn OnRspQryQuote(&self, pQuote: QuoteField, pRspInfo: RspInfoField, nRequestID: i32, bIsLast: bool) { self.tx.send(TraderSpiMsg::OnRspQryQuote(pQuote, pRspInfo, nRequestID, bIsLast)).expect("sending TraderSpiMsg failed"); }
1655pub fn OnRspQryOptionSelfClose(&self, pOptionSelfClose: OptionSelfCloseField, pRspInfo: RspInfoField, nRequestID: i32, bIsLast: bool) { self.tx.send(TraderSpiMsg::OnRspQryOptionSelfClose(pOptionSelfClose, pRspInfo, nRequestID, bIsLast)).expect("sending TraderSpiMsg failed"); }
1656pub fn OnRspQryInvestUnit(&self, pInvestUnit: InvestUnitField, pRspInfo: RspInfoField, nRequestID: i32, bIsLast: bool) { self.tx.send(TraderSpiMsg::OnRspQryInvestUnit(pInvestUnit, pRspInfo, nRequestID, bIsLast)).expect("sending TraderSpiMsg failed"); }
1657pub fn OnRspQryCombInstrumentGuard(&self, pCombInstrumentGuard: CombInstrumentGuardField, pRspInfo: RspInfoField, nRequestID: i32, bIsLast: bool) { self.tx.send(TraderSpiMsg::OnRspQryCombInstrumentGuard(pCombInstrumentGuard, pRspInfo, nRequestID, bIsLast)).expect("sending TraderSpiMsg failed"); }
1658pub fn OnRspQryCombAction(&self, pCombAction: CombActionField, pRspInfo: RspInfoField, nRequestID: i32, bIsLast: bool) { self.tx.send(TraderSpiMsg::OnRspQryCombAction(pCombAction, pRspInfo, nRequestID, bIsLast)).expect("sending TraderSpiMsg failed"); }
1659pub fn OnRspQryTransferSerial(&self, pTransferSerial: TransferSerialField, pRspInfo: RspInfoField, nRequestID: i32, bIsLast: bool) { self.tx.send(TraderSpiMsg::OnRspQryTransferSerial(pTransferSerial, pRspInfo, nRequestID, bIsLast)).expect("sending TraderSpiMsg failed"); }
1660pub fn OnRspQryAccountregister(&self, pAccountregister: AccountregisterField, pRspInfo: RspInfoField, nRequestID: i32, bIsLast: bool) { self.tx.send(TraderSpiMsg::OnRspQryAccountregister(pAccountregister, pRspInfo, nRequestID, bIsLast)).expect("sending TraderSpiMsg failed"); }
1661pub fn OnRspError(&self, pRspInfo: RspInfoField, nRequestID: i32, bIsLast: bool) { self.tx.send(TraderSpiMsg::OnRspError(pRspInfo, nRequestID, bIsLast)).expect("sending TraderSpiMsg failed"); }
1662pub fn OnRtnOrder(&self, pOrder: OrderField) { self.tx.send(TraderSpiMsg::OnRtnOrder(pOrder)).expect("sending TraderSpiMsg failed"); }
1663pub fn OnRtnTrade(&self, pTrade: TradeField) { self.tx.send(TraderSpiMsg::OnRtnTrade(pTrade)).expect("sending TraderSpiMsg failed"); }
1664pub fn OnErrRtnOrderInsert(&self, pInputOrder: InputOrderField, pRspInfo: RspInfoField) { self.tx.send(TraderSpiMsg::OnErrRtnOrderInsert(pInputOrder, pRspInfo)).expect("sending TraderSpiMsg failed"); }
1665pub fn OnErrRtnOrderAction(&self, pOrderAction: OrderActionField, pRspInfo: RspInfoField) { self.tx.send(TraderSpiMsg::OnErrRtnOrderAction(pOrderAction, pRspInfo)).expect("sending TraderSpiMsg failed"); }
1666pub fn OnRtnInstrumentStatus(&self, pInstrumentStatus: InstrumentStatusField) { self.tx.send(TraderSpiMsg::OnRtnInstrumentStatus(pInstrumentStatus)).expect("sending TraderSpiMsg failed"); }
1667pub fn OnRtnBulletin(&self, pBulletin: BulletinField) { self.tx.send(TraderSpiMsg::OnRtnBulletin(pBulletin)).expect("sending TraderSpiMsg failed"); }
1668pub fn OnRtnTradingNotice(&self, pTradingNoticeInfo: TradingNoticeInfoField) { self.tx.send(TraderSpiMsg::OnRtnTradingNotice(pTradingNoticeInfo)).expect("sending TraderSpiMsg failed"); }
1669pub fn OnRtnErrorConditionalOrder(&self, pErrorConditionalOrder: ErrorConditionalOrderField) { self.tx.send(TraderSpiMsg::OnRtnErrorConditionalOrder(pErrorConditionalOrder)).expect("sending TraderSpiMsg failed"); }
1670pub fn OnRtnExecOrder(&self, pExecOrder: ExecOrderField) { self.tx.send(TraderSpiMsg::OnRtnExecOrder(pExecOrder)).expect("sending TraderSpiMsg failed"); }
1671pub fn OnErrRtnExecOrderInsert(&self, pInputExecOrder: InputExecOrderField, pRspInfo: RspInfoField) { self.tx.send(TraderSpiMsg::OnErrRtnExecOrderInsert(pInputExecOrder, pRspInfo)).expect("sending TraderSpiMsg failed"); }
1672pub fn OnErrRtnExecOrderAction(&self, pExecOrderAction: ExecOrderActionField, pRspInfo: RspInfoField) { self.tx.send(TraderSpiMsg::OnErrRtnExecOrderAction(pExecOrderAction, pRspInfo)).expect("sending TraderSpiMsg failed"); }
1673pub fn OnErrRtnForQuoteInsert(&self, pInputForQuote: InputForQuoteField, pRspInfo: RspInfoField) { self.tx.send(TraderSpiMsg::OnErrRtnForQuoteInsert(pInputForQuote, pRspInfo)).expect("sending TraderSpiMsg failed"); }
1674pub fn OnRtnQuote(&self, pQuote: QuoteField) { self.tx.send(TraderSpiMsg::OnRtnQuote(pQuote)).expect("sending TraderSpiMsg failed"); }
1675pub fn OnErrRtnQuoteInsert(&self, pInputQuote: InputQuoteField, pRspInfo: RspInfoField) { self.tx.send(TraderSpiMsg::OnErrRtnQuoteInsert(pInputQuote, pRspInfo)).expect("sending TraderSpiMsg failed"); }
1676pub fn OnErrRtnQuoteAction(&self, pQuoteAction: QuoteActionField, pRspInfo: RspInfoField) { self.tx.send(TraderSpiMsg::OnErrRtnQuoteAction(pQuoteAction, pRspInfo)).expect("sending TraderSpiMsg failed"); }
1677pub fn OnRtnForQuoteRsp(&self, pForQuoteRsp: ForQuoteRspField) { self.tx.send(TraderSpiMsg::OnRtnForQuoteRsp(pForQuoteRsp)).expect("sending TraderSpiMsg failed"); }
1678pub fn OnRtnCFMMCTradingAccountToken(&self, pCFMMCTradingAccountToken: CFMMCTradingAccountTokenField) { self.tx.send(TraderSpiMsg::OnRtnCFMMCTradingAccountToken(pCFMMCTradingAccountToken)).expect("sending TraderSpiMsg failed"); }
1679pub fn OnErrRtnBatchOrderAction(&self, pBatchOrderAction: BatchOrderActionField, pRspInfo: RspInfoField) { self.tx.send(TraderSpiMsg::OnErrRtnBatchOrderAction(pBatchOrderAction, pRspInfo)).expect("sending TraderSpiMsg failed"); }
1680pub fn OnRtnOptionSelfClose(&self, pOptionSelfClose: OptionSelfCloseField) { self.tx.send(TraderSpiMsg::OnRtnOptionSelfClose(pOptionSelfClose)).expect("sending TraderSpiMsg failed"); }
1681pub fn OnErrRtnOptionSelfCloseInsert(&self, pInputOptionSelfClose: InputOptionSelfCloseField, pRspInfo: RspInfoField) { self.tx.send(TraderSpiMsg::OnErrRtnOptionSelfCloseInsert(pInputOptionSelfClose, pRspInfo)).expect("sending TraderSpiMsg failed"); }
1682pub fn OnErrRtnOptionSelfCloseAction(&self, pOptionSelfCloseAction: OptionSelfCloseActionField, pRspInfo: RspInfoField) { self.tx.send(TraderSpiMsg::OnErrRtnOptionSelfCloseAction(pOptionSelfCloseAction, pRspInfo)).expect("sending TraderSpiMsg failed"); }
1683pub fn OnRtnCombAction(&self, pCombAction: CombActionField) { self.tx.send(TraderSpiMsg::OnRtnCombAction(pCombAction)).expect("sending TraderSpiMsg failed"); }
1684pub fn OnErrRtnCombActionInsert(&self, pInputCombAction: InputCombActionField, pRspInfo: RspInfoField) { self.tx.send(TraderSpiMsg::OnErrRtnCombActionInsert(pInputCombAction, pRspInfo)).expect("sending TraderSpiMsg failed"); }
1685pub fn OnRspQryContractBank(&self, pContractBank: ContractBankField, pRspInfo: RspInfoField, nRequestID: i32, bIsLast: bool) { self.tx.send(TraderSpiMsg::OnRspQryContractBank(pContractBank, pRspInfo, nRequestID, bIsLast)).expect("sending TraderSpiMsg failed"); }
1686pub fn OnRspQryParkedOrder(&self, pParkedOrder: ParkedOrderField, pRspInfo: RspInfoField, nRequestID: i32, bIsLast: bool) { self.tx.send(TraderSpiMsg::OnRspQryParkedOrder(pParkedOrder, pRspInfo, nRequestID, bIsLast)).expect("sending TraderSpiMsg failed"); }
1687pub fn OnRspQryParkedOrderAction(&self, pParkedOrderAction: ParkedOrderActionField, pRspInfo: RspInfoField, nRequestID: i32, bIsLast: bool) { self.tx.send(TraderSpiMsg::OnRspQryParkedOrderAction(pParkedOrderAction, pRspInfo, nRequestID, bIsLast)).expect("sending TraderSpiMsg failed"); }
1688pub fn OnRspQryTradingNotice(&self, pTradingNotice: TradingNoticeField, pRspInfo: RspInfoField, nRequestID: i32, bIsLast: bool) { self.tx.send(TraderSpiMsg::OnRspQryTradingNotice(pTradingNotice, pRspInfo, nRequestID, bIsLast)).expect("sending TraderSpiMsg failed"); }
1689pub fn OnRspQryBrokerTradingParams(&self, pBrokerTradingParams: BrokerTradingParamsField, pRspInfo: RspInfoField, nRequestID: i32, bIsLast: bool) { self.tx.send(TraderSpiMsg::OnRspQryBrokerTradingParams(pBrokerTradingParams, pRspInfo, nRequestID, bIsLast)).expect("sending TraderSpiMsg failed"); }
1690pub fn OnRspQryBrokerTradingAlgos(&self, pBrokerTradingAlgos: BrokerTradingAlgosField, pRspInfo: RspInfoField, nRequestID: i32, bIsLast: bool) { self.tx.send(TraderSpiMsg::OnRspQryBrokerTradingAlgos(pBrokerTradingAlgos, pRspInfo, nRequestID, bIsLast)).expect("sending TraderSpiMsg failed"); }
1691pub fn OnRspQueryCFMMCTradingAccountToken(&self, pQueryCFMMCTradingAccountToken: QueryCFMMCTradingAccountTokenField, pRspInfo: RspInfoField, nRequestID: i32, bIsLast: bool) { self.tx.send(TraderSpiMsg::OnRspQueryCFMMCTradingAccountToken(pQueryCFMMCTradingAccountToken, pRspInfo, nRequestID, bIsLast)).expect("sending TraderSpiMsg failed"); }
1692pub fn OnRtnFromBankToFutureByBank(&self, pRspTransfer: RspTransferField) { self.tx.send(TraderSpiMsg::OnRtnFromBankToFutureByBank(pRspTransfer)).expect("sending TraderSpiMsg failed"); }
1693pub fn OnRtnFromFutureToBankByBank(&self, pRspTransfer: RspTransferField) { self.tx.send(TraderSpiMsg::OnRtnFromFutureToBankByBank(pRspTransfer)).expect("sending TraderSpiMsg failed"); }
1694pub fn OnRtnRepealFromBankToFutureByBank(&self, pRspRepeal: RspRepealField) { self.tx.send(TraderSpiMsg::OnRtnRepealFromBankToFutureByBank(pRspRepeal)).expect("sending TraderSpiMsg failed"); }
1695pub fn OnRtnRepealFromFutureToBankByBank(&self, pRspRepeal: RspRepealField) { self.tx.send(TraderSpiMsg::OnRtnRepealFromFutureToBankByBank(pRspRepeal)).expect("sending TraderSpiMsg failed"); }
1696pub fn OnRtnFromBankToFutureByFuture(&self, pRspTransfer: RspTransferField) { self.tx.send(TraderSpiMsg::OnRtnFromBankToFutureByFuture(pRspTransfer)).expect("sending TraderSpiMsg failed"); }
1697pub fn OnRtnFromFutureToBankByFuture(&self, pRspTransfer: RspTransferField) { self.tx.send(TraderSpiMsg::OnRtnFromFutureToBankByFuture(pRspTransfer)).expect("sending TraderSpiMsg failed"); }
1698pub fn OnRtnRepealFromBankToFutureByFutureManual(&self, pRspRepeal: RspRepealField) { self.tx.send(TraderSpiMsg::OnRtnRepealFromBankToFutureByFutureManual(pRspRepeal)).expect("sending TraderSpiMsg failed"); }
1699pub fn OnRtnRepealFromFutureToBankByFutureManual(&self, pRspRepeal: RspRepealField) { self.tx.send(TraderSpiMsg::OnRtnRepealFromFutureToBankByFutureManual(pRspRepeal)).expect("sending TraderSpiMsg failed"); }
1700pub fn OnRtnQueryBankBalanceByFuture(&self, pNotifyQueryAccount: NotifyQueryAccountField) { self.tx.send(TraderSpiMsg::OnRtnQueryBankBalanceByFuture(pNotifyQueryAccount)).expect("sending TraderSpiMsg failed"); }
1701pub fn OnErrRtnBankToFutureByFuture(&self, pReqTransfer: ReqTransferField, pRspInfo: RspInfoField) { self.tx.send(TraderSpiMsg::OnErrRtnBankToFutureByFuture(pReqTransfer, pRspInfo)).expect("sending TraderSpiMsg failed"); }
1702pub fn OnErrRtnFutureToBankByFuture(&self, pReqTransfer: ReqTransferField, pRspInfo: RspInfoField) { self.tx.send(TraderSpiMsg::OnErrRtnFutureToBankByFuture(pReqTransfer, pRspInfo)).expect("sending TraderSpiMsg failed"); }
1703pub fn OnErrRtnRepealBankToFutureByFutureManual(&self, pReqRepeal: ReqRepealField, pRspInfo: RspInfoField) { self.tx.send(TraderSpiMsg::OnErrRtnRepealBankToFutureByFutureManual(pReqRepeal, pRspInfo)).expect("sending TraderSpiMsg failed"); }
1704pub fn OnErrRtnRepealFutureToBankByFutureManual(&self, pReqRepeal: ReqRepealField, pRspInfo: RspInfoField) { self.tx.send(TraderSpiMsg::OnErrRtnRepealFutureToBankByFutureManual(pReqRepeal, pRspInfo)).expect("sending TraderSpiMsg failed"); }
1705pub fn OnErrRtnQueryBankBalanceByFuture(&self, pReqQueryAccount: ReqQueryAccountField, pRspInfo: RspInfoField) { self.tx.send(TraderSpiMsg::OnErrRtnQueryBankBalanceByFuture(pReqQueryAccount, pRspInfo)).expect("sending TraderSpiMsg failed"); }
1706pub fn OnRtnRepealFromBankToFutureByFuture(&self, pRspRepeal: RspRepealField) { self.tx.send(TraderSpiMsg::OnRtnRepealFromBankToFutureByFuture(pRspRepeal)).expect("sending TraderSpiMsg failed"); }
1707pub fn OnRtnRepealFromFutureToBankByFuture(&self, pRspRepeal: RspRepealField) { self.tx.send(TraderSpiMsg::OnRtnRepealFromFutureToBankByFuture(pRspRepeal)).expect("sending TraderSpiMsg failed"); }
1708pub fn OnRspFromBankToFutureByFuture(&self, pReqTransfer: ReqTransferField, pRspInfo: RspInfoField, nRequestID: i32, bIsLast: bool) { self.tx.send(TraderSpiMsg::OnRspFromBankToFutureByFuture(pReqTransfer, pRspInfo, nRequestID, bIsLast)).expect("sending TraderSpiMsg failed"); }
1709pub fn OnRspFromFutureToBankByFuture(&self, pReqTransfer: ReqTransferField, pRspInfo: RspInfoField, nRequestID: i32, bIsLast: bool) { self.tx.send(TraderSpiMsg::OnRspFromFutureToBankByFuture(pReqTransfer, pRspInfo, nRequestID, bIsLast)).expect("sending TraderSpiMsg failed"); }
1710pub fn OnRspQueryBankAccountMoneyByFuture(&self, pReqQueryAccount: ReqQueryAccountField, pRspInfo: RspInfoField, nRequestID: i32, bIsLast: bool) { self.tx.send(TraderSpiMsg::OnRspQueryBankAccountMoneyByFuture(pReqQueryAccount, pRspInfo, nRequestID, bIsLast)).expect("sending TraderSpiMsg failed"); }
1711pub fn OnRtnOpenAccountByBank(&self, pOpenAccount: OpenAccountField) { self.tx.send(TraderSpiMsg::OnRtnOpenAccountByBank(pOpenAccount)).expect("sending TraderSpiMsg failed"); }
1712pub fn OnRtnCancelAccountByBank(&self, pCancelAccount: CancelAccountField) { self.tx.send(TraderSpiMsg::OnRtnCancelAccountByBank(pCancelAccount)).expect("sending TraderSpiMsg failed"); }
1713pub fn OnRtnChangeAccountByBank(&self, pChangeAccount: ChangeAccountField) { self.tx.send(TraderSpiMsg::OnRtnChangeAccountByBank(pChangeAccount)).expect("sending TraderSpiMsg failed"); }
1714pub fn OnRspQryClassifiedInstrument(&self, pInstrument: InstrumentField, pRspInfo: RspInfoField, nRequestID: i32, bIsLast: bool) { self.tx.send(TraderSpiMsg::OnRspQryClassifiedInstrument(pInstrument, pRspInfo, nRequestID, bIsLast)).expect("sending TraderSpiMsg failed"); }
1715pub fn OnRspQryCombPromotionParam(&self, pCombPromotionParam: CombPromotionParamField, pRspInfo: RspInfoField, nRequestID: i32, bIsLast: bool) { self.tx.send(TraderSpiMsg::OnRspQryCombPromotionParam(pCombPromotionParam, pRspInfo, nRequestID, bIsLast)).expect("sending TraderSpiMsg failed"); }
1716pub fn OnRspQryRiskSettleInvstPosition(&self, pRiskSettleInvstPosition: RiskSettleInvstPositionField, pRspInfo: RspInfoField, nRequestID: i32, bIsLast: bool) { self.tx.send(TraderSpiMsg::OnRspQryRiskSettleInvstPosition(pRiskSettleInvstPosition, pRspInfo, nRequestID, bIsLast)).expect("sending TraderSpiMsg failed"); }
1717pub fn OnRspQryRiskSettleProductStatus(&self, pRiskSettleProductStatus: RiskSettleProductStatusField, pRspInfo: RspInfoField, nRequestID: i32, bIsLast: bool) { self.tx.send(TraderSpiMsg::OnRspQryRiskSettleProductStatus(pRiskSettleProductStatus, pRspInfo, nRequestID, bIsLast)).expect("sending TraderSpiMsg failed"); }
1718pub fn OnRspQrySPBMFutureParameter(&self, pSPBMFutureParameter: SPBMFutureParameterField, pRspInfo: RspInfoField, nRequestID: i32, bIsLast: bool) { self.tx.send(TraderSpiMsg::OnRspQrySPBMFutureParameter(pSPBMFutureParameter, pRspInfo, nRequestID, bIsLast)).expect("sending TraderSpiMsg failed"); }
1719pub fn OnRspQrySPBMOptionParameter(&self, pSPBMOptionParameter: SPBMOptionParameterField, pRspInfo: RspInfoField, nRequestID: i32, bIsLast: bool) { self.tx.send(TraderSpiMsg::OnRspQrySPBMOptionParameter(pSPBMOptionParameter, pRspInfo, nRequestID, bIsLast)).expect("sending TraderSpiMsg failed"); }
1720pub fn OnRspQrySPBMIntraParameter(&self, pSPBMIntraParameter: SPBMIntraParameterField, pRspInfo: RspInfoField, nRequestID: i32, bIsLast: bool) { self.tx.send(TraderSpiMsg::OnRspQrySPBMIntraParameter(pSPBMIntraParameter, pRspInfo, nRequestID, bIsLast)).expect("sending TraderSpiMsg failed"); }
1721pub fn OnRspQrySPBMInterParameter(&self, pSPBMInterParameter: SPBMInterParameterField, pRspInfo: RspInfoField, nRequestID: i32, bIsLast: bool) { self.tx.send(TraderSpiMsg::OnRspQrySPBMInterParameter(pSPBMInterParameter, pRspInfo, nRequestID, bIsLast)).expect("sending TraderSpiMsg failed"); }
1722pub fn OnRspQrySPBMPortfDefinition(&self, pSPBMPortfDefinition: SPBMPortfDefinitionField, pRspInfo: RspInfoField, nRequestID: i32, bIsLast: bool) { self.tx.send(TraderSpiMsg::OnRspQrySPBMPortfDefinition(pSPBMPortfDefinition, pRspInfo, nRequestID, bIsLast)).expect("sending TraderSpiMsg failed"); }
1723pub fn OnRspQrySPBMInvestorPortfDef(&self, pSPBMInvestorPortfDef: SPBMInvestorPortfDefField, pRspInfo: RspInfoField, nRequestID: i32, bIsLast: bool) { self.tx.send(TraderSpiMsg::OnRspQrySPBMInvestorPortfDef(pSPBMInvestorPortfDef, pRspInfo, nRequestID, bIsLast)).expect("sending TraderSpiMsg failed"); }
1724pub fn OnRspQryInvestorPortfMarginRatio(&self, pInvestorPortfMarginRatio: InvestorPortfMarginRatioField, pRspInfo: RspInfoField, nRequestID: i32, bIsLast: bool) { self.tx.send(TraderSpiMsg::OnRspQryInvestorPortfMarginRatio(pInvestorPortfMarginRatio, pRspInfo, nRequestID, bIsLast)).expect("sending TraderSpiMsg failed"); }
1725pub fn OnRspQryInvestorProdSPBMDetail(&self, pInvestorProdSPBMDetail: InvestorProdSPBMDetailField, pRspInfo: RspInfoField, nRequestID: i32, bIsLast: bool) { self.tx.send(TraderSpiMsg::OnRspQryInvestorProdSPBMDetail(pInvestorProdSPBMDetail, pRspInfo, nRequestID, bIsLast)).expect("sending TraderSpiMsg failed"); }
1726pub fn OnRspQryInvestorCommoditySPMMMargin(&self, pInvestorCommoditySPMMMargin: InvestorCommoditySPMMMarginField, pRspInfo: RspInfoField, nRequestID: i32, bIsLast: bool) { self.tx.send(TraderSpiMsg::OnRspQryInvestorCommoditySPMMMargin(pInvestorCommoditySPMMMargin, pRspInfo, nRequestID, bIsLast)).expect("sending TraderSpiMsg failed"); }
1727pub fn OnRspQryInvestorCommodityGroupSPMMMargin(&self, pInvestorCommodityGroupSPMMMargin: InvestorCommodityGroupSPMMMarginField, pRspInfo: RspInfoField, nRequestID: i32, bIsLast: bool) { self.tx.send(TraderSpiMsg::OnRspQryInvestorCommodityGroupSPMMMargin(pInvestorCommodityGroupSPMMMargin, pRspInfo, nRequestID, bIsLast)).expect("sending TraderSpiMsg failed"); }
1728pub fn OnRspQrySPMMInstParam(&self, pSPMMInstParam: SPMMInstParamField, pRspInfo: RspInfoField, nRequestID: i32, bIsLast: bool) { self.tx.send(TraderSpiMsg::OnRspQrySPMMInstParam(pSPMMInstParam, pRspInfo, nRequestID, bIsLast)).expect("sending TraderSpiMsg failed"); }
1729pub fn OnRspQrySPMMProductParam(&self, pSPMMProductParam: SPMMProductParamField, pRspInfo: RspInfoField, nRequestID: i32, bIsLast: bool) { self.tx.send(TraderSpiMsg::OnRspQrySPMMProductParam(pSPMMProductParam, pRspInfo, nRequestID, bIsLast)).expect("sending TraderSpiMsg failed"); }
1730pub fn OnRspQrySPBMAddOnInterParameter(&self, pSPBMAddOnInterParameter: SPBMAddOnInterParameterField, pRspInfo: RspInfoField, nRequestID: i32, bIsLast: bool) { self.tx.send(TraderSpiMsg::OnRspQrySPBMAddOnInterParameter(pSPBMAddOnInterParameter, pRspInfo, nRequestID, bIsLast)).expect("sending TraderSpiMsg failed"); }
1731pub fn OnRspQryRCAMSCombProductInfo(&self, pRCAMSCombProductInfo: RCAMSCombProductInfoField, pRspInfo: RspInfoField, nRequestID: i32, bIsLast: bool) { self.tx.send(TraderSpiMsg::OnRspQryRCAMSCombProductInfo(pRCAMSCombProductInfo, pRspInfo, nRequestID, bIsLast)).expect("sending TraderSpiMsg failed"); }
1732pub fn OnRspQryRCAMSInstrParameter(&self, pRCAMSInstrParameter: RCAMSInstrParameterField, pRspInfo: RspInfoField, nRequestID: i32, bIsLast: bool) { self.tx.send(TraderSpiMsg::OnRspQryRCAMSInstrParameter(pRCAMSInstrParameter, pRspInfo, nRequestID, bIsLast)).expect("sending TraderSpiMsg failed"); }
1733pub fn OnRspQryRCAMSIntraParameter(&self, pRCAMSIntraParameter: RCAMSIntraParameterField, pRspInfo: RspInfoField, nRequestID: i32, bIsLast: bool) { self.tx.send(TraderSpiMsg::OnRspQryRCAMSIntraParameter(pRCAMSIntraParameter, pRspInfo, nRequestID, bIsLast)).expect("sending TraderSpiMsg failed"); }
1734pub fn OnRspQryRCAMSInterParameter(&self, pRCAMSInterParameter: RCAMSInterParameterField, pRspInfo: RspInfoField, nRequestID: i32, bIsLast: bool) { self.tx.send(TraderSpiMsg::OnRspQryRCAMSInterParameter(pRCAMSInterParameter, pRspInfo, nRequestID, bIsLast)).expect("sending TraderSpiMsg failed"); }
1735pub fn OnRspQryRCAMSShortOptAdjustParam(&self, pRCAMSShortOptAdjustParam: RCAMSShortOptAdjustParamField, pRspInfo: RspInfoField, nRequestID: i32, bIsLast: bool) { self.tx.send(TraderSpiMsg::OnRspQryRCAMSShortOptAdjustParam(pRCAMSShortOptAdjustParam, pRspInfo, nRequestID, bIsLast)).expect("sending TraderSpiMsg failed"); }
1736pub fn OnRspQryRCAMSInvestorCombPosition(&self, pRCAMSInvestorCombPosition: RCAMSInvestorCombPositionField, pRspInfo: RspInfoField, nRequestID: i32, bIsLast: bool) { self.tx.send(TraderSpiMsg::OnRspQryRCAMSInvestorCombPosition(pRCAMSInvestorCombPosition, pRspInfo, nRequestID, bIsLast)).expect("sending TraderSpiMsg failed"); }
1737pub fn OnRspQryInvestorProdRCAMSMargin(&self, pInvestorProdRCAMSMargin: InvestorProdRCAMSMarginField, pRspInfo: RspInfoField, nRequestID: i32, bIsLast: bool) { self.tx.send(TraderSpiMsg::OnRspQryInvestorProdRCAMSMargin(pInvestorProdRCAMSMargin, pRspInfo, nRequestID, bIsLast)).expect("sending TraderSpiMsg failed"); }
1738pub fn OnRspQryRULEInstrParameter(&self, pRULEInstrParameter: RULEInstrParameterField, pRspInfo: RspInfoField, nRequestID: i32, bIsLast: bool) { self.tx.send(TraderSpiMsg::OnRspQryRULEInstrParameter(pRULEInstrParameter, pRspInfo, nRequestID, bIsLast)).expect("sending TraderSpiMsg failed"); }
1739pub fn OnRspQryRULEIntraParameter(&self, pRULEIntraParameter: RULEIntraParameterField, pRspInfo: RspInfoField, nRequestID: i32, bIsLast: bool) { self.tx.send(TraderSpiMsg::OnRspQryRULEIntraParameter(pRULEIntraParameter, pRspInfo, nRequestID, bIsLast)).expect("sending TraderSpiMsg failed"); }
1740pub fn OnRspQryRULEInterParameter(&self, pRULEInterParameter: RULEInterParameterField, pRspInfo: RspInfoField, nRequestID: i32, bIsLast: bool) { self.tx.send(TraderSpiMsg::OnRspQryRULEInterParameter(pRULEInterParameter, pRspInfo, nRequestID, bIsLast)).expect("sending TraderSpiMsg failed"); }
1741pub fn OnRspQryInvestorProdRULEMargin(&self, pInvestorProdRULEMargin: InvestorProdRULEMarginField, pRspInfo: RspInfoField, nRequestID: i32, bIsLast: bool) { self.tx.send(TraderSpiMsg::OnRspQryInvestorProdRULEMargin(pInvestorProdRULEMargin, pRspInfo, nRequestID, bIsLast)).expect("sending TraderSpiMsg failed"); }
1742pub fn OnRspQryInvestorPortfSetting(&self, pInvestorPortfSetting: InvestorPortfSettingField, pRspInfo: RspInfoField, nRequestID: i32, bIsLast: bool) { self.tx.send(TraderSpiMsg::OnRspQryInvestorPortfSetting(pInvestorPortfSetting, pRspInfo, nRequestID, bIsLast)).expect("sending TraderSpiMsg failed"); }
1743pub fn OnRspQryInvestorInfoCommRec(&self, pInvestorInfoCommRec: InvestorInfoCommRecField, pRspInfo: RspInfoField, nRequestID: i32, bIsLast: bool) { self.tx.send(TraderSpiMsg::OnRspQryInvestorInfoCommRec(pInvestorInfoCommRec, pRspInfo, nRequestID, bIsLast)).expect("sending TraderSpiMsg failed"); }
1744pub fn OnRspQryCombLeg(&self, pCombLeg: CombLegField, pRspInfo: RspInfoField, nRequestID: i32, bIsLast: bool) { self.tx.send(TraderSpiMsg::OnRspQryCombLeg(pCombLeg, pRspInfo, nRequestID, bIsLast)).expect("sending TraderSpiMsg failed"); }
1745pub fn OnRspOffsetSetting(&self, pInputOffsetSetting: InputOffsetSettingField, pRspInfo: RspInfoField, nRequestID: i32, bIsLast: bool) { self.tx.send(TraderSpiMsg::OnRspOffsetSetting(pInputOffsetSetting, pRspInfo, nRequestID, bIsLast)).expect("sending TraderSpiMsg failed"); }
1746pub fn OnRspCancelOffsetSetting(&self, pInputOffsetSetting: InputOffsetSettingField, pRspInfo: RspInfoField, nRequestID: i32, bIsLast: bool) { self.tx.send(TraderSpiMsg::OnRspCancelOffsetSetting(pInputOffsetSetting, pRspInfo, nRequestID, bIsLast)).expect("sending TraderSpiMsg failed"); }
1747pub fn OnRtnOffsetSetting(&self, pOffsetSetting: OffsetSettingField) { self.tx.send(TraderSpiMsg::OnRtnOffsetSetting(pOffsetSetting)).expect("sending TraderSpiMsg failed"); }
1748pub fn OnErrRtnOffsetSetting(&self, pInputOffsetSetting: InputOffsetSettingField, pRspInfo: RspInfoField) { self.tx.send(TraderSpiMsg::OnErrRtnOffsetSetting(pInputOffsetSetting, pRspInfo)).expect("sending TraderSpiMsg failed"); }
1749pub fn OnErrRtnCancelOffsetSetting(&self, pCancelOffsetSetting: CancelOffsetSettingField, pRspInfo: RspInfoField) { self.tx.send(TraderSpiMsg::OnErrRtnCancelOffsetSetting(pCancelOffsetSetting, pRspInfo)).expect("sending TraderSpiMsg failed"); }
1750pub fn OnRspQryOffsetSetting(&self, pOffsetSetting: OffsetSettingField, pRspInfo: RspInfoField, nRequestID: i32, bIsLast: bool) { self.tx.send(TraderSpiMsg::OnRspQryOffsetSetting(pOffsetSetting, pRspInfo, nRequestID, bIsLast)).expect("sending TraderSpiMsg failed"); }
1751}
1752
1753#[cxx::bridge]
1754mod ffi {
1755 extern "Rust" {
1756 type MdSpi;
1757
1758 pub fn OnFrontConnected(&self);
1759 pub fn OnFrontDisconnected(&self, nReason: i32);
1760 pub fn OnHeartBeatWarning(&self, nTimeLapse: i32);
1761 pub fn OnRspUserLogin(&self, pRspUserLogin: RspUserLoginField, pRspInfo: RspInfoField, nRequestID: i32, bIsLast: bool);
1762 pub fn OnRspUserLogout(&self, pUserLogout: UserLogoutField, pRspInfo: RspInfoField, nRequestID: i32, bIsLast: bool);
1763 pub fn OnRspQryMulticastInstrument(&self, pMulticastInstrument: MulticastInstrumentField, pRspInfo: RspInfoField, nRequestID: i32, bIsLast: bool);
1764 pub fn OnRspError(&self, pRspInfo: RspInfoField, nRequestID: i32, bIsLast: bool);
1765 pub fn OnRspSubMarketData(&self, pSpecificInstrument: SpecificInstrumentField, pRspInfo: RspInfoField, nRequestID: i32, bIsLast: bool);
1766 pub fn OnRspUnSubMarketData(&self, pSpecificInstrument: SpecificInstrumentField, pRspInfo: RspInfoField, nRequestID: i32, bIsLast: bool);
1767 pub fn OnRspSubForQuoteRsp(&self, pSpecificInstrument: SpecificInstrumentField, pRspInfo: RspInfoField, nRequestID: i32, bIsLast: bool);
1768 pub fn OnRspUnSubForQuoteRsp(&self, pSpecificInstrument: SpecificInstrumentField, pRspInfo: RspInfoField, nRequestID: i32, bIsLast: bool);
1769 pub fn OnRtnDepthMarketData(&self, pDepthMarketData: DepthMarketDataField);
1770 pub fn OnRtnForQuoteRsp(&self, pForQuoteRsp: ForQuoteRspField);
1771 }
1772
1773 unsafe extern "C++" {
1774 include!("ctp-rs/wrapper/include/MdApi.h");
1775 type MdApi;
1776
1777 fn CreateMdApi(spi: &MdSpi, flow_path: String, is_using_udp: bool, is_multicast: bool, is_production_mode: bool) -> UniquePtr<MdApi>;
1778
1779 fn GetApiVersion(&self)-> String;
1780 fn Init(&self);
1781 fn Join(&self)-> i32;
1782 fn GetTradingDay(&self)-> String;
1783 fn RegisterFront(&self, pszFrontAddress: String);
1784 fn RegisterNameServer(&self, pszNsAddress: String);
1785 fn RegisterFensUserInfo(&self, pFensUserInfo: FensUserInfoField);
1786 fn SubscribeMarketData(&self, ppInstrumentID: Vec<String>, nCount: i32)-> i32;
1787 fn UnSubscribeMarketData(&self, ppInstrumentID: Vec<String>, nCount: i32)-> i32;
1788 fn SubscribeForQuoteRsp(&self, ppInstrumentID: Vec<String>, nCount: i32)-> i32;
1789 fn UnSubscribeForQuoteRsp(&self, ppInstrumentID: Vec<String>, nCount: i32)-> i32;
1790 fn ReqUserLogin(&self, pReqUserLoginField: ReqUserLoginField, nRequestID: i32)-> i32;
1791 fn ReqUserLogout(&self, pUserLogout: UserLogoutField, nRequestID: i32)-> i32;
1792 fn ReqQryMulticastInstrument(&self, pQryMulticastInstrument: QryMulticastInstrumentField, nRequestID: i32)-> i32;
1793 }
1794
1795 extern "Rust" {
1796 type TraderSpi;
1797
1798 pub fn OnFrontConnected(&self);
1799 pub fn OnFrontDisconnected(&self, nReason: i32);
1800 pub fn OnHeartBeatWarning(&self, nTimeLapse: i32);
1801 pub fn OnRspAuthenticate(&self, pRspAuthenticateField: RspAuthenticateField, pRspInfo: RspInfoField, nRequestID: i32, bIsLast: bool);
1802 pub fn OnRspUserLogin(&self, pRspUserLogin: RspUserLoginField, pRspInfo: RspInfoField, nRequestID: i32, bIsLast: bool);
1803 pub fn OnRspUserLogout(&self, pUserLogout: UserLogoutField, pRspInfo: RspInfoField, nRequestID: i32, bIsLast: bool);
1804 pub fn OnRspUserPasswordUpdate(&self, pUserPasswordUpdate: UserPasswordUpdateField, pRspInfo: RspInfoField, nRequestID: i32, bIsLast: bool);
1805 pub fn OnRspTradingAccountPasswordUpdate(&self, pTradingAccountPasswordUpdate: TradingAccountPasswordUpdateField, pRspInfo: RspInfoField, nRequestID: i32, bIsLast: bool);
1806 pub fn OnRspUserAuthMethod(&self, pRspUserAuthMethod: RspUserAuthMethodField, pRspInfo: RspInfoField, nRequestID: i32, bIsLast: bool);
1807 pub fn OnRspGenUserCaptcha(&self, pRspGenUserCaptcha: RspGenUserCaptchaField, pRspInfo: RspInfoField, nRequestID: i32, bIsLast: bool);
1808 pub fn OnRspGenUserText(&self, pRspGenUserText: RspGenUserTextField, pRspInfo: RspInfoField, nRequestID: i32, bIsLast: bool);
1809 pub fn OnRspOrderInsert(&self, pInputOrder: InputOrderField, pRspInfo: RspInfoField, nRequestID: i32, bIsLast: bool);
1810 pub fn OnRspParkedOrderInsert(&self, pParkedOrder: ParkedOrderField, pRspInfo: RspInfoField, nRequestID: i32, bIsLast: bool);
1811 pub fn OnRspParkedOrderAction(&self, pParkedOrderAction: ParkedOrderActionField, pRspInfo: RspInfoField, nRequestID: i32, bIsLast: bool);
1812 pub fn OnRspOrderAction(&self, pInputOrderAction: InputOrderActionField, pRspInfo: RspInfoField, nRequestID: i32, bIsLast: bool);
1813 pub fn OnRspQryMaxOrderVolume(&self, pQryMaxOrderVolume: QryMaxOrderVolumeField, pRspInfo: RspInfoField, nRequestID: i32, bIsLast: bool);
1814 pub fn OnRspSettlementInfoConfirm(&self, pSettlementInfoConfirm: SettlementInfoConfirmField, pRspInfo: RspInfoField, nRequestID: i32, bIsLast: bool);
1815 pub fn OnRspRemoveParkedOrder(&self, pRemoveParkedOrder: RemoveParkedOrderField, pRspInfo: RspInfoField, nRequestID: i32, bIsLast: bool);
1816 pub fn OnRspRemoveParkedOrderAction(&self, pRemoveParkedOrderAction: RemoveParkedOrderActionField, pRspInfo: RspInfoField, nRequestID: i32, bIsLast: bool);
1817 pub fn OnRspExecOrderInsert(&self, pInputExecOrder: InputExecOrderField, pRspInfo: RspInfoField, nRequestID: i32, bIsLast: bool);
1818 pub fn OnRspExecOrderAction(&self, pInputExecOrderAction: InputExecOrderActionField, pRspInfo: RspInfoField, nRequestID: i32, bIsLast: bool);
1819 pub fn OnRspForQuoteInsert(&self, pInputForQuote: InputForQuoteField, pRspInfo: RspInfoField, nRequestID: i32, bIsLast: bool);
1820 pub fn OnRspQuoteInsert(&self, pInputQuote: InputQuoteField, pRspInfo: RspInfoField, nRequestID: i32, bIsLast: bool);
1821 pub fn OnRspQuoteAction(&self, pInputQuoteAction: InputQuoteActionField, pRspInfo: RspInfoField, nRequestID: i32, bIsLast: bool);
1822 pub fn OnRspBatchOrderAction(&self, pInputBatchOrderAction: InputBatchOrderActionField, pRspInfo: RspInfoField, nRequestID: i32, bIsLast: bool);
1823 pub fn OnRspOptionSelfCloseInsert(&self, pInputOptionSelfClose: InputOptionSelfCloseField, pRspInfo: RspInfoField, nRequestID: i32, bIsLast: bool);
1824 pub fn OnRspOptionSelfCloseAction(&self, pInputOptionSelfCloseAction: InputOptionSelfCloseActionField, pRspInfo: RspInfoField, nRequestID: i32, bIsLast: bool);
1825 pub fn OnRspCombActionInsert(&self, pInputCombAction: InputCombActionField, pRspInfo: RspInfoField, nRequestID: i32, bIsLast: bool);
1826 pub fn OnRspQryOrder(&self, pOrder: OrderField, pRspInfo: RspInfoField, nRequestID: i32, bIsLast: bool);
1827 pub fn OnRspQryTrade(&self, pTrade: TradeField, pRspInfo: RspInfoField, nRequestID: i32, bIsLast: bool);
1828 pub fn OnRspQryInvestorPosition(&self, pInvestorPosition: InvestorPositionField, pRspInfo: RspInfoField, nRequestID: i32, bIsLast: bool);
1829 pub fn OnRspQryTradingAccount(&self, pTradingAccount: TradingAccountField, pRspInfo: RspInfoField, nRequestID: i32, bIsLast: bool);
1830 pub fn OnRspQryInvestor(&self, pInvestor: InvestorField, pRspInfo: RspInfoField, nRequestID: i32, bIsLast: bool);
1831 pub fn OnRspQryTradingCode(&self, pTradingCode: TradingCodeField, pRspInfo: RspInfoField, nRequestID: i32, bIsLast: bool);
1832 pub fn OnRspQryInstrumentMarginRate(&self, pInstrumentMarginRate: InstrumentMarginRateField, pRspInfo: RspInfoField, nRequestID: i32, bIsLast: bool);
1833 pub fn OnRspQryInstrumentCommissionRate(&self, pInstrumentCommissionRate: InstrumentCommissionRateField, pRspInfo: RspInfoField, nRequestID: i32, bIsLast: bool);
1834 pub fn OnRspQryUserSession(&self, pUserSession: UserSessionField, pRspInfo: RspInfoField, nRequestID: i32, bIsLast: bool);
1835 pub fn OnRspQryExchange(&self, pExchange: ExchangeField, pRspInfo: RspInfoField, nRequestID: i32, bIsLast: bool);
1836 pub fn OnRspQryProduct(&self, pProduct: ProductField, pRspInfo: RspInfoField, nRequestID: i32, bIsLast: bool);
1837 pub fn OnRspQryInstrument(&self, pInstrument: InstrumentField, pRspInfo: RspInfoField, nRequestID: i32, bIsLast: bool);
1838 pub fn OnRspQryDepthMarketData(&self, pDepthMarketData: DepthMarketDataField, pRspInfo: RspInfoField, nRequestID: i32, bIsLast: bool);
1839 pub fn OnRspQryTraderOffer(&self, pTraderOffer: TraderOfferField, pRspInfo: RspInfoField, nRequestID: i32, bIsLast: bool);
1840 pub fn OnRspQrySettlementInfo(&self, pSettlementInfo: SettlementInfoField, pRspInfo: RspInfoField, nRequestID: i32, bIsLast: bool);
1841 pub fn OnRspQryTransferBank(&self, pTransferBank: TransferBankField, pRspInfo: RspInfoField, nRequestID: i32, bIsLast: bool);
1842 pub fn OnRspQryInvestorPositionDetail(&self, pInvestorPositionDetail: InvestorPositionDetailField, pRspInfo: RspInfoField, nRequestID: i32, bIsLast: bool);
1843 pub fn OnRspQryNotice(&self, pNotice: NoticeField, pRspInfo: RspInfoField, nRequestID: i32, bIsLast: bool);
1844 pub fn OnRspQrySettlementInfoConfirm(&self, pSettlementInfoConfirm: SettlementInfoConfirmField, pRspInfo: RspInfoField, nRequestID: i32, bIsLast: bool);
1845 pub fn OnRspQryInvestorPositionCombineDetail(&self, pInvestorPositionCombineDetail: InvestorPositionCombineDetailField, pRspInfo: RspInfoField, nRequestID: i32, bIsLast: bool);
1846 pub fn OnRspQryCFMMCTradingAccountKey(&self, pCFMMCTradingAccountKey: CFMMCTradingAccountKeyField, pRspInfo: RspInfoField, nRequestID: i32, bIsLast: bool);
1847 pub fn OnRspQryEWarrantOffset(&self, pEWarrantOffset: EWarrantOffsetField, pRspInfo: RspInfoField, nRequestID: i32, bIsLast: bool);
1848 pub fn OnRspQryInvestorProductGroupMargin(&self, pInvestorProductGroupMargin: InvestorProductGroupMarginField, pRspInfo: RspInfoField, nRequestID: i32, bIsLast: bool);
1849 pub fn OnRspQryExchangeMarginRate(&self, pExchangeMarginRate: ExchangeMarginRateField, pRspInfo: RspInfoField, nRequestID: i32, bIsLast: bool);
1850 pub fn OnRspQryExchangeMarginRateAdjust(&self, pExchangeMarginRateAdjust: ExchangeMarginRateAdjustField, pRspInfo: RspInfoField, nRequestID: i32, bIsLast: bool);
1851 pub fn OnRspQryExchangeRate(&self, pExchangeRate: ExchangeRateField, pRspInfo: RspInfoField, nRequestID: i32, bIsLast: bool);
1852 pub fn OnRspQrySecAgentACIDMap(&self, pSecAgentACIDMap: SecAgentACIDMapField, pRspInfo: RspInfoField, nRequestID: i32, bIsLast: bool);
1853 pub fn OnRspQryProductExchRate(&self, pProductExchRate: ProductExchRateField, pRspInfo: RspInfoField, nRequestID: i32, bIsLast: bool);
1854 pub fn OnRspQryProductGroup(&self, pProductGroup: ProductGroupField, pRspInfo: RspInfoField, nRequestID: i32, bIsLast: bool);
1855 pub fn OnRspQryMMInstrumentCommissionRate(&self, pMMInstrumentCommissionRate: MMInstrumentCommissionRateField, pRspInfo: RspInfoField, nRequestID: i32, bIsLast: bool);
1856 pub fn OnRspQryMMOptionInstrCommRate(&self, pMMOptionInstrCommRate: MMOptionInstrCommRateField, pRspInfo: RspInfoField, nRequestID: i32, bIsLast: bool);
1857 pub fn OnRspQryInstrumentOrderCommRate(&self, pInstrumentOrderCommRate: InstrumentOrderCommRateField, pRspInfo: RspInfoField, nRequestID: i32, bIsLast: bool);
1858 pub fn OnRspQrySecAgentTradingAccount(&self, pTradingAccount: TradingAccountField, pRspInfo: RspInfoField, nRequestID: i32, bIsLast: bool);
1859 pub fn OnRspQrySecAgentCheckMode(&self, pSecAgentCheckMode: SecAgentCheckModeField, pRspInfo: RspInfoField, nRequestID: i32, bIsLast: bool);
1860 pub fn OnRspQrySecAgentTradeInfo(&self, pSecAgentTradeInfo: SecAgentTradeInfoField, pRspInfo: RspInfoField, nRequestID: i32, bIsLast: bool);
1861 pub fn OnRspQryOptionInstrTradeCost(&self, pOptionInstrTradeCost: OptionInstrTradeCostField, pRspInfo: RspInfoField, nRequestID: i32, bIsLast: bool);
1862 pub fn OnRspQryOptionInstrCommRate(&self, pOptionInstrCommRate: OptionInstrCommRateField, pRspInfo: RspInfoField, nRequestID: i32, bIsLast: bool);
1863 pub fn OnRspQryExecOrder(&self, pExecOrder: ExecOrderField, pRspInfo: RspInfoField, nRequestID: i32, bIsLast: bool);
1864 pub fn OnRspQryForQuote(&self, pForQuote: ForQuoteField, pRspInfo: RspInfoField, nRequestID: i32, bIsLast: bool);
1865 pub fn OnRspQryQuote(&self, pQuote: QuoteField, pRspInfo: RspInfoField, nRequestID: i32, bIsLast: bool);
1866 pub fn OnRspQryOptionSelfClose(&self, pOptionSelfClose: OptionSelfCloseField, pRspInfo: RspInfoField, nRequestID: i32, bIsLast: bool);
1867 pub fn OnRspQryInvestUnit(&self, pInvestUnit: InvestUnitField, pRspInfo: RspInfoField, nRequestID: i32, bIsLast: bool);
1868 pub fn OnRspQryCombInstrumentGuard(&self, pCombInstrumentGuard: CombInstrumentGuardField, pRspInfo: RspInfoField, nRequestID: i32, bIsLast: bool);
1869 pub fn OnRspQryCombAction(&self, pCombAction: CombActionField, pRspInfo: RspInfoField, nRequestID: i32, bIsLast: bool);
1870 pub fn OnRspQryTransferSerial(&self, pTransferSerial: TransferSerialField, pRspInfo: RspInfoField, nRequestID: i32, bIsLast: bool);
1871 pub fn OnRspQryAccountregister(&self, pAccountregister: AccountregisterField, pRspInfo: RspInfoField, nRequestID: i32, bIsLast: bool);
1872 pub fn OnRspError(&self, pRspInfo: RspInfoField, nRequestID: i32, bIsLast: bool);
1873 pub fn OnRtnOrder(&self, pOrder: OrderField);
1874 pub fn OnRtnTrade(&self, pTrade: TradeField);
1875 pub fn OnErrRtnOrderInsert(&self, pInputOrder: InputOrderField, pRspInfo: RspInfoField);
1876 pub fn OnErrRtnOrderAction(&self, pOrderAction: OrderActionField, pRspInfo: RspInfoField);
1877 pub fn OnRtnInstrumentStatus(&self, pInstrumentStatus: InstrumentStatusField);
1878 pub fn OnRtnBulletin(&self, pBulletin: BulletinField);
1879 pub fn OnRtnTradingNotice(&self, pTradingNoticeInfo: TradingNoticeInfoField);
1880 pub fn OnRtnErrorConditionalOrder(&self, pErrorConditionalOrder: ErrorConditionalOrderField);
1881 pub fn OnRtnExecOrder(&self, pExecOrder: ExecOrderField);
1882 pub fn OnErrRtnExecOrderInsert(&self, pInputExecOrder: InputExecOrderField, pRspInfo: RspInfoField);
1883 pub fn OnErrRtnExecOrderAction(&self, pExecOrderAction: ExecOrderActionField, pRspInfo: RspInfoField);
1884 pub fn OnErrRtnForQuoteInsert(&self, pInputForQuote: InputForQuoteField, pRspInfo: RspInfoField);
1885 pub fn OnRtnQuote(&self, pQuote: QuoteField);
1886 pub fn OnErrRtnQuoteInsert(&self, pInputQuote: InputQuoteField, pRspInfo: RspInfoField);
1887 pub fn OnErrRtnQuoteAction(&self, pQuoteAction: QuoteActionField, pRspInfo: RspInfoField);
1888 pub fn OnRtnForQuoteRsp(&self, pForQuoteRsp: ForQuoteRspField);
1889 pub fn OnRtnCFMMCTradingAccountToken(&self, pCFMMCTradingAccountToken: CFMMCTradingAccountTokenField);
1890 pub fn OnErrRtnBatchOrderAction(&self, pBatchOrderAction: BatchOrderActionField, pRspInfo: RspInfoField);
1891 pub fn OnRtnOptionSelfClose(&self, pOptionSelfClose: OptionSelfCloseField);
1892 pub fn OnErrRtnOptionSelfCloseInsert(&self, pInputOptionSelfClose: InputOptionSelfCloseField, pRspInfo: RspInfoField);
1893 pub fn OnErrRtnOptionSelfCloseAction(&self, pOptionSelfCloseAction: OptionSelfCloseActionField, pRspInfo: RspInfoField);
1894 pub fn OnRtnCombAction(&self, pCombAction: CombActionField);
1895 pub fn OnErrRtnCombActionInsert(&self, pInputCombAction: InputCombActionField, pRspInfo: RspInfoField);
1896 pub fn OnRspQryContractBank(&self, pContractBank: ContractBankField, pRspInfo: RspInfoField, nRequestID: i32, bIsLast: bool);
1897 pub fn OnRspQryParkedOrder(&self, pParkedOrder: ParkedOrderField, pRspInfo: RspInfoField, nRequestID: i32, bIsLast: bool);
1898 pub fn OnRspQryParkedOrderAction(&self, pParkedOrderAction: ParkedOrderActionField, pRspInfo: RspInfoField, nRequestID: i32, bIsLast: bool);
1899 pub fn OnRspQryTradingNotice(&self, pTradingNotice: TradingNoticeField, pRspInfo: RspInfoField, nRequestID: i32, bIsLast: bool);
1900 pub fn OnRspQryBrokerTradingParams(&self, pBrokerTradingParams: BrokerTradingParamsField, pRspInfo: RspInfoField, nRequestID: i32, bIsLast: bool);
1901 pub fn OnRspQryBrokerTradingAlgos(&self, pBrokerTradingAlgos: BrokerTradingAlgosField, pRspInfo: RspInfoField, nRequestID: i32, bIsLast: bool);
1902 pub fn OnRspQueryCFMMCTradingAccountToken(&self, pQueryCFMMCTradingAccountToken: QueryCFMMCTradingAccountTokenField, pRspInfo: RspInfoField, nRequestID: i32, bIsLast: bool);
1903 pub fn OnRtnFromBankToFutureByBank(&self, pRspTransfer: RspTransferField);
1904 pub fn OnRtnFromFutureToBankByBank(&self, pRspTransfer: RspTransferField);
1905 pub fn OnRtnRepealFromBankToFutureByBank(&self, pRspRepeal: RspRepealField);
1906 pub fn OnRtnRepealFromFutureToBankByBank(&self, pRspRepeal: RspRepealField);
1907 pub fn OnRtnFromBankToFutureByFuture(&self, pRspTransfer: RspTransferField);
1908 pub fn OnRtnFromFutureToBankByFuture(&self, pRspTransfer: RspTransferField);
1909 pub fn OnRtnRepealFromBankToFutureByFutureManual(&self, pRspRepeal: RspRepealField);
1910 pub fn OnRtnRepealFromFutureToBankByFutureManual(&self, pRspRepeal: RspRepealField);
1911 pub fn OnRtnQueryBankBalanceByFuture(&self, pNotifyQueryAccount: NotifyQueryAccountField);
1912 pub fn OnErrRtnBankToFutureByFuture(&self, pReqTransfer: ReqTransferField, pRspInfo: RspInfoField);
1913 pub fn OnErrRtnFutureToBankByFuture(&self, pReqTransfer: ReqTransferField, pRspInfo: RspInfoField);
1914 pub fn OnErrRtnRepealBankToFutureByFutureManual(&self, pReqRepeal: ReqRepealField, pRspInfo: RspInfoField);
1915 pub fn OnErrRtnRepealFutureToBankByFutureManual(&self, pReqRepeal: ReqRepealField, pRspInfo: RspInfoField);
1916 pub fn OnErrRtnQueryBankBalanceByFuture(&self, pReqQueryAccount: ReqQueryAccountField, pRspInfo: RspInfoField);
1917 pub fn OnRtnRepealFromBankToFutureByFuture(&self, pRspRepeal: RspRepealField);
1918 pub fn OnRtnRepealFromFutureToBankByFuture(&self, pRspRepeal: RspRepealField);
1919 pub fn OnRspFromBankToFutureByFuture(&self, pReqTransfer: ReqTransferField, pRspInfo: RspInfoField, nRequestID: i32, bIsLast: bool);
1920 pub fn OnRspFromFutureToBankByFuture(&self, pReqTransfer: ReqTransferField, pRspInfo: RspInfoField, nRequestID: i32, bIsLast: bool);
1921 pub fn OnRspQueryBankAccountMoneyByFuture(&self, pReqQueryAccount: ReqQueryAccountField, pRspInfo: RspInfoField, nRequestID: i32, bIsLast: bool);
1922 pub fn OnRtnOpenAccountByBank(&self, pOpenAccount: OpenAccountField);
1923 pub fn OnRtnCancelAccountByBank(&self, pCancelAccount: CancelAccountField);
1924 pub fn OnRtnChangeAccountByBank(&self, pChangeAccount: ChangeAccountField);
1925 pub fn OnRspQryClassifiedInstrument(&self, pInstrument: InstrumentField, pRspInfo: RspInfoField, nRequestID: i32, bIsLast: bool);
1926 pub fn OnRspQryCombPromotionParam(&self, pCombPromotionParam: CombPromotionParamField, pRspInfo: RspInfoField, nRequestID: i32, bIsLast: bool);
1927 pub fn OnRspQryRiskSettleInvstPosition(&self, pRiskSettleInvstPosition: RiskSettleInvstPositionField, pRspInfo: RspInfoField, nRequestID: i32, bIsLast: bool);
1928 pub fn OnRspQryRiskSettleProductStatus(&self, pRiskSettleProductStatus: RiskSettleProductStatusField, pRspInfo: RspInfoField, nRequestID: i32, bIsLast: bool);
1929 pub fn OnRspQrySPBMFutureParameter(&self, pSPBMFutureParameter: SPBMFutureParameterField, pRspInfo: RspInfoField, nRequestID: i32, bIsLast: bool);
1930 pub fn OnRspQrySPBMOptionParameter(&self, pSPBMOptionParameter: SPBMOptionParameterField, pRspInfo: RspInfoField, nRequestID: i32, bIsLast: bool);
1931 pub fn OnRspQrySPBMIntraParameter(&self, pSPBMIntraParameter: SPBMIntraParameterField, pRspInfo: RspInfoField, nRequestID: i32, bIsLast: bool);
1932 pub fn OnRspQrySPBMInterParameter(&self, pSPBMInterParameter: SPBMInterParameterField, pRspInfo: RspInfoField, nRequestID: i32, bIsLast: bool);
1933 pub fn OnRspQrySPBMPortfDefinition(&self, pSPBMPortfDefinition: SPBMPortfDefinitionField, pRspInfo: RspInfoField, nRequestID: i32, bIsLast: bool);
1934 pub fn OnRspQrySPBMInvestorPortfDef(&self, pSPBMInvestorPortfDef: SPBMInvestorPortfDefField, pRspInfo: RspInfoField, nRequestID: i32, bIsLast: bool);
1935 pub fn OnRspQryInvestorPortfMarginRatio(&self, pInvestorPortfMarginRatio: InvestorPortfMarginRatioField, pRspInfo: RspInfoField, nRequestID: i32, bIsLast: bool);
1936 pub fn OnRspQryInvestorProdSPBMDetail(&self, pInvestorProdSPBMDetail: InvestorProdSPBMDetailField, pRspInfo: RspInfoField, nRequestID: i32, bIsLast: bool);
1937 pub fn OnRspQryInvestorCommoditySPMMMargin(&self, pInvestorCommoditySPMMMargin: InvestorCommoditySPMMMarginField, pRspInfo: RspInfoField, nRequestID: i32, bIsLast: bool);
1938 pub fn OnRspQryInvestorCommodityGroupSPMMMargin(&self, pInvestorCommodityGroupSPMMMargin: InvestorCommodityGroupSPMMMarginField, pRspInfo: RspInfoField, nRequestID: i32, bIsLast: bool);
1939 pub fn OnRspQrySPMMInstParam(&self, pSPMMInstParam: SPMMInstParamField, pRspInfo: RspInfoField, nRequestID: i32, bIsLast: bool);
1940 pub fn OnRspQrySPMMProductParam(&self, pSPMMProductParam: SPMMProductParamField, pRspInfo: RspInfoField, nRequestID: i32, bIsLast: bool);
1941 pub fn OnRspQrySPBMAddOnInterParameter(&self, pSPBMAddOnInterParameter: SPBMAddOnInterParameterField, pRspInfo: RspInfoField, nRequestID: i32, bIsLast: bool);
1942 pub fn OnRspQryRCAMSCombProductInfo(&self, pRCAMSCombProductInfo: RCAMSCombProductInfoField, pRspInfo: RspInfoField, nRequestID: i32, bIsLast: bool);
1943 pub fn OnRspQryRCAMSInstrParameter(&self, pRCAMSInstrParameter: RCAMSInstrParameterField, pRspInfo: RspInfoField, nRequestID: i32, bIsLast: bool);
1944 pub fn OnRspQryRCAMSIntraParameter(&self, pRCAMSIntraParameter: RCAMSIntraParameterField, pRspInfo: RspInfoField, nRequestID: i32, bIsLast: bool);
1945 pub fn OnRspQryRCAMSInterParameter(&self, pRCAMSInterParameter: RCAMSInterParameterField, pRspInfo: RspInfoField, nRequestID: i32, bIsLast: bool);
1946 pub fn OnRspQryRCAMSShortOptAdjustParam(&self, pRCAMSShortOptAdjustParam: RCAMSShortOptAdjustParamField, pRspInfo: RspInfoField, nRequestID: i32, bIsLast: bool);
1947 pub fn OnRspQryRCAMSInvestorCombPosition(&self, pRCAMSInvestorCombPosition: RCAMSInvestorCombPositionField, pRspInfo: RspInfoField, nRequestID: i32, bIsLast: bool);
1948 pub fn OnRspQryInvestorProdRCAMSMargin(&self, pInvestorProdRCAMSMargin: InvestorProdRCAMSMarginField, pRspInfo: RspInfoField, nRequestID: i32, bIsLast: bool);
1949 pub fn OnRspQryRULEInstrParameter(&self, pRULEInstrParameter: RULEInstrParameterField, pRspInfo: RspInfoField, nRequestID: i32, bIsLast: bool);
1950 pub fn OnRspQryRULEIntraParameter(&self, pRULEIntraParameter: RULEIntraParameterField, pRspInfo: RspInfoField, nRequestID: i32, bIsLast: bool);
1951 pub fn OnRspQryRULEInterParameter(&self, pRULEInterParameter: RULEInterParameterField, pRspInfo: RspInfoField, nRequestID: i32, bIsLast: bool);
1952 pub fn OnRspQryInvestorProdRULEMargin(&self, pInvestorProdRULEMargin: InvestorProdRULEMarginField, pRspInfo: RspInfoField, nRequestID: i32, bIsLast: bool);
1953 pub fn OnRspQryInvestorPortfSetting(&self, pInvestorPortfSetting: InvestorPortfSettingField, pRspInfo: RspInfoField, nRequestID: i32, bIsLast: bool);
1954 pub fn OnRspQryInvestorInfoCommRec(&self, pInvestorInfoCommRec: InvestorInfoCommRecField, pRspInfo: RspInfoField, nRequestID: i32, bIsLast: bool);
1955 pub fn OnRspQryCombLeg(&self, pCombLeg: CombLegField, pRspInfo: RspInfoField, nRequestID: i32, bIsLast: bool);
1956 pub fn OnRspOffsetSetting(&self, pInputOffsetSetting: InputOffsetSettingField, pRspInfo: RspInfoField, nRequestID: i32, bIsLast: bool);
1957 pub fn OnRspCancelOffsetSetting(&self, pInputOffsetSetting: InputOffsetSettingField, pRspInfo: RspInfoField, nRequestID: i32, bIsLast: bool);
1958 pub fn OnRtnOffsetSetting(&self, pOffsetSetting: OffsetSettingField);
1959 pub fn OnErrRtnOffsetSetting(&self, pInputOffsetSetting: InputOffsetSettingField, pRspInfo: RspInfoField);
1960 pub fn OnErrRtnCancelOffsetSetting(&self, pCancelOffsetSetting: CancelOffsetSettingField, pRspInfo: RspInfoField);
1961 pub fn OnRspQryOffsetSetting(&self, pOffsetSetting: OffsetSettingField, pRspInfo: RspInfoField, nRequestID: i32, bIsLast: bool);
1962 }
1963
1964 unsafe extern "C++" {
1965 include!("ctp-rs/wrapper/include/TraderApi.h");
1966 type TraderApi;
1967
1968 fn CreateTraderApi(spi: &TraderSpi, flow_path: String, is_production_mode: bool) -> UniquePtr<TraderApi>;
1969 fn GetFrontInfo(&self) -> FrontInfoField;
1970
1971 fn GetApiVersion(&self)-> String;
1972 fn Init(&self);
1973 fn Join(&self)-> i32;
1974 fn GetTradingDay(&self)-> String;
1975 fn RegisterFront(&self, pszFrontAddress: String);
1976 fn RegisterNameServer(&self, pszNsAddress: String);
1977 fn RegisterFensUserInfo(&self, pFensUserInfo: FensUserInfoField);
1978 fn SubscribePrivateTopic(&self, nResumeType: i32);
1979 fn SubscribePublicTopic(&self, nResumeType: i32);
1980 fn ReqAuthenticate(&self, pReqAuthenticateField: ReqAuthenticateField, nRequestID: i32)-> i32;
1981 fn RegisterUserSystemInfo(&self, pUserSystemInfo: UserSystemInfoField)-> i32;
1982 fn SubmitUserSystemInfo(&self, pUserSystemInfo: UserSystemInfoField)-> i32;
1983 fn RegisterWechatUserSystemInfo(&self, pUserSystemInfo: WechatUserSystemInfoField)-> i32;
1984 fn SubmitWechatUserSystemInfo(&self, pUserSystemInfo: WechatUserSystemInfoField)-> i32;
1985 fn ReqUserLogin(&self, pReqUserLoginField: ReqUserLoginField, nRequestID: i32)-> i32;
1986 fn ReqUserLogout(&self, pUserLogout: UserLogoutField, nRequestID: i32)-> i32;
1987 fn ReqUserPasswordUpdate(&self, pUserPasswordUpdate: UserPasswordUpdateField, nRequestID: i32)-> i32;
1988 fn ReqTradingAccountPasswordUpdate(&self, pTradingAccountPasswordUpdate: TradingAccountPasswordUpdateField, nRequestID: i32)-> i32;
1989 fn ReqUserAuthMethod(&self, pReqUserAuthMethod: ReqUserAuthMethodField, nRequestID: i32)-> i32;
1990 fn ReqGenUserCaptcha(&self, pReqGenUserCaptcha: ReqGenUserCaptchaField, nRequestID: i32)-> i32;
1991 fn ReqGenUserText(&self, pReqGenUserText: ReqGenUserTextField, nRequestID: i32)-> i32;
1992 fn ReqUserLoginWithCaptcha(&self, pReqUserLoginWithCaptcha: ReqUserLoginWithCaptchaField, nRequestID: i32)-> i32;
1993 fn ReqUserLoginWithText(&self, pReqUserLoginWithText: ReqUserLoginWithTextField, nRequestID: i32)-> i32;
1994 fn ReqUserLoginWithOTP(&self, pReqUserLoginWithOTP: ReqUserLoginWithOTPField, nRequestID: i32)-> i32;
1995 fn ReqOrderInsert(&self, pInputOrder: InputOrderField, nRequestID: i32)-> i32;
1996 fn ReqParkedOrderInsert(&self, pParkedOrder: ParkedOrderField, nRequestID: i32)-> i32;
1997 fn ReqParkedOrderAction(&self, pParkedOrderAction: ParkedOrderActionField, nRequestID: i32)-> i32;
1998 fn ReqOrderAction(&self, pInputOrderAction: InputOrderActionField, nRequestID: i32)-> i32;
1999 fn ReqQryMaxOrderVolume(&self, pQryMaxOrderVolume: QryMaxOrderVolumeField, nRequestID: i32)-> i32;
2000 fn ReqSettlementInfoConfirm(&self, pSettlementInfoConfirm: SettlementInfoConfirmField, nRequestID: i32)-> i32;
2001 fn ReqRemoveParkedOrder(&self, pRemoveParkedOrder: RemoveParkedOrderField, nRequestID: i32)-> i32;
2002 fn ReqRemoveParkedOrderAction(&self, pRemoveParkedOrderAction: RemoveParkedOrderActionField, nRequestID: i32)-> i32;
2003 fn ReqExecOrderInsert(&self, pInputExecOrder: InputExecOrderField, nRequestID: i32)-> i32;
2004 fn ReqExecOrderAction(&self, pInputExecOrderAction: InputExecOrderActionField, nRequestID: i32)-> i32;
2005 fn ReqForQuoteInsert(&self, pInputForQuote: InputForQuoteField, nRequestID: i32)-> i32;
2006 fn ReqQuoteInsert(&self, pInputQuote: InputQuoteField, nRequestID: i32)-> i32;
2007 fn ReqQuoteAction(&self, pInputQuoteAction: InputQuoteActionField, nRequestID: i32)-> i32;
2008 fn ReqBatchOrderAction(&self, pInputBatchOrderAction: InputBatchOrderActionField, nRequestID: i32)-> i32;
2009 fn ReqOptionSelfCloseInsert(&self, pInputOptionSelfClose: InputOptionSelfCloseField, nRequestID: i32)-> i32;
2010 fn ReqOptionSelfCloseAction(&self, pInputOptionSelfCloseAction: InputOptionSelfCloseActionField, nRequestID: i32)-> i32;
2011 fn ReqCombActionInsert(&self, pInputCombAction: InputCombActionField, nRequestID: i32)-> i32;
2012 fn ReqQryOrder(&self, pQryOrder: QryOrderField, nRequestID: i32)-> i32;
2013 fn ReqQryTrade(&self, pQryTrade: QryTradeField, nRequestID: i32)-> i32;
2014 fn ReqQryInvestorPosition(&self, pQryInvestorPosition: QryInvestorPositionField, nRequestID: i32)-> i32;
2015 fn ReqQryTradingAccount(&self, pQryTradingAccount: QryTradingAccountField, nRequestID: i32)-> i32;
2016 fn ReqQryInvestor(&self, pQryInvestor: QryInvestorField, nRequestID: i32)-> i32;
2017 fn ReqQryTradingCode(&self, pQryTradingCode: QryTradingCodeField, nRequestID: i32)-> i32;
2018 fn ReqQryInstrumentMarginRate(&self, pQryInstrumentMarginRate: QryInstrumentMarginRateField, nRequestID: i32)-> i32;
2019 fn ReqQryInstrumentCommissionRate(&self, pQryInstrumentCommissionRate: QryInstrumentCommissionRateField, nRequestID: i32)-> i32;
2020 fn ReqQryUserSession(&self, pQryUserSession: QryUserSessionField, nRequestID: i32)-> i32;
2021 fn ReqQryExchange(&self, pQryExchange: QryExchangeField, nRequestID: i32)-> i32;
2022 fn ReqQryProduct(&self, pQryProduct: QryProductField, nRequestID: i32)-> i32;
2023 fn ReqQryInstrument(&self, pQryInstrument: QryInstrumentField, nRequestID: i32)-> i32;
2024 fn ReqQryDepthMarketData(&self, pQryDepthMarketData: QryDepthMarketDataField, nRequestID: i32)-> i32;
2025 fn ReqQryTraderOffer(&self, pQryTraderOffer: QryTraderOfferField, nRequestID: i32)-> i32;
2026 fn ReqQrySettlementInfo(&self, pQrySettlementInfo: QrySettlementInfoField, nRequestID: i32)-> i32;
2027 fn ReqQryTransferBank(&self, pQryTransferBank: QryTransferBankField, nRequestID: i32)-> i32;
2028 fn ReqQryInvestorPositionDetail(&self, pQryInvestorPositionDetail: QryInvestorPositionDetailField, nRequestID: i32)-> i32;
2029 fn ReqQryNotice(&self, pQryNotice: QryNoticeField, nRequestID: i32)-> i32;
2030 fn ReqQrySettlementInfoConfirm(&self, pQrySettlementInfoConfirm: QrySettlementInfoConfirmField, nRequestID: i32)-> i32;
2031 fn ReqQryInvestorPositionCombineDetail(&self, pQryInvestorPositionCombineDetail: QryInvestorPositionCombineDetailField, nRequestID: i32)-> i32;
2032 fn ReqQryCFMMCTradingAccountKey(&self, pQryCFMMCTradingAccountKey: QryCFMMCTradingAccountKeyField, nRequestID: i32)-> i32;
2033 fn ReqQryEWarrantOffset(&self, pQryEWarrantOffset: QryEWarrantOffsetField, nRequestID: i32)-> i32;
2034 fn ReqQryInvestorProductGroupMargin(&self, pQryInvestorProductGroupMargin: QryInvestorProductGroupMarginField, nRequestID: i32)-> i32;
2035 fn ReqQryExchangeMarginRate(&self, pQryExchangeMarginRate: QryExchangeMarginRateField, nRequestID: i32)-> i32;
2036 fn ReqQryExchangeMarginRateAdjust(&self, pQryExchangeMarginRateAdjust: QryExchangeMarginRateAdjustField, nRequestID: i32)-> i32;
2037 fn ReqQryExchangeRate(&self, pQryExchangeRate: QryExchangeRateField, nRequestID: i32)-> i32;
2038 fn ReqQrySecAgentACIDMap(&self, pQrySecAgentACIDMap: QrySecAgentACIDMapField, nRequestID: i32)-> i32;
2039 fn ReqQryProductExchRate(&self, pQryProductExchRate: QryProductExchRateField, nRequestID: i32)-> i32;
2040 fn ReqQryProductGroup(&self, pQryProductGroup: QryProductGroupField, nRequestID: i32)-> i32;
2041 fn ReqQryMMInstrumentCommissionRate(&self, pQryMMInstrumentCommissionRate: QryMMInstrumentCommissionRateField, nRequestID: i32)-> i32;
2042 fn ReqQryMMOptionInstrCommRate(&self, pQryMMOptionInstrCommRate: QryMMOptionInstrCommRateField, nRequestID: i32)-> i32;
2043 fn ReqQryInstrumentOrderCommRate(&self, pQryInstrumentOrderCommRate: QryInstrumentOrderCommRateField, nRequestID: i32)-> i32;
2044 fn ReqQrySecAgentTradingAccount(&self, pQryTradingAccount: QryTradingAccountField, nRequestID: i32)-> i32;
2045 fn ReqQrySecAgentCheckMode(&self, pQrySecAgentCheckMode: QrySecAgentCheckModeField, nRequestID: i32)-> i32;
2046 fn ReqQrySecAgentTradeInfo(&self, pQrySecAgentTradeInfo: QrySecAgentTradeInfoField, nRequestID: i32)-> i32;
2047 fn ReqQryOptionInstrTradeCost(&self, pQryOptionInstrTradeCost: QryOptionInstrTradeCostField, nRequestID: i32)-> i32;
2048 fn ReqQryOptionInstrCommRate(&self, pQryOptionInstrCommRate: QryOptionInstrCommRateField, nRequestID: i32)-> i32;
2049 fn ReqQryExecOrder(&self, pQryExecOrder: QryExecOrderField, nRequestID: i32)-> i32;
2050 fn ReqQryForQuote(&self, pQryForQuote: QryForQuoteField, nRequestID: i32)-> i32;
2051 fn ReqQryQuote(&self, pQryQuote: QryQuoteField, nRequestID: i32)-> i32;
2052 fn ReqQryOptionSelfClose(&self, pQryOptionSelfClose: QryOptionSelfCloseField, nRequestID: i32)-> i32;
2053 fn ReqQryInvestUnit(&self, pQryInvestUnit: QryInvestUnitField, nRequestID: i32)-> i32;
2054 fn ReqQryCombInstrumentGuard(&self, pQryCombInstrumentGuard: QryCombInstrumentGuardField, nRequestID: i32)-> i32;
2055 fn ReqQryCombAction(&self, pQryCombAction: QryCombActionField, nRequestID: i32)-> i32;
2056 fn ReqQryTransferSerial(&self, pQryTransferSerial: QryTransferSerialField, nRequestID: i32)-> i32;
2057 fn ReqQryAccountregister(&self, pQryAccountregister: QryAccountregisterField, nRequestID: i32)-> i32;
2058 fn ReqQryContractBank(&self, pQryContractBank: QryContractBankField, nRequestID: i32)-> i32;
2059 fn ReqQryParkedOrder(&self, pQryParkedOrder: QryParkedOrderField, nRequestID: i32)-> i32;
2060 fn ReqQryParkedOrderAction(&self, pQryParkedOrderAction: QryParkedOrderActionField, nRequestID: i32)-> i32;
2061 fn ReqQryTradingNotice(&self, pQryTradingNotice: QryTradingNoticeField, nRequestID: i32)-> i32;
2062 fn ReqQryBrokerTradingParams(&self, pQryBrokerTradingParams: QryBrokerTradingParamsField, nRequestID: i32)-> i32;
2063 fn ReqQryBrokerTradingAlgos(&self, pQryBrokerTradingAlgos: QryBrokerTradingAlgosField, nRequestID: i32)-> i32;
2064 fn ReqQueryCFMMCTradingAccountToken(&self, pQueryCFMMCTradingAccountToken: QueryCFMMCTradingAccountTokenField, nRequestID: i32)-> i32;
2065 fn ReqFromBankToFutureByFuture(&self, pReqTransfer: ReqTransferField, nRequestID: i32)-> i32;
2066 fn ReqFromFutureToBankByFuture(&self, pReqTransfer: ReqTransferField, nRequestID: i32)-> i32;
2067 fn ReqQueryBankAccountMoneyByFuture(&self, pReqQueryAccount: ReqQueryAccountField, nRequestID: i32)-> i32;
2068 fn ReqQryClassifiedInstrument(&self, pQryClassifiedInstrument: QryClassifiedInstrumentField, nRequestID: i32)-> i32;
2069 fn ReqQryCombPromotionParam(&self, pQryCombPromotionParam: QryCombPromotionParamField, nRequestID: i32)-> i32;
2070 fn ReqQryRiskSettleInvstPosition(&self, pQryRiskSettleInvstPosition: QryRiskSettleInvstPositionField, nRequestID: i32)-> i32;
2071 fn ReqQryRiskSettleProductStatus(&self, pQryRiskSettleProductStatus: QryRiskSettleProductStatusField, nRequestID: i32)-> i32;
2072 fn ReqQrySPBMFutureParameter(&self, pQrySPBMFutureParameter: QrySPBMFutureParameterField, nRequestID: i32)-> i32;
2073 fn ReqQrySPBMOptionParameter(&self, pQrySPBMOptionParameter: QrySPBMOptionParameterField, nRequestID: i32)-> i32;
2074 fn ReqQrySPBMIntraParameter(&self, pQrySPBMIntraParameter: QrySPBMIntraParameterField, nRequestID: i32)-> i32;
2075 fn ReqQrySPBMInterParameter(&self, pQrySPBMInterParameter: QrySPBMInterParameterField, nRequestID: i32)-> i32;
2076 fn ReqQrySPBMPortfDefinition(&self, pQrySPBMPortfDefinition: QrySPBMPortfDefinitionField, nRequestID: i32)-> i32;
2077 fn ReqQrySPBMInvestorPortfDef(&self, pQrySPBMInvestorPortfDef: QrySPBMInvestorPortfDefField, nRequestID: i32)-> i32;
2078 fn ReqQryInvestorPortfMarginRatio(&self, pQryInvestorPortfMarginRatio: QryInvestorPortfMarginRatioField, nRequestID: i32)-> i32;
2079 fn ReqQryInvestorProdSPBMDetail(&self, pQryInvestorProdSPBMDetail: QryInvestorProdSPBMDetailField, nRequestID: i32)-> i32;
2080 fn ReqQryInvestorCommoditySPMMMargin(&self, pQryInvestorCommoditySPMMMargin: QryInvestorCommoditySPMMMarginField, nRequestID: i32)-> i32;
2081 fn ReqQryInvestorCommodityGroupSPMMMargin(&self, pQryInvestorCommodityGroupSPMMMargin: QryInvestorCommodityGroupSPMMMarginField, nRequestID: i32)-> i32;
2082 fn ReqQrySPMMInstParam(&self, pQrySPMMInstParam: QrySPMMInstParamField, nRequestID: i32)-> i32;
2083 fn ReqQrySPMMProductParam(&self, pQrySPMMProductParam: QrySPMMProductParamField, nRequestID: i32)-> i32;
2084 fn ReqQrySPBMAddOnInterParameter(&self, pQrySPBMAddOnInterParameter: QrySPBMAddOnInterParameterField, nRequestID: i32)-> i32;
2085 fn ReqQryRCAMSCombProductInfo(&self, pQryRCAMSCombProductInfo: QryRCAMSCombProductInfoField, nRequestID: i32)-> i32;
2086 fn ReqQryRCAMSInstrParameter(&self, pQryRCAMSInstrParameter: QryRCAMSInstrParameterField, nRequestID: i32)-> i32;
2087 fn ReqQryRCAMSIntraParameter(&self, pQryRCAMSIntraParameter: QryRCAMSIntraParameterField, nRequestID: i32)-> i32;
2088 fn ReqQryRCAMSInterParameter(&self, pQryRCAMSInterParameter: QryRCAMSInterParameterField, nRequestID: i32)-> i32;
2089 fn ReqQryRCAMSShortOptAdjustParam(&self, pQryRCAMSShortOptAdjustParam: QryRCAMSShortOptAdjustParamField, nRequestID: i32)-> i32;
2090 fn ReqQryRCAMSInvestorCombPosition(&self, pQryRCAMSInvestorCombPosition: QryRCAMSInvestorCombPositionField, nRequestID: i32)-> i32;
2091 fn ReqQryInvestorProdRCAMSMargin(&self, pQryInvestorProdRCAMSMargin: QryInvestorProdRCAMSMarginField, nRequestID: i32)-> i32;
2092 fn ReqQryRULEInstrParameter(&self, pQryRULEInstrParameter: QryRULEInstrParameterField, nRequestID: i32)-> i32;
2093 fn ReqQryRULEIntraParameter(&self, pQryRULEIntraParameter: QryRULEIntraParameterField, nRequestID: i32)-> i32;
2094 fn ReqQryRULEInterParameter(&self, pQryRULEInterParameter: QryRULEInterParameterField, nRequestID: i32)-> i32;
2095 fn ReqQryInvestorProdRULEMargin(&self, pQryInvestorProdRULEMargin: QryInvestorProdRULEMarginField, nRequestID: i32)-> i32;
2096 fn ReqQryInvestorPortfSetting(&self, pQryInvestorPortfSetting: QryInvestorPortfSettingField, nRequestID: i32)-> i32;
2097 fn ReqQryInvestorInfoCommRec(&self, pQryInvestorInfoCommRec: QryInvestorInfoCommRecField, nRequestID: i32)-> i32;
2098 fn ReqQryCombLeg(&self, pQryCombLeg: QryCombLegField, nRequestID: i32)-> i32;
2099 fn ReqOffsetSetting(&self, pInputOffsetSetting: InputOffsetSettingField, nRequestID: i32)-> i32;
2100 fn ReqCancelOffsetSetting(&self, pInputOffsetSetting: InputOffsetSettingField, nRequestID: i32)-> i32;
2101 fn ReqQryOffsetSetting(&self, pQryOffsetSetting: QryOffsetSettingField, nRequestID: i32)-> i32;
2102 }
2103
2104 #[derive(Debug, Clone, Default)]
2105 struct DisseminationField {
2106 is_null: bool,
2107 SequenceSeries: u16,
2108 SequenceNo: i32,
2109 }
2110 #[derive(Debug, Clone, Default)]
2111 struct ReqUserLoginField {
2112 is_null: bool,
2113 TradingDay: String,
2114 BrokerID: String,
2115 UserID: String,
2116 Password: String,
2117 UserProductInfo: String,
2118 InterfaceProductInfo: String,
2119 ProtocolInfo: String,
2120 MacAddress: String,
2121 OneTimePassword: String,
2122 LoginRemark: String,
2123 ClientIPPort: i32,
2124 ClientIPAddress: String,
2125 }
2126 #[derive(Debug, Clone, Default)]
2127 struct RspUserLoginField {
2128 is_null: bool,
2129 TradingDay: String,
2130 LoginTime: String,
2131 BrokerID: String,
2132 UserID: String,
2133 SystemName: String,
2134 FrontID: i32,
2135 SessionID: i32,
2136 MaxOrderRef: String,
2137 SHFETime: String,
2138 DCETime: String,
2139 CZCETime: String,
2140 FFEXTime: String,
2141 INETime: String,
2142 SysVersion: String,
2143 GFEXTime: String,
2144 LoginDRIdentityID: i32,
2145 UserDRIdentityID: i32,
2146 LastLoginTime: String,
2147 ReserveInfo: String,
2148 }
2149 #[derive(Debug, Clone, Default)]
2150 struct UserLogoutField {
2151 is_null: bool,
2152 BrokerID: String,
2153 UserID: String,
2154 }
2155 #[derive(Debug, Clone, Default)]
2156 struct ForceUserLogoutField {
2157 is_null: bool,
2158 BrokerID: String,
2159 UserID: String,
2160 }
2161 #[derive(Debug, Clone, Default)]
2162 struct ReqAuthenticateField {
2163 is_null: bool,
2164 BrokerID: String,
2165 UserID: String,
2166 UserProductInfo: String,
2167 AuthCode: String,
2168 AppID: String,
2169 }
2170 #[derive(Debug, Clone, Default)]
2171 struct RspAuthenticateField {
2172 is_null: bool,
2173 BrokerID: String,
2174 UserID: String,
2175 UserProductInfo: String,
2176 AppID: String,
2177 AppType: u8,
2178 }
2179 #[derive(Debug, Clone, Default)]
2180 struct AuthenticationInfoField {
2181 is_null: bool,
2182 BrokerID: String,
2183 UserID: String,
2184 UserProductInfo: String,
2185 AuthInfo: String,
2186 IsResult: i32,
2187 AppID: String,
2188 AppType: u8,
2189 ClientIPAddress: String,
2190 }
2191 #[derive(Debug, Clone, Default)]
2192 struct RspUserLogin2Field {
2193 is_null: bool,
2194 TradingDay: String,
2195 LoginTime: String,
2196 BrokerID: String,
2197 UserID: String,
2198 SystemName: String,
2199 FrontID: i32,
2200 SessionID: i32,
2201 MaxOrderRef: String,
2202 SHFETime: String,
2203 DCETime: String,
2204 CZCETime: String,
2205 FFEXTime: String,
2206 INETime: String,
2207 RandomString: Vec<u8>,
2208 }
2209 #[derive(Debug, Clone, Default)]
2210 struct TransferHeaderField {
2211 is_null: bool,
2212 Version: String,
2213 TradeCode: String,
2214 TradeDate: String,
2215 TradeTime: String,
2216 TradeSerial: String,
2217 FutureID: String,
2218 BankID: String,
2219 BankBrchID: String,
2220 OperNo: String,
2221 DeviceID: String,
2222 RecordNum: Vec<u8>,
2223 SessionID: i32,
2224 RequestID: i32,
2225 }
2226 #[derive(Debug, Clone, Default)]
2227 struct TransferBankToFutureReqField {
2228 is_null: bool,
2229 FutureAccount: String,
2230 FuturePwdFlag: u8,
2231 FutureAccPwd: String,
2232 TradeAmt: f64,
2233 CustFee: f64,
2234 CurrencyCode: String,
2235 }
2236 #[derive(Debug, Clone, Default)]
2237 struct TransferBankToFutureRspField {
2238 is_null: bool,
2239 RetCode: String,
2240 RetInfo: String,
2241 FutureAccount: String,
2242 TradeAmt: f64,
2243 CustFee: f64,
2244 CurrencyCode: String,
2245 }
2246 #[derive(Debug, Clone, Default)]
2247 struct TransferFutureToBankReqField {
2248 is_null: bool,
2249 FutureAccount: String,
2250 FuturePwdFlag: u8,
2251 FutureAccPwd: String,
2252 TradeAmt: f64,
2253 CustFee: f64,
2254 CurrencyCode: String,
2255 }
2256 #[derive(Debug, Clone, Default)]
2257 struct TransferFutureToBankRspField {
2258 is_null: bool,
2259 RetCode: String,
2260 RetInfo: String,
2261 FutureAccount: String,
2262 TradeAmt: f64,
2263 CustFee: f64,
2264 CurrencyCode: String,
2265 }
2266 #[derive(Debug, Clone, Default)]
2267 struct TransferQryBankReqField {
2268 is_null: bool,
2269 FutureAccount: String,
2270 FuturePwdFlag: u8,
2271 FutureAccPwd: String,
2272 CurrencyCode: String,
2273 }
2274 #[derive(Debug, Clone, Default)]
2275 struct TransferQryBankRspField {
2276 is_null: bool,
2277 RetCode: String,
2278 RetInfo: String,
2279 FutureAccount: String,
2280 TradeAmt: f64,
2281 UseAmt: f64,
2282 FetchAmt: f64,
2283 CurrencyCode: String,
2284 }
2285 #[derive(Debug, Clone, Default)]
2286 struct TransferQryDetailReqField {
2287 is_null: bool,
2288 FutureAccount: String,
2289 }
2290 #[derive(Debug, Clone, Default)]
2291 struct TransferQryDetailRspField {
2292 is_null: bool,
2293 TradeDate: String,
2294 TradeTime: String,
2295 TradeCode: String,
2296 FutureSerial: i32,
2297 FutureID: String,
2298 FutureAccount: String,
2299 BankSerial: i32,
2300 BankID: String,
2301 BankBrchID: String,
2302 BankAccount: String,
2303 CertCode: String,
2304 CurrencyCode: String,
2305 TxAmount: f64,
2306 Flag: u8,
2307 }
2308 #[derive(Debug, Clone, Default)]
2309 struct RspInfoField {
2310 is_null: bool,
2311 ErrorID: i32,
2312 ErrorMsg: String,
2313 }
2314 #[derive(Debug, Clone, Default)]
2315 struct ExchangeField {
2316 is_null: bool,
2317 ExchangeID: String,
2318 ExchangeName: String,
2319 ExchangeProperty: u8,
2320 }
2321 #[derive(Debug, Clone, Default)]
2322 struct ProductField {
2323 is_null: bool,
2324 ProductName: String,
2325 ExchangeID: String,
2326 ProductClass: u8,
2327 VolumeMultiple: i32,
2328 PriceTick: f64,
2329 MaxMarketOrderVolume: i32,
2330 MinMarketOrderVolume: i32,
2331 MaxLimitOrderVolume: i32,
2332 MinLimitOrderVolume: i32,
2333 PositionType: u8,
2334 PositionDateType: u8,
2335 CloseDealType: u8,
2336 TradeCurrencyID: String,
2337 MortgageFundUseRange: u8,
2338 UnderlyingMultiple: f64,
2339 ProductID: String,
2340 ExchangeProductID: String,
2341 OpenLimitControlLevel: u8,
2342 OrderFreqControlLevel: u8,
2343 }
2344 #[derive(Debug, Clone, Default)]
2345 struct InstrumentField {
2346 is_null: bool,
2347 ExchangeID: String,
2348 InstrumentName: String,
2349 ProductClass: u8,
2350 DeliveryYear: i32,
2351 DeliveryMonth: i32,
2352 MaxMarketOrderVolume: i32,
2353 MinMarketOrderVolume: i32,
2354 MaxLimitOrderVolume: i32,
2355 MinLimitOrderVolume: i32,
2356 VolumeMultiple: i32,
2357 PriceTick: f64,
2358 CreateDate: String,
2359 OpenDate: String,
2360 ExpireDate: String,
2361 StartDelivDate: String,
2362 EndDelivDate: String,
2363 InstLifePhase: u8,
2364 IsTrading: i32,
2365 PositionType: u8,
2366 PositionDateType: u8,
2367 LongMarginRatio: f64,
2368 ShortMarginRatio: f64,
2369 MaxMarginSideAlgorithm: u8,
2370 StrikePrice: f64,
2371 OptionsType: u8,
2372 UnderlyingMultiple: f64,
2373 CombinationType: u8,
2374 InstrumentID: String,
2375 ExchangeInstID: String,
2376 ProductID: String,
2377 UnderlyingInstrID: String,
2378 }
2379 #[derive(Debug, Clone, Default)]
2380 struct BrokerField {
2381 is_null: bool,
2382 BrokerID: String,
2383 BrokerAbbr: String,
2384 BrokerName: String,
2385 IsActive: i32,
2386 }
2387 #[derive(Debug, Clone, Default)]
2388 struct TraderField {
2389 is_null: bool,
2390 ExchangeID: String,
2391 TraderID: String,
2392 ParticipantID: String,
2393 Password: String,
2394 InstallCount: i32,
2395 BrokerID: String,
2396 OrderCancelAlg: u8,
2397 TradeInstallCount: i32,
2398 MDInstallCount: i32,
2399 }
2400 #[derive(Debug, Clone, Default)]
2401 struct InvestorField {
2402 is_null: bool,
2403 InvestorID: String,
2404 BrokerID: String,
2405 InvestorGroupID: String,
2406 InvestorName: String,
2407 IdentifiedCardType: u8,
2408 IdentifiedCardNo: String,
2409 IsActive: i32,
2410 Telephone: String,
2411 Address: String,
2412 OpenDate: String,
2413 Mobile: String,
2414 CommModelID: String,
2415 MarginModelID: String,
2416 IsOrderFreq: u8,
2417 IsOpenVolLimit: u8,
2418 }
2419 #[derive(Debug, Clone, Default)]
2420 struct TradingCodeField {
2421 is_null: bool,
2422 InvestorID: String,
2423 BrokerID: String,
2424 ExchangeID: String,
2425 ClientID: String,
2426 IsActive: i32,
2427 ClientIDType: u8,
2428 BranchID: String,
2429 BizType: u8,
2430 InvestUnitID: String,
2431 }
2432 #[derive(Debug, Clone, Default)]
2433 struct PartBrokerField {
2434 is_null: bool,
2435 BrokerID: String,
2436 ExchangeID: String,
2437 ParticipantID: String,
2438 IsActive: i32,
2439 }
2440 #[derive(Debug, Clone, Default)]
2441 struct SuperUserField {
2442 is_null: bool,
2443 UserID: String,
2444 UserName: String,
2445 Password: String,
2446 IsActive: i32,
2447 }
2448 #[derive(Debug, Clone, Default)]
2449 struct SuperUserFunctionField {
2450 is_null: bool,
2451 UserID: String,
2452 FunctionCode: u8,
2453 }
2454 #[derive(Debug, Clone, Default)]
2455 struct InvestorGroupField {
2456 is_null: bool,
2457 BrokerID: String,
2458 InvestorGroupID: String,
2459 InvestorGroupName: String,
2460 }
2461 #[derive(Debug, Clone, Default)]
2462 struct TradingAccountField {
2463 is_null: bool,
2464 BrokerID: String,
2465 AccountID: String,
2466 PreMortgage: f64,
2467 PreCredit: f64,
2468 PreDeposit: f64,
2469 PreBalance: f64,
2470 PreMargin: f64,
2471 InterestBase: f64,
2472 Interest: f64,
2473 Deposit: f64,
2474 Withdraw: f64,
2475 FrozenMargin: f64,
2476 FrozenCash: f64,
2477 FrozenCommission: f64,
2478 CurrMargin: f64,
2479 CashIn: f64,
2480 Commission: f64,
2481 CloseProfit: f64,
2482 PositionProfit: f64,
2483 Balance: f64,
2484 Available: f64,
2485 WithdrawQuota: f64,
2486 Reserve: f64,
2487 TradingDay: String,
2488 SettlementID: i32,
2489 Credit: f64,
2490 Mortgage: f64,
2491 ExchangeMargin: f64,
2492 DeliveryMargin: f64,
2493 ExchangeDeliveryMargin: f64,
2494 ReserveBalance: f64,
2495 CurrencyID: String,
2496 PreFundMortgageIn: f64,
2497 PreFundMortgageOut: f64,
2498 FundMortgageIn: f64,
2499 FundMortgageOut: f64,
2500 FundMortgageAvailable: f64,
2501 MortgageableFund: f64,
2502 SpecProductMargin: f64,
2503 SpecProductFrozenMargin: f64,
2504 SpecProductCommission: f64,
2505 SpecProductFrozenCommission: f64,
2506 SpecProductPositionProfit: f64,
2507 SpecProductCloseProfit: f64,
2508 SpecProductPositionProfitByAlg: f64,
2509 SpecProductExchangeMargin: f64,
2510 BizType: u8,
2511 FrozenSwap: f64,
2512 RemainSwap: f64,
2513 OptionValue: f64,
2514 }
2515 #[derive(Debug, Clone, Default)]
2516 struct InvestorPositionField {
2517 is_null: bool,
2518 BrokerID: String,
2519 InvestorID: String,
2520 PosiDirection: u8,
2521 HedgeFlag: u8,
2522 PositionDate: u8,
2523 YdPosition: i32,
2524 Position: i32,
2525 LongFrozen: i32,
2526 ShortFrozen: i32,
2527 LongFrozenAmount: f64,
2528 ShortFrozenAmount: f64,
2529 OpenVolume: i32,
2530 CloseVolume: i32,
2531 OpenAmount: f64,
2532 CloseAmount: f64,
2533 PositionCost: f64,
2534 PreMargin: f64,
2535 UseMargin: f64,
2536 FrozenMargin: f64,
2537 FrozenCash: f64,
2538 FrozenCommission: f64,
2539 CashIn: f64,
2540 Commission: f64,
2541 CloseProfit: f64,
2542 PositionProfit: f64,
2543 PreSettlementPrice: f64,
2544 SettlementPrice: f64,
2545 TradingDay: String,
2546 SettlementID: i32,
2547 OpenCost: f64,
2548 ExchangeMargin: f64,
2549 CombPosition: i32,
2550 CombLongFrozen: i32,
2551 CombShortFrozen: i32,
2552 CloseProfitByDate: f64,
2553 CloseProfitByTrade: f64,
2554 TodayPosition: i32,
2555 MarginRateByMoney: f64,
2556 MarginRateByVolume: f64,
2557 StrikeFrozen: i32,
2558 StrikeFrozenAmount: f64,
2559 AbandonFrozen: i32,
2560 ExchangeID: String,
2561 YdStrikeFrozen: i32,
2562 InvestUnitID: String,
2563 PositionCostOffset: f64,
2564 TasPosition: i32,
2565 TasPositionCost: f64,
2566 InstrumentID: String,
2567 OptionValue: f64,
2568 }
2569 #[derive(Debug, Clone, Default)]
2570 struct InstrumentMarginRateField {
2571 is_null: bool,
2572 InvestorRange: u8,
2573 BrokerID: String,
2574 InvestorID: String,
2575 HedgeFlag: u8,
2576 LongMarginRatioByMoney: f64,
2577 LongMarginRatioByVolume: f64,
2578 ShortMarginRatioByMoney: f64,
2579 ShortMarginRatioByVolume: f64,
2580 IsRelative: i32,
2581 ExchangeID: String,
2582 InvestUnitID: String,
2583 InstrumentID: String,
2584 }
2585 #[derive(Debug, Clone, Default)]
2586 struct InstrumentCommissionRateField {
2587 is_null: bool,
2588 InvestorRange: u8,
2589 BrokerID: String,
2590 InvestorID: String,
2591 OpenRatioByMoney: f64,
2592 OpenRatioByVolume: f64,
2593 CloseRatioByMoney: f64,
2594 CloseRatioByVolume: f64,
2595 CloseTodayRatioByMoney: f64,
2596 CloseTodayRatioByVolume: f64,
2597 ExchangeID: String,
2598 BizType: u8,
2599 InvestUnitID: String,
2600 InstrumentID: String,
2601 }
2602 #[derive(Debug, Clone, Default)]
2603 struct DepthMarketDataField {
2604 is_null: bool,
2605 TradingDay: String,
2606 ExchangeID: String,
2607 LastPrice: f64,
2608 PreSettlementPrice: f64,
2609 PreClosePrice: f64,
2610 PreOpenInterest: f64,
2611 OpenPrice: f64,
2612 HighestPrice: f64,
2613 LowestPrice: f64,
2614 Volume: i32,
2615 Turnover: f64,
2616 OpenInterest: f64,
2617 ClosePrice: f64,
2618 SettlementPrice: f64,
2619 UpperLimitPrice: f64,
2620 LowerLimitPrice: f64,
2621 PreDelta: f64,
2622 CurrDelta: f64,
2623 UpdateTime: String,
2624 UpdateMillisec: i32,
2625 BidPrice1: f64,
2626 BidVolume1: i32,
2627 AskPrice1: f64,
2628 AskVolume1: i32,
2629 BidPrice2: f64,
2630 BidVolume2: i32,
2631 AskPrice2: f64,
2632 AskVolume2: i32,
2633 BidPrice3: f64,
2634 BidVolume3: i32,
2635 AskPrice3: f64,
2636 AskVolume3: i32,
2637 BidPrice4: f64,
2638 BidVolume4: i32,
2639 AskPrice4: f64,
2640 AskVolume4: i32,
2641 BidPrice5: f64,
2642 BidVolume5: i32,
2643 AskPrice5: f64,
2644 AskVolume5: i32,
2645 AveragePrice: f64,
2646 ActionDay: String,
2647 InstrumentID: String,
2648 ExchangeInstID: String,
2649 BandingUpperPrice: f64,
2650 BandingLowerPrice: f64,
2651 }
2652 #[derive(Debug, Clone, Default)]
2653 struct InstrumentTradingRightField {
2654 is_null: bool,
2655 InvestorRange: u8,
2656 BrokerID: String,
2657 InvestorID: String,
2658 TradingRight: u8,
2659 InstrumentID: String,
2660 }
2661 #[derive(Debug, Clone, Default)]
2662 struct BrokerUserField {
2663 is_null: bool,
2664 BrokerID: String,
2665 UserID: String,
2666 UserName: String,
2667 UserType: u8,
2668 IsActive: i32,
2669 IsUsingOTP: i32,
2670 IsAuthForce: i32,
2671 }
2672 #[derive(Debug, Clone, Default)]
2673 struct BrokerUserPasswordField {
2674 is_null: bool,
2675 BrokerID: String,
2676 UserID: String,
2677 Password: String,
2678 LastUpdateTime: String,
2679 LastLoginTime: String,
2680 ExpireDate: String,
2681 WeakExpireDate: String,
2682 }
2683 #[derive(Debug, Clone, Default)]
2684 struct BrokerUserFunctionField {
2685 is_null: bool,
2686 BrokerID: String,
2687 UserID: String,
2688 BrokerFunctionCode: u8,
2689 }
2690 #[derive(Debug, Clone, Default)]
2691 struct TraderOfferField {
2692 is_null: bool,
2693 ExchangeID: String,
2694 TraderID: String,
2695 ParticipantID: String,
2696 Password: String,
2697 InstallID: i32,
2698 OrderLocalID: String,
2699 TraderConnectStatus: u8,
2700 ConnectRequestDate: String,
2701 ConnectRequestTime: String,
2702 LastReportDate: String,
2703 LastReportTime: String,
2704 ConnectDate: String,
2705 ConnectTime: String,
2706 StartDate: String,
2707 StartTime: String,
2708 TradingDay: String,
2709 BrokerID: String,
2710 MaxTradeID: String,
2711 MaxOrderMessageReference: Vec<u8>,
2712 OrderCancelAlg: u8,
2713 }
2714 #[derive(Debug, Clone, Default)]
2715 struct SettlementInfoField {
2716 is_null: bool,
2717 TradingDay: String,
2718 SettlementID: i32,
2719 BrokerID: String,
2720 InvestorID: String,
2721 SequenceNo: i32,
2722 Content: Vec<u8>,
2723 AccountID: String,
2724 CurrencyID: String,
2725 }
2726 #[derive(Debug, Clone, Default)]
2727 struct InstrumentMarginRateAdjustField {
2728 is_null: bool,
2729 InvestorRange: u8,
2730 BrokerID: String,
2731 InvestorID: String,
2732 HedgeFlag: u8,
2733 LongMarginRatioByMoney: f64,
2734 LongMarginRatioByVolume: f64,
2735 ShortMarginRatioByMoney: f64,
2736 ShortMarginRatioByVolume: f64,
2737 IsRelative: i32,
2738 InstrumentID: String,
2739 }
2740 #[derive(Debug, Clone, Default)]
2741 struct ExchangeMarginRateField {
2742 is_null: bool,
2743 BrokerID: String,
2744 HedgeFlag: u8,
2745 LongMarginRatioByMoney: f64,
2746 LongMarginRatioByVolume: f64,
2747 ShortMarginRatioByMoney: f64,
2748 ShortMarginRatioByVolume: f64,
2749 ExchangeID: String,
2750 InstrumentID: String,
2751 }
2752 #[derive(Debug, Clone, Default)]
2753 struct ExchangeMarginRateAdjustField {
2754 is_null: bool,
2755 BrokerID: String,
2756 HedgeFlag: u8,
2757 LongMarginRatioByMoney: f64,
2758 LongMarginRatioByVolume: f64,
2759 ShortMarginRatioByMoney: f64,
2760 ShortMarginRatioByVolume: f64,
2761 ExchLongMarginRatioByMoney: f64,
2762 ExchLongMarginRatioByVolume: f64,
2763 ExchShortMarginRatioByMoney: f64,
2764 ExchShortMarginRatioByVolume: f64,
2765 NoLongMarginRatioByMoney: f64,
2766 NoLongMarginRatioByVolume: f64,
2767 NoShortMarginRatioByMoney: f64,
2768 NoShortMarginRatioByVolume: f64,
2769 InstrumentID: String,
2770 }
2771 #[derive(Debug, Clone, Default)]
2772 struct ExchangeRateField {
2773 is_null: bool,
2774 BrokerID: String,
2775 FromCurrencyID: String,
2776 FromCurrencyUnit: f64,
2777 ToCurrencyID: String,
2778 ExchangeRate: f64,
2779 }
2780 #[derive(Debug, Clone, Default)]
2781 struct SettlementRefField {
2782 is_null: bool,
2783 TradingDay: String,
2784 SettlementID: i32,
2785 }
2786 #[derive(Debug, Clone, Default)]
2787 struct CurrentTimeField {
2788 is_null: bool,
2789 CurrDate: String,
2790 CurrTime: String,
2791 CurrMillisec: i32,
2792 ActionDay: String,
2793 }
2794 #[derive(Debug, Clone, Default)]
2795 struct CommPhaseField {
2796 is_null: bool,
2797 TradingDay: String,
2798 CommPhaseNo: u16,
2799 SystemID: String,
2800 }
2801 #[derive(Debug, Clone, Default)]
2802 struct LoginInfoField {
2803 is_null: bool,
2804 FrontID: i32,
2805 SessionID: i32,
2806 BrokerID: String,
2807 UserID: String,
2808 LoginDate: String,
2809 LoginTime: String,
2810 UserProductInfo: String,
2811 InterfaceProductInfo: String,
2812 ProtocolInfo: String,
2813 SystemName: String,
2814 PasswordDeprecated: Vec<u8>,
2815 MaxOrderRef: String,
2816 SHFETime: String,
2817 DCETime: String,
2818 CZCETime: String,
2819 FFEXTime: String,
2820 MacAddress: String,
2821 OneTimePassword: String,
2822 INETime: String,
2823 IsQryControl: i32,
2824 LoginRemark: String,
2825 Password: String,
2826 IPAddress: String,
2827 }
2828 #[derive(Debug, Clone, Default)]
2829 struct LogoutAllField {
2830 is_null: bool,
2831 FrontID: i32,
2832 SessionID: i32,
2833 SystemName: String,
2834 }
2835 #[derive(Debug, Clone, Default)]
2836 struct FrontStatusField {
2837 is_null: bool,
2838 FrontID: i32,
2839 LastReportDate: String,
2840 LastReportTime: String,
2841 IsActive: i32,
2842 }
2843 #[derive(Debug, Clone, Default)]
2844 struct UserPasswordUpdateField {
2845 is_null: bool,
2846 BrokerID: String,
2847 UserID: String,
2848 OldPassword: String,
2849 NewPassword: String,
2850 }
2851 #[derive(Debug, Clone, Default)]
2852 struct InputOrderField {
2853 is_null: bool,
2854 BrokerID: String,
2855 InvestorID: String,
2856 OrderRef: String,
2857 UserID: String,
2858 OrderPriceType: u8,
2859 Direction: u8,
2860 CombOffsetFlag: String,
2861 CombHedgeFlag: String,
2862 LimitPrice: f64,
2863 VolumeTotalOriginal: i32,
2864 TimeCondition: u8,
2865 GTDDate: String,
2866 VolumeCondition: u8,
2867 MinVolume: i32,
2868 ContingentCondition: u8,
2869 StopPrice: f64,
2870 ForceCloseReason: u8,
2871 IsAutoSuspend: i32,
2872 BusinessUnit: String,
2873 RequestID: i32,
2874 UserForceClose: i32,
2875 IsSwapOrder: i32,
2876 ExchangeID: String,
2877 InvestUnitID: String,
2878 AccountID: String,
2879 CurrencyID: String,
2880 ClientID: String,
2881 MacAddress: String,
2882 InstrumentID: String,
2883 IPAddress: String,
2884 OrderMemo: String,
2885 SessionReqSeq: i32,
2886 }
2887 #[derive(Debug, Clone, Default)]
2888 struct OrderField {
2889 is_null: bool,
2890 BrokerID: String,
2891 InvestorID: String,
2892 OrderRef: String,
2893 UserID: String,
2894 OrderPriceType: u8,
2895 Direction: u8,
2896 CombOffsetFlag: String,
2897 CombHedgeFlag: String,
2898 LimitPrice: f64,
2899 VolumeTotalOriginal: i32,
2900 TimeCondition: u8,
2901 GTDDate: String,
2902 VolumeCondition: u8,
2903 MinVolume: i32,
2904 ContingentCondition: u8,
2905 StopPrice: f64,
2906 ForceCloseReason: u8,
2907 IsAutoSuspend: i32,
2908 BusinessUnit: String,
2909 RequestID: i32,
2910 OrderLocalID: String,
2911 ExchangeID: String,
2912 ParticipantID: String,
2913 ClientID: String,
2914 TraderID: String,
2915 InstallID: i32,
2916 OrderSubmitStatus: u8,
2917 NotifySequence: i32,
2918 TradingDay: String,
2919 SettlementID: i32,
2920 OrderSysID: String,
2921 OrderSource: u8,
2922 OrderStatus: u8,
2923 OrderType: u8,
2924 VolumeTraded: i32,
2925 VolumeTotal: i32,
2926 InsertDate: String,
2927 InsertTime: String,
2928 ActiveTime: String,
2929 SuspendTime: String,
2930 UpdateTime: String,
2931 CancelTime: String,
2932 ActiveTraderID: String,
2933 ClearingPartID: String,
2934 SequenceNo: i32,
2935 FrontID: i32,
2936 SessionID: i32,
2937 UserProductInfo: String,
2938 StatusMsg: String,
2939 UserForceClose: i32,
2940 ActiveUserID: String,
2941 BrokerOrderSeq: i32,
2942 RelativeOrderSysID: String,
2943 ZCETotalTradedVolume: i32,
2944 IsSwapOrder: i32,
2945 BranchID: String,
2946 InvestUnitID: String,
2947 AccountID: String,
2948 CurrencyID: String,
2949 MacAddress: String,
2950 InstrumentID: String,
2951 ExchangeInstID: String,
2952 IPAddress: String,
2953 OrderMemo: String,
2954 SessionReqSeq: i32,
2955 }
2956 #[derive(Debug, Clone, Default)]
2957 struct ExchangeOrderField {
2958 is_null: bool,
2959 OrderPriceType: u8,
2960 Direction: u8,
2961 CombOffsetFlag: String,
2962 CombHedgeFlag: String,
2963 LimitPrice: f64,
2964 VolumeTotalOriginal: i32,
2965 TimeCondition: u8,
2966 GTDDate: String,
2967 VolumeCondition: u8,
2968 MinVolume: i32,
2969 ContingentCondition: u8,
2970 StopPrice: f64,
2971 ForceCloseReason: u8,
2972 IsAutoSuspend: i32,
2973 BusinessUnit: String,
2974 RequestID: i32,
2975 OrderLocalID: String,
2976 ExchangeID: String,
2977 ParticipantID: String,
2978 ClientID: String,
2979 TraderID: String,
2980 InstallID: i32,
2981 OrderSubmitStatus: u8,
2982 NotifySequence: i32,
2983 TradingDay: String,
2984 SettlementID: i32,
2985 OrderSysID: String,
2986 OrderSource: u8,
2987 OrderStatus: u8,
2988 OrderType: u8,
2989 VolumeTraded: i32,
2990 VolumeTotal: i32,
2991 InsertDate: String,
2992 InsertTime: String,
2993 ActiveTime: String,
2994 SuspendTime: String,
2995 UpdateTime: String,
2996 CancelTime: String,
2997 ActiveTraderID: String,
2998 ClearingPartID: String,
2999 SequenceNo: i32,
3000 BranchID: String,
3001 MacAddress: String,
3002 ExchangeInstID: String,
3003 IPAddress: String,
3004 }
3005 #[derive(Debug, Clone, Default)]
3006 struct ExchangeOrderInsertErrorField {
3007 is_null: bool,
3008 ExchangeID: String,
3009 ParticipantID: String,
3010 TraderID: String,
3011 InstallID: i32,
3012 OrderLocalID: String,
3013 ErrorID: i32,
3014 ErrorMsg: String,
3015 }
3016 #[derive(Debug, Clone, Default)]
3017 struct InputOrderActionField {
3018 is_null: bool,
3019 BrokerID: String,
3020 InvestorID: String,
3021 OrderActionRef: i32,
3022 OrderRef: String,
3023 RequestID: i32,
3024 FrontID: i32,
3025 SessionID: i32,
3026 ExchangeID: String,
3027 OrderSysID: String,
3028 ActionFlag: u8,
3029 LimitPrice: f64,
3030 VolumeChange: i32,
3031 UserID: String,
3032 InvestUnitID: String,
3033 MacAddress: String,
3034 InstrumentID: String,
3035 IPAddress: String,
3036 OrderMemo: String,
3037 SessionReqSeq: i32,
3038 }
3039 #[derive(Debug, Clone, Default)]
3040 struct OrderActionField {
3041 is_null: bool,
3042 BrokerID: String,
3043 InvestorID: String,
3044 OrderActionRef: i32,
3045 OrderRef: String,
3046 RequestID: i32,
3047 FrontID: i32,
3048 SessionID: i32,
3049 ExchangeID: String,
3050 OrderSysID: String,
3051 ActionFlag: u8,
3052 LimitPrice: f64,
3053 VolumeChange: i32,
3054 ActionDate: String,
3055 ActionTime: String,
3056 TraderID: String,
3057 InstallID: i32,
3058 OrderLocalID: String,
3059 ActionLocalID: String,
3060 ParticipantID: String,
3061 ClientID: String,
3062 BusinessUnit: String,
3063 OrderActionStatus: u8,
3064 UserID: String,
3065 StatusMsg: String,
3066 BranchID: String,
3067 InvestUnitID: String,
3068 MacAddress: String,
3069 InstrumentID: String,
3070 IPAddress: String,
3071 OrderMemo: String,
3072 SessionReqSeq: i32,
3073 }
3074 #[derive(Debug, Clone, Default)]
3075 struct ExchangeOrderActionField {
3076 is_null: bool,
3077 ExchangeID: String,
3078 OrderSysID: String,
3079 ActionFlag: u8,
3080 LimitPrice: f64,
3081 VolumeChange: i32,
3082 ActionDate: String,
3083 ActionTime: String,
3084 TraderID: String,
3085 InstallID: i32,
3086 OrderLocalID: String,
3087 ActionLocalID: String,
3088 ParticipantID: String,
3089 ClientID: String,
3090 BusinessUnit: String,
3091 OrderActionStatus: u8,
3092 UserID: String,
3093 BranchID: String,
3094 MacAddress: String,
3095 IPAddress: String,
3096 }
3097 #[derive(Debug, Clone, Default)]
3098 struct ExchangeOrderActionErrorField {
3099 is_null: bool,
3100 ExchangeID: String,
3101 OrderSysID: String,
3102 TraderID: String,
3103 InstallID: i32,
3104 OrderLocalID: String,
3105 ActionLocalID: String,
3106 ErrorID: i32,
3107 ErrorMsg: String,
3108 }
3109 #[derive(Debug, Clone, Default)]
3110 struct ExchangeTradeField {
3111 is_null: bool,
3112 ExchangeID: String,
3113 TradeID: String,
3114 Direction: u8,
3115 OrderSysID: String,
3116 ParticipantID: String,
3117 ClientID: String,
3118 TradingRole: u8,
3119 OffsetFlag: u8,
3120 HedgeFlag: u8,
3121 Price: f64,
3122 Volume: i32,
3123 TradeDate: String,
3124 TradeTime: String,
3125 TradeType: u8,
3126 PriceSource: u8,
3127 TraderID: String,
3128 OrderLocalID: String,
3129 ClearingPartID: String,
3130 BusinessUnit: String,
3131 SequenceNo: i32,
3132 TradeSource: u8,
3133 ExchangeInstID: String,
3134 }
3135 #[derive(Debug, Clone, Default)]
3136 struct TradeField {
3137 is_null: bool,
3138 BrokerID: String,
3139 InvestorID: String,
3140 OrderRef: String,
3141 UserID: String,
3142 ExchangeID: String,
3143 TradeID: String,
3144 Direction: u8,
3145 OrderSysID: String,
3146 ParticipantID: String,
3147 ClientID: String,
3148 TradingRole: u8,
3149 OffsetFlag: u8,
3150 HedgeFlag: u8,
3151 Price: f64,
3152 Volume: i32,
3153 TradeDate: String,
3154 TradeTime: String,
3155 TradeType: u8,
3156 PriceSource: u8,
3157 TraderID: String,
3158 OrderLocalID: String,
3159 ClearingPartID: String,
3160 BusinessUnit: String,
3161 SequenceNo: i32,
3162 TradingDay: String,
3163 SettlementID: i32,
3164 BrokerOrderSeq: i32,
3165 TradeSource: u8,
3166 InvestUnitID: String,
3167 InstrumentID: String,
3168 ExchangeInstID: String,
3169 }
3170 #[derive(Debug, Clone, Default)]
3171 struct UserSessionField {
3172 is_null: bool,
3173 FrontID: i32,
3174 SessionID: i32,
3175 BrokerID: String,
3176 UserID: String,
3177 LoginDate: String,
3178 LoginTime: String,
3179 UserProductInfo: String,
3180 InterfaceProductInfo: String,
3181 ProtocolInfo: String,
3182 MacAddress: String,
3183 LoginRemark: String,
3184 IPAddress: String,
3185 }
3186 #[derive(Debug, Clone, Default)]
3187 struct QryMaxOrderVolumeField {
3188 is_null: bool,
3189 BrokerID: String,
3190 InvestorID: String,
3191 Direction: u8,
3192 OffsetFlag: u8,
3193 HedgeFlag: u8,
3194 MaxVolume: i32,
3195 ExchangeID: String,
3196 InvestUnitID: String,
3197 InstrumentID: String,
3198 }
3199 #[derive(Debug, Clone, Default)]
3200 struct SettlementInfoConfirmField {
3201 is_null: bool,
3202 BrokerID: String,
3203 InvestorID: String,
3204 ConfirmDate: String,
3205 ConfirmTime: String,
3206 SettlementID: i32,
3207 AccountID: String,
3208 CurrencyID: String,
3209 }
3210 #[derive(Debug, Clone, Default)]
3211 struct SyncDepositField {
3212 is_null: bool,
3213 DepositSeqNo: Vec<u8>,
3214 BrokerID: String,
3215 InvestorID: String,
3216 Deposit: f64,
3217 IsForce: i32,
3218 CurrencyID: String,
3219 IsFromSopt: i32,
3220 TradingPassword: String,
3221 IsSecAgentTranfer: i32,
3222 }
3223 #[derive(Debug, Clone, Default)]
3224 struct SyncFundMortgageField {
3225 is_null: bool,
3226 MortgageSeqNo: Vec<u8>,
3227 BrokerID: String,
3228 InvestorID: String,
3229 FromCurrencyID: String,
3230 MortgageAmount: f64,
3231 ToCurrencyID: String,
3232 }
3233 #[derive(Debug, Clone, Default)]
3234 struct BrokerSyncField {
3235 is_null: bool,
3236 BrokerID: String,
3237 }
3238 #[derive(Debug, Clone, Default)]
3239 struct SyncingInvestorField {
3240 is_null: bool,
3241 InvestorID: String,
3242 BrokerID: String,
3243 InvestorGroupID: String,
3244 InvestorName: String,
3245 IdentifiedCardType: u8,
3246 IdentifiedCardNo: String,
3247 IsActive: i32,
3248 Telephone: String,
3249 Address: String,
3250 OpenDate: String,
3251 Mobile: String,
3252 CommModelID: String,
3253 MarginModelID: String,
3254 IsOrderFreq: u8,
3255 IsOpenVolLimit: u8,
3256 }
3257 #[derive(Debug, Clone, Default)]
3258 struct SyncingTradingCodeField {
3259 is_null: bool,
3260 InvestorID: String,
3261 BrokerID: String,
3262 ExchangeID: String,
3263 ClientID: String,
3264 IsActive: i32,
3265 ClientIDType: u8,
3266 }
3267 #[derive(Debug, Clone, Default)]
3268 struct SyncingInvestorGroupField {
3269 is_null: bool,
3270 BrokerID: String,
3271 InvestorGroupID: String,
3272 InvestorGroupName: String,
3273 }
3274 #[derive(Debug, Clone, Default)]
3275 struct SyncingTradingAccountField {
3276 is_null: bool,
3277 BrokerID: String,
3278 AccountID: String,
3279 PreMortgage: f64,
3280 PreCredit: f64,
3281 PreDeposit: f64,
3282 PreBalance: f64,
3283 PreMargin: f64,
3284 InterestBase: f64,
3285 Interest: f64,
3286 Deposit: f64,
3287 Withdraw: f64,
3288 FrozenMargin: f64,
3289 FrozenCash: f64,
3290 FrozenCommission: f64,
3291 CurrMargin: f64,
3292 CashIn: f64,
3293 Commission: f64,
3294 CloseProfit: f64,
3295 PositionProfit: f64,
3296 Balance: f64,
3297 Available: f64,
3298 WithdrawQuota: f64,
3299 Reserve: f64,
3300 TradingDay: String,
3301 SettlementID: i32,
3302 Credit: f64,
3303 Mortgage: f64,
3304 ExchangeMargin: f64,
3305 DeliveryMargin: f64,
3306 ExchangeDeliveryMargin: f64,
3307 ReserveBalance: f64,
3308 CurrencyID: String,
3309 PreFundMortgageIn: f64,
3310 PreFundMortgageOut: f64,
3311 FundMortgageIn: f64,
3312 FundMortgageOut: f64,
3313 FundMortgageAvailable: f64,
3314 MortgageableFund: f64,
3315 SpecProductMargin: f64,
3316 SpecProductFrozenMargin: f64,
3317 SpecProductCommission: f64,
3318 SpecProductFrozenCommission: f64,
3319 SpecProductPositionProfit: f64,
3320 SpecProductCloseProfit: f64,
3321 SpecProductPositionProfitByAlg: f64,
3322 SpecProductExchangeMargin: f64,
3323 FrozenSwap: f64,
3324 RemainSwap: f64,
3325 OptionValue: f64,
3326 }
3327 #[derive(Debug, Clone, Default)]
3328 struct SyncingInvestorPositionField {
3329 is_null: bool,
3330 BrokerID: String,
3331 InvestorID: String,
3332 PosiDirection: u8,
3333 HedgeFlag: u8,
3334 PositionDate: u8,
3335 YdPosition: i32,
3336 Position: i32,
3337 LongFrozen: i32,
3338 ShortFrozen: i32,
3339 LongFrozenAmount: f64,
3340 ShortFrozenAmount: f64,
3341 OpenVolume: i32,
3342 CloseVolume: i32,
3343 OpenAmount: f64,
3344 CloseAmount: f64,
3345 PositionCost: f64,
3346 PreMargin: f64,
3347 UseMargin: f64,
3348 FrozenMargin: f64,
3349 FrozenCash: f64,
3350 FrozenCommission: f64,
3351 CashIn: f64,
3352 Commission: f64,
3353 CloseProfit: f64,
3354 PositionProfit: f64,
3355 PreSettlementPrice: f64,
3356 SettlementPrice: f64,
3357 TradingDay: String,
3358 SettlementID: i32,
3359 OpenCost: f64,
3360 ExchangeMargin: f64,
3361 CombPosition: i32,
3362 CombLongFrozen: i32,
3363 CombShortFrozen: i32,
3364 CloseProfitByDate: f64,
3365 CloseProfitByTrade: f64,
3366 TodayPosition: i32,
3367 MarginRateByMoney: f64,
3368 MarginRateByVolume: f64,
3369 StrikeFrozen: i32,
3370 StrikeFrozenAmount: f64,
3371 AbandonFrozen: i32,
3372 ExchangeID: String,
3373 YdStrikeFrozen: i32,
3374 InvestUnitID: String,
3375 PositionCostOffset: f64,
3376 TasPosition: i32,
3377 TasPositionCost: f64,
3378 InstrumentID: String,
3379 }
3380 #[derive(Debug, Clone, Default)]
3381 struct SyncingInstrumentMarginRateField {
3382 is_null: bool,
3383 InvestorRange: u8,
3384 BrokerID: String,
3385 InvestorID: String,
3386 HedgeFlag: u8,
3387 LongMarginRatioByMoney: f64,
3388 LongMarginRatioByVolume: f64,
3389 ShortMarginRatioByMoney: f64,
3390 ShortMarginRatioByVolume: f64,
3391 IsRelative: i32,
3392 InstrumentID: String,
3393 }
3394 #[derive(Debug, Clone, Default)]
3395 struct SyncingInstrumentCommissionRateField {
3396 is_null: bool,
3397 InvestorRange: u8,
3398 BrokerID: String,
3399 InvestorID: String,
3400 OpenRatioByMoney: f64,
3401 OpenRatioByVolume: f64,
3402 CloseRatioByMoney: f64,
3403 CloseRatioByVolume: f64,
3404 CloseTodayRatioByMoney: f64,
3405 CloseTodayRatioByVolume: f64,
3406 InstrumentID: String,
3407 }
3408 #[derive(Debug, Clone, Default)]
3409 struct SyncingInstrumentTradingRightField {
3410 is_null: bool,
3411 InvestorRange: u8,
3412 BrokerID: String,
3413 InvestorID: String,
3414 TradingRight: u8,
3415 InstrumentID: String,
3416 }
3417 #[derive(Debug, Clone, Default)]
3418 struct QryOrderField {
3419 is_null: bool,
3420 BrokerID: String,
3421 InvestorID: String,
3422 ExchangeID: String,
3423 OrderSysID: String,
3424 InsertTimeStart: String,
3425 InsertTimeEnd: String,
3426 InvestUnitID: String,
3427 InstrumentID: String,
3428 }
3429 #[derive(Debug, Clone, Default)]
3430 struct QryTradeField {
3431 is_null: bool,
3432 BrokerID: String,
3433 InvestorID: String,
3434 ExchangeID: String,
3435 TradeID: String,
3436 TradeTimeStart: String,
3437 TradeTimeEnd: String,
3438 InvestUnitID: String,
3439 InstrumentID: String,
3440 }
3441 #[derive(Debug, Clone, Default)]
3442 struct QryInvestorPositionField {
3443 is_null: bool,
3444 BrokerID: String,
3445 InvestorID: String,
3446 ExchangeID: String,
3447 InvestUnitID: String,
3448 InstrumentID: String,
3449 }
3450 #[derive(Debug, Clone, Default)]
3451 struct QryTradingAccountField {
3452 is_null: bool,
3453 BrokerID: String,
3454 InvestorID: String,
3455 CurrencyID: String,
3456 BizType: u8,
3457 AccountID: String,
3458 }
3459 #[derive(Debug, Clone, Default)]
3460 struct QryInvestorField {
3461 is_null: bool,
3462 BrokerID: String,
3463 InvestorID: String,
3464 }
3465 #[derive(Debug, Clone, Default)]
3466 struct QryTradingCodeField {
3467 is_null: bool,
3468 BrokerID: String,
3469 InvestorID: String,
3470 ExchangeID: String,
3471 ClientID: String,
3472 ClientIDType: u8,
3473 InvestUnitID: String,
3474 }
3475 #[derive(Debug, Clone, Default)]
3476 struct QryInvestorGroupField {
3477 is_null: bool,
3478 BrokerID: String,
3479 }
3480 #[derive(Debug, Clone, Default)]
3481 struct QryInstrumentMarginRateField {
3482 is_null: bool,
3483 BrokerID: String,
3484 InvestorID: String,
3485 HedgeFlag: u8,
3486 ExchangeID: String,
3487 InvestUnitID: String,
3488 InstrumentID: String,
3489 }
3490 #[derive(Debug, Clone, Default)]
3491 struct QryInstrumentCommissionRateField {
3492 is_null: bool,
3493 BrokerID: String,
3494 InvestorID: String,
3495 ExchangeID: String,
3496 InvestUnitID: String,
3497 InstrumentID: String,
3498 }
3499 #[derive(Debug, Clone, Default)]
3500 struct QryInstrumentTradingRightField {
3501 is_null: bool,
3502 BrokerID: String,
3503 InvestorID: String,
3504 InstrumentID: String,
3505 }
3506 #[derive(Debug, Clone, Default)]
3507 struct QryBrokerField {
3508 is_null: bool,
3509 BrokerID: String,
3510 }
3511 #[derive(Debug, Clone, Default)]
3512 struct QryTraderField {
3513 is_null: bool,
3514 ExchangeID: String,
3515 ParticipantID: String,
3516 TraderID: String,
3517 }
3518 #[derive(Debug, Clone, Default)]
3519 struct QrySuperUserFunctionField {
3520 is_null: bool,
3521 UserID: String,
3522 }
3523 #[derive(Debug, Clone, Default)]
3524 struct QryUserSessionField {
3525 is_null: bool,
3526 FrontID: i32,
3527 SessionID: i32,
3528 BrokerID: String,
3529 UserID: String,
3530 }
3531 #[derive(Debug, Clone, Default)]
3532 struct QryPartBrokerField {
3533 is_null: bool,
3534 ExchangeID: String,
3535 BrokerID: String,
3536 ParticipantID: String,
3537 }
3538 #[derive(Debug, Clone, Default)]
3539 struct QryFrontStatusField {
3540 is_null: bool,
3541 FrontID: i32,
3542 }
3543 #[derive(Debug, Clone, Default)]
3544 struct QryExchangeOrderField {
3545 is_null: bool,
3546 ParticipantID: String,
3547 ClientID: String,
3548 ExchangeID: String,
3549 TraderID: String,
3550 ExchangeInstID: String,
3551 }
3552 #[derive(Debug, Clone, Default)]
3553 struct QryOrderActionField {
3554 is_null: bool,
3555 BrokerID: String,
3556 InvestorID: String,
3557 ExchangeID: String,
3558 }
3559 #[derive(Debug, Clone, Default)]
3560 struct QryExchangeOrderActionField {
3561 is_null: bool,
3562 ParticipantID: String,
3563 ClientID: String,
3564 ExchangeID: String,
3565 TraderID: String,
3566 }
3567 #[derive(Debug, Clone, Default)]
3568 struct QrySuperUserField {
3569 is_null: bool,
3570 UserID: String,
3571 }
3572 #[derive(Debug, Clone, Default)]
3573 struct QryExchangeField {
3574 is_null: bool,
3575 ExchangeID: String,
3576 }
3577 #[derive(Debug, Clone, Default)]
3578 struct QryProductField {
3579 is_null: bool,
3580 ProductClass: u8,
3581 ExchangeID: String,
3582 ProductID: String,
3583 }
3584 #[derive(Debug, Clone, Default)]
3585 struct QryInstrumentField {
3586 is_null: bool,
3587 ExchangeID: String,
3588 InstrumentID: String,
3589 ExchangeInstID: String,
3590 ProductID: String,
3591 }
3592 #[derive(Debug, Clone, Default)]
3593 struct QryDepthMarketDataField {
3594 is_null: bool,
3595 ExchangeID: String,
3596 InstrumentID: String,
3597 ProductClass: u8,
3598 }
3599 #[derive(Debug, Clone, Default)]
3600 struct QryBrokerUserField {
3601 is_null: bool,
3602 BrokerID: String,
3603 UserID: String,
3604 }
3605 #[derive(Debug, Clone, Default)]
3606 struct QryBrokerUserFunctionField {
3607 is_null: bool,
3608 BrokerID: String,
3609 UserID: String,
3610 }
3611 #[derive(Debug, Clone, Default)]
3612 struct QryTraderOfferField {
3613 is_null: bool,
3614 ExchangeID: String,
3615 ParticipantID: String,
3616 TraderID: String,
3617 }
3618 #[derive(Debug, Clone, Default)]
3619 struct QrySyncDepositField {
3620 is_null: bool,
3621 BrokerID: String,
3622 DepositSeqNo: Vec<u8>,
3623 }
3624 #[derive(Debug, Clone, Default)]
3625 struct QrySettlementInfoField {
3626 is_null: bool,
3627 BrokerID: String,
3628 InvestorID: String,
3629 TradingDay: String,
3630 AccountID: String,
3631 CurrencyID: String,
3632 }
3633 #[derive(Debug, Clone, Default)]
3634 struct QryExchangeMarginRateField {
3635 is_null: bool,
3636 BrokerID: String,
3637 HedgeFlag: u8,
3638 ExchangeID: String,
3639 InstrumentID: String,
3640 }
3641 #[derive(Debug, Clone, Default)]
3642 struct QryExchangeMarginRateAdjustField {
3643 is_null: bool,
3644 BrokerID: String,
3645 HedgeFlag: u8,
3646 InstrumentID: String,
3647 }
3648 #[derive(Debug, Clone, Default)]
3649 struct QryExchangeRateField {
3650 is_null: bool,
3651 BrokerID: String,
3652 FromCurrencyID: String,
3653 ToCurrencyID: String,
3654 }
3655 #[derive(Debug, Clone, Default)]
3656 struct QrySyncFundMortgageField {
3657 is_null: bool,
3658 BrokerID: String,
3659 MortgageSeqNo: Vec<u8>,
3660 }
3661 #[derive(Debug, Clone, Default)]
3662 struct QryHisOrderField {
3663 is_null: bool,
3664 BrokerID: String,
3665 InvestorID: String,
3666 ExchangeID: String,
3667 OrderSysID: String,
3668 InsertTimeStart: String,
3669 InsertTimeEnd: String,
3670 TradingDay: String,
3671 SettlementID: i32,
3672 InstrumentID: String,
3673 }
3674 #[derive(Debug, Clone, Default)]
3675 struct OptionInstrMiniMarginField {
3676 is_null: bool,
3677 InvestorRange: u8,
3678 BrokerID: String,
3679 InvestorID: String,
3680 MinMargin: f64,
3681 ValueMethod: u8,
3682 IsRelative: i32,
3683 InstrumentID: String,
3684 }
3685 #[derive(Debug, Clone, Default)]
3686 struct OptionInstrMarginAdjustField {
3687 is_null: bool,
3688 InvestorRange: u8,
3689 BrokerID: String,
3690 InvestorID: String,
3691 SShortMarginRatioByMoney: f64,
3692 SShortMarginRatioByVolume: f64,
3693 HShortMarginRatioByMoney: f64,
3694 HShortMarginRatioByVolume: f64,
3695 AShortMarginRatioByMoney: f64,
3696 AShortMarginRatioByVolume: f64,
3697 IsRelative: i32,
3698 MShortMarginRatioByMoney: f64,
3699 MShortMarginRatioByVolume: f64,
3700 InstrumentID: String,
3701 }
3702 #[derive(Debug, Clone, Default)]
3703 struct OptionInstrCommRateField {
3704 is_null: bool,
3705 InvestorRange: u8,
3706 BrokerID: String,
3707 InvestorID: String,
3708 OpenRatioByMoney: f64,
3709 OpenRatioByVolume: f64,
3710 CloseRatioByMoney: f64,
3711 CloseRatioByVolume: f64,
3712 CloseTodayRatioByMoney: f64,
3713 CloseTodayRatioByVolume: f64,
3714 StrikeRatioByMoney: f64,
3715 StrikeRatioByVolume: f64,
3716 ExchangeID: String,
3717 InvestUnitID: String,
3718 InstrumentID: String,
3719 }
3720 #[derive(Debug, Clone, Default)]
3721 struct OptionInstrTradeCostField {
3722 is_null: bool,
3723 BrokerID: String,
3724 InvestorID: String,
3725 HedgeFlag: u8,
3726 FixedMargin: f64,
3727 MiniMargin: f64,
3728 Royalty: f64,
3729 ExchFixedMargin: f64,
3730 ExchMiniMargin: f64,
3731 ExchangeID: String,
3732 InvestUnitID: String,
3733 InstrumentID: String,
3734 }
3735 #[derive(Debug, Clone, Default)]
3736 struct QryOptionInstrTradeCostField {
3737 is_null: bool,
3738 BrokerID: String,
3739 InvestorID: String,
3740 HedgeFlag: u8,
3741 InputPrice: f64,
3742 UnderlyingPrice: f64,
3743 ExchangeID: String,
3744 InvestUnitID: String,
3745 InstrumentID: String,
3746 }
3747 #[derive(Debug, Clone, Default)]
3748 struct QryOptionInstrCommRateField {
3749 is_null: bool,
3750 BrokerID: String,
3751 InvestorID: String,
3752 ExchangeID: String,
3753 InvestUnitID: String,
3754 InstrumentID: String,
3755 }
3756 #[derive(Debug, Clone, Default)]
3757 struct IndexPriceField {
3758 is_null: bool,
3759 BrokerID: String,
3760 ClosePrice: f64,
3761 InstrumentID: String,
3762 }
3763 #[derive(Debug, Clone, Default)]
3764 struct InputExecOrderField {
3765 is_null: bool,
3766 BrokerID: String,
3767 InvestorID: String,
3768 ExecOrderRef: String,
3769 UserID: String,
3770 Volume: i32,
3771 RequestID: i32,
3772 BusinessUnit: String,
3773 OffsetFlag: u8,
3774 HedgeFlag: u8,
3775 ActionType: u8,
3776 PosiDirection: u8,
3777 ReservePositionFlag: u8,
3778 CloseFlag: u8,
3779 ExchangeID: String,
3780 InvestUnitID: String,
3781 AccountID: String,
3782 CurrencyID: String,
3783 ClientID: String,
3784 MacAddress: String,
3785 InstrumentID: String,
3786 IPAddress: String,
3787 }
3788 #[derive(Debug, Clone, Default)]
3789 struct InputExecOrderActionField {
3790 is_null: bool,
3791 BrokerID: String,
3792 InvestorID: String,
3793 ExecOrderActionRef: i32,
3794 ExecOrderRef: String,
3795 RequestID: i32,
3796 FrontID: i32,
3797 SessionID: i32,
3798 ExchangeID: String,
3799 ExecOrderSysID: String,
3800 ActionFlag: u8,
3801 UserID: String,
3802 InvestUnitID: String,
3803 MacAddress: String,
3804 InstrumentID: String,
3805 IPAddress: String,
3806 }
3807 #[derive(Debug, Clone, Default)]
3808 struct ExecOrderField {
3809 is_null: bool,
3810 BrokerID: String,
3811 InvestorID: String,
3812 ExecOrderRef: String,
3813 UserID: String,
3814 Volume: i32,
3815 RequestID: i32,
3816 BusinessUnit: String,
3817 OffsetFlag: u8,
3818 HedgeFlag: u8,
3819 ActionType: u8,
3820 PosiDirection: u8,
3821 ReservePositionFlag: u8,
3822 CloseFlag: u8,
3823 ExecOrderLocalID: String,
3824 ExchangeID: String,
3825 ParticipantID: String,
3826 ClientID: String,
3827 TraderID: String,
3828 InstallID: i32,
3829 OrderSubmitStatus: u8,
3830 NotifySequence: i32,
3831 TradingDay: String,
3832 SettlementID: i32,
3833 ExecOrderSysID: String,
3834 InsertDate: String,
3835 InsertTime: String,
3836 CancelTime: String,
3837 ExecResult: u8,
3838 ClearingPartID: String,
3839 SequenceNo: i32,
3840 FrontID: i32,
3841 SessionID: i32,
3842 UserProductInfo: String,
3843 StatusMsg: String,
3844 ActiveUserID: String,
3845 BrokerExecOrderSeq: i32,
3846 BranchID: String,
3847 InvestUnitID: String,
3848 AccountID: String,
3849 CurrencyID: String,
3850 MacAddress: String,
3851 InstrumentID: String,
3852 ExchangeInstID: String,
3853 IPAddress: String,
3854 }
3855 #[derive(Debug, Clone, Default)]
3856 struct ExecOrderActionField {
3857 is_null: bool,
3858 BrokerID: String,
3859 InvestorID: String,
3860 ExecOrderActionRef: i32,
3861 ExecOrderRef: String,
3862 RequestID: i32,
3863 FrontID: i32,
3864 SessionID: i32,
3865 ExchangeID: String,
3866 ExecOrderSysID: String,
3867 ActionFlag: u8,
3868 ActionDate: String,
3869 ActionTime: String,
3870 TraderID: String,
3871 InstallID: i32,
3872 ExecOrderLocalID: String,
3873 ActionLocalID: String,
3874 ParticipantID: String,
3875 ClientID: String,
3876 BusinessUnit: String,
3877 OrderActionStatus: u8,
3878 UserID: String,
3879 ActionType: u8,
3880 StatusMsg: String,
3881 BranchID: String,
3882 InvestUnitID: String,
3883 MacAddress: String,
3884 InstrumentID: String,
3885 IPAddress: String,
3886 }
3887 #[derive(Debug, Clone, Default)]
3888 struct QryExecOrderField {
3889 is_null: bool,
3890 BrokerID: String,
3891 InvestorID: String,
3892 ExchangeID: String,
3893 ExecOrderSysID: String,
3894 InsertTimeStart: String,
3895 InsertTimeEnd: String,
3896 InstrumentID: String,
3897 }
3898 #[derive(Debug, Clone, Default)]
3899 struct ExchangeExecOrderField {
3900 is_null: bool,
3901 Volume: i32,
3902 RequestID: i32,
3903 BusinessUnit: String,
3904 OffsetFlag: u8,
3905 HedgeFlag: u8,
3906 ActionType: u8,
3907 PosiDirection: u8,
3908 ReservePositionFlag: u8,
3909 CloseFlag: u8,
3910 ExecOrderLocalID: String,
3911 ExchangeID: String,
3912 ParticipantID: String,
3913 ClientID: String,
3914 TraderID: String,
3915 InstallID: i32,
3916 OrderSubmitStatus: u8,
3917 NotifySequence: i32,
3918 TradingDay: String,
3919 SettlementID: i32,
3920 ExecOrderSysID: String,
3921 InsertDate: String,
3922 InsertTime: String,
3923 CancelTime: String,
3924 ExecResult: u8,
3925 ClearingPartID: String,
3926 SequenceNo: i32,
3927 BranchID: String,
3928 MacAddress: String,
3929 ExchangeInstID: String,
3930 IPAddress: String,
3931 }
3932 #[derive(Debug, Clone, Default)]
3933 struct QryExchangeExecOrderField {
3934 is_null: bool,
3935 ParticipantID: String,
3936 ClientID: String,
3937 ExchangeID: String,
3938 TraderID: String,
3939 ExchangeInstID: String,
3940 }
3941 #[derive(Debug, Clone, Default)]
3942 struct QryExecOrderActionField {
3943 is_null: bool,
3944 BrokerID: String,
3945 InvestorID: String,
3946 ExchangeID: String,
3947 }
3948 #[derive(Debug, Clone, Default)]
3949 struct ExchangeExecOrderActionField {
3950 is_null: bool,
3951 ExchangeID: String,
3952 ExecOrderSysID: String,
3953 ActionFlag: u8,
3954 ActionDate: String,
3955 ActionTime: String,
3956 TraderID: String,
3957 InstallID: i32,
3958 ExecOrderLocalID: String,
3959 ActionLocalID: String,
3960 ParticipantID: String,
3961 ClientID: String,
3962 BusinessUnit: String,
3963 OrderActionStatus: u8,
3964 UserID: String,
3965 ActionType: u8,
3966 BranchID: String,
3967 MacAddress: String,
3968 Volume: i32,
3969 IPAddress: String,
3970 ExchangeInstID: String,
3971 }
3972 #[derive(Debug, Clone, Default)]
3973 struct QryExchangeExecOrderActionField {
3974 is_null: bool,
3975 ParticipantID: String,
3976 ClientID: String,
3977 ExchangeID: String,
3978 TraderID: String,
3979 }
3980 #[derive(Debug, Clone, Default)]
3981 struct ErrExecOrderField {
3982 is_null: bool,
3983 BrokerID: String,
3984 InvestorID: String,
3985 ExecOrderRef: String,
3986 UserID: String,
3987 Volume: i32,
3988 RequestID: i32,
3989 BusinessUnit: String,
3990 OffsetFlag: u8,
3991 HedgeFlag: u8,
3992 ActionType: u8,
3993 PosiDirection: u8,
3994 ReservePositionFlag: u8,
3995 CloseFlag: u8,
3996 ExchangeID: String,
3997 InvestUnitID: String,
3998 AccountID: String,
3999 CurrencyID: String,
4000 ClientID: String,
4001 MacAddress: String,
4002 ErrorID: i32,
4003 ErrorMsg: String,
4004 InstrumentID: String,
4005 IPAddress: String,
4006 }
4007 #[derive(Debug, Clone, Default)]
4008 struct QryErrExecOrderField {
4009 is_null: bool,
4010 BrokerID: String,
4011 InvestorID: String,
4012 }
4013 #[derive(Debug, Clone, Default)]
4014 struct ErrExecOrderActionField {
4015 is_null: bool,
4016 BrokerID: String,
4017 InvestorID: String,
4018 ExecOrderActionRef: i32,
4019 ExecOrderRef: String,
4020 RequestID: i32,
4021 FrontID: i32,
4022 SessionID: i32,
4023 ExchangeID: String,
4024 ExecOrderSysID: String,
4025 ActionFlag: u8,
4026 UserID: String,
4027 InvestUnitID: String,
4028 MacAddress: String,
4029 ErrorID: i32,
4030 ErrorMsg: String,
4031 InstrumentID: String,
4032 IPAddress: String,
4033 }
4034 #[derive(Debug, Clone, Default)]
4035 struct QryErrExecOrderActionField {
4036 is_null: bool,
4037 BrokerID: String,
4038 InvestorID: String,
4039 }
4040 #[derive(Debug, Clone, Default)]
4041 struct OptionInstrTradingRightField {
4042 is_null: bool,
4043 InvestorRange: u8,
4044 BrokerID: String,
4045 InvestorID: String,
4046 Direction: u8,
4047 TradingRight: u8,
4048 InstrumentID: String,
4049 }
4050 #[derive(Debug, Clone, Default)]
4051 struct QryOptionInstrTradingRightField {
4052 is_null: bool,
4053 BrokerID: String,
4054 InvestorID: String,
4055 Direction: u8,
4056 InstrumentID: String,
4057 }
4058 #[derive(Debug, Clone, Default)]
4059 struct InputForQuoteField {
4060 is_null: bool,
4061 BrokerID: String,
4062 InvestorID: String,
4063 ForQuoteRef: String,
4064 UserID: String,
4065 ExchangeID: String,
4066 InvestUnitID: String,
4067 MacAddress: String,
4068 InstrumentID: String,
4069 IPAddress: String,
4070 }
4071 #[derive(Debug, Clone, Default)]
4072 struct ForQuoteField {
4073 is_null: bool,
4074 BrokerID: String,
4075 InvestorID: String,
4076 ForQuoteRef: String,
4077 UserID: String,
4078 ForQuoteLocalID: String,
4079 ExchangeID: String,
4080 ParticipantID: String,
4081 ClientID: String,
4082 TraderID: String,
4083 InstallID: i32,
4084 InsertDate: String,
4085 InsertTime: String,
4086 ForQuoteStatus: u8,
4087 FrontID: i32,
4088 SessionID: i32,
4089 StatusMsg: String,
4090 ActiveUserID: String,
4091 BrokerForQutoSeq: i32,
4092 InvestUnitID: String,
4093 MacAddress: String,
4094 InstrumentID: String,
4095 ExchangeInstID: String,
4096 IPAddress: String,
4097 }
4098 #[derive(Debug, Clone, Default)]
4099 struct QryForQuoteField {
4100 is_null: bool,
4101 BrokerID: String,
4102 InvestorID: String,
4103 ExchangeID: String,
4104 InsertTimeStart: String,
4105 InsertTimeEnd: String,
4106 InvestUnitID: String,
4107 InstrumentID: String,
4108 }
4109 #[derive(Debug, Clone, Default)]
4110 struct ExchangeForQuoteField {
4111 is_null: bool,
4112 ForQuoteLocalID: String,
4113 ExchangeID: String,
4114 ParticipantID: String,
4115 ClientID: String,
4116 TraderID: String,
4117 InstallID: i32,
4118 InsertDate: String,
4119 InsertTime: String,
4120 ForQuoteStatus: u8,
4121 MacAddress: String,
4122 ExchangeInstID: String,
4123 IPAddress: String,
4124 }
4125 #[derive(Debug, Clone, Default)]
4126 struct QryExchangeForQuoteField {
4127 is_null: bool,
4128 ParticipantID: String,
4129 ClientID: String,
4130 ExchangeID: String,
4131 TraderID: String,
4132 ExchangeInstID: String,
4133 }
4134 #[derive(Debug, Clone, Default)]
4135 struct InputQuoteField {
4136 is_null: bool,
4137 BrokerID: String,
4138 InvestorID: String,
4139 QuoteRef: String,
4140 UserID: String,
4141 AskPrice: f64,
4142 BidPrice: f64,
4143 AskVolume: i32,
4144 BidVolume: i32,
4145 RequestID: i32,
4146 BusinessUnit: String,
4147 AskOffsetFlag: u8,
4148 BidOffsetFlag: u8,
4149 AskHedgeFlag: u8,
4150 BidHedgeFlag: u8,
4151 AskOrderRef: String,
4152 BidOrderRef: String,
4153 ForQuoteSysID: String,
4154 ExchangeID: String,
4155 InvestUnitID: String,
4156 ClientID: String,
4157 MacAddress: String,
4158 InstrumentID: String,
4159 IPAddress: String,
4160 ReplaceSysID: String,
4161 TimeCondition: u8,
4162 OrderMemo: String,
4163 SessionReqSeq: i32,
4164 }
4165 #[derive(Debug, Clone, Default)]
4166 struct InputQuoteActionField {
4167 is_null: bool,
4168 BrokerID: String,
4169 InvestorID: String,
4170 QuoteActionRef: i32,
4171 QuoteRef: String,
4172 RequestID: i32,
4173 FrontID: i32,
4174 SessionID: i32,
4175 ExchangeID: String,
4176 QuoteSysID: String,
4177 ActionFlag: u8,
4178 UserID: String,
4179 InvestUnitID: String,
4180 ClientID: String,
4181 MacAddress: String,
4182 InstrumentID: String,
4183 IPAddress: String,
4184 OrderMemo: String,
4185 SessionReqSeq: i32,
4186 }
4187 #[derive(Debug, Clone, Default)]
4188 struct QuoteField {
4189 is_null: bool,
4190 BrokerID: String,
4191 InvestorID: String,
4192 QuoteRef: String,
4193 UserID: String,
4194 AskPrice: f64,
4195 BidPrice: f64,
4196 AskVolume: i32,
4197 BidVolume: i32,
4198 RequestID: i32,
4199 BusinessUnit: String,
4200 AskOffsetFlag: u8,
4201 BidOffsetFlag: u8,
4202 AskHedgeFlag: u8,
4203 BidHedgeFlag: u8,
4204 QuoteLocalID: String,
4205 ExchangeID: String,
4206 ParticipantID: String,
4207 ClientID: String,
4208 TraderID: String,
4209 InstallID: i32,
4210 NotifySequence: i32,
4211 OrderSubmitStatus: u8,
4212 TradingDay: String,
4213 SettlementID: i32,
4214 QuoteSysID: String,
4215 InsertDate: String,
4216 InsertTime: String,
4217 CancelTime: String,
4218 QuoteStatus: u8,
4219 ClearingPartID: String,
4220 SequenceNo: i32,
4221 AskOrderSysID: String,
4222 BidOrderSysID: String,
4223 FrontID: i32,
4224 SessionID: i32,
4225 UserProductInfo: String,
4226 StatusMsg: String,
4227 ActiveUserID: String,
4228 BrokerQuoteSeq: i32,
4229 AskOrderRef: String,
4230 BidOrderRef: String,
4231 ForQuoteSysID: String,
4232 BranchID: String,
4233 InvestUnitID: String,
4234 AccountID: String,
4235 CurrencyID: String,
4236 MacAddress: String,
4237 InstrumentID: String,
4238 ExchangeInstID: String,
4239 IPAddress: String,
4240 ReplaceSysID: String,
4241 TimeCondition: u8,
4242 OrderMemo: String,
4243 SessionReqSeq: i32,
4244 }
4245 #[derive(Debug, Clone, Default)]
4246 struct QuoteActionField {
4247 is_null: bool,
4248 BrokerID: String,
4249 InvestorID: String,
4250 QuoteActionRef: i32,
4251 QuoteRef: String,
4252 RequestID: i32,
4253 FrontID: i32,
4254 SessionID: i32,
4255 ExchangeID: String,
4256 QuoteSysID: String,
4257 ActionFlag: u8,
4258 ActionDate: String,
4259 ActionTime: String,
4260 TraderID: String,
4261 InstallID: i32,
4262 QuoteLocalID: String,
4263 ActionLocalID: String,
4264 ParticipantID: String,
4265 ClientID: String,
4266 BusinessUnit: String,
4267 OrderActionStatus: u8,
4268 UserID: String,
4269 StatusMsg: String,
4270 BranchID: String,
4271 InvestUnitID: String,
4272 MacAddress: String,
4273 InstrumentID: String,
4274 IPAddress: String,
4275 OrderMemo: String,
4276 SessionReqSeq: i32,
4277 }
4278 #[derive(Debug, Clone, Default)]
4279 struct QryQuoteField {
4280 is_null: bool,
4281 BrokerID: String,
4282 InvestorID: String,
4283 ExchangeID: String,
4284 QuoteSysID: String,
4285 InsertTimeStart: String,
4286 InsertTimeEnd: String,
4287 InvestUnitID: String,
4288 InstrumentID: String,
4289 }
4290 #[derive(Debug, Clone, Default)]
4291 struct ExchangeQuoteField {
4292 is_null: bool,
4293 AskPrice: f64,
4294 BidPrice: f64,
4295 AskVolume: i32,
4296 BidVolume: i32,
4297 RequestID: i32,
4298 BusinessUnit: String,
4299 AskOffsetFlag: u8,
4300 BidOffsetFlag: u8,
4301 AskHedgeFlag: u8,
4302 BidHedgeFlag: u8,
4303 QuoteLocalID: String,
4304 ExchangeID: String,
4305 ParticipantID: String,
4306 ClientID: String,
4307 TraderID: String,
4308 InstallID: i32,
4309 NotifySequence: i32,
4310 OrderSubmitStatus: u8,
4311 TradingDay: String,
4312 SettlementID: i32,
4313 QuoteSysID: String,
4314 InsertDate: String,
4315 InsertTime: String,
4316 CancelTime: String,
4317 QuoteStatus: u8,
4318 ClearingPartID: String,
4319 SequenceNo: i32,
4320 AskOrderSysID: String,
4321 BidOrderSysID: String,
4322 ForQuoteSysID: String,
4323 BranchID: String,
4324 MacAddress: String,
4325 ExchangeInstID: String,
4326 IPAddress: String,
4327 TimeCondition: u8,
4328 }
4329 #[derive(Debug, Clone, Default)]
4330 struct QryExchangeQuoteField {
4331 is_null: bool,
4332 ParticipantID: String,
4333 ClientID: String,
4334 ExchangeID: String,
4335 TraderID: String,
4336 ExchangeInstID: String,
4337 }
4338 #[derive(Debug, Clone, Default)]
4339 struct QryQuoteActionField {
4340 is_null: bool,
4341 BrokerID: String,
4342 InvestorID: String,
4343 ExchangeID: String,
4344 }
4345 #[derive(Debug, Clone, Default)]
4346 struct ExchangeQuoteActionField {
4347 is_null: bool,
4348 ExchangeID: String,
4349 QuoteSysID: String,
4350 ActionFlag: u8,
4351 ActionDate: String,
4352 ActionTime: String,
4353 TraderID: String,
4354 InstallID: i32,
4355 QuoteLocalID: String,
4356 ActionLocalID: String,
4357 ParticipantID: String,
4358 ClientID: String,
4359 BusinessUnit: String,
4360 OrderActionStatus: u8,
4361 UserID: String,
4362 MacAddress: String,
4363 IPAddress: String,
4364 }
4365 #[derive(Debug, Clone, Default)]
4366 struct QryExchangeQuoteActionField {
4367 is_null: bool,
4368 ParticipantID: String,
4369 ClientID: String,
4370 ExchangeID: String,
4371 TraderID: String,
4372 }
4373 #[derive(Debug, Clone, Default)]
4374 struct OptionInstrDeltaField {
4375 is_null: bool,
4376 InvestorRange: u8,
4377 BrokerID: String,
4378 InvestorID: String,
4379 Delta: f64,
4380 InstrumentID: String,
4381 }
4382 #[derive(Debug, Clone, Default)]
4383 struct ForQuoteRspField {
4384 is_null: bool,
4385 TradingDay: String,
4386 ForQuoteSysID: String,
4387 ForQuoteTime: String,
4388 ActionDay: String,
4389 ExchangeID: String,
4390 InstrumentID: String,
4391 }
4392 #[derive(Debug, Clone, Default)]
4393 struct StrikeOffsetField {
4394 is_null: bool,
4395 InvestorRange: u8,
4396 BrokerID: String,
4397 InvestorID: String,
4398 Offset: f64,
4399 OffsetType: u8,
4400 InstrumentID: String,
4401 }
4402 #[derive(Debug, Clone, Default)]
4403 struct QryStrikeOffsetField {
4404 is_null: bool,
4405 BrokerID: String,
4406 InvestorID: String,
4407 InstrumentID: String,
4408 }
4409 #[derive(Debug, Clone, Default)]
4410 struct InputBatchOrderActionField {
4411 is_null: bool,
4412 BrokerID: String,
4413 InvestorID: String,
4414 OrderActionRef: i32,
4415 RequestID: i32,
4416 FrontID: i32,
4417 SessionID: i32,
4418 ExchangeID: String,
4419 UserID: String,
4420 InvestUnitID: String,
4421 MacAddress: String,
4422 IPAddress: String,
4423 }
4424 #[derive(Debug, Clone, Default)]
4425 struct BatchOrderActionField {
4426 is_null: bool,
4427 BrokerID: String,
4428 InvestorID: String,
4429 OrderActionRef: i32,
4430 RequestID: i32,
4431 FrontID: i32,
4432 SessionID: i32,
4433 ExchangeID: String,
4434 ActionDate: String,
4435 ActionTime: String,
4436 TraderID: String,
4437 InstallID: i32,
4438 ActionLocalID: String,
4439 ParticipantID: String,
4440 ClientID: String,
4441 BusinessUnit: String,
4442 OrderActionStatus: u8,
4443 UserID: String,
4444 StatusMsg: String,
4445 InvestUnitID: String,
4446 MacAddress: String,
4447 IPAddress: String,
4448 }
4449 #[derive(Debug, Clone, Default)]
4450 struct ExchangeBatchOrderActionField {
4451 is_null: bool,
4452 ExchangeID: String,
4453 ActionDate: String,
4454 ActionTime: String,
4455 TraderID: String,
4456 InstallID: i32,
4457 ActionLocalID: String,
4458 ParticipantID: String,
4459 ClientID: String,
4460 BusinessUnit: String,
4461 OrderActionStatus: u8,
4462 UserID: String,
4463 MacAddress: String,
4464 IPAddress: String,
4465 }
4466 #[derive(Debug, Clone, Default)]
4467 struct QryBatchOrderActionField {
4468 is_null: bool,
4469 BrokerID: String,
4470 InvestorID: String,
4471 ExchangeID: String,
4472 }
4473 #[derive(Debug, Clone, Default)]
4474 struct CombInstrumentGuardField {
4475 is_null: bool,
4476 BrokerID: String,
4477 GuarantRatio: f64,
4478 ExchangeID: String,
4479 InstrumentID: String,
4480 }
4481 #[derive(Debug, Clone, Default)]
4482 struct QryCombInstrumentGuardField {
4483 is_null: bool,
4484 BrokerID: String,
4485 ExchangeID: String,
4486 InstrumentID: String,
4487 }
4488 #[derive(Debug, Clone, Default)]
4489 struct InputCombActionField {
4490 is_null: bool,
4491 BrokerID: String,
4492 InvestorID: String,
4493 CombActionRef: String,
4494 UserID: String,
4495 Direction: u8,
4496 Volume: i32,
4497 CombDirection: u8,
4498 HedgeFlag: u8,
4499 ExchangeID: String,
4500 MacAddress: String,
4501 InvestUnitID: String,
4502 FrontID: i32,
4503 SessionID: i32,
4504 InstrumentID: String,
4505 IPAddress: String,
4506 }
4507 #[derive(Debug, Clone, Default)]
4508 struct CombActionField {
4509 is_null: bool,
4510 BrokerID: String,
4511 InvestorID: String,
4512 CombActionRef: String,
4513 UserID: String,
4514 Direction: u8,
4515 Volume: i32,
4516 CombDirection: u8,
4517 HedgeFlag: u8,
4518 ActionLocalID: String,
4519 ExchangeID: String,
4520 ParticipantID: String,
4521 ClientID: String,
4522 TraderID: String,
4523 InstallID: i32,
4524 ActionStatus: u8,
4525 NotifySequence: i32,
4526 TradingDay: String,
4527 SettlementID: i32,
4528 SequenceNo: i32,
4529 FrontID: i32,
4530 SessionID: i32,
4531 UserProductInfo: String,
4532 StatusMsg: String,
4533 MacAddress: String,
4534 ComTradeID: String,
4535 BranchID: String,
4536 InvestUnitID: String,
4537 InstrumentID: String,
4538 ExchangeInstID: String,
4539 IPAddress: String,
4540 }
4541 #[derive(Debug, Clone, Default)]
4542 struct QryCombActionField {
4543 is_null: bool,
4544 BrokerID: String,
4545 InvestorID: String,
4546 ExchangeID: String,
4547 InvestUnitID: String,
4548 InstrumentID: String,
4549 }
4550 #[derive(Debug, Clone, Default)]
4551 struct ExchangeCombActionField {
4552 is_null: bool,
4553 Direction: u8,
4554 Volume: i32,
4555 CombDirection: u8,
4556 HedgeFlag: u8,
4557 ActionLocalID: String,
4558 ExchangeID: String,
4559 ParticipantID: String,
4560 ClientID: String,
4561 TraderID: String,
4562 InstallID: i32,
4563 ActionStatus: u8,
4564 NotifySequence: i32,
4565 TradingDay: String,
4566 SettlementID: i32,
4567 SequenceNo: i32,
4568 MacAddress: String,
4569 ComTradeID: String,
4570 BranchID: String,
4571 ExchangeInstID: String,
4572 IPAddress: String,
4573 }
4574 #[derive(Debug, Clone, Default)]
4575 struct QryExchangeCombActionField {
4576 is_null: bool,
4577 ParticipantID: String,
4578 ClientID: String,
4579 ExchangeID: String,
4580 TraderID: String,
4581 ExchangeInstID: String,
4582 }
4583 #[derive(Debug, Clone, Default)]
4584 struct ProductExchRateField {
4585 is_null: bool,
4586 QuoteCurrencyID: String,
4587 ExchangeRate: f64,
4588 ExchangeID: String,
4589 ProductID: String,
4590 }
4591 #[derive(Debug, Clone, Default)]
4592 struct QryProductExchRateField {
4593 is_null: bool,
4594 ExchangeID: String,
4595 ProductID: String,
4596 }
4597 #[derive(Debug, Clone, Default)]
4598 struct QryForQuoteParamField {
4599 is_null: bool,
4600 BrokerID: String,
4601 ExchangeID: String,
4602 InstrumentID: String,
4603 }
4604 #[derive(Debug, Clone, Default)]
4605 struct ForQuoteParamField {
4606 is_null: bool,
4607 BrokerID: String,
4608 ExchangeID: String,
4609 LastPrice: f64,
4610 PriceInterval: f64,
4611 InstrumentID: String,
4612 }
4613 #[derive(Debug, Clone, Default)]
4614 struct MMOptionInstrCommRateField {
4615 is_null: bool,
4616 InvestorRange: u8,
4617 BrokerID: String,
4618 InvestorID: String,
4619 OpenRatioByMoney: f64,
4620 OpenRatioByVolume: f64,
4621 CloseRatioByMoney: f64,
4622 CloseRatioByVolume: f64,
4623 CloseTodayRatioByMoney: f64,
4624 CloseTodayRatioByVolume: f64,
4625 StrikeRatioByMoney: f64,
4626 StrikeRatioByVolume: f64,
4627 InstrumentID: String,
4628 }
4629 #[derive(Debug, Clone, Default)]
4630 struct QryMMOptionInstrCommRateField {
4631 is_null: bool,
4632 BrokerID: String,
4633 InvestorID: String,
4634 InstrumentID: String,
4635 }
4636 #[derive(Debug, Clone, Default)]
4637 struct MMInstrumentCommissionRateField {
4638 is_null: bool,
4639 InvestorRange: u8,
4640 BrokerID: String,
4641 InvestorID: String,
4642 OpenRatioByMoney: f64,
4643 OpenRatioByVolume: f64,
4644 CloseRatioByMoney: f64,
4645 CloseRatioByVolume: f64,
4646 CloseTodayRatioByMoney: f64,
4647 CloseTodayRatioByVolume: f64,
4648 InstrumentID: String,
4649 }
4650 #[derive(Debug, Clone, Default)]
4651 struct QryMMInstrumentCommissionRateField {
4652 is_null: bool,
4653 BrokerID: String,
4654 InvestorID: String,
4655 InstrumentID: String,
4656 }
4657 #[derive(Debug, Clone, Default)]
4658 struct InstrumentOrderCommRateField {
4659 is_null: bool,
4660 InvestorRange: u8,
4661 BrokerID: String,
4662 InvestorID: String,
4663 HedgeFlag: u8,
4664 OrderCommByVolume: f64,
4665 OrderActionCommByVolume: f64,
4666 ExchangeID: String,
4667 InvestUnitID: String,
4668 InstrumentID: String,
4669 OrderCommByTrade: f64,
4670 OrderActionCommByTrade: f64,
4671 }
4672 #[derive(Debug, Clone, Default)]
4673 struct QryInstrumentOrderCommRateField {
4674 is_null: bool,
4675 BrokerID: String,
4676 InvestorID: String,
4677 InstrumentID: String,
4678 }
4679 #[derive(Debug, Clone, Default)]
4680 struct TradeParamField {
4681 is_null: bool,
4682 BrokerID: String,
4683 TradeParamID: u8,
4684 TradeParamValue: Vec<u8>,
4685 Memo: String,
4686 }
4687 #[derive(Debug, Clone, Default)]
4688 struct InstrumentMarginRateULField {
4689 is_null: bool,
4690 InvestorRange: u8,
4691 BrokerID: String,
4692 InvestorID: String,
4693 HedgeFlag: u8,
4694 LongMarginRatioByMoney: f64,
4695 LongMarginRatioByVolume: f64,
4696 ShortMarginRatioByMoney: f64,
4697 ShortMarginRatioByVolume: f64,
4698 InstrumentID: String,
4699 }
4700 #[derive(Debug, Clone, Default)]
4701 struct FutureLimitPosiParamField {
4702 is_null: bool,
4703 InvestorRange: u8,
4704 BrokerID: String,
4705 InvestorID: String,
4706 SpecOpenVolume: i32,
4707 ArbiOpenVolume: i32,
4708 OpenVolume: i32,
4709 ProductID: String,
4710 }
4711 #[derive(Debug, Clone, Default)]
4712 struct LoginForbiddenIPField {
4713 is_null: bool,
4714 IPAddress: String,
4715 }
4716 #[derive(Debug, Clone, Default)]
4717 struct IPListField {
4718 is_null: bool,
4719 IsWhite: i32,
4720 IPAddress: String,
4721 }
4722 #[derive(Debug, Clone, Default)]
4723 struct InputOptionSelfCloseField {
4724 is_null: bool,
4725 BrokerID: String,
4726 InvestorID: String,
4727 OptionSelfCloseRef: String,
4728 UserID: String,
4729 Volume: i32,
4730 RequestID: i32,
4731 BusinessUnit: String,
4732 HedgeFlag: u8,
4733 OptSelfCloseFlag: u8,
4734 ExchangeID: String,
4735 InvestUnitID: String,
4736 AccountID: String,
4737 CurrencyID: String,
4738 ClientID: String,
4739 MacAddress: String,
4740 InstrumentID: String,
4741 IPAddress: String,
4742 }
4743 #[derive(Debug, Clone, Default)]
4744 struct InputOptionSelfCloseActionField {
4745 is_null: bool,
4746 BrokerID: String,
4747 InvestorID: String,
4748 OptionSelfCloseActionRef: i32,
4749 OptionSelfCloseRef: String,
4750 RequestID: i32,
4751 FrontID: i32,
4752 SessionID: i32,
4753 ExchangeID: String,
4754 OptionSelfCloseSysID: String,
4755 ActionFlag: u8,
4756 UserID: String,
4757 InvestUnitID: String,
4758 MacAddress: String,
4759 InstrumentID: String,
4760 IPAddress: String,
4761 }
4762 #[derive(Debug, Clone, Default)]
4763 struct OptionSelfCloseField {
4764 is_null: bool,
4765 BrokerID: String,
4766 InvestorID: String,
4767 OptionSelfCloseRef: String,
4768 UserID: String,
4769 Volume: i32,
4770 RequestID: i32,
4771 BusinessUnit: String,
4772 HedgeFlag: u8,
4773 OptSelfCloseFlag: u8,
4774 OptionSelfCloseLocalID: String,
4775 ExchangeID: String,
4776 ParticipantID: String,
4777 ClientID: String,
4778 TraderID: String,
4779 InstallID: i32,
4780 OrderSubmitStatus: u8,
4781 NotifySequence: i32,
4782 TradingDay: String,
4783 SettlementID: i32,
4784 OptionSelfCloseSysID: String,
4785 InsertDate: String,
4786 InsertTime: String,
4787 CancelTime: String,
4788 ExecResult: u8,
4789 ClearingPartID: String,
4790 SequenceNo: i32,
4791 FrontID: i32,
4792 SessionID: i32,
4793 UserProductInfo: String,
4794 StatusMsg: String,
4795 ActiveUserID: String,
4796 BrokerOptionSelfCloseSeq: i32,
4797 BranchID: String,
4798 InvestUnitID: String,
4799 AccountID: String,
4800 CurrencyID: String,
4801 MacAddress: String,
4802 InstrumentID: String,
4803 ExchangeInstID: String,
4804 IPAddress: String,
4805 }
4806 #[derive(Debug, Clone, Default)]
4807 struct OptionSelfCloseActionField {
4808 is_null: bool,
4809 BrokerID: String,
4810 InvestorID: String,
4811 OptionSelfCloseActionRef: i32,
4812 OptionSelfCloseRef: String,
4813 RequestID: i32,
4814 FrontID: i32,
4815 SessionID: i32,
4816 ExchangeID: String,
4817 OptionSelfCloseSysID: String,
4818 ActionFlag: u8,
4819 ActionDate: String,
4820 ActionTime: String,
4821 TraderID: String,
4822 InstallID: i32,
4823 OptionSelfCloseLocalID: String,
4824 ActionLocalID: String,
4825 ParticipantID: String,
4826 ClientID: String,
4827 BusinessUnit: String,
4828 OrderActionStatus: u8,
4829 UserID: String,
4830 StatusMsg: String,
4831 BranchID: String,
4832 InvestUnitID: String,
4833 MacAddress: String,
4834 InstrumentID: String,
4835 IPAddress: String,
4836 }
4837 #[derive(Debug, Clone, Default)]
4838 struct QryOptionSelfCloseField {
4839 is_null: bool,
4840 BrokerID: String,
4841 InvestorID: String,
4842 ExchangeID: String,
4843 OptionSelfCloseSysID: String,
4844 InsertTimeStart: String,
4845 InsertTimeEnd: String,
4846 InstrumentID: String,
4847 }
4848 #[derive(Debug, Clone, Default)]
4849 struct ExchangeOptionSelfCloseField {
4850 is_null: bool,
4851 Volume: i32,
4852 RequestID: i32,
4853 BusinessUnit: String,
4854 HedgeFlag: u8,
4855 OptSelfCloseFlag: u8,
4856 OptionSelfCloseLocalID: String,
4857 ExchangeID: String,
4858 ParticipantID: String,
4859 ClientID: String,
4860 TraderID: String,
4861 InstallID: i32,
4862 OrderSubmitStatus: u8,
4863 NotifySequence: i32,
4864 TradingDay: String,
4865 SettlementID: i32,
4866 OptionSelfCloseSysID: String,
4867 InsertDate: String,
4868 InsertTime: String,
4869 CancelTime: String,
4870 ExecResult: u8,
4871 ClearingPartID: String,
4872 SequenceNo: i32,
4873 BranchID: String,
4874 MacAddress: String,
4875 ExchangeInstID: String,
4876 IPAddress: String,
4877 }
4878 #[derive(Debug, Clone, Default)]
4879 struct QryOptionSelfCloseActionField {
4880 is_null: bool,
4881 BrokerID: String,
4882 InvestorID: String,
4883 ExchangeID: String,
4884 }
4885 #[derive(Debug, Clone, Default)]
4886 struct ExchangeOptionSelfCloseActionField {
4887 is_null: bool,
4888 ExchangeID: String,
4889 OptionSelfCloseSysID: String,
4890 ActionFlag: u8,
4891 ActionDate: String,
4892 ActionTime: String,
4893 TraderID: String,
4894 InstallID: i32,
4895 OptionSelfCloseLocalID: String,
4896 ActionLocalID: String,
4897 ParticipantID: String,
4898 ClientID: String,
4899 BusinessUnit: String,
4900 OrderActionStatus: u8,
4901 UserID: String,
4902 BranchID: String,
4903 MacAddress: String,
4904 OptSelfCloseFlag: u8,
4905 IPAddress: String,
4906 ExchangeInstID: String,
4907 }
4908 #[derive(Debug, Clone, Default)]
4909 struct SyncDelaySwapField {
4910 is_null: bool,
4911 DelaySwapSeqNo: Vec<u8>,
4912 BrokerID: String,
4913 InvestorID: String,
4914 FromCurrencyID: String,
4915 FromAmount: f64,
4916 FromFrozenSwap: f64,
4917 FromRemainSwap: f64,
4918 ToCurrencyID: String,
4919 ToAmount: f64,
4920 IsManualSwap: i32,
4921 IsAllRemainSetZero: i32,
4922 }
4923 #[derive(Debug, Clone, Default)]
4924 struct QrySyncDelaySwapField {
4925 is_null: bool,
4926 BrokerID: String,
4927 DelaySwapSeqNo: Vec<u8>,
4928 }
4929 #[derive(Debug, Clone, Default)]
4930 struct InvestUnitField {
4931 is_null: bool,
4932 BrokerID: String,
4933 InvestorID: String,
4934 InvestUnitID: String,
4935 InvestorUnitName: String,
4936 InvestorGroupID: String,
4937 CommModelID: String,
4938 MarginModelID: String,
4939 AccountID: String,
4940 CurrencyID: String,
4941 }
4942 #[derive(Debug, Clone, Default)]
4943 struct QryInvestUnitField {
4944 is_null: bool,
4945 BrokerID: String,
4946 InvestorID: String,
4947 InvestUnitID: String,
4948 }
4949 #[derive(Debug, Clone, Default)]
4950 struct SecAgentCheckModeField {
4951 is_null: bool,
4952 InvestorID: String,
4953 BrokerID: String,
4954 CurrencyID: String,
4955 BrokerSecAgentID: String,
4956 CheckSelfAccount: i32,
4957 }
4958 #[derive(Debug, Clone, Default)]
4959 struct SecAgentTradeInfoField {
4960 is_null: bool,
4961 BrokerID: String,
4962 BrokerSecAgentID: String,
4963 InvestorID: String,
4964 LongCustomerName: String,
4965 }
4966 #[derive(Debug, Clone, Default)]
4967 struct MarketDataField {
4968 is_null: bool,
4969 TradingDay: String,
4970 ExchangeID: String,
4971 LastPrice: f64,
4972 PreSettlementPrice: f64,
4973 PreClosePrice: f64,
4974 PreOpenInterest: f64,
4975 OpenPrice: f64,
4976 HighestPrice: f64,
4977 LowestPrice: f64,
4978 Volume: i32,
4979 Turnover: f64,
4980 OpenInterest: f64,
4981 ClosePrice: f64,
4982 SettlementPrice: f64,
4983 UpperLimitPrice: f64,
4984 LowerLimitPrice: f64,
4985 PreDelta: f64,
4986 CurrDelta: f64,
4987 UpdateTime: String,
4988 UpdateMillisec: i32,
4989 ActionDay: String,
4990 InstrumentID: String,
4991 ExchangeInstID: String,
4992 }
4993 #[derive(Debug, Clone, Default)]
4994 struct MarketDataBaseField {
4995 is_null: bool,
4996 TradingDay: String,
4997 PreSettlementPrice: f64,
4998 PreClosePrice: f64,
4999 PreOpenInterest: f64,
5000 PreDelta: f64,
5001 }
5002 #[derive(Debug, Clone, Default)]
5003 struct MarketDataStaticField {
5004 is_null: bool,
5005 OpenPrice: f64,
5006 HighestPrice: f64,
5007 LowestPrice: f64,
5008 ClosePrice: f64,
5009 UpperLimitPrice: f64,
5010 LowerLimitPrice: f64,
5011 SettlementPrice: f64,
5012 CurrDelta: f64,
5013 }
5014 #[derive(Debug, Clone, Default)]
5015 struct MarketDataLastMatchField {
5016 is_null: bool,
5017 LastPrice: f64,
5018 Volume: i32,
5019 Turnover: f64,
5020 OpenInterest: f64,
5021 }
5022 #[derive(Debug, Clone, Default)]
5023 struct MarketDataBestPriceField {
5024 is_null: bool,
5025 BidPrice1: f64,
5026 BidVolume1: i32,
5027 AskPrice1: f64,
5028 AskVolume1: i32,
5029 }
5030 #[derive(Debug, Clone, Default)]
5031 struct MarketDataBid23Field {
5032 is_null: bool,
5033 BidPrice2: f64,
5034 BidVolume2: i32,
5035 BidPrice3: f64,
5036 BidVolume3: i32,
5037 }
5038 #[derive(Debug, Clone, Default)]
5039 struct MarketDataAsk23Field {
5040 is_null: bool,
5041 AskPrice2: f64,
5042 AskVolume2: i32,
5043 AskPrice3: f64,
5044 AskVolume3: i32,
5045 }
5046 #[derive(Debug, Clone, Default)]
5047 struct MarketDataBid45Field {
5048 is_null: bool,
5049 BidPrice4: f64,
5050 BidVolume4: i32,
5051 BidPrice5: f64,
5052 BidVolume5: i32,
5053 }
5054 #[derive(Debug, Clone, Default)]
5055 struct MarketDataAsk45Field {
5056 is_null: bool,
5057 AskPrice4: f64,
5058 AskVolume4: i32,
5059 AskPrice5: f64,
5060 AskVolume5: i32,
5061 }
5062 #[derive(Debug, Clone, Default)]
5063 struct MarketDataUpdateTimeField {
5064 is_null: bool,
5065 UpdateTime: String,
5066 UpdateMillisec: i32,
5067 ActionDay: String,
5068 InstrumentID: String,
5069 }
5070 #[derive(Debug, Clone, Default)]
5071 struct MarketDataBandingPriceField {
5072 is_null: bool,
5073 BandingUpperPrice: f64,
5074 BandingLowerPrice: f64,
5075 }
5076 #[derive(Debug, Clone, Default)]
5077 struct MarketDataExchangeField {
5078 is_null: bool,
5079 ExchangeID: String,
5080 }
5081 #[derive(Debug, Clone, Default)]
5082 struct SpecificInstrumentField {
5083 is_null: bool,
5084 InstrumentID: String,
5085 }
5086 #[derive(Debug, Clone, Default)]
5087 struct InstrumentStatusField {
5088 is_null: bool,
5089 ExchangeID: String,
5090 SettlementGroupID: String,
5091 InstrumentStatus: u8,
5092 TradingSegmentSN: i32,
5093 EnterTime: String,
5094 EnterReason: u8,
5095 ExchangeInstID: String,
5096 InstrumentID: String,
5097 }
5098 #[derive(Debug, Clone, Default)]
5099 struct QryInstrumentStatusField {
5100 is_null: bool,
5101 ExchangeID: String,
5102 ExchangeInstID: String,
5103 }
5104 #[derive(Debug, Clone, Default)]
5105 struct InvestorAccountField {
5106 is_null: bool,
5107 BrokerID: String,
5108 InvestorID: String,
5109 AccountID: String,
5110 CurrencyID: String,
5111 }
5112 #[derive(Debug, Clone, Default)]
5113 struct PositionProfitAlgorithmField {
5114 is_null: bool,
5115 BrokerID: String,
5116 AccountID: String,
5117 Algorithm: u8,
5118 Memo: String,
5119 CurrencyID: String,
5120 }
5121 #[derive(Debug, Clone, Default)]
5122 struct DiscountField {
5123 is_null: bool,
5124 BrokerID: String,
5125 InvestorRange: u8,
5126 InvestorID: String,
5127 Discount: f64,
5128 }
5129 #[derive(Debug, Clone, Default)]
5130 struct QryTransferBankField {
5131 is_null: bool,
5132 BankID: String,
5133 BankBrchID: String,
5134 }
5135 #[derive(Debug, Clone, Default)]
5136 struct TransferBankField {
5137 is_null: bool,
5138 BankID: String,
5139 BankBrchID: String,
5140 BankName: String,
5141 IsActive: i32,
5142 }
5143 #[derive(Debug, Clone, Default)]
5144 struct QryInvestorPositionDetailField {
5145 is_null: bool,
5146 BrokerID: String,
5147 InvestorID: String,
5148 ExchangeID: String,
5149 InvestUnitID: String,
5150 InstrumentID: String,
5151 }
5152 #[derive(Debug, Clone, Default)]
5153 struct InvestorPositionDetailField {
5154 is_null: bool,
5155 BrokerID: String,
5156 InvestorID: String,
5157 HedgeFlag: u8,
5158 Direction: u8,
5159 OpenDate: String,
5160 TradeID: String,
5161 Volume: i32,
5162 OpenPrice: f64,
5163 TradingDay: String,
5164 SettlementID: i32,
5165 TradeType: u8,
5166 ExchangeID: String,
5167 CloseProfitByDate: f64,
5168 CloseProfitByTrade: f64,
5169 PositionProfitByDate: f64,
5170 PositionProfitByTrade: f64,
5171 Margin: f64,
5172 ExchMargin: f64,
5173 MarginRateByMoney: f64,
5174 MarginRateByVolume: f64,
5175 LastSettlementPrice: f64,
5176 SettlementPrice: f64,
5177 CloseVolume: i32,
5178 CloseAmount: f64,
5179 TimeFirstVolume: i32,
5180 InvestUnitID: String,
5181 SpecPosiType: u8,
5182 InstrumentID: String,
5183 CombInstrumentID: String,
5184 }
5185 #[derive(Debug, Clone, Default)]
5186 struct TradingAccountPasswordField {
5187 is_null: bool,
5188 BrokerID: String,
5189 AccountID: String,
5190 Password: String,
5191 CurrencyID: String,
5192 }
5193 #[derive(Debug, Clone, Default)]
5194 struct MDTraderOfferField {
5195 is_null: bool,
5196 ExchangeID: String,
5197 TraderID: String,
5198 ParticipantID: String,
5199 Password: String,
5200 InstallID: i32,
5201 OrderLocalID: String,
5202 TraderConnectStatus: u8,
5203 ConnectRequestDate: String,
5204 ConnectRequestTime: String,
5205 LastReportDate: String,
5206 LastReportTime: String,
5207 ConnectDate: String,
5208 ConnectTime: String,
5209 StartDate: String,
5210 StartTime: String,
5211 TradingDay: String,
5212 BrokerID: String,
5213 MaxTradeID: String,
5214 MaxOrderMessageReference: Vec<u8>,
5215 OrderCancelAlg: u8,
5216 }
5217 #[derive(Debug, Clone, Default)]
5218 struct QryMDTraderOfferField {
5219 is_null: bool,
5220 ExchangeID: String,
5221 ParticipantID: String,
5222 TraderID: String,
5223 }
5224 #[derive(Debug, Clone, Default)]
5225 struct QryNoticeField {
5226 is_null: bool,
5227 BrokerID: String,
5228 }
5229 #[derive(Debug, Clone, Default)]
5230 struct NoticeField {
5231 is_null: bool,
5232 BrokerID: String,
5233 Content: Vec<u8>,
5234 SequenceLabel: Vec<u8>,
5235 }
5236 #[derive(Debug, Clone, Default)]
5237 struct UserRightField {
5238 is_null: bool,
5239 BrokerID: String,
5240 UserID: String,
5241 UserRightType: u8,
5242 IsForbidden: i32,
5243 }
5244 #[derive(Debug, Clone, Default)]
5245 struct QrySettlementInfoConfirmField {
5246 is_null: bool,
5247 BrokerID: String,
5248 InvestorID: String,
5249 AccountID: String,
5250 CurrencyID: String,
5251 }
5252 #[derive(Debug, Clone, Default)]
5253 struct LoadSettlementInfoField {
5254 is_null: bool,
5255 BrokerID: String,
5256 }
5257 #[derive(Debug, Clone, Default)]
5258 struct BrokerWithdrawAlgorithmField {
5259 is_null: bool,
5260 BrokerID: String,
5261 WithdrawAlgorithm: u8,
5262 UsingRatio: f64,
5263 IncludeCloseProfit: u8,
5264 AllWithoutTrade: u8,
5265 AvailIncludeCloseProfit: u8,
5266 IsBrokerUserEvent: i32,
5267 CurrencyID: String,
5268 FundMortgageRatio: f64,
5269 BalanceAlgorithm: u8,
5270 }
5271 #[derive(Debug, Clone, Default)]
5272 struct TradingAccountPasswordUpdateV1Field {
5273 is_null: bool,
5274 BrokerID: String,
5275 InvestorID: String,
5276 OldPassword: String,
5277 NewPassword: String,
5278 }
5279 #[derive(Debug, Clone, Default)]
5280 struct TradingAccountPasswordUpdateField {
5281 is_null: bool,
5282 BrokerID: String,
5283 AccountID: String,
5284 OldPassword: String,
5285 NewPassword: String,
5286 CurrencyID: String,
5287 }
5288 #[derive(Debug, Clone, Default)]
5289 struct QryCombinationLegField {
5290 is_null: bool,
5291 LegID: i32,
5292 CombInstrumentID: String,
5293 LegInstrumentID: String,
5294 }
5295 #[derive(Debug, Clone, Default)]
5296 struct QrySyncStatusField {
5297 is_null: bool,
5298 TradingDay: String,
5299 }
5300 #[derive(Debug, Clone, Default)]
5301 struct CombinationLegField {
5302 is_null: bool,
5303 LegID: i32,
5304 Direction: u8,
5305 LegMultiple: i32,
5306 ImplyLevel: i32,
5307 CombInstrumentID: String,
5308 LegInstrumentID: String,
5309 }
5310 #[derive(Debug, Clone, Default)]
5311 struct SyncStatusField {
5312 is_null: bool,
5313 TradingDay: String,
5314 DataSyncStatus: u8,
5315 }
5316 #[derive(Debug, Clone, Default)]
5317 struct QryLinkManField {
5318 is_null: bool,
5319 BrokerID: String,
5320 InvestorID: String,
5321 }
5322 #[derive(Debug, Clone, Default)]
5323 struct LinkManField {
5324 is_null: bool,
5325 BrokerID: String,
5326 InvestorID: String,
5327 PersonType: u8,
5328 IdentifiedCardType: u8,
5329 IdentifiedCardNo: String,
5330 PersonName: String,
5331 Telephone: String,
5332 Address: String,
5333 ZipCode: String,
5334 Priority: i32,
5335 UOAZipCode: String,
5336 PersonFullName: String,
5337 }
5338 #[derive(Debug, Clone, Default)]
5339 struct QryBrokerUserEventField {
5340 is_null: bool,
5341 BrokerID: String,
5342 UserID: String,
5343 UserEventType: u8,
5344 }
5345 #[derive(Debug, Clone, Default)]
5346 struct BrokerUserEventField {
5347 is_null: bool,
5348 BrokerID: String,
5349 UserID: String,
5350 UserEventType: u8,
5351 EventSequenceNo: i32,
5352 EventDate: String,
5353 EventTime: String,
5354 UserEventInfo: String,
5355 InvestorID: String,
5356 InstrumentID: String,
5357 DRIdentityID: i32,
5358 TradingDay: String,
5359 }
5360 #[derive(Debug, Clone, Default)]
5361 struct QryContractBankField {
5362 is_null: bool,
5363 BrokerID: String,
5364 BankID: String,
5365 BankBrchID: String,
5366 }
5367 #[derive(Debug, Clone, Default)]
5368 struct ContractBankField {
5369 is_null: bool,
5370 BrokerID: String,
5371 BankID: String,
5372 BankBrchID: String,
5373 BankName: String,
5374 }
5375 #[derive(Debug, Clone, Default)]
5376 struct InvestorPositionCombineDetailField {
5377 is_null: bool,
5378 TradingDay: String,
5379 OpenDate: String,
5380 ExchangeID: String,
5381 SettlementID: i32,
5382 BrokerID: String,
5383 InvestorID: String,
5384 ComTradeID: String,
5385 TradeID: String,
5386 HedgeFlag: u8,
5387 Direction: u8,
5388 TotalAmt: i32,
5389 Margin: f64,
5390 ExchMargin: f64,
5391 MarginRateByMoney: f64,
5392 MarginRateByVolume: f64,
5393 LegID: i32,
5394 LegMultiple: i32,
5395 TradeGroupID: i32,
5396 InvestUnitID: String,
5397 InstrumentID: String,
5398 CombInstrumentID: String,
5399 }
5400 #[derive(Debug, Clone, Default)]
5401 struct ParkedOrderField {
5402 is_null: bool,
5403 BrokerID: String,
5404 InvestorID: String,
5405 OrderRef: String,
5406 UserID: String,
5407 OrderPriceType: u8,
5408 Direction: u8,
5409 CombOffsetFlag: String,
5410 CombHedgeFlag: String,
5411 LimitPrice: f64,
5412 VolumeTotalOriginal: i32,
5413 TimeCondition: u8,
5414 GTDDate: String,
5415 VolumeCondition: u8,
5416 MinVolume: i32,
5417 ContingentCondition: u8,
5418 StopPrice: f64,
5419 ForceCloseReason: u8,
5420 IsAutoSuspend: i32,
5421 BusinessUnit: String,
5422 RequestID: i32,
5423 UserForceClose: i32,
5424 ExchangeID: String,
5425 ParkedOrderID: String,
5426 UserType: u8,
5427 Status: u8,
5428 ErrorID: i32,
5429 ErrorMsg: String,
5430 IsSwapOrder: i32,
5431 AccountID: String,
5432 CurrencyID: String,
5433 ClientID: String,
5434 InvestUnitID: String,
5435 MacAddress: String,
5436 InstrumentID: String,
5437 IPAddress: String,
5438 }
5439 #[derive(Debug, Clone, Default)]
5440 struct ParkedOrderActionField {
5441 is_null: bool,
5442 BrokerID: String,
5443 InvestorID: String,
5444 OrderActionRef: i32,
5445 OrderRef: String,
5446 RequestID: i32,
5447 FrontID: i32,
5448 SessionID: i32,
5449 ExchangeID: String,
5450 OrderSysID: String,
5451 ActionFlag: u8,
5452 LimitPrice: f64,
5453 VolumeChange: i32,
5454 UserID: String,
5455 ParkedOrderActionID: String,
5456 UserType: u8,
5457 Status: u8,
5458 ErrorID: i32,
5459 ErrorMsg: String,
5460 InvestUnitID: String,
5461 MacAddress: String,
5462 InstrumentID: String,
5463 IPAddress: String,
5464 }
5465 #[derive(Debug, Clone, Default)]
5466 struct QryParkedOrderField {
5467 is_null: bool,
5468 BrokerID: String,
5469 InvestorID: String,
5470 ExchangeID: String,
5471 InvestUnitID: String,
5472 InstrumentID: String,
5473 }
5474 #[derive(Debug, Clone, Default)]
5475 struct QryParkedOrderActionField {
5476 is_null: bool,
5477 BrokerID: String,
5478 InvestorID: String,
5479 ExchangeID: String,
5480 InvestUnitID: String,
5481 InstrumentID: String,
5482 }
5483 #[derive(Debug, Clone, Default)]
5484 struct RemoveParkedOrderField {
5485 is_null: bool,
5486 BrokerID: String,
5487 InvestorID: String,
5488 ParkedOrderID: String,
5489 InvestUnitID: String,
5490 }
5491 #[derive(Debug, Clone, Default)]
5492 struct RemoveParkedOrderActionField {
5493 is_null: bool,
5494 BrokerID: String,
5495 InvestorID: String,
5496 ParkedOrderActionID: String,
5497 InvestUnitID: String,
5498 }
5499 #[derive(Debug, Clone, Default)]
5500 struct InvestorWithdrawAlgorithmField {
5501 is_null: bool,
5502 BrokerID: String,
5503 InvestorRange: u8,
5504 InvestorID: String,
5505 UsingRatio: f64,
5506 CurrencyID: String,
5507 FundMortgageRatio: f64,
5508 }
5509 #[derive(Debug, Clone, Default)]
5510 struct QryInvestorPositionCombineDetailField {
5511 is_null: bool,
5512 BrokerID: String,
5513 InvestorID: String,
5514 ExchangeID: String,
5515 InvestUnitID: String,
5516 CombInstrumentID: String,
5517 }
5518 #[derive(Debug, Clone, Default)]
5519 struct MarketDataAveragePriceField {
5520 is_null: bool,
5521 AveragePrice: f64,
5522 }
5523 #[derive(Debug, Clone, Default)]
5524 struct VerifyInvestorPasswordField {
5525 is_null: bool,
5526 BrokerID: String,
5527 InvestorID: String,
5528 Password: String,
5529 }
5530 #[derive(Debug, Clone, Default)]
5531 struct UserIPField {
5532 is_null: bool,
5533 BrokerID: String,
5534 UserID: String,
5535 MacAddress: String,
5536 IPAddress: String,
5537 IPMask: Vec<u8>,
5538 }
5539 #[derive(Debug, Clone, Default)]
5540 struct TradingNoticeInfoField {
5541 is_null: bool,
5542 BrokerID: String,
5543 InvestorID: String,
5544 SendTime: String,
5545 FieldContent: Vec<u8>,
5546 SequenceSeries: u16,
5547 SequenceNo: i32,
5548 InvestUnitID: String,
5549 }
5550 #[derive(Debug, Clone, Default)]
5551 struct TradingNoticeField {
5552 is_null: bool,
5553 BrokerID: String,
5554 InvestorRange: u8,
5555 InvestorID: String,
5556 SequenceSeries: u16,
5557 UserID: String,
5558 SendTime: String,
5559 SequenceNo: i32,
5560 FieldContent: Vec<u8>,
5561 InvestUnitID: String,
5562 }
5563 #[derive(Debug, Clone, Default)]
5564 struct QryTradingNoticeField {
5565 is_null: bool,
5566 BrokerID: String,
5567 InvestorID: String,
5568 InvestUnitID: String,
5569 }
5570 #[derive(Debug, Clone, Default)]
5571 struct QryErrOrderField {
5572 is_null: bool,
5573 BrokerID: String,
5574 InvestorID: String,
5575 }
5576 #[derive(Debug, Clone, Default)]
5577 struct ErrOrderField {
5578 is_null: bool,
5579 BrokerID: String,
5580 InvestorID: String,
5581 OrderRef: String,
5582 UserID: String,
5583 OrderPriceType: u8,
5584 Direction: u8,
5585 CombOffsetFlag: String,
5586 CombHedgeFlag: String,
5587 LimitPrice: f64,
5588 VolumeTotalOriginal: i32,
5589 TimeCondition: u8,
5590 GTDDate: String,
5591 VolumeCondition: u8,
5592 MinVolume: i32,
5593 ContingentCondition: u8,
5594 StopPrice: f64,
5595 ForceCloseReason: u8,
5596 IsAutoSuspend: i32,
5597 BusinessUnit: String,
5598 RequestID: i32,
5599 UserForceClose: i32,
5600 ErrorID: i32,
5601 ErrorMsg: String,
5602 IsSwapOrder: i32,
5603 ExchangeID: String,
5604 InvestUnitID: String,
5605 AccountID: String,
5606 CurrencyID: String,
5607 ClientID: String,
5608 MacAddress: String,
5609 InstrumentID: String,
5610 IPAddress: String,
5611 OrderMemo: String,
5612 SessionReqSeq: i32,
5613 }
5614 #[derive(Debug, Clone, Default)]
5615 struct ErrorConditionalOrderField {
5616 is_null: bool,
5617 BrokerID: String,
5618 InvestorID: String,
5619 OrderRef: String,
5620 UserID: String,
5621 OrderPriceType: u8,
5622 Direction: u8,
5623 CombOffsetFlag: String,
5624 CombHedgeFlag: String,
5625 LimitPrice: f64,
5626 VolumeTotalOriginal: i32,
5627 TimeCondition: u8,
5628 GTDDate: String,
5629 VolumeCondition: u8,
5630 MinVolume: i32,
5631 ContingentCondition: u8,
5632 StopPrice: f64,
5633 ForceCloseReason: u8,
5634 IsAutoSuspend: i32,
5635 BusinessUnit: String,
5636 RequestID: i32,
5637 OrderLocalID: String,
5638 ExchangeID: String,
5639 ParticipantID: String,
5640 ClientID: String,
5641 TraderID: String,
5642 InstallID: i32,
5643 OrderSubmitStatus: u8,
5644 NotifySequence: i32,
5645 TradingDay: String,
5646 SettlementID: i32,
5647 OrderSysID: String,
5648 OrderSource: u8,
5649 OrderStatus: u8,
5650 OrderType: u8,
5651 VolumeTraded: i32,
5652 VolumeTotal: i32,
5653 InsertDate: String,
5654 InsertTime: String,
5655 ActiveTime: String,
5656 SuspendTime: String,
5657 UpdateTime: String,
5658 CancelTime: String,
5659 ActiveTraderID: String,
5660 ClearingPartID: String,
5661 SequenceNo: i32,
5662 FrontID: i32,
5663 SessionID: i32,
5664 UserProductInfo: String,
5665 StatusMsg: String,
5666 UserForceClose: i32,
5667 ActiveUserID: String,
5668 BrokerOrderSeq: i32,
5669 RelativeOrderSysID: String,
5670 ZCETotalTradedVolume: i32,
5671 ErrorID: i32,
5672 ErrorMsg: String,
5673 IsSwapOrder: i32,
5674 BranchID: String,
5675 InvestUnitID: String,
5676 AccountID: String,
5677 CurrencyID: String,
5678 MacAddress: String,
5679 InstrumentID: String,
5680 ExchangeInstID: String,
5681 IPAddress: String,
5682 }
5683 #[derive(Debug, Clone, Default)]
5684 struct QryErrOrderActionField {
5685 is_null: bool,
5686 BrokerID: String,
5687 InvestorID: String,
5688 }
5689 #[derive(Debug, Clone, Default)]
5690 struct ErrOrderActionField {
5691 is_null: bool,
5692 BrokerID: String,
5693 InvestorID: String,
5694 OrderActionRef: i32,
5695 OrderRef: String,
5696 RequestID: i32,
5697 FrontID: i32,
5698 SessionID: i32,
5699 ExchangeID: String,
5700 OrderSysID: String,
5701 ActionFlag: u8,
5702 LimitPrice: f64,
5703 VolumeChange: i32,
5704 ActionDate: String,
5705 ActionTime: String,
5706 TraderID: String,
5707 InstallID: i32,
5708 OrderLocalID: String,
5709 ActionLocalID: String,
5710 ParticipantID: String,
5711 ClientID: String,
5712 BusinessUnit: String,
5713 OrderActionStatus: u8,
5714 UserID: String,
5715 StatusMsg: String,
5716 BranchID: String,
5717 InvestUnitID: String,
5718 MacAddress: String,
5719 ErrorID: i32,
5720 ErrorMsg: String,
5721 InstrumentID: String,
5722 IPAddress: String,
5723 OrderMemo: String,
5724 SessionReqSeq: i32,
5725 }
5726 #[derive(Debug, Clone, Default)]
5727 struct QryExchangeSequenceField {
5728 is_null: bool,
5729 ExchangeID: String,
5730 }
5731 #[derive(Debug, Clone, Default)]
5732 struct ExchangeSequenceField {
5733 is_null: bool,
5734 ExchangeID: String,
5735 SequenceNo: i32,
5736 MarketStatus: u8,
5737 }
5738 #[derive(Debug, Clone, Default)]
5739 struct QryMaxOrderVolumeWithPriceField {
5740 is_null: bool,
5741 BrokerID: String,
5742 InvestorID: String,
5743 Direction: u8,
5744 OffsetFlag: u8,
5745 HedgeFlag: u8,
5746 MaxVolume: i32,
5747 Price: f64,
5748 ExchangeID: String,
5749 InvestUnitID: String,
5750 InstrumentID: String,
5751 }
5752 #[derive(Debug, Clone, Default)]
5753 struct QryBrokerTradingParamsField {
5754 is_null: bool,
5755 BrokerID: String,
5756 InvestorID: String,
5757 CurrencyID: String,
5758 AccountID: String,
5759 }
5760 #[derive(Debug, Clone, Default)]
5761 struct BrokerTradingParamsField {
5762 is_null: bool,
5763 BrokerID: String,
5764 InvestorID: String,
5765 MarginPriceType: u8,
5766 Algorithm: u8,
5767 AvailIncludeCloseProfit: u8,
5768 CurrencyID: String,
5769 OptionRoyaltyPriceType: u8,
5770 AccountID: String,
5771 }
5772 #[derive(Debug, Clone, Default)]
5773 struct QryBrokerTradingAlgosField {
5774 is_null: bool,
5775 BrokerID: String,
5776 ExchangeID: String,
5777 InstrumentID: String,
5778 }
5779 #[derive(Debug, Clone, Default)]
5780 struct BrokerTradingAlgosField {
5781 is_null: bool,
5782 BrokerID: String,
5783 ExchangeID: String,
5784 HandlePositionAlgoID: u8,
5785 FindMarginRateAlgoID: u8,
5786 HandleTradingAccountAlgoID: u8,
5787 InstrumentID: String,
5788 }
5789 #[derive(Debug, Clone, Default)]
5790 struct QueryBrokerDepositField {
5791 is_null: bool,
5792 BrokerID: String,
5793 ExchangeID: String,
5794 }
5795 #[derive(Debug, Clone, Default)]
5796 struct BrokerDepositField {
5797 is_null: bool,
5798 TradingDay: String,
5799 BrokerID: String,
5800 ParticipantID: String,
5801 ExchangeID: String,
5802 PreBalance: f64,
5803 CurrMargin: f64,
5804 CloseProfit: f64,
5805 Balance: f64,
5806 Deposit: f64,
5807 Withdraw: f64,
5808 Available: f64,
5809 Reserve: f64,
5810 FrozenMargin: f64,
5811 }
5812 #[derive(Debug, Clone, Default)]
5813 struct QryCFMMCBrokerKeyField {
5814 is_null: bool,
5815 BrokerID: String,
5816 }
5817 #[derive(Debug, Clone, Default)]
5818 struct CFMMCBrokerKeyField {
5819 is_null: bool,
5820 BrokerID: String,
5821 ParticipantID: String,
5822 CreateDate: String,
5823 CreateTime: String,
5824 KeyID: i32,
5825 CurrentKey: Vec<u8>,
5826 KeyKind: u8,
5827 }
5828 #[derive(Debug, Clone, Default)]
5829 struct CFMMCTradingAccountKeyField {
5830 is_null: bool,
5831 BrokerID: String,
5832 ParticipantID: String,
5833 AccountID: String,
5834 KeyID: i32,
5835 CurrentKey: Vec<u8>,
5836 }
5837 #[derive(Debug, Clone, Default)]
5838 struct QryCFMMCTradingAccountKeyField {
5839 is_null: bool,
5840 BrokerID: String,
5841 InvestorID: String,
5842 }
5843 #[derive(Debug, Clone, Default)]
5844 struct BrokerUserOTPParamField {
5845 is_null: bool,
5846 BrokerID: String,
5847 UserID: String,
5848 OTPVendorsID: String,
5849 SerialNumber: Vec<u8>,
5850 AuthKey: Vec<u8>,
5851 LastDrift: i32,
5852 LastSuccess: i32,
5853 OTPType: u8,
5854 }
5855 #[derive(Debug, Clone, Default)]
5856 struct ManualSyncBrokerUserOTPField {
5857 is_null: bool,
5858 BrokerID: String,
5859 UserID: String,
5860 OTPType: u8,
5861 FirstOTP: Vec<u8>,
5862 SecondOTP: Vec<u8>,
5863 }
5864 #[derive(Debug, Clone, Default)]
5865 struct CommRateModelField {
5866 is_null: bool,
5867 BrokerID: String,
5868 CommModelID: String,
5869 CommModelName: String,
5870 }
5871 #[derive(Debug, Clone, Default)]
5872 struct QryCommRateModelField {
5873 is_null: bool,
5874 BrokerID: String,
5875 CommModelID: String,
5876 }
5877 #[derive(Debug, Clone, Default)]
5878 struct MarginModelField {
5879 is_null: bool,
5880 BrokerID: String,
5881 MarginModelID: String,
5882 MarginModelName: String,
5883 }
5884 #[derive(Debug, Clone, Default)]
5885 struct QryMarginModelField {
5886 is_null: bool,
5887 BrokerID: String,
5888 MarginModelID: String,
5889 }
5890 #[derive(Debug, Clone, Default)]
5891 struct EWarrantOffsetField {
5892 is_null: bool,
5893 TradingDay: String,
5894 BrokerID: String,
5895 InvestorID: String,
5896 ExchangeID: String,
5897 Direction: u8,
5898 HedgeFlag: u8,
5899 Volume: i32,
5900 InvestUnitID: String,
5901 InstrumentID: String,
5902 }
5903 #[derive(Debug, Clone, Default)]
5904 struct QryEWarrantOffsetField {
5905 is_null: bool,
5906 BrokerID: String,
5907 InvestorID: String,
5908 ExchangeID: String,
5909 InvestUnitID: String,
5910 InstrumentID: String,
5911 }
5912 #[derive(Debug, Clone, Default)]
5913 struct QryInvestorProductGroupMarginField {
5914 is_null: bool,
5915 BrokerID: String,
5916 InvestorID: String,
5917 HedgeFlag: u8,
5918 ExchangeID: String,
5919 InvestUnitID: String,
5920 ProductGroupID: String,
5921 }
5922 #[derive(Debug, Clone, Default)]
5923 struct InvestorProductGroupMarginField {
5924 is_null: bool,
5925 BrokerID: String,
5926 InvestorID: String,
5927 TradingDay: String,
5928 SettlementID: i32,
5929 FrozenMargin: f64,
5930 LongFrozenMargin: f64,
5931 ShortFrozenMargin: f64,
5932 UseMargin: f64,
5933 LongUseMargin: f64,
5934 ShortUseMargin: f64,
5935 ExchMargin: f64,
5936 LongExchMargin: f64,
5937 ShortExchMargin: f64,
5938 CloseProfit: f64,
5939 FrozenCommission: f64,
5940 Commission: f64,
5941 FrozenCash: f64,
5942 CashIn: f64,
5943 PositionProfit: f64,
5944 OffsetAmount: f64,
5945 LongOffsetAmount: f64,
5946 ShortOffsetAmount: f64,
5947 ExchOffsetAmount: f64,
5948 LongExchOffsetAmount: f64,
5949 ShortExchOffsetAmount: f64,
5950 HedgeFlag: u8,
5951 ExchangeID: String,
5952 InvestUnitID: String,
5953 ProductGroupID: String,
5954 }
5955 #[derive(Debug, Clone, Default)]
5956 struct QueryCFMMCTradingAccountTokenField {
5957 is_null: bool,
5958 BrokerID: String,
5959 InvestorID: String,
5960 InvestUnitID: String,
5961 }
5962 #[derive(Debug, Clone, Default)]
5963 struct CFMMCTradingAccountTokenField {
5964 is_null: bool,
5965 BrokerID: String,
5966 ParticipantID: String,
5967 AccountID: String,
5968 KeyID: i32,
5969 Token: Vec<u8>,
5970 }
5971 #[derive(Debug, Clone, Default)]
5972 struct QryProductGroupField {
5973 is_null: bool,
5974 ExchangeID: String,
5975 ProductID: String,
5976 }
5977 #[derive(Debug, Clone, Default)]
5978 struct ProductGroupField {
5979 is_null: bool,
5980 ExchangeID: String,
5981 ProductID: String,
5982 ProductGroupID: String,
5983 }
5984 #[derive(Debug, Clone, Default)]
5985 struct BulletinField {
5986 is_null: bool,
5987 ExchangeID: String,
5988 TradingDay: String,
5989 BulletinID: i32,
5990 SequenceNo: i32,
5991 NewsType: Vec<u8>,
5992 NewsUrgency: u8,
5993 SendTime: String,
5994 Abstract: Vec<u8>,
5995 ComeFrom: Vec<u8>,
5996 Content: Vec<u8>,
5997 URLLink: Vec<u8>,
5998 MarketID: String,
5999 }
6000 #[derive(Debug, Clone, Default)]
6001 struct QryBulletinField {
6002 is_null: bool,
6003 ExchangeID: String,
6004 BulletinID: i32,
6005 SequenceNo: i32,
6006 NewsType: Vec<u8>,
6007 NewsUrgency: u8,
6008 }
6009 #[derive(Debug, Clone, Default)]
6010 struct MulticastInstrumentField {
6011 is_null: bool,
6012 TopicID: i32,
6013 InstrumentNo: i32,
6014 CodePrice: f64,
6015 VolumeMultiple: i32,
6016 PriceTick: f64,
6017 InstrumentID: String,
6018 }
6019 #[derive(Debug, Clone, Default)]
6020 struct QryMulticastInstrumentField {
6021 is_null: bool,
6022 TopicID: i32,
6023 InstrumentID: String,
6024 }
6025 #[derive(Debug, Clone, Default)]
6026 struct AppIDAuthAssignField {
6027 is_null: bool,
6028 BrokerID: String,
6029 AppID: String,
6030 DRIdentityID: i32,
6031 }
6032 #[derive(Debug, Clone, Default)]
6033 struct ReqOpenAccountField {
6034 is_null: bool,
6035 TradeCode: String,
6036 BankID: String,
6037 BankBranchID: String,
6038 BrokerID: String,
6039 BrokerBranchID: String,
6040 TradeDate: String,
6041 TradeTime: String,
6042 BankSerial: String,
6043 TradingDay: String,
6044 PlateSerial: i32,
6045 LastFragment: u8,
6046 SessionID: i32,
6047 CustomerName: String,
6048 IdCardType: u8,
6049 IdentifiedCardNo: String,
6050 Gender: u8,
6051 CountryCode: String,
6052 CustType: u8,
6053 Address: String,
6054 ZipCode: String,
6055 Telephone: String,
6056 MobilePhone: String,
6057 Fax: String,
6058 EMail: String,
6059 MoneyAccountStatus: u8,
6060 BankAccount: String,
6061 BankPassWord: String,
6062 AccountID: String,
6063 Password: String,
6064 InstallID: i32,
6065 VerifyCertNoFlag: u8,
6066 CurrencyID: String,
6067 CashExchangeCode: u8,
6068 Digest: Vec<u8>,
6069 BankAccType: u8,
6070 DeviceID: String,
6071 BankSecuAccType: u8,
6072 BrokerIDByBank: Vec<u8>,
6073 BankSecuAcc: Vec<u8>,
6074 BankPwdFlag: u8,
6075 SecuPwdFlag: u8,
6076 OperNo: String,
6077 TID: i32,
6078 UserID: String,
6079 LongCustomerName: String,
6080 }
6081 #[derive(Debug, Clone, Default)]
6082 struct ReqCancelAccountField {
6083 is_null: bool,
6084 TradeCode: String,
6085 BankID: String,
6086 BankBranchID: String,
6087 BrokerID: String,
6088 BrokerBranchID: String,
6089 TradeDate: String,
6090 TradeTime: String,
6091 BankSerial: String,
6092 TradingDay: String,
6093 PlateSerial: i32,
6094 LastFragment: u8,
6095 SessionID: i32,
6096 CustomerName: String,
6097 IdCardType: u8,
6098 IdentifiedCardNo: String,
6099 Gender: u8,
6100 CountryCode: String,
6101 CustType: u8,
6102 Address: String,
6103 ZipCode: String,
6104 Telephone: String,
6105 MobilePhone: String,
6106 Fax: String,
6107 EMail: String,
6108 MoneyAccountStatus: u8,
6109 BankAccount: String,
6110 BankPassWord: String,
6111 AccountID: String,
6112 Password: String,
6113 InstallID: i32,
6114 VerifyCertNoFlag: u8,
6115 CurrencyID: String,
6116 CashExchangeCode: u8,
6117 Digest: Vec<u8>,
6118 BankAccType: u8,
6119 DeviceID: String,
6120 BankSecuAccType: u8,
6121 BrokerIDByBank: Vec<u8>,
6122 BankSecuAcc: Vec<u8>,
6123 BankPwdFlag: u8,
6124 SecuPwdFlag: u8,
6125 OperNo: String,
6126 TID: i32,
6127 UserID: String,
6128 LongCustomerName: String,
6129 }
6130 #[derive(Debug, Clone, Default)]
6131 struct ReqChangeAccountField {
6132 is_null: bool,
6133 TradeCode: String,
6134 BankID: String,
6135 BankBranchID: String,
6136 BrokerID: String,
6137 BrokerBranchID: String,
6138 TradeDate: String,
6139 TradeTime: String,
6140 BankSerial: String,
6141 TradingDay: String,
6142 PlateSerial: i32,
6143 LastFragment: u8,
6144 SessionID: i32,
6145 CustomerName: String,
6146 IdCardType: u8,
6147 IdentifiedCardNo: String,
6148 Gender: u8,
6149 CountryCode: String,
6150 CustType: u8,
6151 Address: String,
6152 ZipCode: String,
6153 Telephone: String,
6154 MobilePhone: String,
6155 Fax: String,
6156 EMail: String,
6157 MoneyAccountStatus: u8,
6158 BankAccount: String,
6159 BankPassWord: String,
6160 NewBankAccount: String,
6161 NewBankPassWord: String,
6162 AccountID: String,
6163 Password: String,
6164 BankAccType: u8,
6165 InstallID: i32,
6166 VerifyCertNoFlag: u8,
6167 CurrencyID: String,
6168 BrokerIDByBank: Vec<u8>,
6169 BankPwdFlag: u8,
6170 SecuPwdFlag: u8,
6171 TID: i32,
6172 Digest: Vec<u8>,
6173 LongCustomerName: String,
6174 }
6175 #[derive(Debug, Clone, Default)]
6176 struct ReqTransferField {
6177 is_null: bool,
6178 TradeCode: String,
6179 BankID: String,
6180 BankBranchID: String,
6181 BrokerID: String,
6182 BrokerBranchID: String,
6183 TradeDate: String,
6184 TradeTime: String,
6185 BankSerial: String,
6186 TradingDay: String,
6187 PlateSerial: i32,
6188 LastFragment: u8,
6189 SessionID: i32,
6190 CustomerName: String,
6191 IdCardType: u8,
6192 IdentifiedCardNo: String,
6193 CustType: u8,
6194 BankAccount: String,
6195 BankPassWord: String,
6196 AccountID: String,
6197 Password: String,
6198 InstallID: i32,
6199 FutureSerial: i32,
6200 UserID: String,
6201 VerifyCertNoFlag: u8,
6202 CurrencyID: String,
6203 TradeAmount: f64,
6204 FutureFetchAmount: f64,
6205 FeePayFlag: u8,
6206 CustFee: f64,
6207 BrokerFee: f64,
6208 Message: Vec<u8>,
6209 Digest: Vec<u8>,
6210 BankAccType: u8,
6211 DeviceID: String,
6212 BankSecuAccType: u8,
6213 BrokerIDByBank: Vec<u8>,
6214 BankSecuAcc: Vec<u8>,
6215 BankPwdFlag: u8,
6216 SecuPwdFlag: u8,
6217 OperNo: String,
6218 RequestID: i32,
6219 TID: i32,
6220 TransferStatus: u8,
6221 LongCustomerName: String,
6222 }
6223 #[derive(Debug, Clone, Default)]
6224 struct RspTransferField {
6225 is_null: bool,
6226 TradeCode: String,
6227 BankID: String,
6228 BankBranchID: String,
6229 BrokerID: String,
6230 BrokerBranchID: String,
6231 TradeDate: String,
6232 TradeTime: String,
6233 BankSerial: String,
6234 TradingDay: String,
6235 PlateSerial: i32,
6236 LastFragment: u8,
6237 SessionID: i32,
6238 CustomerName: String,
6239 IdCardType: u8,
6240 IdentifiedCardNo: String,
6241 CustType: u8,
6242 BankAccount: String,
6243 BankPassWord: String,
6244 AccountID: String,
6245 Password: String,
6246 InstallID: i32,
6247 FutureSerial: i32,
6248 UserID: String,
6249 VerifyCertNoFlag: u8,
6250 CurrencyID: String,
6251 TradeAmount: f64,
6252 FutureFetchAmount: f64,
6253 FeePayFlag: u8,
6254 CustFee: f64,
6255 BrokerFee: f64,
6256 Message: Vec<u8>,
6257 Digest: Vec<u8>,
6258 BankAccType: u8,
6259 DeviceID: String,
6260 BankSecuAccType: u8,
6261 BrokerIDByBank: Vec<u8>,
6262 BankSecuAcc: Vec<u8>,
6263 BankPwdFlag: u8,
6264 SecuPwdFlag: u8,
6265 OperNo: String,
6266 RequestID: i32,
6267 TID: i32,
6268 TransferStatus: u8,
6269 ErrorID: i32,
6270 ErrorMsg: String,
6271 LongCustomerName: String,
6272 }
6273 #[derive(Debug, Clone, Default)]
6274 struct ReqRepealField {
6275 is_null: bool,
6276 RepealTimeInterval: i32,
6277 RepealedTimes: i32,
6278 BankRepealFlag: u8,
6279 BrokerRepealFlag: u8,
6280 PlateRepealSerial: i32,
6281 BankRepealSerial: String,
6282 FutureRepealSerial: i32,
6283 TradeCode: String,
6284 BankID: String,
6285 BankBranchID: String,
6286 BrokerID: String,
6287 BrokerBranchID: String,
6288 TradeDate: String,
6289 TradeTime: String,
6290 BankSerial: String,
6291 TradingDay: String,
6292 PlateSerial: i32,
6293 LastFragment: u8,
6294 SessionID: i32,
6295 CustomerName: String,
6296 IdCardType: u8,
6297 IdentifiedCardNo: String,
6298 CustType: u8,
6299 BankAccount: String,
6300 BankPassWord: String,
6301 AccountID: String,
6302 Password: String,
6303 InstallID: i32,
6304 FutureSerial: i32,
6305 UserID: String,
6306 VerifyCertNoFlag: u8,
6307 CurrencyID: String,
6308 TradeAmount: f64,
6309 FutureFetchAmount: f64,
6310 FeePayFlag: u8,
6311 CustFee: f64,
6312 BrokerFee: f64,
6313 Message: Vec<u8>,
6314 Digest: Vec<u8>,
6315 BankAccType: u8,
6316 DeviceID: String,
6317 BankSecuAccType: u8,
6318 BrokerIDByBank: Vec<u8>,
6319 BankSecuAcc: Vec<u8>,
6320 BankPwdFlag: u8,
6321 SecuPwdFlag: u8,
6322 OperNo: String,
6323 RequestID: i32,
6324 TID: i32,
6325 TransferStatus: u8,
6326 LongCustomerName: String,
6327 }
6328 #[derive(Debug, Clone, Default)]
6329 struct RspRepealField {
6330 is_null: bool,
6331 RepealTimeInterval: i32,
6332 RepealedTimes: i32,
6333 BankRepealFlag: u8,
6334 BrokerRepealFlag: u8,
6335 PlateRepealSerial: i32,
6336 BankRepealSerial: String,
6337 FutureRepealSerial: i32,
6338 TradeCode: String,
6339 BankID: String,
6340 BankBranchID: String,
6341 BrokerID: String,
6342 BrokerBranchID: String,
6343 TradeDate: String,
6344 TradeTime: String,
6345 BankSerial: String,
6346 TradingDay: String,
6347 PlateSerial: i32,
6348 LastFragment: u8,
6349 SessionID: i32,
6350 CustomerName: String,
6351 IdCardType: u8,
6352 IdentifiedCardNo: String,
6353 CustType: u8,
6354 BankAccount: String,
6355 BankPassWord: String,
6356 AccountID: String,
6357 Password: String,
6358 InstallID: i32,
6359 FutureSerial: i32,
6360 UserID: String,
6361 VerifyCertNoFlag: u8,
6362 CurrencyID: String,
6363 TradeAmount: f64,
6364 FutureFetchAmount: f64,
6365 FeePayFlag: u8,
6366 CustFee: f64,
6367 BrokerFee: f64,
6368 Message: Vec<u8>,
6369 Digest: Vec<u8>,
6370 BankAccType: u8,
6371 DeviceID: String,
6372 BankSecuAccType: u8,
6373 BrokerIDByBank: Vec<u8>,
6374 BankSecuAcc: Vec<u8>,
6375 BankPwdFlag: u8,
6376 SecuPwdFlag: u8,
6377 OperNo: String,
6378 RequestID: i32,
6379 TID: i32,
6380 TransferStatus: u8,
6381 ErrorID: i32,
6382 ErrorMsg: String,
6383 LongCustomerName: String,
6384 }
6385 #[derive(Debug, Clone, Default)]
6386 struct ReqQueryAccountField {
6387 is_null: bool,
6388 TradeCode: String,
6389 BankID: String,
6390 BankBranchID: String,
6391 BrokerID: String,
6392 BrokerBranchID: String,
6393 TradeDate: String,
6394 TradeTime: String,
6395 BankSerial: String,
6396 TradingDay: String,
6397 PlateSerial: i32,
6398 LastFragment: u8,
6399 SessionID: i32,
6400 CustomerName: String,
6401 IdCardType: u8,
6402 IdentifiedCardNo: String,
6403 CustType: u8,
6404 BankAccount: String,
6405 BankPassWord: String,
6406 AccountID: String,
6407 Password: String,
6408 FutureSerial: i32,
6409 InstallID: i32,
6410 UserID: String,
6411 VerifyCertNoFlag: u8,
6412 CurrencyID: String,
6413 Digest: Vec<u8>,
6414 BankAccType: u8,
6415 DeviceID: String,
6416 BankSecuAccType: u8,
6417 BrokerIDByBank: Vec<u8>,
6418 BankSecuAcc: Vec<u8>,
6419 BankPwdFlag: u8,
6420 SecuPwdFlag: u8,
6421 OperNo: String,
6422 RequestID: i32,
6423 TID: i32,
6424 LongCustomerName: String,
6425 }
6426 #[derive(Debug, Clone, Default)]
6427 struct RspQueryAccountField {
6428 is_null: bool,
6429 TradeCode: String,
6430 BankID: String,
6431 BankBranchID: String,
6432 BrokerID: String,
6433 BrokerBranchID: String,
6434 TradeDate: String,
6435 TradeTime: String,
6436 BankSerial: String,
6437 TradingDay: String,
6438 PlateSerial: i32,
6439 LastFragment: u8,
6440 SessionID: i32,
6441 CustomerName: String,
6442 IdCardType: u8,
6443 IdentifiedCardNo: String,
6444 CustType: u8,
6445 BankAccount: String,
6446 BankPassWord: String,
6447 AccountID: String,
6448 Password: String,
6449 FutureSerial: i32,
6450 InstallID: i32,
6451 UserID: String,
6452 VerifyCertNoFlag: u8,
6453 CurrencyID: String,
6454 Digest: Vec<u8>,
6455 BankAccType: u8,
6456 DeviceID: String,
6457 BankSecuAccType: u8,
6458 BrokerIDByBank: Vec<u8>,
6459 BankSecuAcc: Vec<u8>,
6460 BankPwdFlag: u8,
6461 SecuPwdFlag: u8,
6462 OperNo: String,
6463 RequestID: i32,
6464 TID: i32,
6465 BankUseAmount: f64,
6466 BankFetchAmount: f64,
6467 LongCustomerName: String,
6468 }
6469 #[derive(Debug, Clone, Default)]
6470 struct FutureSignIOField {
6471 is_null: bool,
6472 TradeCode: String,
6473 BankID: String,
6474 BankBranchID: String,
6475 BrokerID: String,
6476 BrokerBranchID: String,
6477 TradeDate: String,
6478 TradeTime: String,
6479 BankSerial: String,
6480 TradingDay: String,
6481 PlateSerial: i32,
6482 LastFragment: u8,
6483 SessionID: i32,
6484 InstallID: i32,
6485 UserID: String,
6486 Digest: Vec<u8>,
6487 CurrencyID: String,
6488 DeviceID: String,
6489 BrokerIDByBank: Vec<u8>,
6490 OperNo: String,
6491 RequestID: i32,
6492 TID: i32,
6493 }
6494 #[derive(Debug, Clone, Default)]
6495 struct RspFutureSignInField {
6496 is_null: bool,
6497 TradeCode: String,
6498 BankID: String,
6499 BankBranchID: String,
6500 BrokerID: String,
6501 BrokerBranchID: String,
6502 TradeDate: String,
6503 TradeTime: String,
6504 BankSerial: String,
6505 TradingDay: String,
6506 PlateSerial: i32,
6507 LastFragment: u8,
6508 SessionID: i32,
6509 InstallID: i32,
6510 UserID: String,
6511 Digest: Vec<u8>,
6512 CurrencyID: String,
6513 DeviceID: String,
6514 BrokerIDByBank: Vec<u8>,
6515 OperNo: String,
6516 RequestID: i32,
6517 TID: i32,
6518 ErrorID: i32,
6519 ErrorMsg: String,
6520 PinKey: Vec<u8>,
6521 MacKey: Vec<u8>,
6522 }
6523 #[derive(Debug, Clone, Default)]
6524 struct ReqFutureSignOutField {
6525 is_null: bool,
6526 TradeCode: String,
6527 BankID: String,
6528 BankBranchID: String,
6529 BrokerID: String,
6530 BrokerBranchID: String,
6531 TradeDate: String,
6532 TradeTime: String,
6533 BankSerial: String,
6534 TradingDay: String,
6535 PlateSerial: i32,
6536 LastFragment: u8,
6537 SessionID: i32,
6538 InstallID: i32,
6539 UserID: String,
6540 Digest: Vec<u8>,
6541 CurrencyID: String,
6542 DeviceID: String,
6543 BrokerIDByBank: Vec<u8>,
6544 OperNo: String,
6545 RequestID: i32,
6546 TID: i32,
6547 }
6548 #[derive(Debug, Clone, Default)]
6549 struct RspFutureSignOutField {
6550 is_null: bool,
6551 TradeCode: String,
6552 BankID: String,
6553 BankBranchID: String,
6554 BrokerID: String,
6555 BrokerBranchID: String,
6556 TradeDate: String,
6557 TradeTime: String,
6558 BankSerial: String,
6559 TradingDay: String,
6560 PlateSerial: i32,
6561 LastFragment: u8,
6562 SessionID: i32,
6563 InstallID: i32,
6564 UserID: String,
6565 Digest: Vec<u8>,
6566 CurrencyID: String,
6567 DeviceID: String,
6568 BrokerIDByBank: Vec<u8>,
6569 OperNo: String,
6570 RequestID: i32,
6571 TID: i32,
6572 ErrorID: i32,
6573 ErrorMsg: String,
6574 }
6575 #[derive(Debug, Clone, Default)]
6576 struct ReqQueryTradeResultBySerialField {
6577 is_null: bool,
6578 TradeCode: String,
6579 BankID: String,
6580 BankBranchID: String,
6581 BrokerID: String,
6582 BrokerBranchID: String,
6583 TradeDate: String,
6584 TradeTime: String,
6585 BankSerial: String,
6586 TradingDay: String,
6587 PlateSerial: i32,
6588 LastFragment: u8,
6589 SessionID: i32,
6590 Reference: i32,
6591 RefrenceIssureType: u8,
6592 RefrenceIssure: Vec<u8>,
6593 CustomerName: String,
6594 IdCardType: u8,
6595 IdentifiedCardNo: String,
6596 CustType: u8,
6597 BankAccount: String,
6598 BankPassWord: String,
6599 AccountID: String,
6600 Password: String,
6601 CurrencyID: String,
6602 TradeAmount: f64,
6603 Digest: Vec<u8>,
6604 LongCustomerName: String,
6605 }
6606 #[derive(Debug, Clone, Default)]
6607 struct RspQueryTradeResultBySerialField {
6608 is_null: bool,
6609 TradeCode: String,
6610 BankID: String,
6611 BankBranchID: String,
6612 BrokerID: String,
6613 BrokerBranchID: String,
6614 TradeDate: String,
6615 TradeTime: String,
6616 BankSerial: String,
6617 TradingDay: String,
6618 PlateSerial: i32,
6619 LastFragment: u8,
6620 SessionID: i32,
6621 ErrorID: i32,
6622 ErrorMsg: String,
6623 Reference: i32,
6624 RefrenceIssureType: u8,
6625 RefrenceIssure: Vec<u8>,
6626 OriginReturnCode: String,
6627 OriginDescrInfoForReturnCode: String,
6628 BankAccount: String,
6629 BankPassWord: String,
6630 AccountID: String,
6631 Password: String,
6632 CurrencyID: String,
6633 TradeAmount: f64,
6634 Digest: Vec<u8>,
6635 }
6636 #[derive(Debug, Clone, Default)]
6637 struct ReqDayEndFileReadyField {
6638 is_null: bool,
6639 TradeCode: String,
6640 BankID: String,
6641 BankBranchID: String,
6642 BrokerID: String,
6643 BrokerBranchID: String,
6644 TradeDate: String,
6645 TradeTime: String,
6646 BankSerial: String,
6647 TradingDay: String,
6648 PlateSerial: i32,
6649 LastFragment: u8,
6650 SessionID: i32,
6651 FileBusinessCode: u8,
6652 Digest: Vec<u8>,
6653 }
6654 #[derive(Debug, Clone, Default)]
6655 struct ReturnResultField {
6656 is_null: bool,
6657 ReturnCode: String,
6658 DescrInfoForReturnCode: String,
6659 }
6660 #[derive(Debug, Clone, Default)]
6661 struct VerifyFuturePasswordField {
6662 is_null: bool,
6663 TradeCode: String,
6664 BankID: String,
6665 BankBranchID: String,
6666 BrokerID: String,
6667 BrokerBranchID: String,
6668 TradeDate: String,
6669 TradeTime: String,
6670 BankSerial: String,
6671 TradingDay: String,
6672 PlateSerial: i32,
6673 LastFragment: u8,
6674 SessionID: i32,
6675 AccountID: String,
6676 Password: String,
6677 BankAccount: String,
6678 BankPassWord: String,
6679 InstallID: i32,
6680 TID: i32,
6681 CurrencyID: String,
6682 }
6683 #[derive(Debug, Clone, Default)]
6684 struct VerifyCustInfoField {
6685 is_null: bool,
6686 CustomerName: String,
6687 IdCardType: u8,
6688 IdentifiedCardNo: String,
6689 CustType: u8,
6690 LongCustomerName: String,
6691 }
6692 #[derive(Debug, Clone, Default)]
6693 struct VerifyFuturePasswordAndCustInfoField {
6694 is_null: bool,
6695 CustomerName: String,
6696 IdCardType: u8,
6697 IdentifiedCardNo: String,
6698 CustType: u8,
6699 AccountID: String,
6700 Password: String,
6701 CurrencyID: String,
6702 LongCustomerName: String,
6703 }
6704 #[derive(Debug, Clone, Default)]
6705 struct DepositResultInformField {
6706 is_null: bool,
6707 DepositSeqNo: Vec<u8>,
6708 BrokerID: String,
6709 InvestorID: String,
6710 Deposit: f64,
6711 RequestID: i32,
6712 ReturnCode: String,
6713 DescrInfoForReturnCode: String,
6714 }
6715 #[derive(Debug, Clone, Default)]
6716 struct ReqSyncKeyField {
6717 is_null: bool,
6718 TradeCode: String,
6719 BankID: String,
6720 BankBranchID: String,
6721 BrokerID: String,
6722 BrokerBranchID: String,
6723 TradeDate: String,
6724 TradeTime: String,
6725 BankSerial: String,
6726 TradingDay: String,
6727 PlateSerial: i32,
6728 LastFragment: u8,
6729 SessionID: i32,
6730 InstallID: i32,
6731 UserID: String,
6732 Message: Vec<u8>,
6733 DeviceID: String,
6734 BrokerIDByBank: Vec<u8>,
6735 OperNo: String,
6736 RequestID: i32,
6737 TID: i32,
6738 }
6739 #[derive(Debug, Clone, Default)]
6740 struct RspSyncKeyField {
6741 is_null: bool,
6742 TradeCode: String,
6743 BankID: String,
6744 BankBranchID: String,
6745 BrokerID: String,
6746 BrokerBranchID: String,
6747 TradeDate: String,
6748 TradeTime: String,
6749 BankSerial: String,
6750 TradingDay: String,
6751 PlateSerial: i32,
6752 LastFragment: u8,
6753 SessionID: i32,
6754 InstallID: i32,
6755 UserID: String,
6756 Message: Vec<u8>,
6757 DeviceID: String,
6758 BrokerIDByBank: Vec<u8>,
6759 OperNo: String,
6760 RequestID: i32,
6761 TID: i32,
6762 ErrorID: i32,
6763 ErrorMsg: String,
6764 }
6765 #[derive(Debug, Clone, Default)]
6766 struct NotifyQueryAccountField {
6767 is_null: bool,
6768 TradeCode: String,
6769 BankID: String,
6770 BankBranchID: String,
6771 BrokerID: String,
6772 BrokerBranchID: String,
6773 TradeDate: String,
6774 TradeTime: String,
6775 BankSerial: String,
6776 TradingDay: String,
6777 PlateSerial: i32,
6778 LastFragment: u8,
6779 SessionID: i32,
6780 CustomerName: String,
6781 IdCardType: u8,
6782 IdentifiedCardNo: String,
6783 CustType: u8,
6784 BankAccount: String,
6785 BankPassWord: String,
6786 AccountID: String,
6787 Password: String,
6788 FutureSerial: i32,
6789 InstallID: i32,
6790 UserID: String,
6791 VerifyCertNoFlag: u8,
6792 CurrencyID: String,
6793 Digest: Vec<u8>,
6794 BankAccType: u8,
6795 DeviceID: String,
6796 BankSecuAccType: u8,
6797 BrokerIDByBank: Vec<u8>,
6798 BankSecuAcc: Vec<u8>,
6799 BankPwdFlag: u8,
6800 SecuPwdFlag: u8,
6801 OperNo: String,
6802 RequestID: i32,
6803 TID: i32,
6804 BankUseAmount: f64,
6805 BankFetchAmount: f64,
6806 ErrorID: i32,
6807 ErrorMsg: String,
6808 LongCustomerName: String,
6809 }
6810 #[derive(Debug, Clone, Default)]
6811 struct TransferSerialField {
6812 is_null: bool,
6813 PlateSerial: i32,
6814 TradeDate: String,
6815 TradingDay: String,
6816 TradeTime: String,
6817 TradeCode: String,
6818 SessionID: i32,
6819 BankID: String,
6820 BankBranchID: String,
6821 BankAccType: u8,
6822 BankAccount: String,
6823 BankSerial: String,
6824 BrokerID: String,
6825 BrokerBranchID: String,
6826 FutureAccType: u8,
6827 AccountID: String,
6828 InvestorID: String,
6829 FutureSerial: i32,
6830 IdCardType: u8,
6831 IdentifiedCardNo: String,
6832 CurrencyID: String,
6833 TradeAmount: f64,
6834 CustFee: f64,
6835 BrokerFee: f64,
6836 AvailabilityFlag: u8,
6837 OperatorCode: String,
6838 BankNewAccount: String,
6839 ErrorID: i32,
6840 ErrorMsg: String,
6841 }
6842 #[derive(Debug, Clone, Default)]
6843 struct QryTransferSerialField {
6844 is_null: bool,
6845 BrokerID: String,
6846 AccountID: String,
6847 BankID: String,
6848 CurrencyID: String,
6849 }
6850 #[derive(Debug, Clone, Default)]
6851 struct NotifyFutureSignInField {
6852 is_null: bool,
6853 TradeCode: String,
6854 BankID: String,
6855 BankBranchID: String,
6856 BrokerID: String,
6857 BrokerBranchID: String,
6858 TradeDate: String,
6859 TradeTime: String,
6860 BankSerial: String,
6861 TradingDay: String,
6862 PlateSerial: i32,
6863 LastFragment: u8,
6864 SessionID: i32,
6865 InstallID: i32,
6866 UserID: String,
6867 Digest: Vec<u8>,
6868 CurrencyID: String,
6869 DeviceID: String,
6870 BrokerIDByBank: Vec<u8>,
6871 OperNo: String,
6872 RequestID: i32,
6873 TID: i32,
6874 ErrorID: i32,
6875 ErrorMsg: String,
6876 PinKey: Vec<u8>,
6877 MacKey: Vec<u8>,
6878 }
6879 #[derive(Debug, Clone, Default)]
6880 struct NotifyFutureSignOutField {
6881 is_null: bool,
6882 TradeCode: String,
6883 BankID: String,
6884 BankBranchID: String,
6885 BrokerID: String,
6886 BrokerBranchID: String,
6887 TradeDate: String,
6888 TradeTime: String,
6889 BankSerial: String,
6890 TradingDay: String,
6891 PlateSerial: i32,
6892 LastFragment: u8,
6893 SessionID: i32,
6894 InstallID: i32,
6895 UserID: String,
6896 Digest: Vec<u8>,
6897 CurrencyID: String,
6898 DeviceID: String,
6899 BrokerIDByBank: Vec<u8>,
6900 OperNo: String,
6901 RequestID: i32,
6902 TID: i32,
6903 ErrorID: i32,
6904 ErrorMsg: String,
6905 }
6906 #[derive(Debug, Clone, Default)]
6907 struct NotifySyncKeyField {
6908 is_null: bool,
6909 TradeCode: String,
6910 BankID: String,
6911 BankBranchID: String,
6912 BrokerID: String,
6913 BrokerBranchID: String,
6914 TradeDate: String,
6915 TradeTime: String,
6916 BankSerial: String,
6917 TradingDay: String,
6918 PlateSerial: i32,
6919 LastFragment: u8,
6920 SessionID: i32,
6921 InstallID: i32,
6922 UserID: String,
6923 Message: Vec<u8>,
6924 DeviceID: String,
6925 BrokerIDByBank: Vec<u8>,
6926 OperNo: String,
6927 RequestID: i32,
6928 TID: i32,
6929 ErrorID: i32,
6930 ErrorMsg: String,
6931 }
6932 #[derive(Debug, Clone, Default)]
6933 struct QryAccountregisterField {
6934 is_null: bool,
6935 BrokerID: String,
6936 AccountID: String,
6937 BankID: String,
6938 BankBranchID: String,
6939 CurrencyID: String,
6940 }
6941 #[derive(Debug, Clone, Default)]
6942 struct AccountregisterField {
6943 is_null: bool,
6944 TradeDay: String,
6945 BankID: String,
6946 BankBranchID: String,
6947 BankAccount: String,
6948 BrokerID: String,
6949 BrokerBranchID: String,
6950 AccountID: String,
6951 IdCardType: u8,
6952 IdentifiedCardNo: String,
6953 CustomerName: String,
6954 CurrencyID: String,
6955 OpenOrDestroy: u8,
6956 RegDate: String,
6957 OutDate: String,
6958 TID: i32,
6959 CustType: u8,
6960 BankAccType: u8,
6961 LongCustomerName: String,
6962 }
6963 #[derive(Debug, Clone, Default)]
6964 struct OpenAccountField {
6965 is_null: bool,
6966 TradeCode: String,
6967 BankID: String,
6968 BankBranchID: String,
6969 BrokerID: String,
6970 BrokerBranchID: String,
6971 TradeDate: String,
6972 TradeTime: String,
6973 BankSerial: String,
6974 TradingDay: String,
6975 PlateSerial: i32,
6976 LastFragment: u8,
6977 SessionID: i32,
6978 CustomerName: String,
6979 IdCardType: u8,
6980 IdentifiedCardNo: String,
6981 Gender: u8,
6982 CountryCode: String,
6983 CustType: u8,
6984 Address: String,
6985 ZipCode: String,
6986 Telephone: String,
6987 MobilePhone: String,
6988 Fax: String,
6989 EMail: String,
6990 MoneyAccountStatus: u8,
6991 BankAccount: String,
6992 BankPassWord: String,
6993 AccountID: String,
6994 Password: String,
6995 InstallID: i32,
6996 VerifyCertNoFlag: u8,
6997 CurrencyID: String,
6998 CashExchangeCode: u8,
6999 Digest: Vec<u8>,
7000 BankAccType: u8,
7001 DeviceID: String,
7002 BankSecuAccType: u8,
7003 BrokerIDByBank: Vec<u8>,
7004 BankSecuAcc: Vec<u8>,
7005 BankPwdFlag: u8,
7006 SecuPwdFlag: u8,
7007 OperNo: String,
7008 TID: i32,
7009 UserID: String,
7010 ErrorID: i32,
7011 ErrorMsg: String,
7012 LongCustomerName: String,
7013 }
7014 #[derive(Debug, Clone, Default)]
7015 struct CancelAccountField {
7016 is_null: bool,
7017 TradeCode: String,
7018 BankID: String,
7019 BankBranchID: String,
7020 BrokerID: String,
7021 BrokerBranchID: String,
7022 TradeDate: String,
7023 TradeTime: String,
7024 BankSerial: String,
7025 TradingDay: String,
7026 PlateSerial: i32,
7027 LastFragment: u8,
7028 SessionID: i32,
7029 CustomerName: String,
7030 IdCardType: u8,
7031 IdentifiedCardNo: String,
7032 Gender: u8,
7033 CountryCode: String,
7034 CustType: u8,
7035 Address: String,
7036 ZipCode: String,
7037 Telephone: String,
7038 MobilePhone: String,
7039 Fax: String,
7040 EMail: String,
7041 MoneyAccountStatus: u8,
7042 BankAccount: String,
7043 BankPassWord: String,
7044 AccountID: String,
7045 Password: String,
7046 InstallID: i32,
7047 VerifyCertNoFlag: u8,
7048 CurrencyID: String,
7049 CashExchangeCode: u8,
7050 Digest: Vec<u8>,
7051 BankAccType: u8,
7052 DeviceID: String,
7053 BankSecuAccType: u8,
7054 BrokerIDByBank: Vec<u8>,
7055 BankSecuAcc: Vec<u8>,
7056 BankPwdFlag: u8,
7057 SecuPwdFlag: u8,
7058 OperNo: String,
7059 TID: i32,
7060 UserID: String,
7061 ErrorID: i32,
7062 ErrorMsg: String,
7063 LongCustomerName: String,
7064 }
7065 #[derive(Debug, Clone, Default)]
7066 struct ChangeAccountField {
7067 is_null: bool,
7068 TradeCode: String,
7069 BankID: String,
7070 BankBranchID: String,
7071 BrokerID: String,
7072 BrokerBranchID: String,
7073 TradeDate: String,
7074 TradeTime: String,
7075 BankSerial: String,
7076 TradingDay: String,
7077 PlateSerial: i32,
7078 LastFragment: u8,
7079 SessionID: i32,
7080 CustomerName: String,
7081 IdCardType: u8,
7082 IdentifiedCardNo: String,
7083 Gender: u8,
7084 CountryCode: String,
7085 CustType: u8,
7086 Address: String,
7087 ZipCode: String,
7088 Telephone: String,
7089 MobilePhone: String,
7090 Fax: String,
7091 EMail: String,
7092 MoneyAccountStatus: u8,
7093 BankAccount: String,
7094 BankPassWord: String,
7095 NewBankAccount: String,
7096 NewBankPassWord: String,
7097 AccountID: String,
7098 Password: String,
7099 BankAccType: u8,
7100 InstallID: i32,
7101 VerifyCertNoFlag: u8,
7102 CurrencyID: String,
7103 BrokerIDByBank: Vec<u8>,
7104 BankPwdFlag: u8,
7105 SecuPwdFlag: u8,
7106 TID: i32,
7107 Digest: Vec<u8>,
7108 ErrorID: i32,
7109 ErrorMsg: String,
7110 LongCustomerName: String,
7111 }
7112 #[derive(Debug, Clone, Default)]
7113 struct SecAgentACIDMapField {
7114 is_null: bool,
7115 BrokerID: String,
7116 UserID: String,
7117 AccountID: String,
7118 CurrencyID: String,
7119 BrokerSecAgentID: String,
7120 }
7121 #[derive(Debug, Clone, Default)]
7122 struct QrySecAgentACIDMapField {
7123 is_null: bool,
7124 BrokerID: String,
7125 UserID: String,
7126 AccountID: String,
7127 CurrencyID: String,
7128 }
7129 #[derive(Debug, Clone, Default)]
7130 struct UserRightsAssignField {
7131 is_null: bool,
7132 BrokerID: String,
7133 UserID: String,
7134 DRIdentityID: i32,
7135 }
7136 #[derive(Debug, Clone, Default)]
7137 struct BrokerUserRightAssignField {
7138 is_null: bool,
7139 BrokerID: String,
7140 DRIdentityID: i32,
7141 Tradeable: i32,
7142 }
7143 #[derive(Debug, Clone, Default)]
7144 struct DRTransferField {
7145 is_null: bool,
7146 OrigDRIdentityID: i32,
7147 DestDRIdentityID: i32,
7148 OrigBrokerID: String,
7149 DestBrokerID: String,
7150 }
7151 #[derive(Debug, Clone, Default)]
7152 struct FensUserInfoField {
7153 is_null: bool,
7154 BrokerID: String,
7155 UserID: String,
7156 LoginMode: u8,
7157 }
7158 #[derive(Debug, Clone, Default)]
7159 struct CurrTransferIdentityField {
7160 is_null: bool,
7161 IdentityID: i32,
7162 }
7163 #[derive(Debug, Clone, Default)]
7164 struct LoginForbiddenUserField {
7165 is_null: bool,
7166 BrokerID: String,
7167 UserID: String,
7168 IPAddress: String,
7169 }
7170 #[derive(Debug, Clone, Default)]
7171 struct QryLoginForbiddenUserField {
7172 is_null: bool,
7173 BrokerID: String,
7174 UserID: String,
7175 }
7176 #[derive(Debug, Clone, Default)]
7177 struct TradingAccountReserveField {
7178 is_null: bool,
7179 BrokerID: String,
7180 AccountID: String,
7181 Reserve: f64,
7182 CurrencyID: String,
7183 }
7184 #[derive(Debug, Clone, Default)]
7185 struct QryLoginForbiddenIPField {
7186 is_null: bool,
7187 IPAddress: String,
7188 }
7189 #[derive(Debug, Clone, Default)]
7190 struct QryIPListField {
7191 is_null: bool,
7192 IPAddress: String,
7193 }
7194 #[derive(Debug, Clone, Default)]
7195 struct QryUserRightsAssignField {
7196 is_null: bool,
7197 BrokerID: String,
7198 UserID: String,
7199 }
7200 #[derive(Debug, Clone, Default)]
7201 struct ReserveOpenAccountConfirmField {
7202 is_null: bool,
7203 TradeCode: String,
7204 BankID: String,
7205 BankBranchID: String,
7206 BrokerID: String,
7207 BrokerBranchID: String,
7208 TradeDate: String,
7209 TradeTime: String,
7210 BankSerial: String,
7211 TradingDay: String,
7212 PlateSerial: i32,
7213 LastFragment: u8,
7214 SessionID: i32,
7215 CustomerName: String,
7216 IdCardType: u8,
7217 IdentifiedCardNo: String,
7218 Gender: u8,
7219 CountryCode: String,
7220 CustType: u8,
7221 Address: String,
7222 ZipCode: String,
7223 Telephone: String,
7224 MobilePhone: String,
7225 Fax: String,
7226 EMail: String,
7227 MoneyAccountStatus: u8,
7228 BankAccount: String,
7229 BankPassWord: String,
7230 InstallID: i32,
7231 VerifyCertNoFlag: u8,
7232 CurrencyID: String,
7233 Digest: Vec<u8>,
7234 BankAccType: u8,
7235 BrokerIDByBank: Vec<u8>,
7236 TID: i32,
7237 AccountID: String,
7238 Password: String,
7239 BankReserveOpenSeq: Vec<u8>,
7240 BookDate: String,
7241 BookPsw: Vec<u8>,
7242 ErrorID: i32,
7243 ErrorMsg: String,
7244 }
7245 #[derive(Debug, Clone, Default)]
7246 struct ReserveOpenAccountField {
7247 is_null: bool,
7248 TradeCode: String,
7249 BankID: String,
7250 BankBranchID: String,
7251 BrokerID: String,
7252 BrokerBranchID: String,
7253 TradeDate: String,
7254 TradeTime: String,
7255 BankSerial: String,
7256 TradingDay: String,
7257 PlateSerial: i32,
7258 LastFragment: u8,
7259 SessionID: i32,
7260 CustomerName: String,
7261 IdCardType: u8,
7262 IdentifiedCardNo: String,
7263 Gender: u8,
7264 CountryCode: String,
7265 CustType: u8,
7266 Address: String,
7267 ZipCode: String,
7268 Telephone: String,
7269 MobilePhone: String,
7270 Fax: String,
7271 EMail: String,
7272 MoneyAccountStatus: u8,
7273 BankAccount: String,
7274 BankPassWord: String,
7275 InstallID: i32,
7276 VerifyCertNoFlag: u8,
7277 CurrencyID: String,
7278 Digest: Vec<u8>,
7279 BankAccType: u8,
7280 BrokerIDByBank: Vec<u8>,
7281 TID: i32,
7282 ReserveOpenAccStas: u8,
7283 ErrorID: i32,
7284 ErrorMsg: String,
7285 }
7286 #[derive(Debug, Clone, Default)]
7287 struct AccountPropertyField {
7288 is_null: bool,
7289 BrokerID: String,
7290 AccountID: String,
7291 BankID: String,
7292 BankAccount: String,
7293 OpenName: String,
7294 OpenBank: Vec<u8>,
7295 IsActive: i32,
7296 AccountSourceType: u8,
7297 OpenDate: String,
7298 CancelDate: String,
7299 OperatorID: String,
7300 OperateDate: String,
7301 OperateTime: String,
7302 CurrencyID: String,
7303 }
7304 #[derive(Debug, Clone, Default)]
7305 struct QryCurrDRIdentityField {
7306 is_null: bool,
7307 DRIdentityID: i32,
7308 }
7309 #[derive(Debug, Clone, Default)]
7310 struct CurrDRIdentityField {
7311 is_null: bool,
7312 DRIdentityID: i32,
7313 }
7314 #[derive(Debug, Clone, Default)]
7315 struct QrySecAgentCheckModeField {
7316 is_null: bool,
7317 BrokerID: String,
7318 InvestorID: String,
7319 }
7320 #[derive(Debug, Clone, Default)]
7321 struct QrySecAgentTradeInfoField {
7322 is_null: bool,
7323 BrokerID: String,
7324 BrokerSecAgentID: String,
7325 }
7326 #[derive(Debug, Clone, Default)]
7327 struct ReqUserAuthMethodField {
7328 is_null: bool,
7329 TradingDay: String,
7330 BrokerID: String,
7331 UserID: String,
7332 }
7333 #[derive(Debug, Clone, Default)]
7334 struct RspUserAuthMethodField {
7335 is_null: bool,
7336 UsableAuthMethod: i32,
7337 }
7338 #[derive(Debug, Clone, Default)]
7339 struct ReqGenUserCaptchaField {
7340 is_null: bool,
7341 TradingDay: String,
7342 BrokerID: String,
7343 UserID: String,
7344 }
7345 #[derive(Debug, Clone, Default)]
7346 struct RspGenUserCaptchaField {
7347 is_null: bool,
7348 BrokerID: String,
7349 UserID: String,
7350 CaptchaInfoLen: i32,
7351 CaptchaInfo: String,
7352 }
7353 #[derive(Debug, Clone, Default)]
7354 struct ReqGenUserTextField {
7355 is_null: bool,
7356 TradingDay: String,
7357 BrokerID: String,
7358 UserID: String,
7359 }
7360 #[derive(Debug, Clone, Default)]
7361 struct RspGenUserTextField {
7362 is_null: bool,
7363 UserTextSeq: i32,
7364 }
7365 #[derive(Debug, Clone, Default)]
7366 struct ReqUserLoginWithCaptchaField {
7367 is_null: bool,
7368 TradingDay: String,
7369 BrokerID: String,
7370 UserID: String,
7371 Password: String,
7372 UserProductInfo: String,
7373 InterfaceProductInfo: String,
7374 ProtocolInfo: String,
7375 MacAddress: String,
7376 LoginRemark: String,
7377 Captcha: Vec<u8>,
7378 ClientIPPort: i32,
7379 ClientIPAddress: String,
7380 }
7381 #[derive(Debug, Clone, Default)]
7382 struct ReqUserLoginWithTextField {
7383 is_null: bool,
7384 TradingDay: String,
7385 BrokerID: String,
7386 UserID: String,
7387 Password: String,
7388 UserProductInfo: String,
7389 InterfaceProductInfo: String,
7390 ProtocolInfo: String,
7391 MacAddress: String,
7392 LoginRemark: String,
7393 Text: Vec<u8>,
7394 ClientIPPort: i32,
7395 ClientIPAddress: String,
7396 }
7397 #[derive(Debug, Clone, Default)]
7398 struct ReqUserLoginWithOTPField {
7399 is_null: bool,
7400 TradingDay: String,
7401 BrokerID: String,
7402 UserID: String,
7403 Password: String,
7404 UserProductInfo: String,
7405 InterfaceProductInfo: String,
7406 ProtocolInfo: String,
7407 MacAddress: String,
7408 LoginRemark: String,
7409 OTPPassword: String,
7410 ClientIPPort: i32,
7411 ClientIPAddress: String,
7412 }
7413 #[derive(Debug, Clone, Default)]
7414 struct ReqApiHandshakeField {
7415 is_null: bool,
7416 CryptoKeyVersion: String,
7417 }
7418 #[derive(Debug, Clone, Default)]
7419 struct RspApiHandshakeField {
7420 is_null: bool,
7421 FrontHandshakeDataLen: i32,
7422 FrontHandshakeData: Vec<u8>,
7423 IsApiAuthEnabled: i32,
7424 }
7425 #[derive(Debug, Clone, Default)]
7426 struct ReqVerifyApiKeyField {
7427 is_null: bool,
7428 ApiHandshakeDataLen: i32,
7429 ApiHandshakeData: Vec<u8>,
7430 }
7431 #[derive(Debug, Clone, Default)]
7432 struct DepartmentUserField {
7433 is_null: bool,
7434 BrokerID: String,
7435 UserID: String,
7436 InvestorRange: u8,
7437 InvestorID: String,
7438 }
7439 #[derive(Debug, Clone, Default)]
7440 struct QueryFreqField {
7441 is_null: bool,
7442 QueryFreq: i32,
7443 FTDPkgFreq: i32,
7444 }
7445 #[derive(Debug, Clone, Default)]
7446 struct AuthForbiddenIPField {
7447 is_null: bool,
7448 IPAddress: String,
7449 }
7450 #[derive(Debug, Clone, Default)]
7451 struct QryAuthForbiddenIPField {
7452 is_null: bool,
7453 IPAddress: String,
7454 }
7455 #[derive(Debug, Clone, Default)]
7456 struct SyncDelaySwapFrozenField {
7457 is_null: bool,
7458 DelaySwapSeqNo: Vec<u8>,
7459 BrokerID: String,
7460 InvestorID: String,
7461 FromCurrencyID: String,
7462 FromRemainSwap: f64,
7463 IsManualSwap: i32,
7464 }
7465 #[derive(Debug, Clone, Default)]
7466 struct UserSystemInfoField {
7467 is_null: bool,
7468 BrokerID: String,
7469 UserID: String,
7470 ClientSystemInfoLen: i32,
7471 ClientSystemInfo: String,
7472 ClientIPPort: i32,
7473 ClientLoginTime: String,
7474 ClientAppID: String,
7475 ClientPublicIP: String,
7476 ClientLoginRemark: String,
7477 }
7478 #[derive(Debug, Clone, Default)]
7479 struct AuthUserIDField {
7480 is_null: bool,
7481 BrokerID: String,
7482 AppID: String,
7483 UserID: String,
7484 AuthType: u8,
7485 }
7486 #[derive(Debug, Clone, Default)]
7487 struct AuthIPField {
7488 is_null: bool,
7489 BrokerID: String,
7490 AppID: String,
7491 IPAddress: String,
7492 }
7493 #[derive(Debug, Clone, Default)]
7494 struct QryClassifiedInstrumentField {
7495 is_null: bool,
7496 InstrumentID: String,
7497 ExchangeID: String,
7498 ExchangeInstID: String,
7499 ProductID: String,
7500 TradingType: u8,
7501 ClassType: u8,
7502 }
7503 #[derive(Debug, Clone, Default)]
7504 struct QryCombPromotionParamField {
7505 is_null: bool,
7506 ExchangeID: String,
7507 InstrumentID: String,
7508 }
7509 #[derive(Debug, Clone, Default)]
7510 struct CombPromotionParamField {
7511 is_null: bool,
7512 ExchangeID: String,
7513 InstrumentID: String,
7514 CombHedgeFlag: String,
7515 Xparameter: f64,
7516 }
7517 #[derive(Debug, Clone, Default)]
7518 struct ReqUserLoginSMField {
7519 is_null: bool,
7520 TradingDay: String,
7521 BrokerID: String,
7522 UserID: String,
7523 Password: String,
7524 UserProductInfo: String,
7525 InterfaceProductInfo: String,
7526 ProtocolInfo: String,
7527 MacAddress: String,
7528 OneTimePassword: String,
7529 LoginRemark: String,
7530 ClientIPPort: i32,
7531 ClientIPAddress: String,
7532 BrokerName: String,
7533 AuthCode: String,
7534 AppID: String,
7535 PIN: Vec<u8>,
7536 }
7537 #[derive(Debug, Clone, Default)]
7538 struct QryRiskSettleInvstPositionField {
7539 is_null: bool,
7540 BrokerID: String,
7541 InvestorID: String,
7542 InstrumentID: String,
7543 }
7544 #[derive(Debug, Clone, Default)]
7545 struct QryRiskSettleProductStatusField {
7546 is_null: bool,
7547 ProductID: String,
7548 }
7549 #[derive(Debug, Clone, Default)]
7550 struct RiskSettleInvstPositionField {
7551 is_null: bool,
7552 InstrumentID: String,
7553 BrokerID: String,
7554 InvestorID: String,
7555 PosiDirection: u8,
7556 HedgeFlag: u8,
7557 PositionDate: u8,
7558 YdPosition: i32,
7559 Position: i32,
7560 LongFrozen: i32,
7561 ShortFrozen: i32,
7562 LongFrozenAmount: f64,
7563 ShortFrozenAmount: f64,
7564 OpenVolume: i32,
7565 CloseVolume: i32,
7566 OpenAmount: f64,
7567 CloseAmount: f64,
7568 PositionCost: f64,
7569 PreMargin: f64,
7570 UseMargin: f64,
7571 FrozenMargin: f64,
7572 FrozenCash: f64,
7573 FrozenCommission: f64,
7574 CashIn: f64,
7575 Commission: f64,
7576 CloseProfit: f64,
7577 PositionProfit: f64,
7578 PreSettlementPrice: f64,
7579 SettlementPrice: f64,
7580 TradingDay: String,
7581 SettlementID: i32,
7582 OpenCost: f64,
7583 ExchangeMargin: f64,
7584 CombPosition: i32,
7585 CombLongFrozen: i32,
7586 CombShortFrozen: i32,
7587 CloseProfitByDate: f64,
7588 CloseProfitByTrade: f64,
7589 TodayPosition: i32,
7590 MarginRateByMoney: f64,
7591 MarginRateByVolume: f64,
7592 StrikeFrozen: i32,
7593 StrikeFrozenAmount: f64,
7594 AbandonFrozen: i32,
7595 ExchangeID: String,
7596 YdStrikeFrozen: i32,
7597 InvestUnitID: String,
7598 PositionCostOffset: f64,
7599 TasPosition: i32,
7600 TasPositionCost: f64,
7601 }
7602 #[derive(Debug, Clone, Default)]
7603 struct RiskSettleProductStatusField {
7604 is_null: bool,
7605 ExchangeID: String,
7606 ProductID: String,
7607 ProductStatus: u8,
7608 }
7609 #[derive(Debug, Clone, Default)]
7610 struct SyncDeltaInfoField {
7611 is_null: bool,
7612 SyncDeltaSequenceNo: i32,
7613 SyncDeltaStatus: u8,
7614 SyncDescription: Vec<u8>,
7615 IsOnlyTrdDelta: i32,
7616 }
7617 #[derive(Debug, Clone, Default)]
7618 struct SyncDeltaProductStatusField {
7619 is_null: bool,
7620 SyncDeltaSequenceNo: i32,
7621 ExchangeID: String,
7622 ProductID: String,
7623 ProductStatus: u8,
7624 }
7625 #[derive(Debug, Clone, Default)]
7626 struct SyncDeltaInvstPosDtlField {
7627 is_null: bool,
7628 InstrumentID: String,
7629 BrokerID: String,
7630 InvestorID: String,
7631 HedgeFlag: u8,
7632 Direction: u8,
7633 OpenDate: String,
7634 TradeID: String,
7635 Volume: i32,
7636 OpenPrice: f64,
7637 TradingDay: String,
7638 SettlementID: i32,
7639 TradeType: u8,
7640 CombInstrumentID: String,
7641 ExchangeID: String,
7642 CloseProfitByDate: f64,
7643 CloseProfitByTrade: f64,
7644 PositionProfitByDate: f64,
7645 PositionProfitByTrade: f64,
7646 Margin: f64,
7647 ExchMargin: f64,
7648 MarginRateByMoney: f64,
7649 MarginRateByVolume: f64,
7650 LastSettlementPrice: f64,
7651 SettlementPrice: f64,
7652 CloseVolume: i32,
7653 CloseAmount: f64,
7654 TimeFirstVolume: i32,
7655 SpecPosiType: u8,
7656 ActionDirection: u8,
7657 SyncDeltaSequenceNo: i32,
7658 }
7659 #[derive(Debug, Clone, Default)]
7660 struct SyncDeltaInvstPosCombDtlField {
7661 is_null: bool,
7662 TradingDay: String,
7663 OpenDate: String,
7664 ExchangeID: String,
7665 SettlementID: i32,
7666 BrokerID: String,
7667 InvestorID: String,
7668 ComTradeID: String,
7669 TradeID: String,
7670 InstrumentID: String,
7671 HedgeFlag: u8,
7672 Direction: u8,
7673 TotalAmt: i32,
7674 Margin: f64,
7675 ExchMargin: f64,
7676 MarginRateByMoney: f64,
7677 MarginRateByVolume: f64,
7678 LegID: i32,
7679 LegMultiple: i32,
7680 TradeGroupID: i32,
7681 ActionDirection: u8,
7682 SyncDeltaSequenceNo: i32,
7683 }
7684 #[derive(Debug, Clone, Default)]
7685 struct SyncDeltaTradingAccountField {
7686 is_null: bool,
7687 BrokerID: String,
7688 AccountID: String,
7689 PreMortgage: f64,
7690 PreCredit: f64,
7691 PreDeposit: f64,
7692 PreBalance: f64,
7693 PreMargin: f64,
7694 InterestBase: f64,
7695 Interest: f64,
7696 Deposit: f64,
7697 Withdraw: f64,
7698 FrozenMargin: f64,
7699 FrozenCash: f64,
7700 FrozenCommission: f64,
7701 CurrMargin: f64,
7702 CashIn: f64,
7703 Commission: f64,
7704 CloseProfit: f64,
7705 PositionProfit: f64,
7706 Balance: f64,
7707 Available: f64,
7708 WithdrawQuota: f64,
7709 Reserve: f64,
7710 TradingDay: String,
7711 SettlementID: i32,
7712 Credit: f64,
7713 Mortgage: f64,
7714 ExchangeMargin: f64,
7715 DeliveryMargin: f64,
7716 ExchangeDeliveryMargin: f64,
7717 ReserveBalance: f64,
7718 CurrencyID: String,
7719 PreFundMortgageIn: f64,
7720 PreFundMortgageOut: f64,
7721 FundMortgageIn: f64,
7722 FundMortgageOut: f64,
7723 FundMortgageAvailable: f64,
7724 MortgageableFund: f64,
7725 SpecProductMargin: f64,
7726 SpecProductFrozenMargin: f64,
7727 SpecProductCommission: f64,
7728 SpecProductFrozenCommission: f64,
7729 SpecProductPositionProfit: f64,
7730 SpecProductCloseProfit: f64,
7731 SpecProductPositionProfitByAlg: f64,
7732 SpecProductExchangeMargin: f64,
7733 FrozenSwap: f64,
7734 RemainSwap: f64,
7735 OptionValue: f64,
7736 SyncDeltaSequenceNo: i32,
7737 }
7738 #[derive(Debug, Clone, Default)]
7739 struct SyncDeltaInitInvstMarginField {
7740 is_null: bool,
7741 BrokerID: String,
7742 InvestorID: String,
7743 LastRiskTotalInvstMargin: f64,
7744 LastRiskTotalExchMargin: f64,
7745 ThisSyncInvstMargin: f64,
7746 ThisSyncExchMargin: f64,
7747 RemainRiskInvstMargin: f64,
7748 RemainRiskExchMargin: f64,
7749 LastRiskSpecTotalInvstMargin: f64,
7750 LastRiskSpecTotalExchMargin: f64,
7751 ThisSyncSpecInvstMargin: f64,
7752 ThisSyncSpecExchMargin: f64,
7753 RemainRiskSpecInvstMargin: f64,
7754 RemainRiskSpecExchMargin: f64,
7755 SyncDeltaSequenceNo: i32,
7756 }
7757 #[derive(Debug, Clone, Default)]
7758 struct SyncDeltaDceCombInstrumentField {
7759 is_null: bool,
7760 CombInstrumentID: String,
7761 ExchangeID: String,
7762 ExchangeInstID: String,
7763 TradeGroupID: i32,
7764 CombHedgeFlag: u8,
7765 CombinationType: u8,
7766 Direction: u8,
7767 ProductID: String,
7768 Xparameter: f64,
7769 ActionDirection: u8,
7770 SyncDeltaSequenceNo: i32,
7771 }
7772 #[derive(Debug, Clone, Default)]
7773 struct SyncDeltaInvstMarginRateField {
7774 is_null: bool,
7775 InstrumentID: String,
7776 InvestorRange: u8,
7777 BrokerID: String,
7778 InvestorID: String,
7779 HedgeFlag: u8,
7780 LongMarginRatioByMoney: f64,
7781 LongMarginRatioByVolume: f64,
7782 ShortMarginRatioByMoney: f64,
7783 ShortMarginRatioByVolume: f64,
7784 IsRelative: i32,
7785 ActionDirection: u8,
7786 SyncDeltaSequenceNo: i32,
7787 }
7788 #[derive(Debug, Clone, Default)]
7789 struct SyncDeltaExchMarginRateField {
7790 is_null: bool,
7791 BrokerID: String,
7792 InstrumentID: String,
7793 HedgeFlag: u8,
7794 LongMarginRatioByMoney: f64,
7795 LongMarginRatioByVolume: f64,
7796 ShortMarginRatioByMoney: f64,
7797 ShortMarginRatioByVolume: f64,
7798 ActionDirection: u8,
7799 SyncDeltaSequenceNo: i32,
7800 }
7801 #[derive(Debug, Clone, Default)]
7802 struct SyncDeltaOptExchMarginField {
7803 is_null: bool,
7804 BrokerID: String,
7805 InstrumentID: String,
7806 SShortMarginRatioByMoney: f64,
7807 SShortMarginRatioByVolume: f64,
7808 HShortMarginRatioByMoney: f64,
7809 HShortMarginRatioByVolume: f64,
7810 AShortMarginRatioByMoney: f64,
7811 AShortMarginRatioByVolume: f64,
7812 MShortMarginRatioByMoney: f64,
7813 MShortMarginRatioByVolume: f64,
7814 ActionDirection: u8,
7815 SyncDeltaSequenceNo: i32,
7816 }
7817 #[derive(Debug, Clone, Default)]
7818 struct SyncDeltaOptInvstMarginField {
7819 is_null: bool,
7820 InstrumentID: String,
7821 InvestorRange: u8,
7822 BrokerID: String,
7823 InvestorID: String,
7824 SShortMarginRatioByMoney: f64,
7825 SShortMarginRatioByVolume: f64,
7826 HShortMarginRatioByMoney: f64,
7827 HShortMarginRatioByVolume: f64,
7828 AShortMarginRatioByMoney: f64,
7829 AShortMarginRatioByVolume: f64,
7830 IsRelative: i32,
7831 MShortMarginRatioByMoney: f64,
7832 MShortMarginRatioByVolume: f64,
7833 ActionDirection: u8,
7834 SyncDeltaSequenceNo: i32,
7835 }
7836 #[derive(Debug, Clone, Default)]
7837 struct SyncDeltaInvstMarginRateULField {
7838 is_null: bool,
7839 InstrumentID: String,
7840 InvestorRange: u8,
7841 BrokerID: String,
7842 InvestorID: String,
7843 HedgeFlag: u8,
7844 LongMarginRatioByMoney: f64,
7845 LongMarginRatioByVolume: f64,
7846 ShortMarginRatioByMoney: f64,
7847 ShortMarginRatioByVolume: f64,
7848 ActionDirection: u8,
7849 SyncDeltaSequenceNo: i32,
7850 }
7851 #[derive(Debug, Clone, Default)]
7852 struct SyncDeltaOptInvstCommRateField {
7853 is_null: bool,
7854 InstrumentID: String,
7855 InvestorRange: u8,
7856 BrokerID: String,
7857 InvestorID: String,
7858 OpenRatioByMoney: f64,
7859 OpenRatioByVolume: f64,
7860 CloseRatioByMoney: f64,
7861 CloseRatioByVolume: f64,
7862 CloseTodayRatioByMoney: f64,
7863 CloseTodayRatioByVolume: f64,
7864 StrikeRatioByMoney: f64,
7865 StrikeRatioByVolume: f64,
7866 ActionDirection: u8,
7867 SyncDeltaSequenceNo: i32,
7868 }
7869 #[derive(Debug, Clone, Default)]
7870 struct SyncDeltaInvstCommRateField {
7871 is_null: bool,
7872 InstrumentID: String,
7873 InvestorRange: u8,
7874 BrokerID: String,
7875 InvestorID: String,
7876 OpenRatioByMoney: f64,
7877 OpenRatioByVolume: f64,
7878 CloseRatioByMoney: f64,
7879 CloseRatioByVolume: f64,
7880 CloseTodayRatioByMoney: f64,
7881 CloseTodayRatioByVolume: f64,
7882 ActionDirection: u8,
7883 SyncDeltaSequenceNo: i32,
7884 }
7885 #[derive(Debug, Clone, Default)]
7886 struct SyncDeltaProductExchRateField {
7887 is_null: bool,
7888 ProductID: String,
7889 QuoteCurrencyID: String,
7890 ExchangeRate: f64,
7891 ActionDirection: u8,
7892 SyncDeltaSequenceNo: i32,
7893 }
7894 #[derive(Debug, Clone, Default)]
7895 struct SyncDeltaDepthMarketDataField {
7896 is_null: bool,
7897 TradingDay: String,
7898 InstrumentID: String,
7899 ExchangeID: String,
7900 ExchangeInstID: String,
7901 LastPrice: f64,
7902 PreSettlementPrice: f64,
7903 PreClosePrice: f64,
7904 PreOpenInterest: f64,
7905 OpenPrice: f64,
7906 HighestPrice: f64,
7907 LowestPrice: f64,
7908 Volume: i32,
7909 Turnover: f64,
7910 OpenInterest: f64,
7911 ClosePrice: f64,
7912 SettlementPrice: f64,
7913 UpperLimitPrice: f64,
7914 LowerLimitPrice: f64,
7915 PreDelta: f64,
7916 CurrDelta: f64,
7917 UpdateTime: String,
7918 UpdateMillisec: i32,
7919 BidPrice1: f64,
7920 BidVolume1: i32,
7921 AskPrice1: f64,
7922 AskVolume1: i32,
7923 BidPrice2: f64,
7924 BidVolume2: i32,
7925 AskPrice2: f64,
7926 AskVolume2: i32,
7927 BidPrice3: f64,
7928 BidVolume3: i32,
7929 AskPrice3: f64,
7930 AskVolume3: i32,
7931 BidPrice4: f64,
7932 BidVolume4: i32,
7933 AskPrice4: f64,
7934 AskVolume4: i32,
7935 BidPrice5: f64,
7936 BidVolume5: i32,
7937 AskPrice5: f64,
7938 AskVolume5: i32,
7939 AveragePrice: f64,
7940 ActionDay: String,
7941 BandingUpperPrice: f64,
7942 BandingLowerPrice: f64,
7943 ActionDirection: u8,
7944 SyncDeltaSequenceNo: i32,
7945 }
7946 #[derive(Debug, Clone, Default)]
7947 struct SyncDeltaIndexPriceField {
7948 is_null: bool,
7949 BrokerID: String,
7950 InstrumentID: String,
7951 ClosePrice: f64,
7952 ActionDirection: u8,
7953 SyncDeltaSequenceNo: i32,
7954 }
7955 #[derive(Debug, Clone, Default)]
7956 struct SyncDeltaEWarrantOffsetField {
7957 is_null: bool,
7958 TradingDay: String,
7959 BrokerID: String,
7960 InvestorID: String,
7961 ExchangeID: String,
7962 InstrumentID: String,
7963 Direction: u8,
7964 HedgeFlag: u8,
7965 Volume: i32,
7966 ActionDirection: u8,
7967 SyncDeltaSequenceNo: i32,
7968 }
7969 #[derive(Debug, Clone, Default)]
7970 struct SPBMFutureParameterField {
7971 is_null: bool,
7972 TradingDay: String,
7973 ExchangeID: String,
7974 InstrumentID: String,
7975 ProdFamilyCode: String,
7976 Cvf: i32,
7977 TimeRange: u8,
7978 MarginRate: f64,
7979 LockRateX: f64,
7980 AddOnRate: f64,
7981 PreSettlementPrice: f64,
7982 AddOnLockRateX2: f64,
7983 }
7984 #[derive(Debug, Clone, Default)]
7985 struct SPBMOptionParameterField {
7986 is_null: bool,
7987 TradingDay: String,
7988 ExchangeID: String,
7989 InstrumentID: String,
7990 ProdFamilyCode: String,
7991 Cvf: i32,
7992 DownPrice: f64,
7993 Delta: f64,
7994 SlimiDelta: f64,
7995 PreSettlementPrice: f64,
7996 }
7997 #[derive(Debug, Clone, Default)]
7998 struct SPBMIntraParameterField {
7999 is_null: bool,
8000 TradingDay: String,
8001 ExchangeID: String,
8002 ProdFamilyCode: String,
8003 IntraRateY: f64,
8004 AddOnIntraRateY2: f64,
8005 }
8006 #[derive(Debug, Clone, Default)]
8007 struct SPBMInterParameterField {
8008 is_null: bool,
8009 TradingDay: String,
8010 ExchangeID: String,
8011 SpreadId: i32,
8012 InterRateZ: f64,
8013 Leg1ProdFamilyCode: String,
8014 Leg2ProdFamilyCode: String,
8015 }
8016 #[derive(Debug, Clone, Default)]
8017 struct SyncSPBMParameterEndField {
8018 is_null: bool,
8019 TradingDay: String,
8020 }
8021 #[derive(Debug, Clone, Default)]
8022 struct QrySPBMFutureParameterField {
8023 is_null: bool,
8024 ExchangeID: String,
8025 InstrumentID: String,
8026 ProdFamilyCode: String,
8027 }
8028 #[derive(Debug, Clone, Default)]
8029 struct QrySPBMOptionParameterField {
8030 is_null: bool,
8031 ExchangeID: String,
8032 InstrumentID: String,
8033 ProdFamilyCode: String,
8034 }
8035 #[derive(Debug, Clone, Default)]
8036 struct QrySPBMIntraParameterField {
8037 is_null: bool,
8038 ExchangeID: String,
8039 ProdFamilyCode: String,
8040 }
8041 #[derive(Debug, Clone, Default)]
8042 struct QrySPBMInterParameterField {
8043 is_null: bool,
8044 ExchangeID: String,
8045 Leg1ProdFamilyCode: String,
8046 Leg2ProdFamilyCode: String,
8047 }
8048 #[derive(Debug, Clone, Default)]
8049 struct SPBMPortfDefinitionField {
8050 is_null: bool,
8051 ExchangeID: String,
8052 PortfolioDefID: i32,
8053 ProdFamilyCode: String,
8054 IsSPBM: i32,
8055 }
8056 #[derive(Debug, Clone, Default)]
8057 struct SPBMInvestorPortfDefField {
8058 is_null: bool,
8059 ExchangeID: String,
8060 BrokerID: String,
8061 InvestorID: String,
8062 PortfolioDefID: i32,
8063 }
8064 #[derive(Debug, Clone, Default)]
8065 struct InvestorPortfMarginRatioField {
8066 is_null: bool,
8067 InvestorRange: u8,
8068 BrokerID: String,
8069 InvestorID: String,
8070 ExchangeID: String,
8071 MarginRatio: f64,
8072 ProductGroupID: String,
8073 }
8074 #[derive(Debug, Clone, Default)]
8075 struct QrySPBMPortfDefinitionField {
8076 is_null: bool,
8077 ExchangeID: String,
8078 PortfolioDefID: i32,
8079 ProdFamilyCode: String,
8080 }
8081 #[derive(Debug, Clone, Default)]
8082 struct QrySPBMInvestorPortfDefField {
8083 is_null: bool,
8084 ExchangeID: String,
8085 BrokerID: String,
8086 InvestorID: String,
8087 }
8088 #[derive(Debug, Clone, Default)]
8089 struct QryInvestorPortfMarginRatioField {
8090 is_null: bool,
8091 BrokerID: String,
8092 InvestorID: String,
8093 ExchangeID: String,
8094 ProductGroupID: String,
8095 }
8096 #[derive(Debug, Clone, Default)]
8097 struct InvestorProdSPBMDetailField {
8098 is_null: bool,
8099 ExchangeID: String,
8100 BrokerID: String,
8101 InvestorID: String,
8102 ProdFamilyCode: String,
8103 IntraInstrMargin: f64,
8104 BCollectingMargin: f64,
8105 SCollectingMargin: f64,
8106 IntraProdMargin: f64,
8107 NetMargin: f64,
8108 InterProdMargin: f64,
8109 SingleMargin: f64,
8110 AddOnMargin: f64,
8111 DeliveryMargin: f64,
8112 CallOptionMinRisk: f64,
8113 PutOptionMinRisk: f64,
8114 OptionMinRisk: f64,
8115 OptionValueOffset: f64,
8116 OptionRoyalty: f64,
8117 RealOptionValueOffset: f64,
8118 Margin: f64,
8119 ExchMargin: f64,
8120 }
8121 #[derive(Debug, Clone, Default)]
8122 struct QryInvestorProdSPBMDetailField {
8123 is_null: bool,
8124 ExchangeID: String,
8125 BrokerID: String,
8126 InvestorID: String,
8127 ProdFamilyCode: String,
8128 }
8129 #[derive(Debug, Clone, Default)]
8130 struct PortfTradeParamSettingField {
8131 is_null: bool,
8132 ExchangeID: String,
8133 BrokerID: String,
8134 InvestorID: String,
8135 Portfolio: u8,
8136 IsActionVerify: i32,
8137 IsCloseVerify: i32,
8138 }
8139 #[derive(Debug, Clone, Default)]
8140 struct InvestorTradingRightField {
8141 is_null: bool,
8142 BrokerID: String,
8143 InvestorID: String,
8144 InvstTradingRight: u8,
8145 }
8146 #[derive(Debug, Clone, Default)]
8147 struct MortgageParamField {
8148 is_null: bool,
8149 BrokerID: String,
8150 AccountID: String,
8151 MortgageBalance: f64,
8152 CheckMortgageRatio: i32,
8153 }
8154 #[derive(Debug, Clone, Default)]
8155 struct WithDrawParamField {
8156 is_null: bool,
8157 BrokerID: String,
8158 AccountID: String,
8159 WithDrawParamID: u8,
8160 WithDrawParamValue: Vec<u8>,
8161 }
8162 #[derive(Debug, Clone, Default)]
8163 struct ThostUserFunctionField {
8164 is_null: bool,
8165 BrokerID: String,
8166 UserID: String,
8167 ThostFunctionCode: i32,
8168 }
8169 #[derive(Debug, Clone, Default)]
8170 struct QryThostUserFunctionField {
8171 is_null: bool,
8172 BrokerID: String,
8173 UserID: String,
8174 }
8175 #[derive(Debug, Clone, Default)]
8176 struct SPBMAddOnInterParameterField {
8177 is_null: bool,
8178 TradingDay: String,
8179 ExchangeID: String,
8180 SpreadId: i32,
8181 AddOnInterRateZ2: f64,
8182 Leg1ProdFamilyCode: String,
8183 Leg2ProdFamilyCode: String,
8184 }
8185 #[derive(Debug, Clone, Default)]
8186 struct QrySPBMAddOnInterParameterField {
8187 is_null: bool,
8188 ExchangeID: String,
8189 Leg1ProdFamilyCode: String,
8190 Leg2ProdFamilyCode: String,
8191 }
8192 #[derive(Debug, Clone, Default)]
8193 struct QryInvestorCommoditySPMMMarginField {
8194 is_null: bool,
8195 BrokerID: String,
8196 InvestorID: String,
8197 CommodityID: String,
8198 }
8199 #[derive(Debug, Clone, Default)]
8200 struct QryInvestorCommodityGroupSPMMMarginField {
8201 is_null: bool,
8202 BrokerID: String,
8203 InvestorID: String,
8204 CommodityGroupID: String,
8205 }
8206 #[derive(Debug, Clone, Default)]
8207 struct QrySPMMInstParamField {
8208 is_null: bool,
8209 InstrumentID: String,
8210 }
8211 #[derive(Debug, Clone, Default)]
8212 struct QrySPMMProductParamField {
8213 is_null: bool,
8214 ProductID: String,
8215 }
8216 #[derive(Debug, Clone, Default)]
8217 struct InvestorCommoditySPMMMarginField {
8218 is_null: bool,
8219 ExchangeID: String,
8220 BrokerID: String,
8221 InvestorID: String,
8222 CommodityID: String,
8223 MarginBeforeDiscount: f64,
8224 MarginNoDiscount: f64,
8225 LongPosRisk: f64,
8226 LongOpenFrozenRisk: f64,
8227 LongCloseFrozenRisk: f64,
8228 ShortPosRisk: f64,
8229 ShortOpenFrozenRisk: f64,
8230 ShortCloseFrozenRisk: f64,
8231 IntraCommodityRate: f64,
8232 OptionDiscountRate: f64,
8233 PosDiscount: f64,
8234 OpenFrozenDiscount: f64,
8235 NetRisk: f64,
8236 CloseFrozenMargin: f64,
8237 FrozenCommission: f64,
8238 Commission: f64,
8239 FrozenCash: f64,
8240 CashIn: f64,
8241 StrikeFrozenMargin: f64,
8242 }
8243 #[derive(Debug, Clone, Default)]
8244 struct InvestorCommodityGroupSPMMMarginField {
8245 is_null: bool,
8246 ExchangeID: String,
8247 BrokerID: String,
8248 InvestorID: String,
8249 CommodityGroupID: String,
8250 MarginBeforeDiscount: f64,
8251 MarginNoDiscount: f64,
8252 LongRisk: f64,
8253 ShortRisk: f64,
8254 CloseFrozenMargin: f64,
8255 InterCommodityRate: f64,
8256 MiniMarginRatio: f64,
8257 AdjustRatio: f64,
8258 IntraCommodityDiscount: f64,
8259 InterCommodityDiscount: f64,
8260 ExchMargin: f64,
8261 InvestorMargin: f64,
8262 FrozenCommission: f64,
8263 Commission: f64,
8264 FrozenCash: f64,
8265 CashIn: f64,
8266 StrikeFrozenMargin: f64,
8267 }
8268 #[derive(Debug, Clone, Default)]
8269 struct SPMMInstParamField {
8270 is_null: bool,
8271 ExchangeID: String,
8272 InstrumentID: String,
8273 InstMarginCalID: u8,
8274 CommodityID: String,
8275 CommodityGroupID: String,
8276 }
8277 #[derive(Debug, Clone, Default)]
8278 struct SPMMProductParamField {
8279 is_null: bool,
8280 ExchangeID: String,
8281 ProductID: String,
8282 CommodityID: String,
8283 CommodityGroupID: String,
8284 }
8285 #[derive(Debug, Clone, Default)]
8286 struct QryTraderAssignField {
8287 is_null: bool,
8288 TraderID: String,
8289 }
8290 #[derive(Debug, Clone, Default)]
8291 struct TraderAssignField {
8292 is_null: bool,
8293 BrokerID: String,
8294 ExchangeID: String,
8295 TraderID: String,
8296 ParticipantID: String,
8297 DRIdentityID: i32,
8298 }
8299 #[derive(Debug, Clone, Default)]
8300 struct InvestorInfoCntSettingField {
8301 is_null: bool,
8302 ExchangeID: String,
8303 BrokerID: String,
8304 InvestorID: String,
8305 ProductID: String,
8306 IsCalInfoComm: i32,
8307 IsLimitInfoMax: i32,
8308 InfoMaxLimit: i32,
8309 }
8310 #[derive(Debug, Clone, Default)]
8311 struct RCAMSCombProductInfoField {
8312 is_null: bool,
8313 TradingDay: String,
8314 ExchangeID: String,
8315 ProductID: String,
8316 CombProductID: String,
8317 ProductGroupID: String,
8318 }
8319 #[derive(Debug, Clone, Default)]
8320 struct RCAMSInstrParameterField {
8321 is_null: bool,
8322 TradingDay: String,
8323 ExchangeID: String,
8324 ProductID: String,
8325 HedgeRate: f64,
8326 }
8327 #[derive(Debug, Clone, Default)]
8328 struct RCAMSIntraParameterField {
8329 is_null: bool,
8330 TradingDay: String,
8331 ExchangeID: String,
8332 CombProductID: String,
8333 HedgeRate: f64,
8334 }
8335 #[derive(Debug, Clone, Default)]
8336 struct RCAMSInterParameterField {
8337 is_null: bool,
8338 TradingDay: String,
8339 ExchangeID: String,
8340 ProductGroupID: String,
8341 Priority: i32,
8342 CreditRate: f64,
8343 CombProduct1: String,
8344 CombProduct2: String,
8345 }
8346 #[derive(Debug, Clone, Default)]
8347 struct RCAMSShortOptAdjustParamField {
8348 is_null: bool,
8349 TradingDay: String,
8350 ExchangeID: String,
8351 CombProductID: String,
8352 HedgeFlag: u8,
8353 AdjustValue: f64,
8354 }
8355 #[derive(Debug, Clone, Default)]
8356 struct RCAMSInvestorCombPositionField {
8357 is_null: bool,
8358 ExchangeID: String,
8359 BrokerID: String,
8360 InvestorID: String,
8361 InstrumentID: String,
8362 HedgeFlag: u8,
8363 PosiDirection: u8,
8364 CombInstrumentID: String,
8365 LegID: i32,
8366 ExchangeInstID: String,
8367 TotalAmt: i32,
8368 ExchMargin: f64,
8369 Margin: f64,
8370 }
8371 #[derive(Debug, Clone, Default)]
8372 struct InvestorProdRCAMSMarginField {
8373 is_null: bool,
8374 ExchangeID: String,
8375 BrokerID: String,
8376 InvestorID: String,
8377 CombProductID: String,
8378 HedgeFlag: u8,
8379 ProductGroupID: String,
8380 RiskBeforeDiscount: f64,
8381 IntraInstrRisk: f64,
8382 BPosRisk: f64,
8383 SPosRisk: f64,
8384 IntraProdRisk: f64,
8385 NetRisk: f64,
8386 InterProdRisk: f64,
8387 ShortOptRiskAdj: f64,
8388 OptionRoyalty: f64,
8389 MMSACloseFrozenMargin: f64,
8390 CloseCombFrozenMargin: f64,
8391 CloseFrozenMargin: f64,
8392 MMSAOpenFrozenMargin: f64,
8393 DeliveryOpenFrozenMargin: f64,
8394 OpenFrozenMargin: f64,
8395 UseFrozenMargin: f64,
8396 MMSAExchMargin: f64,
8397 DeliveryExchMargin: f64,
8398 CombExchMargin: f64,
8399 ExchMargin: f64,
8400 UseMargin: f64,
8401 }
8402 #[derive(Debug, Clone, Default)]
8403 struct QryRCAMSCombProductInfoField {
8404 is_null: bool,
8405 ProductID: String,
8406 CombProductID: String,
8407 ProductGroupID: String,
8408 }
8409 #[derive(Debug, Clone, Default)]
8410 struct QryRCAMSInstrParameterField {
8411 is_null: bool,
8412 ProductID: String,
8413 }
8414 #[derive(Debug, Clone, Default)]
8415 struct QryRCAMSIntraParameterField {
8416 is_null: bool,
8417 CombProductID: String,
8418 }
8419 #[derive(Debug, Clone, Default)]
8420 struct QryRCAMSInterParameterField {
8421 is_null: bool,
8422 ProductGroupID: String,
8423 CombProduct1: String,
8424 CombProduct2: String,
8425 }
8426 #[derive(Debug, Clone, Default)]
8427 struct QryRCAMSShortOptAdjustParamField {
8428 is_null: bool,
8429 CombProductID: String,
8430 }
8431 #[derive(Debug, Clone, Default)]
8432 struct QryRCAMSInvestorCombPositionField {
8433 is_null: bool,
8434 BrokerID: String,
8435 InvestorID: String,
8436 InstrumentID: String,
8437 CombInstrumentID: String,
8438 }
8439 #[derive(Debug, Clone, Default)]
8440 struct QryInvestorProdRCAMSMarginField {
8441 is_null: bool,
8442 BrokerID: String,
8443 InvestorID: String,
8444 CombProductID: String,
8445 ProductGroupID: String,
8446 }
8447 #[derive(Debug, Clone, Default)]
8448 struct RULEInstrParameterField {
8449 is_null: bool,
8450 TradingDay: String,
8451 ExchangeID: String,
8452 InstrumentID: String,
8453 InstrumentClass: u8,
8454 StdInstrumentID: String,
8455 BSpecRatio: f64,
8456 SSpecRatio: f64,
8457 BHedgeRatio: f64,
8458 SHedgeRatio: f64,
8459 BAddOnMargin: f64,
8460 SAddOnMargin: f64,
8461 CommodityGroupID: i32,
8462 }
8463 #[derive(Debug, Clone, Default)]
8464 struct RULEIntraParameterField {
8465 is_null: bool,
8466 TradingDay: String,
8467 ExchangeID: String,
8468 ProdFamilyCode: String,
8469 StdInstrumentID: String,
8470 StdInstrMargin: f64,
8471 UsualIntraRate: f64,
8472 DeliveryIntraRate: f64,
8473 }
8474 #[derive(Debug, Clone, Default)]
8475 struct RULEInterParameterField {
8476 is_null: bool,
8477 TradingDay: String,
8478 ExchangeID: String,
8479 SpreadId: i32,
8480 InterRate: f64,
8481 Leg1ProdFamilyCode: String,
8482 Leg2ProdFamilyCode: String,
8483 Leg1PropFactor: i32,
8484 Leg2PropFactor: i32,
8485 CommodityGroupID: i32,
8486 CommodityGroupName: String,
8487 }
8488 #[derive(Debug, Clone, Default)]
8489 struct QryRULEInstrParameterField {
8490 is_null: bool,
8491 ExchangeID: String,
8492 InstrumentID: String,
8493 }
8494 #[derive(Debug, Clone, Default)]
8495 struct QryRULEIntraParameterField {
8496 is_null: bool,
8497 ExchangeID: String,
8498 ProdFamilyCode: String,
8499 }
8500 #[derive(Debug, Clone, Default)]
8501 struct QryRULEInterParameterField {
8502 is_null: bool,
8503 ExchangeID: String,
8504 Leg1ProdFamilyCode: String,
8505 Leg2ProdFamilyCode: String,
8506 CommodityGroupID: i32,
8507 }
8508 #[derive(Debug, Clone, Default)]
8509 struct InvestorProdRULEMarginField {
8510 is_null: bool,
8511 ExchangeID: String,
8512 BrokerID: String,
8513 InvestorID: String,
8514 ProdFamilyCode: String,
8515 InstrumentClass: u8,
8516 CommodityGroupID: i32,
8517 BStdPosition: f64,
8518 SStdPosition: f64,
8519 BStdOpenFrozen: f64,
8520 SStdOpenFrozen: f64,
8521 BStdCloseFrozen: f64,
8522 SStdCloseFrozen: f64,
8523 IntraProdStdPosition: f64,
8524 NetStdPosition: f64,
8525 InterProdStdPosition: f64,
8526 SingleStdPosition: f64,
8527 IntraProdMargin: f64,
8528 InterProdMargin: f64,
8529 SingleMargin: f64,
8530 NonCombMargin: f64,
8531 AddOnMargin: f64,
8532 ExchMargin: f64,
8533 AddOnFrozenMargin: f64,
8534 OpenFrozenMargin: f64,
8535 CloseFrozenMargin: f64,
8536 Margin: f64,
8537 FrozenMargin: f64,
8538 }
8539 #[derive(Debug, Clone, Default)]
8540 struct QryInvestorProdRULEMarginField {
8541 is_null: bool,
8542 ExchangeID: String,
8543 BrokerID: String,
8544 InvestorID: String,
8545 ProdFamilyCode: String,
8546 CommodityGroupID: i32,
8547 }
8548 #[derive(Debug, Clone, Default)]
8549 struct SyncDeltaSPBMPortfDefinitionField {
8550 is_null: bool,
8551 ExchangeID: String,
8552 PortfolioDefID: i32,
8553 ProdFamilyCode: String,
8554 IsSPBM: i32,
8555 ActionDirection: u8,
8556 SyncDeltaSequenceNo: i32,
8557 }
8558 #[derive(Debug, Clone, Default)]
8559 struct SyncDeltaSPBMInvstPortfDefField {
8560 is_null: bool,
8561 ExchangeID: String,
8562 BrokerID: String,
8563 InvestorID: String,
8564 PortfolioDefID: i32,
8565 ActionDirection: u8,
8566 SyncDeltaSequenceNo: i32,
8567 }
8568 #[derive(Debug, Clone, Default)]
8569 struct SyncDeltaSPBMFutureParameterField {
8570 is_null: bool,
8571 TradingDay: String,
8572 ExchangeID: String,
8573 InstrumentID: String,
8574 ProdFamilyCode: String,
8575 Cvf: i32,
8576 TimeRange: u8,
8577 MarginRate: f64,
8578 LockRateX: f64,
8579 AddOnRate: f64,
8580 PreSettlementPrice: f64,
8581 AddOnLockRateX2: f64,
8582 ActionDirection: u8,
8583 SyncDeltaSequenceNo: i32,
8584 }
8585 #[derive(Debug, Clone, Default)]
8586 struct SyncDeltaSPBMOptionParameterField {
8587 is_null: bool,
8588 TradingDay: String,
8589 ExchangeID: String,
8590 InstrumentID: String,
8591 ProdFamilyCode: String,
8592 Cvf: i32,
8593 DownPrice: f64,
8594 Delta: f64,
8595 SlimiDelta: f64,
8596 PreSettlementPrice: f64,
8597 ActionDirection: u8,
8598 SyncDeltaSequenceNo: i32,
8599 }
8600 #[derive(Debug, Clone, Default)]
8601 struct SyncDeltaSPBMIntraParameterField {
8602 is_null: bool,
8603 TradingDay: String,
8604 ExchangeID: String,
8605 ProdFamilyCode: String,
8606 IntraRateY: f64,
8607 AddOnIntraRateY2: f64,
8608 ActionDirection: u8,
8609 SyncDeltaSequenceNo: i32,
8610 }
8611 #[derive(Debug, Clone, Default)]
8612 struct SyncDeltaSPBMInterParameterField {
8613 is_null: bool,
8614 TradingDay: String,
8615 ExchangeID: String,
8616 SpreadId: i32,
8617 InterRateZ: f64,
8618 Leg1ProdFamilyCode: String,
8619 Leg2ProdFamilyCode: String,
8620 ActionDirection: u8,
8621 SyncDeltaSequenceNo: i32,
8622 }
8623 #[derive(Debug, Clone, Default)]
8624 struct SyncDeltaSPBMAddOnInterParamField {
8625 is_null: bool,
8626 TradingDay: String,
8627 ExchangeID: String,
8628 SpreadId: i32,
8629 AddOnInterRateZ2: f64,
8630 Leg1ProdFamilyCode: String,
8631 Leg2ProdFamilyCode: String,
8632 ActionDirection: u8,
8633 SyncDeltaSequenceNo: i32,
8634 }
8635 #[derive(Debug, Clone, Default)]
8636 struct SyncDeltaSPMMInstParamField {
8637 is_null: bool,
8638 ExchangeID: String,
8639 InstrumentID: String,
8640 InstMarginCalID: u8,
8641 CommodityID: String,
8642 CommodityGroupID: String,
8643 ActionDirection: u8,
8644 SyncDeltaSequenceNo: i32,
8645 }
8646 #[derive(Debug, Clone, Default)]
8647 struct SyncDeltaSPMMProductParamField {
8648 is_null: bool,
8649 ExchangeID: String,
8650 ProductID: String,
8651 CommodityID: String,
8652 CommodityGroupID: String,
8653 ActionDirection: u8,
8654 SyncDeltaSequenceNo: i32,
8655 }
8656 #[derive(Debug, Clone, Default)]
8657 struct SyncDeltaInvestorSPMMModelField {
8658 is_null: bool,
8659 ExchangeID: String,
8660 BrokerID: String,
8661 InvestorID: String,
8662 SPMMModelID: String,
8663 ActionDirection: u8,
8664 SyncDeltaSequenceNo: i32,
8665 }
8666 #[derive(Debug, Clone, Default)]
8667 struct SyncDeltaSPMMModelParamField {
8668 is_null: bool,
8669 ExchangeID: String,
8670 SPMMModelID: String,
8671 CommodityGroupID: String,
8672 IntraCommodityRate: f64,
8673 InterCommodityRate: f64,
8674 OptionDiscountRate: f64,
8675 MiniMarginRatio: f64,
8676 ActionDirection: u8,
8677 SyncDeltaSequenceNo: i32,
8678 }
8679 #[derive(Debug, Clone, Default)]
8680 struct SyncDeltaRCAMSCombProdInfoField {
8681 is_null: bool,
8682 TradingDay: String,
8683 ExchangeID: String,
8684 ProductID: String,
8685 CombProductID: String,
8686 ProductGroupID: String,
8687 ActionDirection: u8,
8688 SyncDeltaSequenceNo: i32,
8689 }
8690 #[derive(Debug, Clone, Default)]
8691 struct SyncDeltaRCAMSInstrParameterField {
8692 is_null: bool,
8693 TradingDay: String,
8694 ExchangeID: String,
8695 ProductID: String,
8696 HedgeRate: f64,
8697 ActionDirection: u8,
8698 SyncDeltaSequenceNo: i32,
8699 }
8700 #[derive(Debug, Clone, Default)]
8701 struct SyncDeltaRCAMSIntraParameterField {
8702 is_null: bool,
8703 TradingDay: String,
8704 ExchangeID: String,
8705 CombProductID: String,
8706 HedgeRate: f64,
8707 ActionDirection: u8,
8708 SyncDeltaSequenceNo: i32,
8709 }
8710 #[derive(Debug, Clone, Default)]
8711 struct SyncDeltaRCAMSInterParameterField {
8712 is_null: bool,
8713 TradingDay: String,
8714 ExchangeID: String,
8715 ProductGroupID: String,
8716 Priority: i32,
8717 CreditRate: f64,
8718 CombProduct1: String,
8719 CombProduct2: String,
8720 ActionDirection: u8,
8721 SyncDeltaSequenceNo: i32,
8722 }
8723 #[derive(Debug, Clone, Default)]
8724 struct SyncDeltaRCAMSSOptAdjParamField {
8725 is_null: bool,
8726 TradingDay: String,
8727 ExchangeID: String,
8728 CombProductID: String,
8729 HedgeFlag: u8,
8730 AdjustValue: f64,
8731 ActionDirection: u8,
8732 SyncDeltaSequenceNo: i32,
8733 }
8734 #[derive(Debug, Clone, Default)]
8735 struct SyncDeltaRCAMSCombRuleDtlField {
8736 is_null: bool,
8737 TradingDay: String,
8738 ExchangeID: String,
8739 ProdGroup: Vec<u8>,
8740 RuleId: Vec<u8>,
8741 Priority: i32,
8742 HedgeFlag: u8,
8743 CombMargin: f64,
8744 ExchangeInstID: String,
8745 LegID: i32,
8746 LegInstrumentID: String,
8747 Direction: u8,
8748 LegMultiple: i32,
8749 ActionDirection: u8,
8750 SyncDeltaSequenceNo: i32,
8751 }
8752 #[derive(Debug, Clone, Default)]
8753 struct SyncDeltaRCAMSInvstCombPosField {
8754 is_null: bool,
8755 ExchangeID: String,
8756 BrokerID: String,
8757 InvestorID: String,
8758 InstrumentID: String,
8759 HedgeFlag: u8,
8760 PosiDirection: u8,
8761 CombInstrumentID: String,
8762 LegID: i32,
8763 ExchangeInstID: String,
8764 TotalAmt: i32,
8765 ExchMargin: f64,
8766 Margin: f64,
8767 ActionDirection: u8,
8768 SyncDeltaSequenceNo: i32,
8769 }
8770 #[derive(Debug, Clone, Default)]
8771 struct SyncDeltaRULEInstrParameterField {
8772 is_null: bool,
8773 TradingDay: String,
8774 ExchangeID: String,
8775 InstrumentID: String,
8776 InstrumentClass: u8,
8777 StdInstrumentID: String,
8778 BSpecRatio: f64,
8779 SSpecRatio: f64,
8780 BHedgeRatio: f64,
8781 SHedgeRatio: f64,
8782 BAddOnMargin: f64,
8783 SAddOnMargin: f64,
8784 CommodityGroupID: i32,
8785 ActionDirection: u8,
8786 SyncDeltaSequenceNo: i32,
8787 }
8788 #[derive(Debug, Clone, Default)]
8789 struct SyncDeltaRULEIntraParameterField {
8790 is_null: bool,
8791 TradingDay: String,
8792 ExchangeID: String,
8793 ProdFamilyCode: String,
8794 StdInstrumentID: String,
8795 StdInstrMargin: f64,
8796 UsualIntraRate: f64,
8797 DeliveryIntraRate: f64,
8798 ActionDirection: u8,
8799 SyncDeltaSequenceNo: i32,
8800 }
8801 #[derive(Debug, Clone, Default)]
8802 struct SyncDeltaRULEInterParameterField {
8803 is_null: bool,
8804 TradingDay: String,
8805 ExchangeID: String,
8806 SpreadId: i32,
8807 InterRate: f64,
8808 Leg1ProdFamilyCode: String,
8809 Leg2ProdFamilyCode: String,
8810 Leg1PropFactor: i32,
8811 Leg2PropFactor: i32,
8812 CommodityGroupID: i32,
8813 CommodityGroupName: String,
8814 ActionDirection: u8,
8815 SyncDeltaSequenceNo: i32,
8816 }
8817 #[derive(Debug, Clone, Default)]
8818 struct IpAddrParamField {
8819 is_null: bool,
8820 BrokerID: String,
8821 Address: String,
8822 DRIdentityID: i32,
8823 DRIdentityName: String,
8824 AddrSrvMode: u8,
8825 AddrVer: u8,
8826 AddrNo: i32,
8827 AddrName: String,
8828 IsSM: i32,
8829 IsLocalAddr: i32,
8830 Remark: String,
8831 Site: Vec<u8>,
8832 NetOperator: Vec<u8>,
8833 }
8834 #[derive(Debug, Clone, Default)]
8835 struct QryIpAddrParamField {
8836 is_null: bool,
8837 BrokerID: String,
8838 }
8839 #[derive(Debug, Clone, Default)]
8840 struct TGIpAddrParamField {
8841 is_null: bool,
8842 BrokerID: String,
8843 UserID: String,
8844 Address: String,
8845 DRIdentityID: i32,
8846 DRIdentityName: String,
8847 AddrSrvMode: u8,
8848 AddrVer: u8,
8849 AddrNo: i32,
8850 AddrName: String,
8851 IsSM: i32,
8852 IsLocalAddr: i32,
8853 Remark: String,
8854 Site: Vec<u8>,
8855 NetOperator: Vec<u8>,
8856 }
8857 #[derive(Debug, Clone, Default)]
8858 struct QryTGIpAddrParamField {
8859 is_null: bool,
8860 BrokerID: String,
8861 UserID: String,
8862 AppID: String,
8863 }
8864 #[derive(Debug, Clone, Default)]
8865 struct TGSessionQryStatusField {
8866 is_null: bool,
8867 LastQryFreq: i32,
8868 QryStatus: u8,
8869 }
8870 #[derive(Debug, Clone, Default)]
8871 struct LocalAddrConfigField {
8872 is_null: bool,
8873 BrokerID: String,
8874 PeerAddr: String,
8875 NetMask: Vec<u8>,
8876 DRIdentityID: i32,
8877 LocalAddress: String,
8878 }
8879 #[derive(Debug, Clone, Default)]
8880 struct QryLocalAddrConfigField {
8881 is_null: bool,
8882 BrokerID: String,
8883 }
8884 #[derive(Debug, Clone, Default)]
8885 struct ReqQueryBankAccountBySecField {
8886 is_null: bool,
8887 TradeCode: String,
8888 BankID: String,
8889 BankBranchID: String,
8890 BrokerID: String,
8891 BrokerBranchID: String,
8892 TradeDate: String,
8893 TradeTime: String,
8894 BankSerial: String,
8895 TradingDay: String,
8896 PlateSerial: i32,
8897 LastFragment: u8,
8898 SessionID: i32,
8899 CustomerName: String,
8900 IdCardType: u8,
8901 IdentifiedCardNo: String,
8902 CustType: u8,
8903 BankAccount: String,
8904 BankPassWord: String,
8905 AccountID: String,
8906 Password: String,
8907 FutureSerial: i32,
8908 InstallID: i32,
8909 UserID: String,
8910 VerifyCertNoFlag: u8,
8911 CurrencyID: String,
8912 Digest: Vec<u8>,
8913 BankAccType: u8,
8914 DeviceID: String,
8915 BankSecuAccType: u8,
8916 BrokerIDByBank: Vec<u8>,
8917 BankSecuAcc: Vec<u8>,
8918 BankPwdFlag: u8,
8919 SecuPwdFlag: u8,
8920 OperNo: String,
8921 RequestID: i32,
8922 TID: i32,
8923 LongCustomerName: String,
8924 DRIdentityID: i32,
8925 SecFutureSerial: i32,
8926 }
8927 #[derive(Debug, Clone, Default)]
8928 struct RspQueryBankAccountBySecField {
8929 is_null: bool,
8930 TradeCode: String,
8931 BankID: String,
8932 BankBranchID: String,
8933 BrokerID: String,
8934 BrokerBranchID: String,
8935 TradeDate: String,
8936 TradeTime: String,
8937 BankSerial: String,
8938 TradingDay: String,
8939 PlateSerial: i32,
8940 LastFragment: u8,
8941 SessionID: i32,
8942 CustomerName: String,
8943 IdCardType: u8,
8944 IdentifiedCardNo: String,
8945 CustType: u8,
8946 BankAccount: String,
8947 BankPassWord: String,
8948 AccountID: String,
8949 Password: String,
8950 FutureSerial: i32,
8951 InstallID: i32,
8952 UserID: String,
8953 VerifyCertNoFlag: u8,
8954 CurrencyID: String,
8955 Digest: Vec<u8>,
8956 BankAccType: u8,
8957 DeviceID: String,
8958 BankSecuAccType: u8,
8959 BrokerIDByBank: Vec<u8>,
8960 BankSecuAcc: Vec<u8>,
8961 BankPwdFlag: u8,
8962 SecuPwdFlag: u8,
8963 OperNo: String,
8964 RequestID: i32,
8965 TID: i32,
8966 BankUseAmount: f64,
8967 BankFetchAmount: f64,
8968 LongCustomerName: String,
8969 DRIdentityID: i32,
8970 SecFutureSerial: i32,
8971 }
8972 #[derive(Debug, Clone, Default)]
8973 struct ReqTransferBySecField {
8974 is_null: bool,
8975 TradeCode: String,
8976 BankID: String,
8977 BankBranchID: String,
8978 BrokerID: String,
8979 BrokerBranchID: String,
8980 TradeDate: String,
8981 TradeTime: String,
8982 BankSerial: String,
8983 TradingDay: String,
8984 PlateSerial: i32,
8985 LastFragment: u8,
8986 SessionID: i32,
8987 CustomerName: String,
8988 IdCardType: u8,
8989 IdentifiedCardNo: String,
8990 CustType: u8,
8991 BankAccount: String,
8992 BankPassWord: String,
8993 AccountID: String,
8994 Password: String,
8995 InstallID: i32,
8996 FutureSerial: i32,
8997 UserID: String,
8998 VerifyCertNoFlag: u8,
8999 CurrencyID: String,
9000 TradeAmount: f64,
9001 FutureFetchAmount: f64,
9002 FeePayFlag: u8,
9003 CustFee: f64,
9004 BrokerFee: f64,
9005 Message: Vec<u8>,
9006 Digest: Vec<u8>,
9007 BankAccType: u8,
9008 DeviceID: String,
9009 BankSecuAccType: u8,
9010 BrokerIDByBank: Vec<u8>,
9011 BankSecuAcc: Vec<u8>,
9012 BankPwdFlag: u8,
9013 SecuPwdFlag: u8,
9014 OperNo: String,
9015 RequestID: i32,
9016 TID: i32,
9017 TransferStatus: u8,
9018 LongCustomerName: String,
9019 DRIdentityID: i32,
9020 SecFutureSerial: i32,
9021 }
9022 #[derive(Debug, Clone, Default)]
9023 struct RspTransferBySecField {
9024 is_null: bool,
9025 TradeCode: String,
9026 BankID: String,
9027 BankBranchID: String,
9028 BrokerID: String,
9029 BrokerBranchID: String,
9030 TradeDate: String,
9031 TradeTime: String,
9032 BankSerial: String,
9033 TradingDay: String,
9034 PlateSerial: i32,
9035 LastFragment: u8,
9036 SessionID: i32,
9037 CustomerName: String,
9038 IdCardType: u8,
9039 IdentifiedCardNo: String,
9040 CustType: u8,
9041 BankAccount: String,
9042 BankPassWord: String,
9043 AccountID: String,
9044 Password: String,
9045 InstallID: i32,
9046 FutureSerial: i32,
9047 UserID: String,
9048 VerifyCertNoFlag: u8,
9049 CurrencyID: String,
9050 TradeAmount: f64,
9051 FutureFetchAmount: f64,
9052 FeePayFlag: u8,
9053 CustFee: f64,
9054 BrokerFee: f64,
9055 Message: Vec<u8>,
9056 Digest: Vec<u8>,
9057 BankAccType: u8,
9058 DeviceID: String,
9059 BankSecuAccType: u8,
9060 BrokerIDByBank: Vec<u8>,
9061 BankSecuAcc: Vec<u8>,
9062 BankPwdFlag: u8,
9063 SecuPwdFlag: u8,
9064 OperNo: String,
9065 RequestID: i32,
9066 TID: i32,
9067 TransferStatus: u8,
9068 ErrorID: i32,
9069 ErrorMsg: String,
9070 LongCustomerName: String,
9071 DRIdentityID: i32,
9072 SecFutureSerial: i32,
9073 }
9074 #[derive(Debug, Clone, Default)]
9075 struct NotifyQueryFutureAccountBySecField {
9076 is_null: bool,
9077 TradeCode: String,
9078 BankID: String,
9079 BankBranchID: String,
9080 BrokerID: String,
9081 BrokerBranchID: String,
9082 TradeDate: String,
9083 TradeTime: String,
9084 BankSerial: String,
9085 TradingDay: String,
9086 PlateSerial: i32,
9087 LastFragment: u8,
9088 SessionID: i32,
9089 CustomerName: String,
9090 IdCardType: u8,
9091 IdentifiedCardNo: String,
9092 CustType: u8,
9093 BankAccount: String,
9094 BankPassWord: String,
9095 AccountID: String,
9096 Password: String,
9097 FutureSerial: i32,
9098 InstallID: i32,
9099 UserID: String,
9100 VerifyCertNoFlag: u8,
9101 CurrencyID: String,
9102 Digest: Vec<u8>,
9103 BankAccType: u8,
9104 DeviceID: String,
9105 BankSecuAccType: u8,
9106 BrokerIDByBank: Vec<u8>,
9107 BankSecuAcc: Vec<u8>,
9108 BankPwdFlag: u8,
9109 SecuPwdFlag: u8,
9110 OperNo: String,
9111 RequestID: i32,
9112 TID: i32,
9113 BankUseAmount: f64,
9114 BankFetchAmount: f64,
9115 ErrorID: i32,
9116 ErrorMsg: String,
9117 LongCustomerName: String,
9118 DRIdentityID: i32,
9119 SecFutureSerial: i32,
9120 }
9121 #[derive(Debug, Clone, Default)]
9122 struct ExitEmergencyField {
9123 is_null: bool,
9124 BrokerID: String,
9125 }
9126 #[derive(Debug, Clone, Default)]
9127 struct InvestorPortfMarginModelField {
9128 is_null: bool,
9129 BrokerID: String,
9130 InvestorID: String,
9131 MarginModelID: String,
9132 }
9133 #[derive(Debug, Clone, Default)]
9134 struct InvestorPortfSettingField {
9135 is_null: bool,
9136 ExchangeID: String,
9137 BrokerID: String,
9138 InvestorID: String,
9139 HedgeFlag: u8,
9140 UsePortf: i32,
9141 }
9142 #[derive(Debug, Clone, Default)]
9143 struct QryInvestorPortfSettingField {
9144 is_null: bool,
9145 ExchangeID: String,
9146 BrokerID: String,
9147 InvestorID: String,
9148 }
9149 #[derive(Debug, Clone, Default)]
9150 struct UserPasswordUpdateFromSecField {
9151 is_null: bool,
9152 BrokerID: String,
9153 UserID: String,
9154 OldPassword: String,
9155 NewPassword: String,
9156 FromSec: i32,
9157 }
9158 #[derive(Debug, Clone, Default)]
9159 struct SettlementInfoConfirmFromSecField {
9160 is_null: bool,
9161 BrokerID: String,
9162 InvestorID: String,
9163 ConfirmDate: String,
9164 ConfirmTime: String,
9165 FromSec: i32,
9166 }
9167 #[derive(Debug, Clone, Default)]
9168 struct TradingAccountPasswordUpdateFromSecField {
9169 is_null: bool,
9170 BrokerID: String,
9171 AccountID: String,
9172 OldPassword: String,
9173 NewPassword: String,
9174 CurrencyID: String,
9175 FromSec: i32,
9176 }
9177 #[derive(Debug, Clone, Default)]
9178 struct RiskForbiddenRightField {
9179 is_null: bool,
9180 BrokerID: String,
9181 InvestorID: String,
9182 InstrumentID: String,
9183 UserID: String,
9184 }
9185 #[derive(Debug, Clone, Default)]
9186 struct InvestorInfoCommRecField {
9187 is_null: bool,
9188 ExchangeID: String,
9189 BrokerID: String,
9190 InvestorID: String,
9191 InstrumentID: String,
9192 OrderCount: i32,
9193 OrderActionCount: i32,
9194 ForQuoteCnt: i32,
9195 InfoComm: f64,
9196 IsOptSeries: i32,
9197 ProductID: String,
9198 InfoCnt: i32,
9199 }
9200 #[derive(Debug, Clone, Default)]
9201 struct QryInvestorInfoCommRecField {
9202 is_null: bool,
9203 InvestorID: String,
9204 InstrumentID: String,
9205 BrokerID: String,
9206 }
9207 #[derive(Debug, Clone, Default)]
9208 struct CombLegField {
9209 is_null: bool,
9210 CombInstrumentID: String,
9211 LegID: i32,
9212 LegInstrumentID: String,
9213 Direction: u8,
9214 LegMultiple: i32,
9215 ImplyLevel: i32,
9216 }
9217 #[derive(Debug, Clone, Default)]
9218 struct QryCombLegField {
9219 is_null: bool,
9220 LegInstrumentID: String,
9221 }
9222 #[derive(Debug, Clone, Default)]
9223 struct InputOffsetSettingField {
9224 is_null: bool,
9225 BrokerID: String,
9226 InvestorID: String,
9227 InstrumentID: String,
9228 UnderlyingInstrID: String,
9229 ProductID: String,
9230 OffsetType: u8,
9231 Volume: i32,
9232 IsOffset: i32,
9233 RequestID: i32,
9234 UserID: String,
9235 ExchangeID: String,
9236 IPAddress: String,
9237 MacAddress: String,
9238 }
9239 #[derive(Debug, Clone, Default)]
9240 struct OffsetSettingField {
9241 is_null: bool,
9242 BrokerID: String,
9243 InvestorID: String,
9244 InstrumentID: String,
9245 UnderlyingInstrID: String,
9246 ProductID: String,
9247 OffsetType: u8,
9248 Volume: i32,
9249 IsOffset: i32,
9250 RequestID: i32,
9251 UserID: String,
9252 ExchangeID: String,
9253 IPAddress: String,
9254 MacAddress: String,
9255 ExchangeInstID: String,
9256 ExchangeSerialNo: Vec<u8>,
9257 ExchangeProductID: String,
9258 ParticipantID: String,
9259 ClientID: String,
9260 TraderID: String,
9261 InstallID: i32,
9262 OrderSubmitStatus: u8,
9263 TradingDay: String,
9264 SettlementID: i32,
9265 InsertDate: String,
9266 InsertTime: String,
9267 CancelTime: String,
9268 ExecResult: u8,
9269 SequenceNo: i32,
9270 FrontID: i32,
9271 SessionID: i32,
9272 StatusMsg: String,
9273 ActiveUserID: String,
9274 BrokerOffsetSettingSeq: i32,
9275 ApplySrc: u8,
9276 }
9277 #[derive(Debug, Clone, Default)]
9278 struct CancelOffsetSettingField {
9279 is_null: bool,
9280 BrokerID: String,
9281 InvestorID: String,
9282 InstrumentID: String,
9283 UnderlyingInstrID: String,
9284 ProductID: String,
9285 OffsetType: u8,
9286 Volume: i32,
9287 IsOffset: i32,
9288 RequestID: i32,
9289 UserID: String,
9290 ExchangeID: String,
9291 IPAddress: String,
9292 MacAddress: String,
9293 ExchangeInstID: String,
9294 ExchangeSerialNo: Vec<u8>,
9295 ExchangeProductID: String,
9296 TraderID: String,
9297 InstallID: i32,
9298 ParticipantID: String,
9299 ClientID: String,
9300 OrderActionStatus: u8,
9301 StatusMsg: String,
9302 ActionLocalID: String,
9303 ActionDate: String,
9304 ActionTime: String,
9305 }
9306 #[derive(Debug, Clone, Default)]
9307 struct QryOffsetSettingField {
9308 is_null: bool,
9309 BrokerID: String,
9310 InvestorID: String,
9311 ProductID: String,
9312 OffsetType: u8,
9313 }
9314 #[derive(Debug, Clone, Default)]
9315 struct AddrAppIDRelationField {
9316 is_null: bool,
9317 BrokerID: String,
9318 Address: String,
9319 DRIdentityID: i32,
9320 AppID: String,
9321 }
9322 #[derive(Debug, Clone, Default)]
9323 struct QryAddrAppIDRelationField {
9324 is_null: bool,
9325 BrokerID: String,
9326 }
9327 #[derive(Debug, Clone, Default)]
9328 struct WechatUserSystemInfoField {
9329 is_null: bool,
9330 BrokerID: String,
9331 UserID: String,
9332 WechatCltSysInfoLen: i32,
9333 WechatCltSysInfo: String,
9334 ClientIPPort: i32,
9335 ClientLoginTime: String,
9336 ClientAppID: String,
9337 ClientPublicIP: String,
9338 ClientLoginRemark: String,
9339 }
9340 #[derive(Debug, Clone, Default)]
9341 struct InvestorReserveInfoField {
9342 is_null: bool,
9343 BrokerID: String,
9344 UserID: String,
9345 ReserveInfo: String,
9346 }
9347 #[derive(Debug, Clone, Default)]
9348 struct QryInvestorDepartmentFlatField {
9349 is_null: bool,
9350 BrokerID: String,
9351 }
9352 #[derive(Debug, Clone, Default)]
9353 struct InvestorDepartmentFlatField {
9354 is_null: bool,
9355 BrokerID: String,
9356 InvestorID: String,
9357 DepartmentID: String,
9358 }
9359 #[derive(Debug, Clone, Default)]
9360 struct QryDepartmentUserField {
9361 is_null: bool,
9362 BrokerID: String,
9363 }
9364 #[derive(Debug, Clone, Default)]
9365 struct FrontInfoField {
9366 is_null: bool,
9367 FrontAddr: String,
9368 QryFreq: i32,
9369 FTDPkgFreq: i32,
9370 }
9371}