ctp_common/generated/
struct.rs.in

1/* automatically generated by rust-bindgen */
2
3pub const THOST_FTDC_EXP_Normal: u8 = b'0';
4pub const THOST_FTDC_EXP_GenOrderByTrade: u8 = b'1';
5pub const THOST_FTDC_ICT_EID: u8 = b'0';
6pub const THOST_FTDC_ICT_IDCard: u8 = b'1';
7pub const THOST_FTDC_ICT_OfficerIDCard: u8 = b'2';
8pub const THOST_FTDC_ICT_PoliceIDCard: u8 = b'3';
9pub const THOST_FTDC_ICT_SoldierIDCard: u8 = b'4';
10pub const THOST_FTDC_ICT_HouseholdRegister: u8 = b'5';
11pub const THOST_FTDC_ICT_Passport: u8 = b'6';
12pub const THOST_FTDC_ICT_TaiwanCompatriotIDCard: u8 = b'7';
13pub const THOST_FTDC_ICT_HomeComingCard: u8 = b'8';
14pub const THOST_FTDC_ICT_LicenseNo: u8 = b'9';
15pub const THOST_FTDC_ICT_TaxNo: u8 = b'A';
16pub const THOST_FTDC_ICT_HMMainlandTravelPermit: u8 = b'B';
17pub const THOST_FTDC_ICT_TwMainlandTravelPermit: u8 = b'C';
18pub const THOST_FTDC_ICT_DrivingLicense: u8 = b'D';
19pub const THOST_FTDC_ICT_SocialID: u8 = b'F';
20pub const THOST_FTDC_ICT_LocalID: u8 = b'G';
21pub const THOST_FTDC_ICT_BusinessRegistration: u8 = b'H';
22pub const THOST_FTDC_ICT_HKMCIDCard: u8 = b'I';
23pub const THOST_FTDC_ICT_AccountsPermits: u8 = b'J';
24pub const THOST_FTDC_ICT_FrgPrmtRdCard: u8 = b'K';
25pub const THOST_FTDC_ICT_CptMngPrdLetter: u8 = b'L';
26pub const THOST_FTDC_ICT_OtherCard: u8 = b'x';
27pub const THOST_FTDC_IR_All: u8 = b'1';
28pub const THOST_FTDC_IR_Group: u8 = b'2';
29pub const THOST_FTDC_IR_Single: u8 = b'3';
30pub const THOST_FTDC_DR_All: u8 = b'1';
31pub const THOST_FTDC_DR_Group: u8 = b'2';
32pub const THOST_FTDC_DR_Single: u8 = b'3';
33pub const THOST_FTDC_DS_Asynchronous: u8 = b'1';
34pub const THOST_FTDC_DS_Synchronizing: u8 = b'2';
35pub const THOST_FTDC_DS_Synchronized: u8 = b'3';
36pub const THOST_FTDC_BDS_Synchronized: u8 = b'1';
37pub const THOST_FTDC_BDS_Synchronizing: u8 = b'2';
38pub const THOST_FTDC_ECS_NoConnection: u8 = b'1';
39pub const THOST_FTDC_ECS_QryInstrumentSent: u8 = b'2';
40pub const THOST_FTDC_ECS_GotInformation: u8 = b'9';
41pub const THOST_FTDC_TCS_NotConnected: u8 = b'1';
42pub const THOST_FTDC_TCS_Connected: u8 = b'2';
43pub const THOST_FTDC_TCS_QryInstrumentSent: u8 = b'3';
44pub const THOST_FTDC_TCS_SubPrivateFlow: u8 = b'4';
45pub const THOST_FTDC_FC_DataAsync: u8 = b'1';
46pub const THOST_FTDC_FC_ForceUserLogout: u8 = b'2';
47pub const THOST_FTDC_FC_UserPasswordUpdate: u8 = b'3';
48pub const THOST_FTDC_FC_BrokerPasswordUpdate: u8 = b'4';
49pub const THOST_FTDC_FC_InvestorPasswordUpdate: u8 = b'5';
50pub const THOST_FTDC_FC_OrderInsert: u8 = b'6';
51pub const THOST_FTDC_FC_OrderAction: u8 = b'7';
52pub const THOST_FTDC_FC_SyncSystemData: u8 = b'8';
53pub const THOST_FTDC_FC_SyncBrokerData: u8 = b'9';
54pub const THOST_FTDC_FC_BachSyncBrokerData: u8 = b'A';
55pub const THOST_FTDC_FC_SuperQuery: u8 = b'B';
56pub const THOST_FTDC_FC_ParkedOrderInsert: u8 = b'C';
57pub const THOST_FTDC_FC_ParkedOrderAction: u8 = b'D';
58pub const THOST_FTDC_FC_SyncOTP: u8 = b'E';
59pub const THOST_FTDC_FC_DeleteOrder: u8 = b'F';
60pub const THOST_FTDC_BFC_ForceUserLogout: u8 = b'1';
61pub const THOST_FTDC_BFC_UserPasswordUpdate: u8 = b'2';
62pub const THOST_FTDC_BFC_SyncBrokerData: u8 = b'3';
63pub const THOST_FTDC_BFC_BachSyncBrokerData: u8 = b'4';
64pub const THOST_FTDC_BFC_OrderInsert: u8 = b'5';
65pub const THOST_FTDC_BFC_OrderAction: u8 = b'6';
66pub const THOST_FTDC_BFC_AllQuery: u8 = b'7';
67pub const THOST_FTDC_BFC_log: u8 = b'a';
68pub const THOST_FTDC_BFC_BaseQry: u8 = b'b';
69pub const THOST_FTDC_BFC_TradeQry: u8 = b'c';
70pub const THOST_FTDC_BFC_Trade: u8 = b'd';
71pub const THOST_FTDC_BFC_Virement: u8 = b'e';
72pub const THOST_FTDC_BFC_Risk: u8 = b'f';
73pub const THOST_FTDC_BFC_Session: u8 = b'g';
74pub const THOST_FTDC_BFC_RiskNoticeCtl: u8 = b'h';
75pub const THOST_FTDC_BFC_RiskNotice: u8 = b'i';
76pub const THOST_FTDC_BFC_BrokerDeposit: u8 = b'j';
77pub const THOST_FTDC_BFC_QueryFund: u8 = b'k';
78pub const THOST_FTDC_BFC_QueryOrder: u8 = b'l';
79pub const THOST_FTDC_BFC_QueryTrade: u8 = b'm';
80pub const THOST_FTDC_BFC_QueryPosition: u8 = b'n';
81pub const THOST_FTDC_BFC_QueryMarketData: u8 = b'o';
82pub const THOST_FTDC_BFC_QueryUserEvent: u8 = b'p';
83pub const THOST_FTDC_BFC_QueryRiskNotify: u8 = b'q';
84pub const THOST_FTDC_BFC_QueryFundChange: u8 = b'r';
85pub const THOST_FTDC_BFC_QueryInvestor: u8 = b's';
86pub const THOST_FTDC_BFC_QueryTradingCode: u8 = b't';
87pub const THOST_FTDC_BFC_ForceClose: u8 = b'u';
88pub const THOST_FTDC_BFC_PressTest: u8 = b'v';
89pub const THOST_FTDC_BFC_RemainCalc: u8 = b'w';
90pub const THOST_FTDC_BFC_NetPositionInd: u8 = b'x';
91pub const THOST_FTDC_BFC_RiskPredict: u8 = b'y';
92pub const THOST_FTDC_BFC_DataExport: u8 = b'z';
93pub const THOST_FTDC_BFC_RiskTargetSetup: u8 = b'A';
94pub const THOST_FTDC_BFC_MarketDataWarn: u8 = b'B';
95pub const THOST_FTDC_BFC_QryBizNotice: u8 = b'C';
96pub const THOST_FTDC_BFC_CfgBizNotice: u8 = b'D';
97pub const THOST_FTDC_BFC_SyncOTP: u8 = b'E';
98pub const THOST_FTDC_BFC_SendBizNotice: u8 = b'F';
99pub const THOST_FTDC_BFC_CfgRiskLevelStd: u8 = b'G';
100pub const THOST_FTDC_BFC_TbCommand: u8 = b'H';
101pub const THOST_FTDC_BFC_DeleteOrder: u8 = b'J';
102pub const THOST_FTDC_BFC_ParkedOrderInsert: u8 = b'K';
103pub const THOST_FTDC_BFC_ParkedOrderAction: u8 = b'L';
104pub const THOST_FTDC_BFC_ExecOrderNoCheck: u8 = b'M';
105pub const THOST_FTDC_BFC_Designate: u8 = b'N';
106pub const THOST_FTDC_BFC_StockDisposal: u8 = b'O';
107pub const THOST_FTDC_BFC_BrokerDepositWarn: u8 = b'Q';
108pub const THOST_FTDC_BFC_CoverWarn: u8 = b'S';
109pub const THOST_FTDC_BFC_PreExecOrder: u8 = b'T';
110pub const THOST_FTDC_BFC_ExecOrderRisk: u8 = b'P';
111pub const THOST_FTDC_BFC_PosiLimitWarn: u8 = b'U';
112pub const THOST_FTDC_BFC_QryPosiLimit: u8 = b'V';
113pub const THOST_FTDC_BFC_FBSign: u8 = b'W';
114pub const THOST_FTDC_BFC_FBAccount: u8 = b'X';
115pub const THOST_FTDC_OAS_Submitted: u8 = b'a';
116pub const THOST_FTDC_OAS_Accepted: u8 = b'b';
117pub const THOST_FTDC_OAS_Rejected: u8 = b'c';
118pub const THOST_FTDC_OST_AllTraded: u8 = b'0';
119pub const THOST_FTDC_OST_PartTradedQueueing: u8 = b'1';
120pub const THOST_FTDC_OST_PartTradedNotQueueing: u8 = b'2';
121pub const THOST_FTDC_OST_NoTradeQueueing: u8 = b'3';
122pub const THOST_FTDC_OST_NoTradeNotQueueing: u8 = b'4';
123pub const THOST_FTDC_OST_Canceled: u8 = b'5';
124pub const THOST_FTDC_OST_Unknown: u8 = b'a';
125pub const THOST_FTDC_OST_NotTouched: u8 = b'b';
126pub const THOST_FTDC_OST_Touched: u8 = b'c';
127pub const THOST_FTDC_OSS_InsertSubmitted: u8 = b'0';
128pub const THOST_FTDC_OSS_CancelSubmitted: u8 = b'1';
129pub const THOST_FTDC_OSS_ModifySubmitted: u8 = b'2';
130pub const THOST_FTDC_OSS_Accepted: u8 = b'3';
131pub const THOST_FTDC_OSS_InsertRejected: u8 = b'4';
132pub const THOST_FTDC_OSS_CancelRejected: u8 = b'5';
133pub const THOST_FTDC_OSS_ModifyRejected: u8 = b'6';
134pub const THOST_FTDC_PSD_Today: u8 = b'1';
135pub const THOST_FTDC_PSD_History: u8 = b'2';
136pub const THOST_FTDC_PDT_UseHistory: u8 = b'1';
137pub const THOST_FTDC_PDT_NoUseHistory: u8 = b'2';
138pub const THOST_FTDC_ER_Broker: u8 = b'1';
139pub const THOST_FTDC_ER_Host: u8 = b'2';
140pub const THOST_FTDC_ER_Maker: u8 = b'3';
141pub const THOST_FTDC_PC_Futures: u8 = b'1';
142pub const THOST_FTDC_PC_Options: u8 = b'2';
143pub const THOST_FTDC_PC_Combination: u8 = b'3';
144pub const THOST_FTDC_PC_Spot: u8 = b'4';
145pub const THOST_FTDC_PC_EFP: u8 = b'5';
146pub const THOST_FTDC_PC_SpotOption: u8 = b'6';
147pub const THOST_FTDC_IP_NotStart: u8 = b'0';
148pub const THOST_FTDC_IP_Started: u8 = b'1';
149pub const THOST_FTDC_IP_Pause: u8 = b'2';
150pub const THOST_FTDC_IP_Expired: u8 = b'3';
151pub const THOST_FTDC_D_Buy: u8 = b'0';
152pub const THOST_FTDC_D_Sell: u8 = b'1';
153pub const THOST_FTDC_PT_Net: u8 = b'1';
154pub const THOST_FTDC_PT_Gross: u8 = b'2';
155pub const THOST_FTDC_PD_Net: u8 = b'1';
156pub const THOST_FTDC_PD_Long: u8 = b'2';
157pub const THOST_FTDC_PD_Short: u8 = b'3';
158pub const THOST_FTDC_SS_NonActive: u8 = b'1';
159pub const THOST_FTDC_SS_Startup: u8 = b'2';
160pub const THOST_FTDC_SS_Operating: u8 = b'3';
161pub const THOST_FTDC_SS_Settlement: u8 = b'4';
162pub const THOST_FTDC_SS_SettlementFinished: u8 = b'5';
163pub const THOST_FTDC_RA_Trade: u8 = b'0';
164pub const THOST_FTDC_RA_Settlement: u8 = b'1';
165pub const THOST_FTDC_HF_Speculation: u8 = b'1';
166pub const THOST_FTDC_HF_Arbitrage: u8 = b'2';
167pub const THOST_FTDC_HF_Hedge: u8 = b'3';
168pub const THOST_FTDC_HF_MarketMaker: u8 = b'5';
169pub const THOST_FTDC_HF_SpecHedge: u8 = b'6';
170pub const THOST_FTDC_HF_HedgeSpec: u8 = b'7';
171pub const THOST_FTDC_BHF_Speculation: u8 = b'1';
172pub const THOST_FTDC_BHF_Arbitrage: u8 = b'2';
173pub const THOST_FTDC_BHF_Hedge: u8 = b'3';
174pub const THOST_FTDC_CIDT_Speculation: u8 = b'1';
175pub const THOST_FTDC_CIDT_Arbitrage: u8 = b'2';
176pub const THOST_FTDC_CIDT_Hedge: u8 = b'3';
177pub const THOST_FTDC_CIDT_MarketMaker: u8 = b'5';
178pub const THOST_FTDC_OPT_AnyPrice: u8 = b'1';
179pub const THOST_FTDC_OPT_LimitPrice: u8 = b'2';
180pub const THOST_FTDC_OPT_BestPrice: u8 = b'3';
181pub const THOST_FTDC_OPT_LastPrice: u8 = b'4';
182pub const THOST_FTDC_OPT_LastPricePlusOneTicks: u8 = b'5';
183pub const THOST_FTDC_OPT_LastPricePlusTwoTicks: u8 = b'6';
184pub const THOST_FTDC_OPT_LastPricePlusThreeTicks: u8 = b'7';
185pub const THOST_FTDC_OPT_AskPrice1: u8 = b'8';
186pub const THOST_FTDC_OPT_AskPrice1PlusOneTicks: u8 = b'9';
187pub const THOST_FTDC_OPT_AskPrice1PlusTwoTicks: u8 = b'A';
188pub const THOST_FTDC_OPT_AskPrice1PlusThreeTicks: u8 = b'B';
189pub const THOST_FTDC_OPT_BidPrice1: u8 = b'C';
190pub const THOST_FTDC_OPT_BidPrice1PlusOneTicks: u8 = b'D';
191pub const THOST_FTDC_OPT_BidPrice1PlusTwoTicks: u8 = b'E';
192pub const THOST_FTDC_OPT_BidPrice1PlusThreeTicks: u8 = b'F';
193pub const THOST_FTDC_OPT_FiveLevelPrice: u8 = b'G';
194pub const THOST_FTDC_OF_Open: u8 = b'0';
195pub const THOST_FTDC_OF_Close: u8 = b'1';
196pub const THOST_FTDC_OF_ForceClose: u8 = b'2';
197pub const THOST_FTDC_OF_CloseToday: u8 = b'3';
198pub const THOST_FTDC_OF_CloseYesterday: u8 = b'4';
199pub const THOST_FTDC_OF_ForceOff: u8 = b'5';
200pub const THOST_FTDC_OF_LocalForceClose: u8 = b'6';
201pub const THOST_FTDC_FCC_NotForceClose: u8 = b'0';
202pub const THOST_FTDC_FCC_LackDeposit: u8 = b'1';
203pub const THOST_FTDC_FCC_ClientOverPositionLimit: u8 = b'2';
204pub const THOST_FTDC_FCC_MemberOverPositionLimit: u8 = b'3';
205pub const THOST_FTDC_FCC_NotMultiple: u8 = b'4';
206pub const THOST_FTDC_FCC_Violation: u8 = b'5';
207pub const THOST_FTDC_FCC_Other: u8 = b'6';
208pub const THOST_FTDC_FCC_PersonDeliv: u8 = b'7';
209pub const THOST_FTDC_ORDT_Normal: u8 = b'0';
210pub const THOST_FTDC_ORDT_DeriveFromQuote: u8 = b'1';
211pub const THOST_FTDC_ORDT_DeriveFromCombination: u8 = b'2';
212pub const THOST_FTDC_ORDT_Combination: u8 = b'3';
213pub const THOST_FTDC_ORDT_ConditionalOrder: u8 = b'4';
214pub const THOST_FTDC_ORDT_Swap: u8 = b'5';
215pub const THOST_FTDC_ORDT_DeriveFromBlockTrade: u8 = b'6';
216pub const THOST_FTDC_ORDT_DeriveFromEFPTrade: u8 = b'7';
217pub const THOST_FTDC_TC_IOC: u8 = b'1';
218pub const THOST_FTDC_TC_GFS: u8 = b'2';
219pub const THOST_FTDC_TC_GFD: u8 = b'3';
220pub const THOST_FTDC_TC_GTD: u8 = b'4';
221pub const THOST_FTDC_TC_GTC: u8 = b'5';
222pub const THOST_FTDC_TC_GFA: u8 = b'6';
223pub const THOST_FTDC_VC_AV: u8 = b'1';
224pub const THOST_FTDC_VC_MV: u8 = b'2';
225pub const THOST_FTDC_VC_CV: u8 = b'3';
226pub const THOST_FTDC_CC_Immediately: u8 = b'1';
227pub const THOST_FTDC_CC_Touch: u8 = b'2';
228pub const THOST_FTDC_CC_TouchProfit: u8 = b'3';
229pub const THOST_FTDC_CC_ParkedOrder: u8 = b'4';
230pub const THOST_FTDC_CC_LastPriceGreaterThanStopPrice: u8 = b'5';
231pub const THOST_FTDC_CC_LastPriceGreaterEqualStopPrice: u8 = b'6';
232pub const THOST_FTDC_CC_LastPriceLesserThanStopPrice: u8 = b'7';
233pub const THOST_FTDC_CC_LastPriceLesserEqualStopPrice: u8 = b'8';
234pub const THOST_FTDC_CC_AskPriceGreaterThanStopPrice: u8 = b'9';
235pub const THOST_FTDC_CC_AskPriceGreaterEqualStopPrice: u8 = b'A';
236pub const THOST_FTDC_CC_AskPriceLesserThanStopPrice: u8 = b'B';
237pub const THOST_FTDC_CC_AskPriceLesserEqualStopPrice: u8 = b'C';
238pub const THOST_FTDC_CC_BidPriceGreaterThanStopPrice: u8 = b'D';
239pub const THOST_FTDC_CC_BidPriceGreaterEqualStopPrice: u8 = b'E';
240pub const THOST_FTDC_CC_BidPriceLesserThanStopPrice: u8 = b'F';
241pub const THOST_FTDC_CC_BidPriceLesserEqualStopPrice: u8 = b'H';
242pub const THOST_FTDC_AF_Delete: u8 = b'0';
243pub const THOST_FTDC_AF_Modify: u8 = b'3';
244pub const THOST_FTDC_TR_Allow: u8 = b'0';
245pub const THOST_FTDC_TR_CloseOnly: u8 = b'1';
246pub const THOST_FTDC_TR_Forbidden: u8 = b'2';
247pub const THOST_FTDC_OSRC_Participant: u8 = b'0';
248pub const THOST_FTDC_OSRC_Administrator: u8 = b'1';
249pub const THOST_FTDC_TRDT_SplitCombination: u8 = b'#';
250pub const THOST_FTDC_TRDT_Common: u8 = b'0';
251pub const THOST_FTDC_TRDT_OptionsExecution: u8 = b'1';
252pub const THOST_FTDC_TRDT_OTC: u8 = b'2';
253pub const THOST_FTDC_TRDT_EFPDerived: u8 = b'3';
254pub const THOST_FTDC_TRDT_CombinationDerived: u8 = b'4';
255pub const THOST_FTDC_TRDT_BlockTrade: u8 = b'5';
256pub const THOST_FTDC_PSRC_LastPrice: u8 = b'0';
257pub const THOST_FTDC_PSRC_Buy: u8 = b'1';
258pub const THOST_FTDC_PSRC_Sell: u8 = b'2';
259pub const THOST_FTDC_PSRC_OTC: u8 = b'3';
260pub const THOST_FTDC_IS_BeforeTrading: u8 = b'0';
261pub const THOST_FTDC_IS_NoTrading: u8 = b'1';
262pub const THOST_FTDC_IS_Continous: u8 = b'2';
263pub const THOST_FTDC_IS_AuctionOrdering: u8 = b'3';
264pub const THOST_FTDC_IS_AuctionBalance: u8 = b'4';
265pub const THOST_FTDC_IS_AuctionMatch: u8 = b'5';
266pub const THOST_FTDC_IS_Closed: u8 = b'6';
267pub const THOST_FTDC_IER_Automatic: u8 = b'1';
268pub const THOST_FTDC_IER_Manual: u8 = b'2';
269pub const THOST_FTDC_IER_Fuse: u8 = b'3';
270pub const THOST_FTDC_BS_NoUpload: u8 = b'1';
271pub const THOST_FTDC_BS_Uploaded: u8 = b'2';
272pub const THOST_FTDC_BS_Failed: u8 = b'3';
273pub const THOST_FTDC_RS_All: u8 = b'1';
274pub const THOST_FTDC_RS_ByProduct: u8 = b'2';
275pub const THOST_FTDC_RP_ByVolume: u8 = b'1';
276pub const THOST_FTDC_RP_ByFeeOnHand: u8 = b'2';
277pub const THOST_FTDC_RL_Level1: u8 = b'1';
278pub const THOST_FTDC_RL_Level2: u8 = b'2';
279pub const THOST_FTDC_RL_Level3: u8 = b'3';
280pub const THOST_FTDC_RL_Level4: u8 = b'4';
281pub const THOST_FTDC_RL_Level5: u8 = b'5';
282pub const THOST_FTDC_RL_Level6: u8 = b'6';
283pub const THOST_FTDC_RL_Level7: u8 = b'7';
284pub const THOST_FTDC_RL_Level8: u8 = b'8';
285pub const THOST_FTDC_RL_Level9: u8 = b'9';
286pub const THOST_FTDC_RSD_ByPeriod: u8 = b'1';
287pub const THOST_FTDC_RSD_ByStandard: u8 = b'2';
288pub const THOST_FTDC_MT_Out: u8 = b'0';
289pub const THOST_FTDC_MT_In: u8 = b'1';
290pub const THOST_FTDC_ISPI_MortgageRatio: u8 = b'4';
291pub const THOST_FTDC_ISPI_MarginWay: u8 = b'5';
292pub const THOST_FTDC_ISPI_BillDeposit: u8 = b'9';
293pub const THOST_FTDC_ESPI_MortgageRatio: u8 = b'1';
294pub const THOST_FTDC_ESPI_OtherFundItem: u8 = b'2';
295pub const THOST_FTDC_ESPI_OtherFundImport: u8 = b'3';
296pub const THOST_FTDC_ESPI_CFFEXMinPrepa: u8 = b'6';
297pub const THOST_FTDC_ESPI_CZCESettlementType: u8 = b'7';
298pub const THOST_FTDC_ESPI_ExchDelivFeeMode: u8 = b'9';
299pub const THOST_FTDC_ESPI_DelivFeeMode: u8 = b'0';
300pub const THOST_FTDC_ESPI_CZCEComMarginType: u8 = b'A';
301pub const THOST_FTDC_ESPI_DceComMarginType: u8 = b'B';
302pub const THOST_FTDC_ESPI_OptOutDisCountRate: u8 = b'a';
303pub const THOST_FTDC_ESPI_OptMiniGuarantee: u8 = b'b';
304pub const THOST_FTDC_SPI_InvestorIDMinLength: u8 = b'1';
305pub const THOST_FTDC_SPI_AccountIDMinLength: u8 = b'2';
306pub const THOST_FTDC_SPI_UserRightLogon: u8 = b'3';
307pub const THOST_FTDC_SPI_SettlementBillTrade: u8 = b'4';
308pub const THOST_FTDC_SPI_TradingCode: u8 = b'5';
309pub const THOST_FTDC_SPI_CheckFund: u8 = b'6';
310pub const THOST_FTDC_SPI_CommModelRight: u8 = b'7';
311pub const THOST_FTDC_SPI_MarginModelRight: u8 = b'9';
312pub const THOST_FTDC_SPI_IsStandardActive: u8 = b'8';
313pub const THOST_FTDC_SPI_UploadSettlementFile: u8 = b'U';
314pub const THOST_FTDC_SPI_DownloadCSRCFile: u8 = b'D';
315pub const THOST_FTDC_SPI_SettlementBillFile: u8 = b'S';
316pub const THOST_FTDC_SPI_CSRCOthersFile: u8 = b'C';
317pub const THOST_FTDC_SPI_InvestorPhoto: u8 = b'P';
318pub const THOST_FTDC_SPI_CSRCData: u8 = b'R';
319pub const THOST_FTDC_SPI_InvestorPwdModel: u8 = b'I';
320pub const THOST_FTDC_SPI_CFFEXInvestorSettleFile: u8 = b'F';
321pub const THOST_FTDC_SPI_InvestorIDType: u8 = b'a';
322pub const THOST_FTDC_SPI_FreezeMaxReMain: u8 = b'r';
323pub const THOST_FTDC_SPI_IsSync: u8 = b'A';
324pub const THOST_FTDC_SPI_RelieveOpenLimit: u8 = b'O';
325pub const THOST_FTDC_SPI_IsStandardFreeze: u8 = b'X';
326pub const THOST_FTDC_SPI_CZCENormalProductHedge: u8 = b'B';
327pub const THOST_FTDC_TPID_EncryptionStandard: u8 = b'E';
328pub const THOST_FTDC_TPID_RiskMode: u8 = b'R';
329pub const THOST_FTDC_TPID_RiskModeGlobal: u8 = b'G';
330pub const THOST_FTDC_TPID_modeEncode: u8 = b'P';
331pub const THOST_FTDC_TPID_tickMode: u8 = b'T';
332pub const THOST_FTDC_TPID_SingleUserSessionMaxNum: u8 = b'S';
333pub const THOST_FTDC_TPID_LoginFailMaxNum: u8 = b'L';
334pub const THOST_FTDC_TPID_IsAuthForce: u8 = b'A';
335pub const THOST_FTDC_TPID_IsPosiFreeze: u8 = b'F';
336pub const THOST_FTDC_TPID_IsPosiLimit: u8 = b'M';
337pub const THOST_FTDC_TPID_ForQuoteTimeInterval: u8 = b'Q';
338pub const THOST_FTDC_TPID_IsFuturePosiLimit: u8 = b'B';
339pub const THOST_FTDC_TPID_IsFutureOrderFreq: u8 = b'C';
340pub const THOST_FTDC_TPID_IsExecOrderProfit: u8 = b'H';
341pub const THOST_FTDC_TPID_IsCheckBankAcc: u8 = b'I';
342pub const THOST_FTDC_TPID_PasswordDeadLine: u8 = b'J';
343pub const THOST_FTDC_TPID_IsStrongPassword: u8 = b'K';
344pub const THOST_FTDC_TPID_BalanceMorgage: u8 = b'a';
345pub const THOST_FTDC_TPID_MinPwdLen: u8 = b'O';
346pub const THOST_FTDC_TPID_LoginFailMaxNumForIP: u8 = b'U';
347pub const THOST_FTDC_TPID_PasswordPeriod: u8 = b'V';
348pub const THOST_FTDC_FI_SettlementFund: u8 = b'F';
349pub const THOST_FTDC_FI_Trade: u8 = b'T';
350pub const THOST_FTDC_FI_InvestorPosition: u8 = b'P';
351pub const THOST_FTDC_FI_SubEntryFund: u8 = b'O';
352pub const THOST_FTDC_FI_CZCECombinationPos: u8 = b'C';
353pub const THOST_FTDC_FI_CSRCData: u8 = b'R';
354pub const THOST_FTDC_FI_CZCEClose: u8 = b'L';
355pub const THOST_FTDC_FI_CZCENoClose: u8 = b'N';
356pub const THOST_FTDC_FI_PositionDtl: u8 = b'D';
357pub const THOST_FTDC_FI_OptionStrike: u8 = b'S';
358pub const THOST_FTDC_FI_SettlementPriceComparison: u8 = b'M';
359pub const THOST_FTDC_FI_NonTradePosChange: u8 = b'B';
360pub const THOST_FTDC_FUT_Settlement: u8 = b'0';
361pub const THOST_FTDC_FUT_Check: u8 = b'1';
362pub const THOST_FTDC_FFT_Txt: u8 = b'0';
363pub const THOST_FTDC_FFT_Zip: u8 = b'1';
364pub const THOST_FTDC_FFT_DBF: u8 = b'2';
365pub const THOST_FTDC_FUS_SucceedUpload: u8 = b'1';
366pub const THOST_FTDC_FUS_FailedUpload: u8 = b'2';
367pub const THOST_FTDC_FUS_SucceedLoad: u8 = b'3';
368pub const THOST_FTDC_FUS_PartSucceedLoad: u8 = b'4';
369pub const THOST_FTDC_FUS_FailedLoad: u8 = b'5';
370pub const THOST_FTDC_TD_Out: u8 = b'0';
371pub const THOST_FTDC_TD_In: u8 = b'1';
372pub const THOST_FTDC_SC_NoSpecialRule: u8 = b'0';
373pub const THOST_FTDC_SC_NoSpringFestival: u8 = b'1';
374pub const THOST_FTDC_IPT_LastSettlement: u8 = b'1';
375pub const THOST_FTDC_IPT_LaseClose: u8 = b'2';
376pub const THOST_FTDC_PLP_Active: u8 = b'1';
377pub const THOST_FTDC_PLP_NonActive: u8 = b'2';
378pub const THOST_FTDC_PLP_Canceled: u8 = b'3';
379pub const THOST_FTDC_DM_CashDeliv: u8 = b'1';
380pub const THOST_FTDC_DM_CommodityDeliv: u8 = b'2';
381pub const THOST_FTDC_FIOT_FundIO: u8 = b'1';
382pub const THOST_FTDC_FIOT_Transfer: u8 = b'2';
383pub const THOST_FTDC_FIOT_SwapCurrency: u8 = b'3';
384pub const THOST_FTDC_FT_Deposite: u8 = b'1';
385pub const THOST_FTDC_FT_ItemFund: u8 = b'2';
386pub const THOST_FTDC_FT_Company: u8 = b'3';
387pub const THOST_FTDC_FT_InnerTransfer: u8 = b'4';
388pub const THOST_FTDC_FD_In: u8 = b'1';
389pub const THOST_FTDC_FD_Out: u8 = b'2';
390pub const THOST_FTDC_FS_Record: u8 = b'1';
391pub const THOST_FTDC_FS_Check: u8 = b'2';
392pub const THOST_FTDC_FS_Charge: u8 = b'3';
393pub const THOST_FTDC_PS_None: u8 = b'1';
394pub const THOST_FTDC_PS_Publishing: u8 = b'2';
395pub const THOST_FTDC_PS_Published: u8 = b'3';
396pub const THOST_FTDC_ES_NonActive: u8 = b'1';
397pub const THOST_FTDC_ES_Startup: u8 = b'2';
398pub const THOST_FTDC_ES_Initialize: u8 = b'3';
399pub const THOST_FTDC_ES_Initialized: u8 = b'4';
400pub const THOST_FTDC_ES_Close: u8 = b'5';
401pub const THOST_FTDC_ES_Closed: u8 = b'6';
402pub const THOST_FTDC_ES_Settlement: u8 = b'7';
403pub const THOST_FTDC_STS_Initialize: u8 = b'0';
404pub const THOST_FTDC_STS_Settlementing: u8 = b'1';
405pub const THOST_FTDC_STS_Settlemented: u8 = b'2';
406pub const THOST_FTDC_STS_Finished: u8 = b'3';
407pub const THOST_FTDC_CT_Person: u8 = b'0';
408pub const THOST_FTDC_CT_Company: u8 = b'1';
409pub const THOST_FTDC_CT_Fund: u8 = b'2';
410pub const THOST_FTDC_CT_SpecialOrgan: u8 = b'3';
411pub const THOST_FTDC_CT_Asset: u8 = b'4';
412pub const THOST_FTDC_BT_Trade: u8 = b'0';
413pub const THOST_FTDC_BT_TradeSettle: u8 = b'1';
414pub const THOST_FTDC_FAS_Low: u8 = b'1';
415pub const THOST_FTDC_FAS_Normal: u8 = b'2';
416pub const THOST_FTDC_FAS_Focus: u8 = b'3';
417pub const THOST_FTDC_FAS_Risk: u8 = b'4';
418pub const THOST_FTDC_FAS_ByTrade: u8 = b'1';
419pub const THOST_FTDC_FAS_ByDeliv: u8 = b'2';
420pub const THOST_FTDC_FAS_None: u8 = b'3';
421pub const THOST_FTDC_FAS_FixFee: u8 = b'4';
422pub const THOST_FTDC_PWDT_Trade: u8 = b'1';
423pub const THOST_FTDC_PWDT_Account: u8 = b'2';
424pub const THOST_FTDC_AG_All: u8 = b'1';
425pub const THOST_FTDC_AG_OnlyLost: u8 = b'2';
426pub const THOST_FTDC_AG_OnlyGain: u8 = b'3';
427pub const THOST_FTDC_AG_None: u8 = b'4';
428pub const THOST_FTDC_ICP_Include: u8 = b'0';
429pub const THOST_FTDC_ICP_NotInclude: u8 = b'2';
430pub const THOST_FTDC_AWT_Enable: u8 = b'0';
431pub const THOST_FTDC_AWT_Disable: u8 = b'2';
432pub const THOST_FTDC_AWT_NoHoldEnable: u8 = b'3';
433pub const THOST_FTDC_FPWD_UnCheck: u8 = b'0';
434pub const THOST_FTDC_FPWD_Check: u8 = b'1';
435pub const THOST_FTDC_TT_BankToFuture: u8 = b'0';
436pub const THOST_FTDC_TT_FutureToBank: u8 = b'1';
437pub const THOST_FTDC_TVF_Invalid: u8 = b'0';
438pub const THOST_FTDC_TVF_Valid: u8 = b'1';
439pub const THOST_FTDC_TVF_Reverse: u8 = b'2';
440pub const THOST_FTDC_RN_CD: u8 = b'0';
441pub const THOST_FTDC_RN_ZT: u8 = b'1';
442pub const THOST_FTDC_RN_QT: u8 = b'2';
443pub const THOST_FTDC_SEX_None: u8 = b'0';
444pub const THOST_FTDC_SEX_Man: u8 = b'1';
445pub const THOST_FTDC_SEX_Woman: u8 = b'2';
446pub const THOST_FTDC_UT_Investor: u8 = b'0';
447pub const THOST_FTDC_UT_Operator: u8 = b'1';
448pub const THOST_FTDC_UT_SuperUser: u8 = b'2';
449pub const THOST_FTDC_RATETYPE_MarginRate: u8 = b'2';
450pub const THOST_FTDC_NOTETYPE_TradeSettleBill: u8 = b'1';
451pub const THOST_FTDC_NOTETYPE_TradeSettleMonth: u8 = b'2';
452pub const THOST_FTDC_NOTETYPE_CallMarginNotes: u8 = b'3';
453pub const THOST_FTDC_NOTETYPE_ForceCloseNotes: u8 = b'4';
454pub const THOST_FTDC_NOTETYPE_TradeNotes: u8 = b'5';
455pub const THOST_FTDC_NOTETYPE_DelivNotes: u8 = b'6';
456pub const THOST_FTDC_SBS_Day: u8 = b'1';
457pub const THOST_FTDC_SBS_Volume: u8 = b'2';
458pub const THOST_FTDC_ST_Day: u8 = b'0';
459pub const THOST_FTDC_ST_Month: u8 = b'1';
460pub const THOST_FTDC_URT_Logon: u8 = b'1';
461pub const THOST_FTDC_URT_Transfer: u8 = b'2';
462pub const THOST_FTDC_URT_EMail: u8 = b'3';
463pub const THOST_FTDC_URT_Fax: u8 = b'4';
464pub const THOST_FTDC_URT_ConditionOrder: u8 = b'5';
465pub const THOST_FTDC_MPT_PreSettlementPrice: u8 = b'1';
466pub const THOST_FTDC_MPT_SettlementPrice: u8 = b'2';
467pub const THOST_FTDC_MPT_AveragePrice: u8 = b'3';
468pub const THOST_FTDC_MPT_OpenPrice: u8 = b'4';
469pub const THOST_FTDC_BGS_None: u8 = b'0';
470pub const THOST_FTDC_BGS_NoGenerated: u8 = b'1';
471pub const THOST_FTDC_BGS_Generated: u8 = b'2';
472pub const THOST_FTDC_AT_HandlePositionAlgo: u8 = b'1';
473pub const THOST_FTDC_AT_FindMarginRateAlgo: u8 = b'2';
474pub const THOST_FTDC_HPA_Base: u8 = b'1';
475pub const THOST_FTDC_HPA_DCE: u8 = b'2';
476pub const THOST_FTDC_HPA_CZCE: u8 = b'3';
477pub const THOST_FTDC_FMRA_Base: u8 = b'1';
478pub const THOST_FTDC_FMRA_DCE: u8 = b'2';
479pub const THOST_FTDC_FMRA_CZCE: u8 = b'3';
480pub const THOST_FTDC_HTAA_Base: u8 = b'1';
481pub const THOST_FTDC_HTAA_DCE: u8 = b'2';
482pub const THOST_FTDC_HTAA_CZCE: u8 = b'3';
483pub const THOST_FTDC_PST_Order: u8 = b'1';
484pub const THOST_FTDC_PST_Open: u8 = b'2';
485pub const THOST_FTDC_PST_Fund: u8 = b'3';
486pub const THOST_FTDC_PST_Settlement: u8 = b'4';
487pub const THOST_FTDC_PST_Company: u8 = b'5';
488pub const THOST_FTDC_PST_Corporation: u8 = b'6';
489pub const THOST_FTDC_PST_LinkMan: u8 = b'7';
490pub const THOST_FTDC_PST_Ledger: u8 = b'8';
491pub const THOST_FTDC_PST_Trustee: u8 = b'9';
492pub const THOST_FTDC_PST_TrusteeCorporation: u8 = b'A';
493pub const THOST_FTDC_PST_TrusteeOpen: u8 = b'B';
494pub const THOST_FTDC_PST_TrusteeContact: u8 = b'C';
495pub const THOST_FTDC_PST_ForeignerRefer: u8 = b'D';
496pub const THOST_FTDC_PST_CorporationRefer: u8 = b'E';
497pub const THOST_FTDC_QIR_All: u8 = b'1';
498pub const THOST_FTDC_QIR_Group: u8 = b'2';
499pub const THOST_FTDC_QIR_Single: u8 = b'3';
500pub const THOST_FTDC_IRS_Normal: u8 = b'1';
501pub const THOST_FTDC_IRS_Warn: u8 = b'2';
502pub const THOST_FTDC_IRS_Call: u8 = b'3';
503pub const THOST_FTDC_IRS_Force: u8 = b'4';
504pub const THOST_FTDC_IRS_Exception: u8 = b'5';
505pub const THOST_FTDC_UET_Login: u8 = b'1';
506pub const THOST_FTDC_UET_Logout: u8 = b'2';
507pub const THOST_FTDC_UET_Trading: u8 = b'3';
508pub const THOST_FTDC_UET_TradingError: u8 = b'4';
509pub const THOST_FTDC_UET_UpdatePassword: u8 = b'5';
510pub const THOST_FTDC_UET_Authenticate: u8 = b'6';
511pub const THOST_FTDC_UET_Other: u8 = b'9';
512pub const THOST_FTDC_ICS_Close: u8 = b'0';
513pub const THOST_FTDC_ICS_CloseToday: u8 = b'1';
514pub const THOST_FTDC_SM_Non: u8 = b'0';
515pub const THOST_FTDC_SM_Instrument: u8 = b'1';
516pub const THOST_FTDC_SM_Product: u8 = b'2';
517pub const THOST_FTDC_SM_Investor: u8 = b'3';
518pub const THOST_FTDC_PAOS_NotSend: u8 = b'1';
519pub const THOST_FTDC_PAOS_Send: u8 = b'2';
520pub const THOST_FTDC_PAOS_Deleted: u8 = b'3';
521pub const THOST_FTDC_VDS_Dealing: u8 = b'1';
522pub const THOST_FTDC_VDS_DeaclSucceed: u8 = b'2';
523pub const THOST_FTDC_ORGS_Standard: u8 = b'0';
524pub const THOST_FTDC_ORGS_ESunny: u8 = b'1';
525pub const THOST_FTDC_ORGS_KingStarV6: u8 = b'2';
526pub const THOST_FTDC_VTS_NaturalDeal: u8 = b'0';
527pub const THOST_FTDC_VTS_SucceedEnd: u8 = b'1';
528pub const THOST_FTDC_VTS_FailedEND: u8 = b'2';
529pub const THOST_FTDC_VTS_Exception: u8 = b'3';
530pub const THOST_FTDC_VTS_ManualDeal: u8 = b'4';
531pub const THOST_FTDC_VTS_MesException: u8 = b'5';
532pub const THOST_FTDC_VTS_SysException: u8 = b'6';
533pub const THOST_FTDC_VBAT_BankBook: u8 = b'1';
534pub const THOST_FTDC_VBAT_BankCard: u8 = b'2';
535pub const THOST_FTDC_VBAT_CreditCard: u8 = b'3';
536pub const THOST_FTDC_VMS_Natural: u8 = b'0';
537pub const THOST_FTDC_VMS_Canceled: u8 = b'9';
538pub const THOST_FTDC_VAA_NoAvailAbility: u8 = b'0';
539pub const THOST_FTDC_VAA_AvailAbility: u8 = b'1';
540pub const THOST_FTDC_VAA_Repeal: u8 = b'2';
541pub const THOST_FTDC_GEN_Program: u8 = b'0';
542pub const THOST_FTDC_GEN_HandWork: u8 = b'1';
543pub const THOST_FTDC_CFMMCKK_REQUEST: u8 = b'R';
544pub const THOST_FTDC_CFMMCKK_AUTO: u8 = b'A';
545pub const THOST_FTDC_CFMMCKK_MANUAL: u8 = b'M';
546pub const THOST_FTDC_CFT_IDCard: u8 = b'0';
547pub const THOST_FTDC_CFT_Passport: u8 = b'1';
548pub const THOST_FTDC_CFT_OfficerIDCard: u8 = b'2';
549pub const THOST_FTDC_CFT_SoldierIDCard: u8 = b'3';
550pub const THOST_FTDC_CFT_HomeComingCard: u8 = b'4';
551pub const THOST_FTDC_CFT_HouseholdRegister: u8 = b'5';
552pub const THOST_FTDC_CFT_LicenseNo: u8 = b'6';
553pub const THOST_FTDC_CFT_InstitutionCodeCard: u8 = b'7';
554pub const THOST_FTDC_CFT_TempLicenseNo: u8 = b'8';
555pub const THOST_FTDC_CFT_NoEnterpriseLicenseNo: u8 = b'9';
556pub const THOST_FTDC_CFT_OtherCard: u8 = b'x';
557pub const THOST_FTDC_CFT_SuperDepAgree: u8 = b'a';
558pub const THOST_FTDC_FBC_Others: u8 = b'0';
559pub const THOST_FTDC_FBC_TransferDetails: u8 = b'1';
560pub const THOST_FTDC_FBC_CustAccStatus: u8 = b'2';
561pub const THOST_FTDC_FBC_AccountTradeDetails: u8 = b'3';
562pub const THOST_FTDC_FBC_FutureAccountChangeInfoDetails: u8 = b'4';
563pub const THOST_FTDC_FBC_CustMoneyDetail: u8 = b'5';
564pub const THOST_FTDC_FBC_CustCancelAccountInfo: u8 = b'6';
565pub const THOST_FTDC_FBC_CustMoneyResult: u8 = b'7';
566pub const THOST_FTDC_FBC_OthersExceptionResult: u8 = b'8';
567pub const THOST_FTDC_FBC_CustInterestNetMoneyDetails: u8 = b'9';
568pub const THOST_FTDC_FBC_CustMoneySendAndReceiveDetails: u8 = b'a';
569pub const THOST_FTDC_FBC_CorporationMoneyTotal: u8 = b'b';
570pub const THOST_FTDC_FBC_MainbodyMoneyTotal: u8 = b'c';
571pub const THOST_FTDC_FBC_MainPartMonitorData: u8 = b'd';
572pub const THOST_FTDC_FBC_PreparationMoney: u8 = b'e';
573pub const THOST_FTDC_FBC_BankMoneyMonitorData: u8 = b'f';
574pub const THOST_FTDC_CEC_Exchange: u8 = b'1';
575pub const THOST_FTDC_CEC_Cash: u8 = b'2';
576pub const THOST_FTDC_YNI_Yes: u8 = b'0';
577pub const THOST_FTDC_YNI_No: u8 = b'1';
578pub const THOST_FTDC_BLT_CurrentMoney: u8 = b'0';
579pub const THOST_FTDC_BLT_UsableMoney: u8 = b'1';
580pub const THOST_FTDC_BLT_FetchableMoney: u8 = b'2';
581pub const THOST_FTDC_BLT_FreezeMoney: u8 = b'3';
582pub const THOST_FTDC_GD_Unknown: u8 = b'0';
583pub const THOST_FTDC_GD_Male: u8 = b'1';
584pub const THOST_FTDC_GD_Female: u8 = b'2';
585pub const THOST_FTDC_FPF_BEN: u8 = b'0';
586pub const THOST_FTDC_FPF_OUR: u8 = b'1';
587pub const THOST_FTDC_FPF_SHA: u8 = b'2';
588pub const THOST_FTDC_PWKT_ExchangeKey: u8 = b'0';
589pub const THOST_FTDC_PWKT_PassWordKey: u8 = b'1';
590pub const THOST_FTDC_PWKT_MACKey: u8 = b'2';
591pub const THOST_FTDC_PWKT_MessageKey: u8 = b'3';
592pub const THOST_FTDC_PWT_Query: u8 = b'0';
593pub const THOST_FTDC_PWT_Fetch: u8 = b'1';
594pub const THOST_FTDC_PWT_Transfer: u8 = b'2';
595pub const THOST_FTDC_PWT_Trade: u8 = b'3';
596pub const THOST_FTDC_EM_NoEncry: u8 = b'0';
597pub const THOST_FTDC_EM_DES: u8 = b'1';
598pub const THOST_FTDC_EM_3DES: u8 = b'2';
599pub const THOST_FTDC_BRF_BankNotNeedRepeal: u8 = b'0';
600pub const THOST_FTDC_BRF_BankWaitingRepeal: u8 = b'1';
601pub const THOST_FTDC_BRF_BankBeenRepealed: u8 = b'2';
602pub const THOST_FTDC_BRORF_BrokerNotNeedRepeal: u8 = b'0';
603pub const THOST_FTDC_BRORF_BrokerWaitingRepeal: u8 = b'1';
604pub const THOST_FTDC_BRORF_BrokerBeenRepealed: u8 = b'2';
605pub const THOST_FTDC_TS_Bank: u8 = b'0';
606pub const THOST_FTDC_TS_Future: u8 = b'1';
607pub const THOST_FTDC_TS_Store: u8 = b'2';
608pub const THOST_FTDC_LF_Yes: u8 = b'0';
609pub const THOST_FTDC_LF_No: u8 = b'1';
610pub const THOST_FTDC_BAS_Normal: u8 = b'0';
611pub const THOST_FTDC_BAS_Freeze: u8 = b'1';
612pub const THOST_FTDC_BAS_ReportLoss: u8 = b'2';
613pub const THOST_FTDC_MAS_Normal: u8 = b'0';
614pub const THOST_FTDC_MAS_Cancel: u8 = b'1';
615pub const THOST_FTDC_MSS_Point: u8 = b'0';
616pub const THOST_FTDC_MSS_PrePoint: u8 = b'1';
617pub const THOST_FTDC_MSS_CancelPoint: u8 = b'2';
618pub const THOST_FTDC_SYT_FutureBankTransfer: u8 = b'0';
619pub const THOST_FTDC_SYT_StockBankTransfer: u8 = b'1';
620pub const THOST_FTDC_SYT_TheThirdPartStore: u8 = b'2';
621pub const THOST_FTDC_TEF_NormalProcessing: u8 = b'0';
622pub const THOST_FTDC_TEF_Success: u8 = b'1';
623pub const THOST_FTDC_TEF_Failed: u8 = b'2';
624pub const THOST_FTDC_TEF_Abnormal: u8 = b'3';
625pub const THOST_FTDC_TEF_ManualProcessedForException: u8 = b'4';
626pub const THOST_FTDC_TEF_CommuFailedNeedManualProcess: u8 = b'5';
627pub const THOST_FTDC_TEF_SysErrorNeedManualProcess: u8 = b'6';
628pub const THOST_FTDC_PSS_NotProcess: u8 = b'0';
629pub const THOST_FTDC_PSS_StartProcess: u8 = b'1';
630pub const THOST_FTDC_PSS_Finished: u8 = b'2';
631pub const THOST_FTDC_CUSTT_Person: u8 = b'0';
632pub const THOST_FTDC_CUSTT_Institution: u8 = b'1';
633pub const THOST_FTDC_FBTTD_FromBankToFuture: u8 = b'1';
634pub const THOST_FTDC_FBTTD_FromFutureToBank: u8 = b'2';
635pub const THOST_FTDC_OOD_Open: u8 = b'1';
636pub const THOST_FTDC_OOD_Destroy: u8 = b'0';
637pub const THOST_FTDC_AVAF_Invalid: u8 = b'0';
638pub const THOST_FTDC_AVAF_Valid: u8 = b'1';
639pub const THOST_FTDC_AVAF_Repeal: u8 = b'2';
640pub const THOST_FTDC_OT_Bank: u8 = b'1';
641pub const THOST_FTDC_OT_Future: u8 = b'2';
642pub const THOST_FTDC_OT_PlateForm: u8 = b'9';
643pub const THOST_FTDC_OL_HeadQuarters: u8 = b'1';
644pub const THOST_FTDC_OL_Branch: u8 = b'2';
645pub const THOST_FTDC_PID_FutureProtocal: u8 = b'0';
646pub const THOST_FTDC_PID_ICBCProtocal: u8 = b'1';
647pub const THOST_FTDC_PID_ABCProtocal: u8 = b'2';
648pub const THOST_FTDC_PID_CBCProtocal: u8 = b'3';
649pub const THOST_FTDC_PID_CCBProtocal: u8 = b'4';
650pub const THOST_FTDC_PID_BOCOMProtocal: u8 = b'5';
651pub const THOST_FTDC_PID_FBTPlateFormProtocal: u8 = b'X';
652pub const THOST_FTDC_CM_ShortConnect: u8 = b'0';
653pub const THOST_FTDC_CM_LongConnect: u8 = b'1';
654pub const THOST_FTDC_SRM_ASync: u8 = b'0';
655pub const THOST_FTDC_SRM_Sync: u8 = b'1';
656pub const THOST_FTDC_BAT_BankBook: u8 = b'1';
657pub const THOST_FTDC_BAT_SavingCard: u8 = b'2';
658pub const THOST_FTDC_BAT_CreditCard: u8 = b'3';
659pub const THOST_FTDC_FAT_BankBook: u8 = b'1';
660pub const THOST_FTDC_FAT_SavingCard: u8 = b'2';
661pub const THOST_FTDC_FAT_CreditCard: u8 = b'3';
662pub const THOST_FTDC_OS_Ready: u8 = b'0';
663pub const THOST_FTDC_OS_CheckIn: u8 = b'1';
664pub const THOST_FTDC_OS_CheckOut: u8 = b'2';
665pub const THOST_FTDC_OS_CheckFileArrived: u8 = b'3';
666pub const THOST_FTDC_OS_CheckDetail: u8 = b'4';
667pub const THOST_FTDC_OS_DayEndClean: u8 = b'5';
668pub const THOST_FTDC_OS_Invalid: u8 = b'9';
669pub const THOST_FTDC_CCBFM_ByAmount: u8 = b'1';
670pub const THOST_FTDC_CCBFM_ByMonth: u8 = b'2';
671pub const THOST_FTDC_CAPIT_Client: u8 = b'1';
672pub const THOST_FTDC_CAPIT_Server: u8 = b'2';
673pub const THOST_FTDC_CAPIT_UserApi: u8 = b'3';
674pub const THOST_FTDC_LS_Connected: u8 = b'1';
675pub const THOST_FTDC_LS_Disconnected: u8 = b'2';
676pub const THOST_FTDC_BPWDF_NoCheck: u8 = b'0';
677pub const THOST_FTDC_BPWDF_BlankCheck: u8 = b'1';
678pub const THOST_FTDC_BPWDF_EncryptCheck: u8 = b'2';
679pub const THOST_FTDC_SAT_AccountID: u8 = b'1';
680pub const THOST_FTDC_SAT_CardID: u8 = b'2';
681pub const THOST_FTDC_SAT_SHStockholderID: u8 = b'3';
682pub const THOST_FTDC_SAT_SZStockholderID: u8 = b'4';
683pub const THOST_FTDC_TRFS_Normal: u8 = b'0';
684pub const THOST_FTDC_TRFS_Repealed: u8 = b'1';
685pub const THOST_FTDC_SPTYPE_Broker: u8 = b'0';
686pub const THOST_FTDC_SPTYPE_Bank: u8 = b'1';
687pub const THOST_FTDC_REQRSP_Request: u8 = b'0';
688pub const THOST_FTDC_REQRSP_Response: u8 = b'1';
689pub const THOST_FTDC_FBTUET_SignIn: u8 = b'0';
690pub const THOST_FTDC_FBTUET_FromBankToFuture: u8 = b'1';
691pub const THOST_FTDC_FBTUET_FromFutureToBank: u8 = b'2';
692pub const THOST_FTDC_FBTUET_OpenAccount: u8 = b'3';
693pub const THOST_FTDC_FBTUET_CancelAccount: u8 = b'4';
694pub const THOST_FTDC_FBTUET_ChangeAccount: u8 = b'5';
695pub const THOST_FTDC_FBTUET_RepealFromBankToFuture: u8 = b'6';
696pub const THOST_FTDC_FBTUET_RepealFromFutureToBank: u8 = b'7';
697pub const THOST_FTDC_FBTUET_QueryBankAccount: u8 = b'8';
698pub const THOST_FTDC_FBTUET_QueryFutureAccount: u8 = b'9';
699pub const THOST_FTDC_FBTUET_SignOut: u8 = b'A';
700pub const THOST_FTDC_FBTUET_SyncKey: u8 = b'B';
701pub const THOST_FTDC_FBTUET_ReserveOpenAccount: u8 = b'C';
702pub const THOST_FTDC_FBTUET_CancelReserveOpenAccount: u8 = b'D';
703pub const THOST_FTDC_FBTUET_ReserveOpenAccountConfirm: u8 = b'E';
704pub const THOST_FTDC_FBTUET_Other: u8 = b'Z';
705pub const THOST_FTDC_DBOP_Insert: u8 = b'0';
706pub const THOST_FTDC_DBOP_Update: u8 = b'1';
707pub const THOST_FTDC_DBOP_Delete: u8 = b'2';
708pub const THOST_FTDC_SYNF_Yes: u8 = b'0';
709pub const THOST_FTDC_SYNF_No: u8 = b'1';
710pub const THOST_FTDC_SYNT_OneOffSync: u8 = b'0';
711pub const THOST_FTDC_SYNT_TimerSync: u8 = b'1';
712pub const THOST_FTDC_SYNT_TimerFullSync: u8 = b'2';
713pub const THOST_FTDC_FBEDIR_Settlement: u8 = b'0';
714pub const THOST_FTDC_FBEDIR_Sale: u8 = b'1';
715pub const THOST_FTDC_FBERES_Success: u8 = b'0';
716pub const THOST_FTDC_FBERES_InsufficientBalance: u8 = b'1';
717pub const THOST_FTDC_FBERES_UnknownTrading: u8 = b'8';
718pub const THOST_FTDC_FBERES_Fail: u8 = b'x';
719pub const THOST_FTDC_FBEES_Normal: u8 = b'0';
720pub const THOST_FTDC_FBEES_ReExchange: u8 = b'1';
721pub const THOST_FTDC_FBEFG_DataPackage: u8 = b'0';
722pub const THOST_FTDC_FBEFG_File: u8 = b'1';
723pub const THOST_FTDC_FBEAT_NotTrade: u8 = b'0';
724pub const THOST_FTDC_FBEAT_Trade: u8 = b'1';
725pub const THOST_FTDC_FBEUET_SignIn: u8 = b'0';
726pub const THOST_FTDC_FBEUET_Exchange: u8 = b'1';
727pub const THOST_FTDC_FBEUET_ReExchange: u8 = b'2';
728pub const THOST_FTDC_FBEUET_QueryBankAccount: u8 = b'3';
729pub const THOST_FTDC_FBEUET_QueryExchDetial: u8 = b'4';
730pub const THOST_FTDC_FBEUET_QueryExchSummary: u8 = b'5';
731pub const THOST_FTDC_FBEUET_QueryExchRate: u8 = b'6';
732pub const THOST_FTDC_FBEUET_CheckBankAccount: u8 = b'7';
733pub const THOST_FTDC_FBEUET_SignOut: u8 = b'8';
734pub const THOST_FTDC_FBEUET_Other: u8 = b'Z';
735pub const THOST_FTDC_FBERF_UnProcessed: u8 = b'0';
736pub const THOST_FTDC_FBERF_WaitSend: u8 = b'1';
737pub const THOST_FTDC_FBERF_SendSuccess: u8 = b'2';
738pub const THOST_FTDC_FBERF_SendFailed: u8 = b'3';
739pub const THOST_FTDC_FBERF_WaitReSend: u8 = b'4';
740pub const THOST_FTDC_NC_NOERROR: u8 = b'0';
741pub const THOST_FTDC_NC_Warn: u8 = b'1';
742pub const THOST_FTDC_NC_Call: u8 = b'2';
743pub const THOST_FTDC_NC_Force: u8 = b'3';
744pub const THOST_FTDC_NC_CHUANCANG: u8 = b'4';
745pub const THOST_FTDC_NC_Exception: u8 = b'5';
746pub const THOST_FTDC_FCT_Manual: u8 = b'0';
747pub const THOST_FTDC_FCT_Single: u8 = b'1';
748pub const THOST_FTDC_FCT_Group: u8 = b'2';
749pub const THOST_FTDC_RNM_System: u8 = b'0';
750pub const THOST_FTDC_RNM_SMS: u8 = b'1';
751pub const THOST_FTDC_RNM_EMail: u8 = b'2';
752pub const THOST_FTDC_RNM_Manual: u8 = b'3';
753pub const THOST_FTDC_RNS_NotGen: u8 = b'0';
754pub const THOST_FTDC_RNS_Generated: u8 = b'1';
755pub const THOST_FTDC_RNS_SendError: u8 = b'2';
756pub const THOST_FTDC_RNS_SendOk: u8 = b'3';
757pub const THOST_FTDC_RNS_Received: u8 = b'4';
758pub const THOST_FTDC_RNS_Confirmed: u8 = b'5';
759pub const THOST_FTDC_RUE_ExportData: u8 = b'0';
760pub const THOST_FTDC_COST_LastPriceAsc: u8 = b'0';
761pub const THOST_FTDC_COST_LastPriceDesc: u8 = b'1';
762pub const THOST_FTDC_COST_AskPriceAsc: u8 = b'2';
763pub const THOST_FTDC_COST_AskPriceDesc: u8 = b'3';
764pub const THOST_FTDC_COST_BidPriceAsc: u8 = b'4';
765pub const THOST_FTDC_COST_BidPriceDesc: u8 = b'5';
766pub const THOST_FTDC_UOAST_NoSend: u8 = b'0';
767pub const THOST_FTDC_UOAST_Sended: u8 = b'1';
768pub const THOST_FTDC_UOAST_Generated: u8 = b'2';
769pub const THOST_FTDC_UOAST_SendFail: u8 = b'3';
770pub const THOST_FTDC_UOAST_Success: u8 = b'4';
771pub const THOST_FTDC_UOAST_Fail: u8 = b'5';
772pub const THOST_FTDC_UOAST_Cancel: u8 = b'6';
773pub const THOST_FTDC_UOACS_NoApply: u8 = b'1';
774pub const THOST_FTDC_UOACS_Submited: u8 = b'2';
775pub const THOST_FTDC_UOACS_Sended: u8 = b'3';
776pub const THOST_FTDC_UOACS_Success: u8 = b'4';
777pub const THOST_FTDC_UOACS_Refuse: u8 = b'5';
778pub const THOST_FTDC_UOACS_Cancel: u8 = b'6';
779pub const THOST_FTDC_QT_Radio: u8 = b'1';
780pub const THOST_FTDC_QT_Option: u8 = b'2';
781pub const THOST_FTDC_QT_Blank: u8 = b'3';
782pub const THOST_FTDC_BT_Request: u8 = b'1';
783pub const THOST_FTDC_BT_Response: u8 = b'2';
784pub const THOST_FTDC_BT_Notice: u8 = b'3';
785pub const THOST_FTDC_CRC_Success: u8 = b'0';
786pub const THOST_FTDC_CRC_Working: u8 = b'1';
787pub const THOST_FTDC_CRC_InfoFail: u8 = b'2';
788pub const THOST_FTDC_CRC_IDCardFail: u8 = b'3';
789pub const THOST_FTDC_CRC_OtherFail: u8 = b'4';
790pub const THOST_FTDC_CfMMCCT_All: u8 = b'0';
791pub const THOST_FTDC_CfMMCCT_Person: u8 = b'1';
792pub const THOST_FTDC_CfMMCCT_Company: u8 = b'2';
793pub const THOST_FTDC_CfMMCCT_Other: u8 = b'3';
794pub const THOST_FTDC_CfMMCCT_SpecialOrgan: u8 = b'4';
795pub const THOST_FTDC_CfMMCCT_Asset: u8 = b'5';
796pub const THOST_FTDC_EIDT_SHFE: u8 = b'S';
797pub const THOST_FTDC_EIDT_CZCE: u8 = b'Z';
798pub const THOST_FTDC_EIDT_DCE: u8 = b'D';
799pub const THOST_FTDC_EIDT_CFFEX: u8 = b'J';
800pub const THOST_FTDC_EIDT_INE: u8 = b'N';
801pub const THOST_FTDC_ECIDT_Hedge: u8 = b'1';
802pub const THOST_FTDC_ECIDT_Arbitrage: u8 = b'2';
803pub const THOST_FTDC_ECIDT_Speculation: u8 = b'3';
804pub const THOST_FTDC_UF_NoUpdate: u8 = b'0';
805pub const THOST_FTDC_UF_Success: u8 = b'1';
806pub const THOST_FTDC_UF_Fail: u8 = b'2';
807pub const THOST_FTDC_UF_TCSuccess: u8 = b'3';
808pub const THOST_FTDC_UF_TCFail: u8 = b'4';
809pub const THOST_FTDC_UF_Cancel: u8 = b'5';
810pub const THOST_FTDC_AOID_OpenInvestor: u8 = b'1';
811pub const THOST_FTDC_AOID_ModifyIDCard: u8 = b'2';
812pub const THOST_FTDC_AOID_ModifyNoIDCard: u8 = b'3';
813pub const THOST_FTDC_AOID_ApplyTradingCode: u8 = b'4';
814pub const THOST_FTDC_AOID_CancelTradingCode: u8 = b'5';
815pub const THOST_FTDC_AOID_CancelInvestor: u8 = b'6';
816pub const THOST_FTDC_AOID_FreezeAccount: u8 = b'8';
817pub const THOST_FTDC_AOID_ActiveFreezeAccount: u8 = b'9';
818pub const THOST_FTDC_ASID_NoComplete: u8 = b'1';
819pub const THOST_FTDC_ASID_Submited: u8 = b'2';
820pub const THOST_FTDC_ASID_Checked: u8 = b'3';
821pub const THOST_FTDC_ASID_Refused: u8 = b'4';
822pub const THOST_FTDC_ASID_Deleted: u8 = b'5';
823pub const THOST_FTDC_UOASM_ByAPI: u8 = b'1';
824pub const THOST_FTDC_UOASM_ByFile: u8 = b'2';
825pub const THOST_FTDC_EvM_ADD: u8 = b'1';
826pub const THOST_FTDC_EvM_UPDATE: u8 = b'2';
827pub const THOST_FTDC_EvM_DELETE: u8 = b'3';
828pub const THOST_FTDC_EvM_CHECK: u8 = b'4';
829pub const THOST_FTDC_EvM_COPY: u8 = b'5';
830pub const THOST_FTDC_EvM_CANCEL: u8 = b'6';
831pub const THOST_FTDC_EvM_Reverse: u8 = b'7';
832pub const THOST_FTDC_UOAA_ASR: u8 = b'1';
833pub const THOST_FTDC_UOAA_ASNR: u8 = b'2';
834pub const THOST_FTDC_UOAA_NSAR: u8 = b'3';
835pub const THOST_FTDC_UOAA_NSR: u8 = b'4';
836pub const THOST_FTDC_EvM_InvestorGroupFlow: u8 = b'1';
837pub const THOST_FTDC_EvM_InvestorRate: u8 = b'2';
838pub const THOST_FTDC_EvM_InvestorCommRateModel: u8 = b'3';
839pub const THOST_FTDC_CL_Zero: u8 = b'0';
840pub const THOST_FTDC_CL_One: u8 = b'1';
841pub const THOST_FTDC_CL_Two: u8 = b'2';
842pub const THOST_FTDC_CHS_Init: u8 = b'0';
843pub const THOST_FTDC_CHS_Checking: u8 = b'1';
844pub const THOST_FTDC_CHS_Checked: u8 = b'2';
845pub const THOST_FTDC_CHS_Refuse: u8 = b'3';
846pub const THOST_FTDC_CHS_Cancel: u8 = b'4';
847pub const THOST_FTDC_CHU_Unused: u8 = b'0';
848pub const THOST_FTDC_CHU_Used: u8 = b'1';
849pub const THOST_FTDC_CHU_Fail: u8 = b'2';
850pub const THOST_FTDC_BAO_ByAccProperty: u8 = b'0';
851pub const THOST_FTDC_BAO_ByFBTransfer: u8 = b'1';
852pub const THOST_FTDC_MBTS_ByInstrument: u8 = b'0';
853pub const THOST_FTDC_MBTS_ByDayInsPrc: u8 = b'1';
854pub const THOST_FTDC_MBTS_ByDayIns: u8 = b'2';
855pub const THOST_FTDC_OTP_NONE: u8 = b'0';
856pub const THOST_FTDC_OTP_TOTP: u8 = b'1';
857pub const THOST_FTDC_OTPS_Unused: u8 = b'0';
858pub const THOST_FTDC_OTPS_Used: u8 = b'1';
859pub const THOST_FTDC_OTPS_Disuse: u8 = b'2';
860pub const THOST_FTDC_BUT_Investor: u8 = b'1';
861pub const THOST_FTDC_BUT_BrokerUser: u8 = b'2';
862pub const THOST_FTDC_FUTT_Commodity: u8 = b'1';
863pub const THOST_FTDC_FUTT_Financial: u8 = b'2';
864pub const THOST_FTDC_FET_Restriction: u8 = b'0';
865pub const THOST_FTDC_FET_TodayRestriction: u8 = b'1';
866pub const THOST_FTDC_FET_Transfer: u8 = b'2';
867pub const THOST_FTDC_FET_Credit: u8 = b'3';
868pub const THOST_FTDC_FET_InvestorWithdrawAlm: u8 = b'4';
869pub const THOST_FTDC_FET_BankRestriction: u8 = b'5';
870pub const THOST_FTDC_FET_Accountregister: u8 = b'6';
871pub const THOST_FTDC_FET_ExchangeFundIO: u8 = b'7';
872pub const THOST_FTDC_FET_InvestorFundIO: u8 = b'8';
873pub const THOST_FTDC_AST_FBTransfer: u8 = b'0';
874pub const THOST_FTDC_AST_ManualEntry: u8 = b'1';
875pub const THOST_FTDC_CST_UnifyAccount: u8 = b'0';
876pub const THOST_FTDC_CST_ManualEntry: u8 = b'1';
877pub const THOST_FTDC_UR_All: u8 = b'0';
878pub const THOST_FTDC_UR_Single: u8 = b'1';
879pub const THOST_FTDC_BG_Investor: u8 = b'2';
880pub const THOST_FTDC_BG_Group: u8 = b'1';
881pub const THOST_FTDC_TSSM_Instrument: u8 = b'1';
882pub const THOST_FTDC_TSSM_Product: u8 = b'2';
883pub const THOST_FTDC_TSSM_Exchange: u8 = b'3';
884pub const THOST_FTDC_ESM_Relative: u8 = b'1';
885pub const THOST_FTDC_ESM_Typical: u8 = b'2';
886pub const THOST_FTDC_RIR_All: u8 = b'1';
887pub const THOST_FTDC_RIR_Model: u8 = b'2';
888pub const THOST_FTDC_RIR_Single: u8 = b'3';
889pub const THOST_FTDC_SDS_Initialize: u8 = b'0';
890pub const THOST_FTDC_SDS_Settlementing: u8 = b'1';
891pub const THOST_FTDC_SDS_Settlemented: u8 = b'2';
892pub const THOST_FTDC_TSRC_NORMAL: u8 = b'0';
893pub const THOST_FTDC_TSRC_QUERY: u8 = b'1';
894pub const THOST_FTDC_FSM_Product: u8 = b'1';
895pub const THOST_FTDC_FSM_Exchange: u8 = b'2';
896pub const THOST_FTDC_FSM_All: u8 = b'3';
897pub const THOST_FTDC_BIR_Property: u8 = b'1';
898pub const THOST_FTDC_BIR_All: u8 = b'2';
899pub const THOST_FTDC_PIR_All: u8 = b'1';
900pub const THOST_FTDC_PIR_Property: u8 = b'2';
901pub const THOST_FTDC_PIR_Single: u8 = b'3';
902pub const THOST_FTDC_FIS_NoCreate: u8 = b'0';
903pub const THOST_FTDC_FIS_Created: u8 = b'1';
904pub const THOST_FTDC_FIS_Failed: u8 = b'2';
905pub const THOST_FTDC_FGS_FileTransmit: u8 = b'0';
906pub const THOST_FTDC_FGS_FileGen: u8 = b'1';
907pub const THOST_FTDC_SoM_Add: u8 = b'1';
908pub const THOST_FTDC_SoM_Update: u8 = b'2';
909pub const THOST_FTDC_SoM_Delete: u8 = b'3';
910pub const THOST_FTDC_SoM_Copy: u8 = b'4';
911pub const THOST_FTDC_SoM_AcTive: u8 = b'5';
912pub const THOST_FTDC_SoM_CanCel: u8 = b'6';
913pub const THOST_FTDC_SoM_ReSet: u8 = b'7';
914pub const THOST_FTDC_SoT_UpdatePassword: u8 = b'0';
915pub const THOST_FTDC_SoT_UserDepartment: u8 = b'1';
916pub const THOST_FTDC_SoT_RoleManager: u8 = b'2';
917pub const THOST_FTDC_SoT_RoleFunction: u8 = b'3';
918pub const THOST_FTDC_SoT_BaseParam: u8 = b'4';
919pub const THOST_FTDC_SoT_SetUserID: u8 = b'5';
920pub const THOST_FTDC_SoT_SetUserRole: u8 = b'6';
921pub const THOST_FTDC_SoT_UserIpRestriction: u8 = b'7';
922pub const THOST_FTDC_SoT_DepartmentManager: u8 = b'8';
923pub const THOST_FTDC_SoT_DepartmentCopy: u8 = b'9';
924pub const THOST_FTDC_SoT_Tradingcode: u8 = b'A';
925pub const THOST_FTDC_SoT_InvestorStatus: u8 = b'B';
926pub const THOST_FTDC_SoT_InvestorAuthority: u8 = b'C';
927pub const THOST_FTDC_SoT_PropertySet: u8 = b'D';
928pub const THOST_FTDC_SoT_ReSetInvestorPasswd: u8 = b'E';
929pub const THOST_FTDC_SoT_InvestorPersonalityInfo: u8 = b'F';
930pub const THOST_FTDC_CSRCQ_Current: u8 = b'0';
931pub const THOST_FTDC_CSRCQ_History: u8 = b'1';
932pub const THOST_FTDC_FRS_Normal: u8 = b'1';
933pub const THOST_FTDC_FRS_Freeze: u8 = b'0';
934pub const THOST_FTDC_STST_Standard: u8 = b'0';
935pub const THOST_FTDC_STST_NonStandard: u8 = b'1';
936pub const THOST_FTDC_RPT_Freeze: u8 = b'1';
937pub const THOST_FTDC_RPT_FreezeActive: u8 = b'2';
938pub const THOST_FTDC_RPT_OpenLimit: u8 = b'3';
939pub const THOST_FTDC_RPT_RelieveOpenLimit: u8 = b'4';
940pub const THOST_FTDC_AMLDS_Normal: u8 = b'0';
941pub const THOST_FTDC_AMLDS_Deleted: u8 = b'1';
942pub const THOST_FTDC_AMLCHS_Init: u8 = b'0';
943pub const THOST_FTDC_AMLCHS_Checking: u8 = b'1';
944pub const THOST_FTDC_AMLCHS_Checked: u8 = b'2';
945pub const THOST_FTDC_AMLCHS_RefuseReport: u8 = b'3';
946pub const THOST_FTDC_AMLDT_DrawDay: u8 = b'0';
947pub const THOST_FTDC_AMLDT_TouchDay: u8 = b'1';
948pub const THOST_FTDC_AMLCL_CheckLevel0: u8 = b'0';
949pub const THOST_FTDC_AMLCL_CheckLevel1: u8 = b'1';
950pub const THOST_FTDC_AMLCL_CheckLevel2: u8 = b'2';
951pub const THOST_FTDC_AMLCL_CheckLevel3: u8 = b'3';
952pub const THOST_FTDC_EFT_CSV: u8 = b'0';
953pub const THOST_FTDC_EFT_EXCEL: u8 = b'1';
954pub const THOST_FTDC_EFT_DBF: u8 = b'2';
955pub const THOST_FTDC_SMT_Before: u8 = b'1';
956pub const THOST_FTDC_SMT_Settlement: u8 = b'2';
957pub const THOST_FTDC_SMT_After: u8 = b'3';
958pub const THOST_FTDC_SMT_Settlemented: u8 = b'4';
959pub const THOST_FTDC_SML_Must: u8 = b'1';
960pub const THOST_FTDC_SML_Alarm: u8 = b'2';
961pub const THOST_FTDC_SML_Prompt: u8 = b'3';
962pub const THOST_FTDC_SML_Ignore: u8 = b'4';
963pub const THOST_FTDC_SMG_Exhcange: u8 = b'1';
964pub const THOST_FTDC_SMG_ASP: u8 = b'2';
965pub const THOST_FTDC_SMG_CSRC: u8 = b'3';
966pub const THOST_FTDC_LUT_Repeatable: u8 = b'1';
967pub const THOST_FTDC_LUT_Unrepeatable: u8 = b'2';
968pub const THOST_FTDC_DAR_Settle: u8 = b'1';
969pub const THOST_FTDC_DAR_Exchange: u8 = b'2';
970pub const THOST_FTDC_DAR_CSRC: u8 = b'3';
971pub const THOST_FTDC_MGT_ExchMarginRate: u8 = b'0';
972pub const THOST_FTDC_MGT_InstrMarginRate: u8 = b'1';
973pub const THOST_FTDC_MGT_InstrMarginRateTrade: u8 = b'2';
974pub const THOST_FTDC_ACT_Intraday: u8 = b'1';
975pub const THOST_FTDC_ACT_Long: u8 = b'2';
976pub const THOST_FTDC_MRT_Exchange: u8 = b'1';
977pub const THOST_FTDC_MRT_Investor: u8 = b'2';
978pub const THOST_FTDC_MRT_InvestorTrade: u8 = b'3';
979pub const THOST_FTDC_BUS_UnBak: u8 = b'0';
980pub const THOST_FTDC_BUS_BakUp: u8 = b'1';
981pub const THOST_FTDC_BUS_BakUped: u8 = b'2';
982pub const THOST_FTDC_BUS_BakFail: u8 = b'3';
983pub const THOST_FTDC_SIS_UnInitialize: u8 = b'0';
984pub const THOST_FTDC_SIS_Initialize: u8 = b'1';
985pub const THOST_FTDC_SIS_Initialized: u8 = b'2';
986pub const THOST_FTDC_SRS_NoCreate: u8 = b'0';
987pub const THOST_FTDC_SRS_Create: u8 = b'1';
988pub const THOST_FTDC_SRS_Created: u8 = b'2';
989pub const THOST_FTDC_SRS_CreateFail: u8 = b'3';
990pub const THOST_FTDC_SSS_UnSaveData: u8 = b'0';
991pub const THOST_FTDC_SSS_SaveDatad: u8 = b'1';
992pub const THOST_FTDC_SAS_UnArchived: u8 = b'0';
993pub const THOST_FTDC_SAS_Archiving: u8 = b'1';
994pub const THOST_FTDC_SAS_Archived: u8 = b'2';
995pub const THOST_FTDC_SAS_ArchiveFail: u8 = b'3';
996pub const THOST_FTDC_CTPT_Unkown: u8 = b'0';
997pub const THOST_FTDC_CTPT_MainCenter: u8 = b'1';
998pub const THOST_FTDC_CTPT_BackUp: u8 = b'2';
999pub const THOST_FTDC_CDT_Normal: u8 = b'0';
1000pub const THOST_FTDC_CDT_SpecFirst: u8 = b'1';
1001pub const THOST_FTDC_MFUR_None: u8 = b'0';
1002pub const THOST_FTDC_MFUR_Margin: u8 = b'1';
1003pub const THOST_FTDC_MFUR_All: u8 = b'2';
1004pub const THOST_FTDC_MFUR_CNY3: u8 = b'3';
1005pub const THOST_FTDC_SPT_CzceHedge: u8 = b'1';
1006pub const THOST_FTDC_SPT_IneForeignCurrency: u8 = b'2';
1007pub const THOST_FTDC_SPT_DceOpenClose: u8 = b'3';
1008pub const THOST_FTDC_FMT_Mortgage: u8 = b'1';
1009pub const THOST_FTDC_FMT_Redemption: u8 = b'2';
1010pub const THOST_FTDC_ASPI_BaseMargin: u8 = b'1';
1011pub const THOST_FTDC_ASPI_LowestInterest: u8 = b'2';
1012pub const THOST_FTDC_FMD_In: u8 = b'1';
1013pub const THOST_FTDC_FMD_Out: u8 = b'2';
1014pub const THOST_FTDC_BT_Profit: u8 = b'0';
1015pub const THOST_FTDC_BT_Loss: u8 = b'1';
1016pub const THOST_FTDC_BT_Other: u8 = b'Z';
1017pub const THOST_FTDC_SST_Manual: u8 = b'0';
1018pub const THOST_FTDC_SST_Automatic: u8 = b'1';
1019pub const THOST_FTDC_CED_Settlement: u8 = b'0';
1020pub const THOST_FTDC_CED_Sale: u8 = b'1';
1021pub const THOST_FTDC_CSS_Entry: u8 = b'1';
1022pub const THOST_FTDC_CSS_Approve: u8 = b'2';
1023pub const THOST_FTDC_CSS_Refuse: u8 = b'3';
1024pub const THOST_FTDC_CSS_Revoke: u8 = b'4';
1025pub const THOST_FTDC_CSS_Send: u8 = b'5';
1026pub const THOST_FTDC_CSS_Success: u8 = b'6';
1027pub const THOST_FTDC_CSS_Failure: u8 = b'7';
1028pub const THOST_FTDC_REQF_NoSend: u8 = b'0';
1029pub const THOST_FTDC_REQF_SendSuccess: u8 = b'1';
1030pub const THOST_FTDC_REQF_SendFailed: u8 = b'2';
1031pub const THOST_FTDC_REQF_WaitReSend: u8 = b'3';
1032pub const THOST_FTDC_RESF_Success: u8 = b'0';
1033pub const THOST_FTDC_RESF_InsuffiCient: u8 = b'1';
1034pub const THOST_FTDC_RESF_UnKnown: u8 = b'8';
1035pub const THOST_FTDC_EXS_Before: u8 = b'0';
1036pub const THOST_FTDC_EXS_After: u8 = b'1';
1037pub const THOST_FTDC_CR_Domestic: u8 = b'1';
1038pub const THOST_FTDC_CR_GMT: u8 = b'2';
1039pub const THOST_FTDC_CR_Foreign: u8 = b'3';
1040pub const THOST_FTDC_HB_No: u8 = b'0';
1041pub const THOST_FTDC_HB_Yes: u8 = b'1';
1042pub const THOST_FTDC_SM_Normal: u8 = b'1';
1043pub const THOST_FTDC_SM_Emerge: u8 = b'2';
1044pub const THOST_FTDC_SM_Restore: u8 = b'3';
1045pub const THOST_FTDC_TPT_Full: u8 = b'1';
1046pub const THOST_FTDC_TPT_Increment: u8 = b'2';
1047pub const THOST_FTDC_TPT_BackUp: u8 = b'3';
1048pub const THOST_FTDC_LM_Trade: u8 = b'0';
1049pub const THOST_FTDC_LM_Transfer: u8 = b'1';
1050pub const THOST_FTDC_CPT_Instrument: u8 = b'1';
1051pub const THOST_FTDC_CPT_Margin: u8 = b'2';
1052pub const THOST_FTDC_HT_Yes: u8 = b'1';
1053pub const THOST_FTDC_HT_No: u8 = b'0';
1054pub const THOST_FTDC_AMT_Bank: u8 = b'1';
1055pub const THOST_FTDC_AMT_Securities: u8 = b'2';
1056pub const THOST_FTDC_AMT_Fund: u8 = b'3';
1057pub const THOST_FTDC_AMT_Insurance: u8 = b'4';
1058pub const THOST_FTDC_AMT_Trust: u8 = b'5';
1059pub const THOST_FTDC_AMT_Other: u8 = b'9';
1060pub const THOST_FTDC_CFIOT_FundIO: u8 = b'0';
1061pub const THOST_FTDC_CFIOT_SwapCurrency: u8 = b'1';
1062pub const THOST_FTDC_CAT_Futures: u8 = b'1';
1063pub const THOST_FTDC_CAT_AssetmgrFuture: u8 = b'2';
1064pub const THOST_FTDC_CAT_AssetmgrTrustee: u8 = b'3';
1065pub const THOST_FTDC_CAT_AssetmgrTransfer: u8 = b'4';
1066pub const THOST_FTDC_LT_Chinese: u8 = b'1';
1067pub const THOST_FTDC_LT_English: u8 = b'2';
1068pub const THOST_FTDC_AMCT_Person: u8 = b'1';
1069pub const THOST_FTDC_AMCT_Organ: u8 = b'2';
1070pub const THOST_FTDC_AMCT_SpecialOrgan: u8 = b'4';
1071pub const THOST_FTDC_ASST_Futures: u8 = b'3';
1072pub const THOST_FTDC_ASST_SpecialOrgan: u8 = b'4';
1073pub const THOST_FTDC_CIT_HasExch: u8 = b'0';
1074pub const THOST_FTDC_CIT_HasATP: u8 = b'1';
1075pub const THOST_FTDC_CIT_HasDiff: u8 = b'2';
1076pub const THOST_FTDC_DT_HandDeliv: u8 = b'1';
1077pub const THOST_FTDC_DT_PersonDeliv: u8 = b'2';
1078pub const THOST_FTDC_MMSA_NO: u8 = b'0';
1079pub const THOST_FTDC_MMSA_YES: u8 = b'1';
1080pub const THOST_FTDC_CACT_Person: u8 = b'0';
1081pub const THOST_FTDC_CACT_Company: u8 = b'1';
1082pub const THOST_FTDC_CACT_Other: u8 = b'2';
1083pub const THOST_FTDC_UOAAT_Futures: u8 = b'1';
1084pub const THOST_FTDC_UOAAT_SpecialOrgan: u8 = b'2';
1085pub const THOST_FTDC_DEN_Buy: u8 = b'0';
1086pub const THOST_FTDC_DEN_Sell: u8 = b'1';
1087pub const THOST_FTDC_OFEN_Open: u8 = b'0';
1088pub const THOST_FTDC_OFEN_Close: u8 = b'1';
1089pub const THOST_FTDC_OFEN_ForceClose: u8 = b'2';
1090pub const THOST_FTDC_OFEN_CloseToday: u8 = b'3';
1091pub const THOST_FTDC_OFEN_CloseYesterday: u8 = b'4';
1092pub const THOST_FTDC_OFEN_ForceOff: u8 = b'5';
1093pub const THOST_FTDC_OFEN_LocalForceClose: u8 = b'6';
1094pub const THOST_FTDC_HFEN_Speculation: u8 = b'1';
1095pub const THOST_FTDC_HFEN_Arbitrage: u8 = b'2';
1096pub const THOST_FTDC_HFEN_Hedge: u8 = b'3';
1097pub const THOST_FTDC_FIOTEN_FundIO: u8 = b'1';
1098pub const THOST_FTDC_FIOTEN_Transfer: u8 = b'2';
1099pub const THOST_FTDC_FIOTEN_SwapCurrency: u8 = b'3';
1100pub const THOST_FTDC_FTEN_Deposite: u8 = b'1';
1101pub const THOST_FTDC_FTEN_ItemFund: u8 = b'2';
1102pub const THOST_FTDC_FTEN_Company: u8 = b'3';
1103pub const THOST_FTDC_FTEN_InnerTransfer: u8 = b'4';
1104pub const THOST_FTDC_FDEN_In: u8 = b'1';
1105pub const THOST_FTDC_FDEN_Out: u8 = b'2';
1106pub const THOST_FTDC_FMDEN_In: u8 = b'1';
1107pub const THOST_FTDC_FMDEN_Out: u8 = b'2';
1108pub const THOST_FTDC_CP_CallOptions: u8 = b'1';
1109pub const THOST_FTDC_CP_PutOptions: u8 = b'2';
1110pub const THOST_FTDC_STM_Continental: u8 = b'0';
1111pub const THOST_FTDC_STM_American: u8 = b'1';
1112pub const THOST_FTDC_STM_Bermuda: u8 = b'2';
1113pub const THOST_FTDC_STT_Hedge: u8 = b'0';
1114pub const THOST_FTDC_STT_Match: u8 = b'1';
1115pub const THOST_FTDC_APPT_NotStrikeNum: u8 = b'4';
1116pub const THOST_FTDC_GUDS_Gen: u8 = b'0';
1117pub const THOST_FTDC_GUDS_Hand: u8 = b'1';
1118pub const THOST_FTDC_OER_NoExec: u8 = b'n';
1119pub const THOST_FTDC_OER_Canceled: u8 = b'c';
1120pub const THOST_FTDC_OER_OK: u8 = b'0';
1121pub const THOST_FTDC_OER_NoPosition: u8 = b'1';
1122pub const THOST_FTDC_OER_NoDeposit: u8 = b'2';
1123pub const THOST_FTDC_OER_NoParticipant: u8 = b'3';
1124pub const THOST_FTDC_OER_NoClient: u8 = b'4';
1125pub const THOST_FTDC_OER_NoInstrument: u8 = b'6';
1126pub const THOST_FTDC_OER_NoRight: u8 = b'7';
1127pub const THOST_FTDC_OER_InvalidVolume: u8 = b'8';
1128pub const THOST_FTDC_OER_NoEnoughHistoryTrade: u8 = b'9';
1129pub const THOST_FTDC_OER_Unknown: u8 = b'a';
1130pub const THOST_FTDC_COMBT_Future: u8 = b'0';
1131pub const THOST_FTDC_COMBT_BUL: u8 = b'1';
1132pub const THOST_FTDC_COMBT_BER: u8 = b'2';
1133pub const THOST_FTDC_COMBT_STD: u8 = b'3';
1134pub const THOST_FTDC_COMBT_STG: u8 = b'4';
1135pub const THOST_FTDC_COMBT_PRT: u8 = b'5';
1136pub const THOST_FTDC_COMBT_CLD: u8 = b'6';
1137pub const THOST_FTDC_DCECOMBT_SPL: u8 = b'0';
1138pub const THOST_FTDC_DCECOMBT_OPL: u8 = b'1';
1139pub const THOST_FTDC_DCECOMBT_SP: u8 = b'2';
1140pub const THOST_FTDC_DCECOMBT_SPC: u8 = b'3';
1141pub const THOST_FTDC_DCECOMBT_BLS: u8 = b'4';
1142pub const THOST_FTDC_DCECOMBT_BES: u8 = b'5';
1143pub const THOST_FTDC_DCECOMBT_CAS: u8 = b'6';
1144pub const THOST_FTDC_DCECOMBT_STD: u8 = b'7';
1145pub const THOST_FTDC_DCECOMBT_STG: u8 = b'8';
1146pub const THOST_FTDC_DCECOMBT_BFO: u8 = b'9';
1147pub const THOST_FTDC_DCECOMBT_SFO: u8 = b'a';
1148pub const THOST_FTDC_ORPT_PreSettlementPrice: u8 = b'1';
1149pub const THOST_FTDC_ORPT_OpenPrice: u8 = b'4';
1150pub const THOST_FTDC_ORPT_MaxPreSettlementPrice: u8 = b'5';
1151pub const THOST_FTDC_BLAG_Default: u8 = b'1';
1152pub const THOST_FTDC_BLAG_IncludeOptValLost: u8 = b'2';
1153pub const THOST_FTDC_ACTP_Exec: u8 = b'1';
1154pub const THOST_FTDC_ACTP_Abandon: u8 = b'2';
1155pub const THOST_FTDC_FQST_Submitted: u8 = b'a';
1156pub const THOST_FTDC_FQST_Accepted: u8 = b'b';
1157pub const THOST_FTDC_FQST_Rejected: u8 = b'c';
1158pub const THOST_FTDC_VM_Absolute: u8 = b'0';
1159pub const THOST_FTDC_VM_Ratio: u8 = b'1';
1160pub const THOST_FTDC_EOPF_Reserve: u8 = b'0';
1161pub const THOST_FTDC_EOPF_UnReserve: u8 = b'1';
1162pub const THOST_FTDC_EOCF_AutoClose: u8 = b'0';
1163pub const THOST_FTDC_EOCF_NotToClose: u8 = b'1';
1164pub const THOST_FTDC_PTE_Futures: u8 = b'1';
1165pub const THOST_FTDC_PTE_Options: u8 = b'2';
1166pub const THOST_FTDC_CUFN_CUFN_O: u8 = b'O';
1167pub const THOST_FTDC_CUFN_CUFN_T: u8 = b'T';
1168pub const THOST_FTDC_CUFN_CUFN_P: u8 = b'P';
1169pub const THOST_FTDC_CUFN_CUFN_N: u8 = b'N';
1170pub const THOST_FTDC_CUFN_CUFN_L: u8 = b'L';
1171pub const THOST_FTDC_CUFN_CUFN_F: u8 = b'F';
1172pub const THOST_FTDC_CUFN_CUFN_C: u8 = b'C';
1173pub const THOST_FTDC_CUFN_CUFN_M: u8 = b'M';
1174pub const THOST_FTDC_DUFN_DUFN_O: u8 = b'O';
1175pub const THOST_FTDC_DUFN_DUFN_T: u8 = b'T';
1176pub const THOST_FTDC_DUFN_DUFN_P: u8 = b'P';
1177pub const THOST_FTDC_DUFN_DUFN_F: u8 = b'F';
1178pub const THOST_FTDC_DUFN_DUFN_C: u8 = b'C';
1179pub const THOST_FTDC_DUFN_DUFN_D: u8 = b'D';
1180pub const THOST_FTDC_DUFN_DUFN_M: u8 = b'M';
1181pub const THOST_FTDC_DUFN_DUFN_S: u8 = b'S';
1182pub const THOST_FTDC_SUFN_SUFN_O: u8 = b'O';
1183pub const THOST_FTDC_SUFN_SUFN_T: u8 = b'T';
1184pub const THOST_FTDC_SUFN_SUFN_P: u8 = b'P';
1185pub const THOST_FTDC_SUFN_SUFN_F: u8 = b'F';
1186pub const THOST_FTDC_CFUFN_SUFN_T: u8 = b'T';
1187pub const THOST_FTDC_CFUFN_SUFN_P: u8 = b'P';
1188pub const THOST_FTDC_CFUFN_SUFN_F: u8 = b'F';
1189pub const THOST_FTDC_CFUFN_SUFN_S: u8 = b'S';
1190pub const THOST_FTDC_CMDR_Comb: u8 = b'0';
1191pub const THOST_FTDC_CMDR_UnComb: u8 = b'1';
1192pub const THOST_FTDC_STOV_RealValue: u8 = b'1';
1193pub const THOST_FTDC_STOV_ProfitValue: u8 = b'2';
1194pub const THOST_FTDC_STOV_RealRatio: u8 = b'3';
1195pub const THOST_FTDC_STOV_ProfitRatio: u8 = b'4';
1196pub const THOST_FTDC_ROAST_Processing: u8 = b'0';
1197pub const THOST_FTDC_ROAST_Cancelled: u8 = b'1';
1198pub const THOST_FTDC_ROAST_Opened: u8 = b'2';
1199pub const THOST_FTDC_ROAST_Invalid: u8 = b'3';
1200pub const THOST_FTDC_WPSR_Lib: u8 = b'1';
1201pub const THOST_FTDC_WPSR_Manual: u8 = b'2';
1202pub const THOST_FTDC_OSCF_CloseSelfOptionPosition: u8 = b'1';
1203pub const THOST_FTDC_OSCF_ReserveOptionPosition: u8 = b'2';
1204pub const THOST_FTDC_OSCF_SellCloseSelfFuturePosition: u8 = b'3';
1205pub const THOST_FTDC_OSCF_ReserveFuturePosition: u8 = b'4';
1206pub const THOST_FTDC_BZTP_Future: u8 = b'1';
1207pub const THOST_FTDC_BZTP_Stock: u8 = b'2';
1208pub const THOST_FTDC_APP_TYPE_Investor: u8 = b'1';
1209pub const THOST_FTDC_APP_TYPE_InvestorRelay: u8 = b'2';
1210pub const THOST_FTDC_APP_TYPE_OperatorRelay: u8 = b'3';
1211pub const THOST_FTDC_APP_TYPE_UnKnown: u8 = b'4';
1212pub const THOST_FTDC_RV_Right: u8 = b'0';
1213pub const THOST_FTDC_RV_Refuse: u8 = b'1';
1214pub const THOST_FTDC_OTC_TRDT_Block: u8 = b'0';
1215pub const THOST_FTDC_OTC_TRDT_EFP: u8 = b'1';
1216pub const THOST_FTDC_OTC_MT_DV01: u8 = b'1';
1217pub const THOST_FTDC_OTC_MT_ParValue: u8 = b'2';
1218#[repr(u32)]
1219#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
1220pub enum THOST_TE_RESUME_TYPE {
1221    THOST_TERT_RESTART = 0,
1222    THOST_TERT_RESUME = 1,
1223    THOST_TERT_QUICK = 2,
1224}
1225///
1226/// TFtdcTraderIDType是一个交易所交易员代码类型
1227///
1228pub type TThostFtdcTraderIDType = [::std::os::raw::c_uchar; 21usize];
1229///
1230/// TFtdcInvestorIDType是一个投资者代码类型
1231///
1232pub type TThostFtdcInvestorIDType = [::std::os::raw::c_uchar; 13usize];
1233///
1234/// TFtdcBrokerIDType是一个经纪公司代码类型
1235///
1236pub type TThostFtdcBrokerIDType = [::std::os::raw::c_uchar; 11usize];
1237///
1238/// TFtdcBrokerAbbrType是一个经纪公司简称类型
1239///
1240pub type TThostFtdcBrokerAbbrType = [::std::os::raw::c_uchar; 9usize];
1241///
1242/// TFtdcBrokerNameType是一个经纪公司名称类型
1243///
1244pub type TThostFtdcBrokerNameType = [::std::os::raw::c_uchar; 81usize];
1245///
1246/// TFtdcExchangeInstIDType是一个合约在交易所的代码类型
1247///
1248pub type TThostFtdcExchangeInstIDType = [::std::os::raw::c_uchar; 31usize];
1249///
1250/// TFtdcOrderRefType是一个报单引用类型
1251///
1252pub type TThostFtdcOrderRefType = [::std::os::raw::c_uchar; 13usize];
1253///
1254/// TFtdcParticipantIDType是一个会员代码类型
1255///
1256pub type TThostFtdcParticipantIDType = [::std::os::raw::c_uchar; 11usize];
1257///
1258/// TFtdcUserIDType是一个用户代码类型
1259///
1260pub type TThostFtdcUserIDType = [::std::os::raw::c_uchar; 16usize];
1261///
1262/// TFtdcPasswordType是一个密码类型
1263///
1264pub type TThostFtdcPasswordType = [::std::os::raw::c_uchar; 41usize];
1265///
1266/// TFtdcClientIDType是一个交易编码类型
1267///
1268pub type TThostFtdcClientIDType = [::std::os::raw::c_uchar; 11usize];
1269///
1270/// TFtdcInstrumentIDType是一个合约代码类型
1271///
1272pub type TThostFtdcInstrumentIDType = [::std::os::raw::c_uchar; 31usize];
1273///
1274/// TFtdcInstrumentCodeType是一个合约标识码类型
1275///
1276pub type TThostFtdcInstrumentCodeType = [::std::os::raw::c_uchar; 31usize];
1277///
1278/// TFtdcMarketIDType是一个市场代码类型
1279///
1280pub type TThostFtdcMarketIDType = [::std::os::raw::c_uchar; 31usize];
1281///
1282/// TFtdcProductNameType是一个产品名称类型
1283///
1284pub type TThostFtdcProductNameType = [::std::os::raw::c_uchar; 21usize];
1285///
1286/// TFtdcExchangeIDType是一个交易所代码类型
1287///
1288pub type TThostFtdcExchangeIDType = [::std::os::raw::c_uchar; 9usize];
1289///
1290/// TFtdcExchangeNameType是一个交易所名称类型
1291///
1292pub type TThostFtdcExchangeNameType = [::std::os::raw::c_uchar; 61usize];
1293///
1294/// TFtdcExchangeAbbrType是一个交易所简称类型
1295///
1296pub type TThostFtdcExchangeAbbrType = [::std::os::raw::c_uchar; 9usize];
1297///
1298/// TFtdcExchangeFlagType是一个交易所标志类型
1299///
1300pub type TThostFtdcExchangeFlagType = [::std::os::raw::c_uchar; 2usize];
1301///
1302/// TFtdcMacAddressType是一个Mac地址类型
1303///
1304pub type TThostFtdcMacAddressType = [::std::os::raw::c_uchar; 21usize];
1305///
1306/// TFtdcSystemIDType是一个系统编号类型
1307///
1308pub type TThostFtdcSystemIDType = [::std::os::raw::c_uchar; 21usize];
1309pub type TThostFtdcExchangePropertyType = ::std::os::raw::c_uchar;
1310///
1311/// TFtdcDateType是一个日期类型
1312///
1313pub type TThostFtdcDateType = [::std::os::raw::c_uchar; 9usize];
1314///
1315/// TFtdcTimeType是一个时间类型
1316///
1317pub type TThostFtdcTimeType = [::std::os::raw::c_uchar; 9usize];
1318///
1319/// TFtdcLongTimeType是一个长时间类型
1320///
1321pub type TThostFtdcLongTimeType = [::std::os::raw::c_uchar; 13usize];
1322///
1323/// TFtdcInstrumentNameType是一个合约名称类型
1324///
1325pub type TThostFtdcInstrumentNameType = [::std::os::raw::c_uchar; 21usize];
1326///
1327/// TFtdcSettlementGroupIDType是一个结算组代码类型
1328///
1329pub type TThostFtdcSettlementGroupIDType = [::std::os::raw::c_uchar; 9usize];
1330///
1331/// TFtdcOrderSysIDType是一个报单编号类型
1332///
1333pub type TThostFtdcOrderSysIDType = [::std::os::raw::c_uchar; 21usize];
1334///
1335/// TFtdcTradeIDType是一个成交编号类型
1336///
1337pub type TThostFtdcTradeIDType = [::std::os::raw::c_uchar; 21usize];
1338///
1339/// TFtdcCommandTypeType是一个DB命令类型类型
1340///
1341pub type TThostFtdcCommandTypeType = [::std::os::raw::c_uchar; 65usize];
1342///
1343/// TFtdcIPAddressType是一个IP地址类型
1344///
1345pub type TThostFtdcIPAddressType = [::std::os::raw::c_uchar; 16usize];
1346///
1347/// TFtdcIPPortType是一个IP端口类型
1348///
1349pub type TThostFtdcIPPortType = ::std::os::raw::c_int;
1350///
1351/// TFtdcProductInfoType是一个产品信息类型
1352///
1353pub type TThostFtdcProductInfoType = [::std::os::raw::c_uchar; 11usize];
1354///
1355/// TFtdcProtocolInfoType是一个协议信息类型
1356///
1357pub type TThostFtdcProtocolInfoType = [::std::os::raw::c_uchar; 11usize];
1358///
1359/// TFtdcBusinessUnitType是一个业务单元类型
1360///
1361pub type TThostFtdcBusinessUnitType = [::std::os::raw::c_uchar; 21usize];
1362///
1363/// TFtdcDepositSeqNoType是一个出入金流水号类型
1364///
1365pub type TThostFtdcDepositSeqNoType = [::std::os::raw::c_uchar; 15usize];
1366///
1367/// TFtdcIdentifiedCardNoType是一个证件号码类型
1368///
1369pub type TThostFtdcIdentifiedCardNoType = [::std::os::raw::c_uchar; 51usize];
1370pub type TThostFtdcIdCardTypeType = ::std::os::raw::c_uchar;
1371///
1372/// TFtdcOrderLocalIDType是一个本地报单编号类型
1373///
1374pub type TThostFtdcOrderLocalIDType = [::std::os::raw::c_uchar; 13usize];
1375///
1376/// TFtdcUserNameType是一个用户名称类型
1377///
1378pub type TThostFtdcUserNameType = [::std::os::raw::c_uchar; 81usize];
1379///
1380/// TFtdcPartyNameType是一个参与人名称类型
1381///
1382pub type TThostFtdcPartyNameType = [::std::os::raw::c_uchar; 81usize];
1383///
1384/// TFtdcErrorMsgType是一个错误信息类型
1385///
1386pub type TThostFtdcErrorMsgType = [::std::os::raw::c_uchar; 81usize];
1387///
1388/// TFtdcFieldNameType是一个字段名类型
1389///
1390pub type TThostFtdcFieldNameType = [::std::os::raw::c_uchar; 2049usize];
1391///
1392/// TFtdcFieldContentType是一个字段内容类型
1393///
1394pub type TThostFtdcFieldContentType = [::std::os::raw::c_uchar; 2049usize];
1395///
1396/// TFtdcSystemNameType是一个系统名称类型
1397///
1398pub type TThostFtdcSystemNameType = [::std::os::raw::c_uchar; 41usize];
1399///
1400/// TFtdcContentType是一个消息正文类型
1401///
1402pub type TThostFtdcContentType = [::std::os::raw::c_uchar; 501usize];
1403pub type TThostFtdcInvestorRangeType = ::std::os::raw::c_uchar;
1404pub type TThostFtdcDepartmentRangeType = ::std::os::raw::c_uchar;
1405pub type TThostFtdcDataSyncStatusType = ::std::os::raw::c_uchar;
1406pub type TThostFtdcBrokerDataSyncStatusType = ::std::os::raw::c_uchar;
1407pub type TThostFtdcExchangeConnectStatusType = ::std::os::raw::c_uchar;
1408pub type TThostFtdcTraderConnectStatusType = ::std::os::raw::c_uchar;
1409pub type TThostFtdcFunctionCodeType = ::std::os::raw::c_uchar;
1410pub type TThostFtdcBrokerFunctionCodeType = ::std::os::raw::c_uchar;
1411pub type TThostFtdcOrderActionStatusType = ::std::os::raw::c_uchar;
1412pub type TThostFtdcOrderStatusType = ::std::os::raw::c_uchar;
1413pub type TThostFtdcOrderSubmitStatusType = ::std::os::raw::c_uchar;
1414pub type TThostFtdcPositionDateType = ::std::os::raw::c_uchar;
1415pub type TThostFtdcPositionDateTypeType = ::std::os::raw::c_uchar;
1416pub type TThostFtdcTradingRoleType = ::std::os::raw::c_uchar;
1417pub type TThostFtdcProductClassType = ::std::os::raw::c_uchar;
1418pub type TThostFtdcInstLifePhaseType = ::std::os::raw::c_uchar;
1419pub type TThostFtdcDirectionType = ::std::os::raw::c_uchar;
1420pub type TThostFtdcPositionTypeType = ::std::os::raw::c_uchar;
1421pub type TThostFtdcPosiDirectionType = ::std::os::raw::c_uchar;
1422pub type TThostFtdcSysSettlementStatusType = ::std::os::raw::c_uchar;
1423pub type TThostFtdcRatioAttrType = ::std::os::raw::c_uchar;
1424pub type TThostFtdcHedgeFlagType = ::std::os::raw::c_uchar;
1425pub type TThostFtdcBillHedgeFlagType = ::std::os::raw::c_uchar;
1426pub type TThostFtdcClientIDTypeType = ::std::os::raw::c_uchar;
1427pub type TThostFtdcOrderPriceTypeType = ::std::os::raw::c_uchar;
1428pub type TThostFtdcOffsetFlagType = ::std::os::raw::c_uchar;
1429pub type TThostFtdcForceCloseReasonType = ::std::os::raw::c_uchar;
1430pub type TThostFtdcOrderTypeType = ::std::os::raw::c_uchar;
1431pub type TThostFtdcTimeConditionType = ::std::os::raw::c_uchar;
1432pub type TThostFtdcVolumeConditionType = ::std::os::raw::c_uchar;
1433pub type TThostFtdcContingentConditionType = ::std::os::raw::c_uchar;
1434pub type TThostFtdcActionFlagType = ::std::os::raw::c_uchar;
1435pub type TThostFtdcTradingRightType = ::std::os::raw::c_uchar;
1436pub type TThostFtdcOrderSourceType = ::std::os::raw::c_uchar;
1437pub type TThostFtdcTradeTypeType = ::std::os::raw::c_uchar;
1438pub type TThostFtdcPriceSourceType = ::std::os::raw::c_uchar;
1439pub type TThostFtdcInstrumentStatusType = ::std::os::raw::c_uchar;
1440pub type TThostFtdcInstStatusEnterReasonType = ::std::os::raw::c_uchar;
1441///
1442/// TFtdcOrderActionRefType是一个报单操作引用类型
1443///
1444pub type TThostFtdcOrderActionRefType = ::std::os::raw::c_int;
1445///
1446/// TFtdcInstallCountType是一个安装数量类型
1447///
1448pub type TThostFtdcInstallCountType = ::std::os::raw::c_int;
1449///
1450/// TFtdcInstallIDType是一个安装编号类型
1451///
1452pub type TThostFtdcInstallIDType = ::std::os::raw::c_int;
1453///
1454/// TFtdcErrorIDType是一个错误代码类型
1455///
1456pub type TThostFtdcErrorIDType = ::std::os::raw::c_int;
1457///
1458/// TFtdcSettlementIDType是一个结算编号类型
1459///
1460pub type TThostFtdcSettlementIDType = ::std::os::raw::c_int;
1461///
1462/// TFtdcVolumeType是一个数量类型
1463///
1464pub type TThostFtdcVolumeType = ::std::os::raw::c_int;
1465///
1466/// TFtdcFrontIDType是一个前置编号类型
1467///
1468pub type TThostFtdcFrontIDType = ::std::os::raw::c_int;
1469///
1470/// TFtdcSessionIDType是一个会话编号类型
1471///
1472pub type TThostFtdcSessionIDType = ::std::os::raw::c_int;
1473///
1474/// TFtdcSequenceNoType是一个序号类型
1475///
1476pub type TThostFtdcSequenceNoType = ::std::os::raw::c_int;
1477///
1478/// TFtdcCommandNoType是一个DB命令序号类型
1479///
1480pub type TThostFtdcCommandNoType = ::std::os::raw::c_int;
1481///
1482/// TFtdcMillisecType是一个时间(毫秒)类型
1483///
1484pub type TThostFtdcMillisecType = ::std::os::raw::c_int;
1485///
1486/// TFtdcVolumeMultipleType是一个合约数量乘数类型
1487///
1488pub type TThostFtdcVolumeMultipleType = ::std::os::raw::c_int;
1489///
1490/// TFtdcTradingSegmentSNType是一个交易阶段编号类型
1491///
1492pub type TThostFtdcTradingSegmentSNType = ::std::os::raw::c_int;
1493///
1494/// TFtdcRequestIDType是一个请求编号类型
1495///
1496pub type TThostFtdcRequestIDType = ::std::os::raw::c_int;
1497///
1498/// TFtdcYearType是一个年份类型
1499///
1500pub type TThostFtdcYearType = ::std::os::raw::c_int;
1501///
1502/// TFtdcMonthType是一个月份类型
1503///
1504pub type TThostFtdcMonthType = ::std::os::raw::c_int;
1505///
1506/// TFtdcBoolType是一个布尔型类型
1507///
1508pub type TThostFtdcBoolType = ::std::os::raw::c_int;
1509///
1510/// TFtdcPriceType是一个价格类型
1511///
1512pub type TThostFtdcPriceType = f64;
1513///
1514/// TFtdcCombOffsetFlagType是一个组合开平标志类型
1515///
1516pub type TThostFtdcCombOffsetFlagType = [::std::os::raw::c_uchar; 5usize];
1517///
1518/// TFtdcCombHedgeFlagType是一个组合投机套保标志类型
1519///
1520pub type TThostFtdcCombHedgeFlagType = [::std::os::raw::c_uchar; 5usize];
1521///
1522/// TFtdcRatioType是一个比率类型
1523///
1524pub type TThostFtdcRatioType = f64;
1525///
1526/// TFtdcMoneyType是一个资金类型
1527///
1528pub type TThostFtdcMoneyType = f64;
1529///
1530/// TFtdcLargeVolumeType是一个大额数量类型
1531///
1532pub type TThostFtdcLargeVolumeType = f64;
1533///
1534/// TFtdcSequenceSeriesType是一个序列系列号类型
1535///
1536pub type TThostFtdcSequenceSeriesType = ::std::os::raw::c_short;
1537///
1538/// TFtdcCommPhaseNoType是一个通讯时段编号类型
1539///
1540pub type TThostFtdcCommPhaseNoType = ::std::os::raw::c_short;
1541///
1542/// TFtdcSequenceLabelType是一个序列编号类型
1543///
1544pub type TThostFtdcSequenceLabelType = [::std::os::raw::c_uchar; 2usize];
1545///
1546/// TFtdcUnderlyingMultipleType是一个基础商品乘数类型
1547///
1548pub type TThostFtdcUnderlyingMultipleType = f64;
1549///
1550/// TFtdcPriorityType是一个优先级类型
1551///
1552pub type TThostFtdcPriorityType = ::std::os::raw::c_int;
1553///
1554/// TFtdcContractCodeType是一个合同编号类型
1555///
1556pub type TThostFtdcContractCodeType = [::std::os::raw::c_uchar; 41usize];
1557///
1558/// TFtdcCityType是一个市类型
1559///
1560pub type TThostFtdcCityType = [::std::os::raw::c_uchar; 51usize];
1561///
1562/// TFtdcIsStockType是一个是否股民类型
1563///
1564pub type TThostFtdcIsStockType = [::std::os::raw::c_uchar; 11usize];
1565///
1566/// TFtdcChannelType是一个渠道类型
1567///
1568pub type TThostFtdcChannelType = [::std::os::raw::c_uchar; 51usize];
1569///
1570/// TFtdcAddressType是一个通讯地址类型
1571///
1572pub type TThostFtdcAddressType = [::std::os::raw::c_uchar; 101usize];
1573///
1574/// TFtdcZipCodeType是一个邮政编码类型
1575///
1576pub type TThostFtdcZipCodeType = [::std::os::raw::c_uchar; 7usize];
1577///
1578/// TFtdcTelephoneType是一个联系电话类型
1579///
1580pub type TThostFtdcTelephoneType = [::std::os::raw::c_uchar; 41usize];
1581///
1582/// TFtdcFaxType是一个传真类型
1583///
1584pub type TThostFtdcFaxType = [::std::os::raw::c_uchar; 41usize];
1585///
1586/// TFtdcMobileType是一个手机类型
1587///
1588pub type TThostFtdcMobileType = [::std::os::raw::c_uchar; 41usize];
1589///
1590/// TFtdcEMailType是一个电子邮件类型
1591///
1592pub type TThostFtdcEMailType = [::std::os::raw::c_uchar; 41usize];
1593///
1594/// TFtdcMemoType是一个备注类型
1595///
1596pub type TThostFtdcMemoType = [::std::os::raw::c_uchar; 161usize];
1597///
1598/// TFtdcCompanyCodeType是一个企业代码类型
1599///
1600pub type TThostFtdcCompanyCodeType = [::std::os::raw::c_uchar; 51usize];
1601///
1602/// TFtdcWebsiteType是一个网站地址类型
1603///
1604pub type TThostFtdcWebsiteType = [::std::os::raw::c_uchar; 51usize];
1605///
1606/// TFtdcTaxNoType是一个税务登记号类型
1607///
1608pub type TThostFtdcTaxNoType = [::std::os::raw::c_uchar; 31usize];
1609pub type TThostFtdcBatchStatusType = ::std::os::raw::c_uchar;
1610///
1611/// TFtdcPropertyIDType是一个属性代码类型
1612///
1613pub type TThostFtdcPropertyIDType = [::std::os::raw::c_uchar; 33usize];
1614///
1615/// TFtdcPropertyNameType是一个属性名称类型
1616///
1617pub type TThostFtdcPropertyNameType = [::std::os::raw::c_uchar; 65usize];
1618///
1619/// TFtdcLicenseNoType是一个营业执照号类型
1620///
1621pub type TThostFtdcLicenseNoType = [::std::os::raw::c_uchar; 51usize];
1622///
1623/// TFtdcAgentIDType是一个经纪人代码类型
1624///
1625pub type TThostFtdcAgentIDType = [::std::os::raw::c_uchar; 13usize];
1626///
1627/// TFtdcAgentNameType是一个经纪人名称类型
1628///
1629pub type TThostFtdcAgentNameType = [::std::os::raw::c_uchar; 41usize];
1630///
1631/// TFtdcAgentGroupIDType是一个经纪人组代码类型
1632///
1633pub type TThostFtdcAgentGroupIDType = [::std::os::raw::c_uchar; 13usize];
1634///
1635/// TFtdcAgentGroupNameType是一个经纪人组名称类型
1636///
1637pub type TThostFtdcAgentGroupNameType = [::std::os::raw::c_uchar; 41usize];
1638pub type TThostFtdcReturnStyleType = ::std::os::raw::c_uchar;
1639pub type TThostFtdcReturnPatternType = ::std::os::raw::c_uchar;
1640pub type TThostFtdcReturnLevelType = ::std::os::raw::c_uchar;
1641pub type TThostFtdcReturnStandardType = ::std::os::raw::c_uchar;
1642pub type TThostFtdcMortgageTypeType = ::std::os::raw::c_uchar;
1643pub type TThostFtdcInvestorSettlementParamIDType = ::std::os::raw::c_uchar;
1644pub type TThostFtdcExchangeSettlementParamIDType = ::std::os::raw::c_uchar;
1645pub type TThostFtdcSystemParamIDType = ::std::os::raw::c_uchar;
1646pub type TThostFtdcTradeParamIDType = ::std::os::raw::c_uchar;
1647///
1648/// TFtdcSettlementParamValueType是一个参数代码值类型
1649///
1650pub type TThostFtdcSettlementParamValueType =
1651    [::std::os::raw::c_uchar; 256usize];
1652///
1653/// TFtdcCounterIDType是一个计数器代码类型
1654///
1655pub type TThostFtdcCounterIDType = [::std::os::raw::c_uchar; 33usize];
1656///
1657/// TFtdcInvestorGroupNameType是一个投资者分组名称类型
1658///
1659pub type TThostFtdcInvestorGroupNameType = [::std::os::raw::c_uchar; 41usize];
1660///
1661/// TFtdcBrandCodeType是一个牌号类型
1662///
1663pub type TThostFtdcBrandCodeType = [::std::os::raw::c_uchar; 257usize];
1664///
1665/// TFtdcWarehouseType是一个仓库类型
1666///
1667pub type TThostFtdcWarehouseType = [::std::os::raw::c_uchar; 257usize];
1668///
1669/// TFtdcProductDateType是一个产期类型
1670///
1671pub type TThostFtdcProductDateType = [::std::os::raw::c_uchar; 41usize];
1672///
1673/// TFtdcGradeType是一个等级类型
1674///
1675pub type TThostFtdcGradeType = [::std::os::raw::c_uchar; 41usize];
1676///
1677/// TFtdcClassifyType是一个类别类型
1678///
1679pub type TThostFtdcClassifyType = [::std::os::raw::c_uchar; 41usize];
1680///
1681/// TFtdcPositionType是一个货位类型
1682///
1683pub type TThostFtdcPositionType = [::std::os::raw::c_uchar; 41usize];
1684///
1685/// TFtdcYieldlyType是一个产地类型
1686///
1687pub type TThostFtdcYieldlyType = [::std::os::raw::c_uchar; 41usize];
1688///
1689/// TFtdcWeightType是一个公定重量类型
1690///
1691pub type TThostFtdcWeightType = [::std::os::raw::c_uchar; 41usize];
1692///
1693/// TFtdcSubEntryFundNoType是一个分项资金流水号类型
1694///
1695pub type TThostFtdcSubEntryFundNoType = ::std::os::raw::c_int;
1696pub type TThostFtdcFileIDType = ::std::os::raw::c_uchar;
1697///
1698/// TFtdcFileNameType是一个文件名称类型
1699///
1700pub type TThostFtdcFileNameType = [::std::os::raw::c_uchar; 257usize];
1701pub type TThostFtdcFileTypeType = ::std::os::raw::c_uchar;
1702pub type TThostFtdcFileFormatType = ::std::os::raw::c_uchar;
1703pub type TThostFtdcFileUploadStatusType = ::std::os::raw::c_uchar;
1704pub type TThostFtdcTransferDirectionType = ::std::os::raw::c_uchar;
1705///
1706/// TFtdcUploadModeType是一个上传文件类型类型
1707///
1708pub type TThostFtdcUploadModeType = [::std::os::raw::c_uchar; 21usize];
1709///
1710/// TFtdcAccountIDType是一个投资者帐号类型
1711///
1712pub type TThostFtdcAccountIDType = [::std::os::raw::c_uchar; 13usize];
1713///
1714/// TFtdcBankFlagType是一个银行统一标识类型类型
1715///
1716pub type TThostFtdcBankFlagType = [::std::os::raw::c_uchar; 4usize];
1717///
1718/// TFtdcBankAccountType是一个银行账户类型
1719///
1720pub type TThostFtdcBankAccountType = [::std::os::raw::c_uchar; 41usize];
1721///
1722/// TFtdcOpenNameType是一个银行账户的开户人名称类型
1723///
1724pub type TThostFtdcOpenNameType = [::std::os::raw::c_uchar; 61usize];
1725///
1726/// TFtdcOpenBankType是一个银行账户的开户行类型
1727///
1728pub type TThostFtdcOpenBankType = [::std::os::raw::c_uchar; 101usize];
1729///
1730/// TFtdcBankNameType是一个银行名称类型
1731///
1732pub type TThostFtdcBankNameType = [::std::os::raw::c_uchar; 101usize];
1733///
1734/// TFtdcPublishPathType是一个发布路径类型
1735///
1736pub type TThostFtdcPublishPathType = [::std::os::raw::c_uchar; 257usize];
1737///
1738/// TFtdcOperatorIDType是一个操作员代码类型
1739///
1740pub type TThostFtdcOperatorIDType = [::std::os::raw::c_uchar; 65usize];
1741///
1742/// TFtdcMonthCountType是一个月份数量类型
1743///
1744pub type TThostFtdcMonthCountType = ::std::os::raw::c_int;
1745///
1746/// TFtdcAdvanceMonthArrayType是一个月份提前数组类型
1747///
1748pub type TThostFtdcAdvanceMonthArrayType = [::std::os::raw::c_uchar; 13usize];
1749///
1750/// TFtdcDateExprType是一个日期表达式类型
1751///
1752pub type TThostFtdcDateExprType = [::std::os::raw::c_uchar; 1025usize];
1753///
1754/// TFtdcInstrumentIDExprType是一个合约代码表达式类型
1755///
1756pub type TThostFtdcInstrumentIDExprType = [::std::os::raw::c_uchar; 41usize];
1757///
1758/// TFtdcInstrumentNameExprType是一个合约名称表达式类型
1759///
1760pub type TThostFtdcInstrumentNameExprType = [::std::os::raw::c_uchar; 41usize];
1761pub type TThostFtdcSpecialCreateRuleType = ::std::os::raw::c_uchar;
1762pub type TThostFtdcBasisPriceTypeType = ::std::os::raw::c_uchar;
1763pub type TThostFtdcProductLifePhaseType = ::std::os::raw::c_uchar;
1764pub type TThostFtdcDeliveryModeType = ::std::os::raw::c_uchar;
1765///
1766/// TFtdcLogLevelType是一个日志级别类型
1767///
1768pub type TThostFtdcLogLevelType = [::std::os::raw::c_uchar; 33usize];
1769///
1770/// TFtdcProcessNameType是一个存储过程名称类型
1771///
1772pub type TThostFtdcProcessNameType = [::std::os::raw::c_uchar; 257usize];
1773///
1774/// TFtdcOperationMemoType是一个操作摘要类型
1775///
1776pub type TThostFtdcOperationMemoType = [::std::os::raw::c_uchar; 1025usize];
1777pub type TThostFtdcFundIOTypeType = ::std::os::raw::c_uchar;
1778pub type TThostFtdcFundTypeType = ::std::os::raw::c_uchar;
1779pub type TThostFtdcFundDirectionType = ::std::os::raw::c_uchar;
1780pub type TThostFtdcFundStatusType = ::std::os::raw::c_uchar;
1781///
1782/// TFtdcBillNoType是一个票据号类型
1783///
1784pub type TThostFtdcBillNoType = [::std::os::raw::c_uchar; 15usize];
1785///
1786/// TFtdcBillNameType是一个票据名称类型
1787///
1788pub type TThostFtdcBillNameType = [::std::os::raw::c_uchar; 33usize];
1789pub type TThostFtdcPublishStatusType = ::std::os::raw::c_uchar;
1790///
1791/// TFtdcEnumValueIDType是一个枚举值代码类型
1792///
1793pub type TThostFtdcEnumValueIDType = [::std::os::raw::c_uchar; 65usize];
1794///
1795/// TFtdcEnumValueTypeType是一个枚举值类型类型
1796///
1797pub type TThostFtdcEnumValueTypeType = [::std::os::raw::c_uchar; 33usize];
1798///
1799/// TFtdcEnumValueLabelType是一个枚举值名称类型
1800///
1801pub type TThostFtdcEnumValueLabelType = [::std::os::raw::c_uchar; 65usize];
1802///
1803/// TFtdcEnumValueResultType是一个枚举值结果类型
1804///
1805pub type TThostFtdcEnumValueResultType = [::std::os::raw::c_uchar; 33usize];
1806pub type TThostFtdcSystemStatusType = ::std::os::raw::c_uchar;
1807pub type TThostFtdcSettlementStatusType = ::std::os::raw::c_uchar;
1808///
1809/// TFtdcRangeIntTypeType是一个限定值类型类型
1810///
1811pub type TThostFtdcRangeIntTypeType = [::std::os::raw::c_uchar; 33usize];
1812///
1813/// TFtdcRangeIntFromType是一个限定值下限类型
1814///
1815pub type TThostFtdcRangeIntFromType = [::std::os::raw::c_uchar; 33usize];
1816///
1817/// TFtdcRangeIntToType是一个限定值上限类型
1818///
1819pub type TThostFtdcRangeIntToType = [::std::os::raw::c_uchar; 33usize];
1820///
1821/// TFtdcFunctionIDType是一个功能代码类型
1822///
1823pub type TThostFtdcFunctionIDType = [::std::os::raw::c_uchar; 25usize];
1824///
1825/// TFtdcFunctionValueCodeType是一个功能编码类型
1826///
1827pub type TThostFtdcFunctionValueCodeType = [::std::os::raw::c_uchar; 257usize];
1828///
1829/// TFtdcFunctionNameType是一个功能名称类型
1830///
1831pub type TThostFtdcFunctionNameType = [::std::os::raw::c_uchar; 65usize];
1832///
1833/// TFtdcRoleIDType是一个角色编号类型
1834///
1835pub type TThostFtdcRoleIDType = [::std::os::raw::c_uchar; 11usize];
1836///
1837/// TFtdcRoleNameType是一个角色名称类型
1838///
1839pub type TThostFtdcRoleNameType = [::std::os::raw::c_uchar; 41usize];
1840///
1841/// TFtdcDescriptionType是一个描述类型
1842///
1843pub type TThostFtdcDescriptionType = [::std::os::raw::c_uchar; 401usize];
1844///
1845/// TFtdcCombineIDType是一个组合编号类型
1846///
1847pub type TThostFtdcCombineIDType = [::std::os::raw::c_uchar; 25usize];
1848///
1849/// TFtdcCombineTypeType是一个组合类型类型
1850///
1851pub type TThostFtdcCombineTypeType = [::std::os::raw::c_uchar; 25usize];
1852pub type TThostFtdcInvestorTypeType = ::std::os::raw::c_uchar;
1853pub type TThostFtdcBrokerTypeType = ::std::os::raw::c_uchar;
1854pub type TThostFtdcRiskLevelType = ::std::os::raw::c_uchar;
1855pub type TThostFtdcFeeAcceptStyleType = ::std::os::raw::c_uchar;
1856pub type TThostFtdcPasswordTypeType = ::std::os::raw::c_uchar;
1857pub type TThostFtdcAlgorithmType = ::std::os::raw::c_uchar;
1858pub type TThostFtdcIncludeCloseProfitType = ::std::os::raw::c_uchar;
1859pub type TThostFtdcAllWithoutTradeType = ::std::os::raw::c_uchar;
1860///
1861/// TFtdcCommentType是一个盈亏算法说明类型
1862///
1863pub type TThostFtdcCommentType = [::std::os::raw::c_uchar; 31usize];
1864///
1865/// TFtdcVersionType是一个版本号类型
1866///
1867pub type TThostFtdcVersionType = [::std::os::raw::c_uchar; 4usize];
1868///
1869/// TFtdcTradeCodeType是一个交易代码类型
1870///
1871pub type TThostFtdcTradeCodeType = [::std::os::raw::c_uchar; 7usize];
1872///
1873/// TFtdcTradeDateType是一个交易日期类型
1874///
1875pub type TThostFtdcTradeDateType = [::std::os::raw::c_uchar; 9usize];
1876///
1877/// TFtdcTradeTimeType是一个交易时间类型
1878///
1879pub type TThostFtdcTradeTimeType = [::std::os::raw::c_uchar; 9usize];
1880///
1881/// TFtdcTradeSerialType是一个发起方流水号类型
1882///
1883pub type TThostFtdcTradeSerialType = [::std::os::raw::c_uchar; 9usize];
1884///
1885/// TFtdcTradeSerialNoType是一个发起方流水号类型
1886///
1887pub type TThostFtdcTradeSerialNoType = ::std::os::raw::c_int;
1888///
1889/// TFtdcFutureIDType是一个期货公司代码类型
1890///
1891pub type TThostFtdcFutureIDType = [::std::os::raw::c_uchar; 11usize];
1892///
1893/// TFtdcBankIDType是一个银行代码类型
1894///
1895pub type TThostFtdcBankIDType = [::std::os::raw::c_uchar; 4usize];
1896///
1897/// TFtdcBankBrchIDType是一个银行分中心代码类型
1898///
1899pub type TThostFtdcBankBrchIDType = [::std::os::raw::c_uchar; 5usize];
1900///
1901/// TFtdcBankBranchIDType是一个分中心代码类型
1902///
1903pub type TThostFtdcBankBranchIDType = [::std::os::raw::c_uchar; 11usize];
1904///
1905/// TFtdcOperNoType是一个交易柜员类型
1906///
1907pub type TThostFtdcOperNoType = [::std::os::raw::c_uchar; 17usize];
1908///
1909/// TFtdcDeviceIDType是一个渠道标志类型
1910///
1911pub type TThostFtdcDeviceIDType = [::std::os::raw::c_uchar; 3usize];
1912///
1913/// TFtdcRecordNumType是一个记录数类型
1914///
1915pub type TThostFtdcRecordNumType = [::std::os::raw::c_uchar; 7usize];
1916///
1917/// TFtdcFutureAccountType是一个期货资金账号类型
1918///
1919pub type TThostFtdcFutureAccountType = [::std::os::raw::c_uchar; 22usize];
1920pub type TThostFtdcFuturePwdFlagType = ::std::os::raw::c_uchar;
1921pub type TThostFtdcTransferTypeType = ::std::os::raw::c_uchar;
1922///
1923/// TFtdcFutureAccPwdType是一个期货资金密码类型
1924///
1925pub type TThostFtdcFutureAccPwdType = [::std::os::raw::c_uchar; 17usize];
1926///
1927/// TFtdcCurrencyCodeType是一个币种类型
1928///
1929pub type TThostFtdcCurrencyCodeType = [::std::os::raw::c_uchar; 4usize];
1930///
1931/// TFtdcRetCodeType是一个响应代码类型
1932///
1933pub type TThostFtdcRetCodeType = [::std::os::raw::c_uchar; 5usize];
1934///
1935/// TFtdcRetInfoType是一个响应信息类型
1936///
1937pub type TThostFtdcRetInfoType = [::std::os::raw::c_uchar; 129usize];
1938///
1939/// TFtdcTradeAmtType是一个银行总余额类型
1940///
1941pub type TThostFtdcTradeAmtType = [::std::os::raw::c_uchar; 20usize];
1942///
1943/// TFtdcUseAmtType是一个银行可用余额类型
1944///
1945pub type TThostFtdcUseAmtType = [::std::os::raw::c_uchar; 20usize];
1946///
1947/// TFtdcFetchAmtType是一个银行可取余额类型
1948///
1949pub type TThostFtdcFetchAmtType = [::std::os::raw::c_uchar; 20usize];
1950pub type TThostFtdcTransferValidFlagType = ::std::os::raw::c_uchar;
1951///
1952/// TFtdcCertCodeType是一个证件号码类型
1953///
1954pub type TThostFtdcCertCodeType = [::std::os::raw::c_uchar; 21usize];
1955pub type TThostFtdcReasonType = ::std::os::raw::c_uchar;
1956///
1957/// TFtdcFundProjectIDType是一个资金项目编号类型
1958///
1959pub type TThostFtdcFundProjectIDType = [::std::os::raw::c_uchar; 5usize];
1960pub type TThostFtdcSexType = ::std::os::raw::c_uchar;
1961///
1962/// TFtdcProfessionType是一个职业类型
1963///
1964pub type TThostFtdcProfessionType = [::std::os::raw::c_uchar; 101usize];
1965///
1966/// TFtdcNationalType是一个国籍类型
1967///
1968pub type TThostFtdcNationalType = [::std::os::raw::c_uchar; 31usize];
1969///
1970/// TFtdcProvinceType是一个省类型
1971///
1972pub type TThostFtdcProvinceType = [::std::os::raw::c_uchar; 51usize];
1973///
1974/// TFtdcRegionType是一个区类型
1975///
1976pub type TThostFtdcRegionType = [::std::os::raw::c_uchar; 16usize];
1977///
1978/// TFtdcCountryType是一个国家类型
1979///
1980pub type TThostFtdcCountryType = [::std::os::raw::c_uchar; 16usize];
1981///
1982/// TFtdcLicenseNOType是一个营业执照类型
1983///
1984pub type TThostFtdcLicenseNOType = [::std::os::raw::c_uchar; 33usize];
1985///
1986/// TFtdcCompanyTypeType是一个企业性质类型
1987///
1988pub type TThostFtdcCompanyTypeType = [::std::os::raw::c_uchar; 16usize];
1989///
1990/// TFtdcBusinessScopeType是一个经营范围类型
1991///
1992pub type TThostFtdcBusinessScopeType = [::std::os::raw::c_uchar; 1001usize];
1993///
1994/// TFtdcCapitalCurrencyType是一个注册资本币种类型
1995///
1996pub type TThostFtdcCapitalCurrencyType = [::std::os::raw::c_uchar; 4usize];
1997pub type TThostFtdcUserTypeType = ::std::os::raw::c_uchar;
1998///
1999/// TFtdcBranchIDType是一个营业部编号类型
2000///
2001pub type TThostFtdcBranchIDType = [::std::os::raw::c_uchar; 9usize];
2002pub type TThostFtdcRateTypeType = ::std::os::raw::c_uchar;
2003pub type TThostFtdcNoteTypeType = ::std::os::raw::c_uchar;
2004pub type TThostFtdcSettlementStyleType = ::std::os::raw::c_uchar;
2005///
2006/// TFtdcBrokerDNSType是一个域名类型
2007///
2008pub type TThostFtdcBrokerDNSType = [::std::os::raw::c_uchar; 256usize];
2009///
2010/// TFtdcSentenceType是一个语句类型
2011///
2012pub type TThostFtdcSentenceType = [::std::os::raw::c_uchar; 501usize];
2013pub type TThostFtdcSettlementBillTypeType = ::std::os::raw::c_uchar;
2014pub type TThostFtdcUserRightTypeType = ::std::os::raw::c_uchar;
2015pub type TThostFtdcMarginPriceTypeType = ::std::os::raw::c_uchar;
2016pub type TThostFtdcBillGenStatusType = ::std::os::raw::c_uchar;
2017pub type TThostFtdcAlgoTypeType = ::std::os::raw::c_uchar;
2018pub type TThostFtdcHandlePositionAlgoIDType = ::std::os::raw::c_uchar;
2019pub type TThostFtdcFindMarginRateAlgoIDType = ::std::os::raw::c_uchar;
2020pub type TThostFtdcHandleTradingAccountAlgoIDType = ::std::os::raw::c_uchar;
2021pub type TThostFtdcPersonTypeType = ::std::os::raw::c_uchar;
2022pub type TThostFtdcQueryInvestorRangeType = ::std::os::raw::c_uchar;
2023pub type TThostFtdcInvestorRiskStatusType = ::std::os::raw::c_uchar;
2024///
2025/// TFtdcLegIDType是一个单腿编号类型
2026///
2027pub type TThostFtdcLegIDType = ::std::os::raw::c_int;
2028///
2029/// TFtdcLegMultipleType是一个单腿乘数类型
2030///
2031pub type TThostFtdcLegMultipleType = ::std::os::raw::c_int;
2032///
2033/// TFtdcImplyLevelType是一个派生层数类型
2034///
2035pub type TThostFtdcImplyLevelType = ::std::os::raw::c_int;
2036///
2037/// TFtdcClearAccountType是一个结算账户类型
2038///
2039pub type TThostFtdcClearAccountType = [::std::os::raw::c_uchar; 33usize];
2040///
2041/// TFtdcOrganNOType是一个结算账户类型
2042///
2043pub type TThostFtdcOrganNOType = [::std::os::raw::c_uchar; 6usize];
2044///
2045/// TFtdcClearbarchIDType是一个结算账户联行号类型
2046///
2047pub type TThostFtdcClearbarchIDType = [::std::os::raw::c_uchar; 6usize];
2048pub type TThostFtdcUserEventTypeType = ::std::os::raw::c_uchar;
2049///
2050/// TFtdcUserEventInfoType是一个用户事件信息类型
2051///
2052pub type TThostFtdcUserEventInfoType = [::std::os::raw::c_uchar; 1025usize];
2053pub type TThostFtdcCloseStyleType = ::std::os::raw::c_uchar;
2054pub type TThostFtdcStatModeType = ::std::os::raw::c_uchar;
2055pub type TThostFtdcParkedOrderStatusType = ::std::os::raw::c_uchar;
2056///
2057/// TFtdcParkedOrderIDType是一个预埋报单编号类型
2058///
2059pub type TThostFtdcParkedOrderIDType = [::std::os::raw::c_uchar; 13usize];
2060///
2061/// TFtdcParkedOrderActionIDType是一个预埋撤单编号类型
2062///
2063pub type TThostFtdcParkedOrderActionIDType =
2064    [::std::os::raw::c_uchar; 13usize];
2065pub type TThostFtdcVirDealStatusType = ::std::os::raw::c_uchar;
2066pub type TThostFtdcOrgSystemIDType = ::std::os::raw::c_uchar;
2067pub type TThostFtdcVirTradeStatusType = ::std::os::raw::c_uchar;
2068pub type TThostFtdcVirBankAccTypeType = ::std::os::raw::c_uchar;
2069pub type TThostFtdcVirementStatusType = ::std::os::raw::c_uchar;
2070pub type TThostFtdcVirementAvailAbilityType = ::std::os::raw::c_uchar;
2071pub type TThostFtdcVirementTradeCodeType = ::std::os::raw::c_uchar;
2072///
2073/// TFtdcPhotoTypeNameType是一个影像类型名称类型
2074///
2075pub type TThostFtdcPhotoTypeNameType = [::std::os::raw::c_uchar; 41usize];
2076///
2077/// TFtdcPhotoTypeIDType是一个影像类型代码类型
2078///
2079pub type TThostFtdcPhotoTypeIDType = [::std::os::raw::c_uchar; 5usize];
2080///
2081/// TFtdcPhotoNameType是一个影像名称类型
2082///
2083pub type TThostFtdcPhotoNameType = [::std::os::raw::c_uchar; 161usize];
2084///
2085/// TFtdcTopicIDType是一个主题代码类型
2086///
2087pub type TThostFtdcTopicIDType = ::std::os::raw::c_int;
2088///
2089/// TFtdcReportTypeIDType是一个交易报告类型标识类型
2090///
2091pub type TThostFtdcReportTypeIDType = [::std::os::raw::c_uchar; 3usize];
2092///
2093/// TFtdcCharacterIDType是一个交易特征代码类型
2094///
2095pub type TThostFtdcCharacterIDType = [::std::os::raw::c_uchar; 5usize];
2096///
2097/// TFtdcAMLParamIDType是一个参数代码类型
2098///
2099pub type TThostFtdcAMLParamIDType = [::std::os::raw::c_uchar; 21usize];
2100///
2101/// TFtdcAMLInvestorTypeType是一个投资者类型类型
2102///
2103pub type TThostFtdcAMLInvestorTypeType = [::std::os::raw::c_uchar; 3usize];
2104///
2105/// TFtdcAMLIdCardTypeType是一个证件类型类型
2106///
2107pub type TThostFtdcAMLIdCardTypeType = [::std::os::raw::c_uchar; 3usize];
2108///
2109/// TFtdcAMLTradeDirectType是一个资金进出方向类型
2110///
2111pub type TThostFtdcAMLTradeDirectType = [::std::os::raw::c_uchar; 3usize];
2112///
2113/// TFtdcAMLTradeModelType是一个资金进出方式类型
2114///
2115pub type TThostFtdcAMLTradeModelType = [::std::os::raw::c_uchar; 3usize];
2116///
2117/// TFtdcAMLOpParamValueType是一个业务参数代码值类型
2118///
2119pub type TThostFtdcAMLOpParamValueType = f64;
2120///
2121/// TFtdcAMLCustomerCardTypeType是一个客户身份证件/证明文件类型类型
2122///
2123pub type TThostFtdcAMLCustomerCardTypeType =
2124    [::std::os::raw::c_uchar; 81usize];
2125///
2126/// TFtdcAMLInstitutionNameType是一个金融机构网点名称类型
2127///
2128pub type TThostFtdcAMLInstitutionNameType = [::std::os::raw::c_uchar; 65usize];
2129///
2130/// TFtdcAMLDistrictIDType是一个金融机构网点所在地区行政区划代码类型
2131///
2132pub type TThostFtdcAMLDistrictIDType = [::std::os::raw::c_uchar; 7usize];
2133///
2134/// TFtdcAMLRelationShipType是一个金融机构网点与大额交易的关系类型
2135///
2136pub type TThostFtdcAMLRelationShipType = [::std::os::raw::c_uchar; 3usize];
2137///
2138/// TFtdcAMLInstitutionTypeType是一个金融机构网点代码类型类型
2139///
2140pub type TThostFtdcAMLInstitutionTypeType = [::std::os::raw::c_uchar; 3usize];
2141///
2142/// TFtdcAMLInstitutionIDType是一个金融机构网点代码类型
2143///
2144pub type TThostFtdcAMLInstitutionIDType = [::std::os::raw::c_uchar; 13usize];
2145///
2146/// TFtdcAMLAccountTypeType是一个账户类型类型
2147///
2148pub type TThostFtdcAMLAccountTypeType = [::std::os::raw::c_uchar; 5usize];
2149///
2150/// TFtdcAMLTradingTypeType是一个交易方式类型
2151///
2152pub type TThostFtdcAMLTradingTypeType = [::std::os::raw::c_uchar; 7usize];
2153///
2154/// TFtdcAMLTransactClassType是一个涉外收支交易分类与代码类型
2155///
2156pub type TThostFtdcAMLTransactClassType = [::std::os::raw::c_uchar; 7usize];
2157///
2158/// TFtdcAMLCapitalIOType是一个资金收付标识类型
2159///
2160pub type TThostFtdcAMLCapitalIOType = [::std::os::raw::c_uchar; 3usize];
2161///
2162/// TFtdcAMLSiteType是一个交易地点类型
2163///
2164pub type TThostFtdcAMLSiteType = [::std::os::raw::c_uchar; 10usize];
2165///
2166/// TFtdcAMLCapitalPurposeType是一个资金用途类型
2167///
2168pub type TThostFtdcAMLCapitalPurposeType = [::std::os::raw::c_uchar; 129usize];
2169///
2170/// TFtdcAMLReportTypeType是一个报文类型类型
2171///
2172pub type TThostFtdcAMLReportTypeType = [::std::os::raw::c_uchar; 2usize];
2173///
2174/// TFtdcAMLSerialNoType是一个编号类型
2175///
2176pub type TThostFtdcAMLSerialNoType = [::std::os::raw::c_uchar; 5usize];
2177///
2178/// TFtdcAMLStatusType是一个状态类型
2179///
2180pub type TThostFtdcAMLStatusType = [::std::os::raw::c_uchar; 2usize];
2181pub type TThostFtdcAMLGenStatusType = ::std::os::raw::c_uchar;
2182///
2183/// TFtdcAMLSeqCodeType是一个业务标识号类型
2184///
2185pub type TThostFtdcAMLSeqCodeType = [::std::os::raw::c_uchar; 65usize];
2186///
2187/// TFtdcAMLFileNameType是一个AML文件名类型
2188///
2189pub type TThostFtdcAMLFileNameType = [::std::os::raw::c_uchar; 257usize];
2190///
2191/// TFtdcAMLMoneyType是一个反洗钱资金类型
2192///
2193pub type TThostFtdcAMLMoneyType = f64;
2194///
2195/// TFtdcAMLFileAmountType是一个反洗钱资金类型
2196///
2197pub type TThostFtdcAMLFileAmountType = ::std::os::raw::c_int;
2198///
2199/// TFtdcCFMMCKeyType是一个密钥类型(保证金监管)类型
2200///
2201pub type TThostFtdcCFMMCKeyType = [::std::os::raw::c_uchar; 21usize];
2202///
2203/// TFtdcCFMMCTokenType是一个令牌类型(保证金监管)类型
2204///
2205pub type TThostFtdcCFMMCTokenType = [::std::os::raw::c_uchar; 21usize];
2206pub type TThostFtdcCFMMCKeyKindType = ::std::os::raw::c_uchar;
2207///
2208/// TFtdcAMLReportNameType是一个报文名称类型
2209///
2210pub type TThostFtdcAMLReportNameType = [::std::os::raw::c_uchar; 81usize];
2211///
2212/// TFtdcIndividualNameType是一个个人姓名类型
2213///
2214pub type TThostFtdcIndividualNameType = [::std::os::raw::c_uchar; 51usize];
2215///
2216/// TFtdcCurrencyIDType是一个币种代码类型
2217///
2218pub type TThostFtdcCurrencyIDType = [::std::os::raw::c_uchar; 4usize];
2219///
2220/// TFtdcCustNumberType是一个客户编号类型
2221///
2222pub type TThostFtdcCustNumberType = [::std::os::raw::c_uchar; 36usize];
2223///
2224/// TFtdcOrganCodeType是一个机构编码类型
2225///
2226pub type TThostFtdcOrganCodeType = [::std::os::raw::c_uchar; 36usize];
2227///
2228/// TFtdcOrganNameType是一个机构名称类型
2229///
2230pub type TThostFtdcOrganNameType = [::std::os::raw::c_uchar; 71usize];
2231///
2232/// TFtdcSuperOrganCodeType是一个上级机构编码,即期货公司总部、银行总行类型
2233///
2234pub type TThostFtdcSuperOrganCodeType = [::std::os::raw::c_uchar; 12usize];
2235///
2236/// TFtdcSubBranchIDType是一个分支机构类型
2237///
2238pub type TThostFtdcSubBranchIDType = [::std::os::raw::c_uchar; 31usize];
2239///
2240/// TFtdcSubBranchNameType是一个分支机构名称类型
2241///
2242pub type TThostFtdcSubBranchNameType = [::std::os::raw::c_uchar; 71usize];
2243///
2244/// TFtdcBranchNetCodeType是一个机构网点号类型
2245///
2246pub type TThostFtdcBranchNetCodeType = [::std::os::raw::c_uchar; 31usize];
2247///
2248/// TFtdcBranchNetNameType是一个机构网点名称类型
2249///
2250pub type TThostFtdcBranchNetNameType = [::std::os::raw::c_uchar; 71usize];
2251///
2252/// TFtdcOrganFlagType是一个机构标识类型
2253///
2254pub type TThostFtdcOrganFlagType = [::std::os::raw::c_uchar; 2usize];
2255///
2256/// TFtdcBankCodingForFutureType是一个银行对期货公司的编码类型
2257///
2258pub type TThostFtdcBankCodingForFutureType =
2259    [::std::os::raw::c_uchar; 33usize];
2260///
2261/// TFtdcBankReturnCodeType是一个银行对返回码的定义类型
2262///
2263pub type TThostFtdcBankReturnCodeType = [::std::os::raw::c_uchar; 7usize];
2264///
2265/// TFtdcPlateReturnCodeType是一个银期转帐平台对返回码的定义类型
2266///
2267pub type TThostFtdcPlateReturnCodeType = [::std::os::raw::c_uchar; 5usize];
2268///
2269/// TFtdcBankSubBranchIDType是一个银行分支机构编码类型
2270///
2271pub type TThostFtdcBankSubBranchIDType = [::std::os::raw::c_uchar; 31usize];
2272///
2273/// TFtdcFutureBranchIDType是一个期货分支机构编码类型
2274///
2275pub type TThostFtdcFutureBranchIDType = [::std::os::raw::c_uchar; 31usize];
2276///
2277/// TFtdcReturnCodeType是一个返回代码类型
2278///
2279pub type TThostFtdcReturnCodeType = [::std::os::raw::c_uchar; 7usize];
2280///
2281/// TFtdcOperatorCodeType是一个操作员类型
2282///
2283pub type TThostFtdcOperatorCodeType = [::std::os::raw::c_uchar; 17usize];
2284///
2285/// TFtdcClearDepIDType是一个机构结算帐户机构号类型
2286///
2287pub type TThostFtdcClearDepIDType = [::std::os::raw::c_uchar; 6usize];
2288///
2289/// TFtdcClearBrchIDType是一个机构结算帐户联行号类型
2290///
2291pub type TThostFtdcClearBrchIDType = [::std::os::raw::c_uchar; 6usize];
2292///
2293/// TFtdcClearNameType是一个机构结算帐户名称类型
2294///
2295pub type TThostFtdcClearNameType = [::std::os::raw::c_uchar; 71usize];
2296///
2297/// TFtdcBankAccountNameType是一个银行帐户名称类型
2298///
2299pub type TThostFtdcBankAccountNameType = [::std::os::raw::c_uchar; 71usize];
2300///
2301/// TFtdcInvDepIDType是一个机构投资人账号机构号类型
2302///
2303pub type TThostFtdcInvDepIDType = [::std::os::raw::c_uchar; 6usize];
2304///
2305/// TFtdcInvBrchIDType是一个机构投资人联行号类型
2306///
2307pub type TThostFtdcInvBrchIDType = [::std::os::raw::c_uchar; 6usize];
2308///
2309/// TFtdcMessageFormatVersionType是一个信息格式版本类型
2310///
2311pub type TThostFtdcMessageFormatVersionType =
2312    [::std::os::raw::c_uchar; 36usize];
2313///
2314/// TFtdcDigestType是一个摘要类型
2315///
2316pub type TThostFtdcDigestType = [::std::os::raw::c_uchar; 36usize];
2317///
2318/// TFtdcAuthenticDataType是一个认证数据类型
2319///
2320pub type TThostFtdcAuthenticDataType = [::std::os::raw::c_uchar; 129usize];
2321///
2322/// TFtdcPasswordKeyType是一个密钥类型
2323///
2324pub type TThostFtdcPasswordKeyType = [::std::os::raw::c_uchar; 129usize];
2325///
2326/// TFtdcFutureAccountNameType是一个期货帐户名称类型
2327///
2328pub type TThostFtdcFutureAccountNameType = [::std::os::raw::c_uchar; 129usize];
2329///
2330/// TFtdcMobilePhoneType是一个手机类型
2331///
2332pub type TThostFtdcMobilePhoneType = [::std::os::raw::c_uchar; 21usize];
2333///
2334/// TFtdcFutureMainKeyType是一个期货公司主密钥类型
2335///
2336pub type TThostFtdcFutureMainKeyType = [::std::os::raw::c_uchar; 129usize];
2337///
2338/// TFtdcFutureWorkKeyType是一个期货公司工作密钥类型
2339///
2340pub type TThostFtdcFutureWorkKeyType = [::std::os::raw::c_uchar; 129usize];
2341///
2342/// TFtdcFutureTransKeyType是一个期货公司传输密钥类型
2343///
2344pub type TThostFtdcFutureTransKeyType = [::std::os::raw::c_uchar; 129usize];
2345///
2346/// TFtdcBankMainKeyType是一个银行主密钥类型
2347///
2348pub type TThostFtdcBankMainKeyType = [::std::os::raw::c_uchar; 129usize];
2349///
2350/// TFtdcBankWorkKeyType是一个银行工作密钥类型
2351///
2352pub type TThostFtdcBankWorkKeyType = [::std::os::raw::c_uchar; 129usize];
2353///
2354/// TFtdcBankTransKeyType是一个银行传输密钥类型
2355///
2356pub type TThostFtdcBankTransKeyType = [::std::os::raw::c_uchar; 129usize];
2357///
2358/// TFtdcBankServerDescriptionType是一个银行服务器描述信息类型
2359///
2360pub type TThostFtdcBankServerDescriptionType =
2361    [::std::os::raw::c_uchar; 129usize];
2362///
2363/// TFtdcAddInfoType是一个附加信息类型
2364///
2365pub type TThostFtdcAddInfoType = [::std::os::raw::c_uchar; 129usize];
2366///
2367/// TFtdcDescrInfoForReturnCodeType是一个返回码描述类型
2368///
2369pub type TThostFtdcDescrInfoForReturnCodeType =
2370    [::std::os::raw::c_uchar; 129usize];
2371///
2372/// TFtdcCountryCodeType是一个国家代码类型
2373///
2374pub type TThostFtdcCountryCodeType = [::std::os::raw::c_uchar; 21usize];
2375///
2376/// TFtdcSerialType是一个流水号类型
2377///
2378pub type TThostFtdcSerialType = ::std::os::raw::c_int;
2379///
2380/// TFtdcPlateSerialType是一个平台流水号类型
2381///
2382pub type TThostFtdcPlateSerialType = ::std::os::raw::c_int;
2383///
2384/// TFtdcBankSerialType是一个银行流水号类型
2385///
2386pub type TThostFtdcBankSerialType = [::std::os::raw::c_uchar; 13usize];
2387///
2388/// TFtdcCorrectSerialType是一个被冲正交易流水号类型
2389///
2390pub type TThostFtdcCorrectSerialType = ::std::os::raw::c_int;
2391///
2392/// TFtdcFutureSerialType是一个期货公司流水号类型
2393///
2394pub type TThostFtdcFutureSerialType = ::std::os::raw::c_int;
2395///
2396/// TFtdcApplicationIDType是一个应用标识类型
2397///
2398pub type TThostFtdcApplicationIDType = ::std::os::raw::c_int;
2399///
2400/// TFtdcBankProxyIDType是一个银行代理标识类型
2401///
2402pub type TThostFtdcBankProxyIDType = ::std::os::raw::c_int;
2403///
2404/// TFtdcFBTCoreIDType是一个银期转帐核心系统标识类型
2405///
2406pub type TThostFtdcFBTCoreIDType = ::std::os::raw::c_int;
2407///
2408/// TFtdcServerPortType是一个服务端口号类型
2409///
2410pub type TThostFtdcServerPortType = ::std::os::raw::c_int;
2411///
2412/// TFtdcRepealedTimesType是一个已经冲正次数类型
2413///
2414pub type TThostFtdcRepealedTimesType = ::std::os::raw::c_int;
2415///
2416/// TFtdcRepealTimeIntervalType是一个冲正时间间隔类型
2417///
2418pub type TThostFtdcRepealTimeIntervalType = ::std::os::raw::c_int;
2419///
2420/// TFtdcTotalTimesType是一个每日累计转帐次数类型
2421///
2422pub type TThostFtdcTotalTimesType = ::std::os::raw::c_int;
2423///
2424/// TFtdcFBTRequestIDType是一个请求ID类型
2425///
2426pub type TThostFtdcFBTRequestIDType = ::std::os::raw::c_int;
2427///
2428/// TFtdcTIDType是一个交易ID类型
2429///
2430pub type TThostFtdcTIDType = ::std::os::raw::c_int;
2431///
2432/// TFtdcTradeAmountType是一个交易金额(元)类型
2433///
2434pub type TThostFtdcTradeAmountType = f64;
2435///
2436/// TFtdcCustFeeType是一个应收客户费用(元)类型
2437///
2438pub type TThostFtdcCustFeeType = f64;
2439///
2440/// TFtdcFutureFeeType是一个应收期货公司费用(元)类型
2441///
2442pub type TThostFtdcFutureFeeType = f64;
2443///
2444/// TFtdcSingleMaxAmtType是一个单笔最高限额类型
2445///
2446pub type TThostFtdcSingleMaxAmtType = f64;
2447///
2448/// TFtdcSingleMinAmtType是一个单笔最低限额类型
2449///
2450pub type TThostFtdcSingleMinAmtType = f64;
2451///
2452/// TFtdcTotalAmtType是一个每日累计转帐额度类型
2453///
2454pub type TThostFtdcTotalAmtType = f64;
2455pub type TThostFtdcCertificationTypeType = ::std::os::raw::c_uchar;
2456pub type TThostFtdcFileBusinessCodeType = ::std::os::raw::c_uchar;
2457pub type TThostFtdcCashExchangeCodeType = ::std::os::raw::c_uchar;
2458pub type TThostFtdcYesNoIndicatorType = ::std::os::raw::c_uchar;
2459pub type TThostFtdcBanlanceTypeType = ::std::os::raw::c_uchar;
2460pub type TThostFtdcGenderType = ::std::os::raw::c_uchar;
2461pub type TThostFtdcFeePayFlagType = ::std::os::raw::c_uchar;
2462pub type TThostFtdcPassWordKeyTypeType = ::std::os::raw::c_uchar;
2463pub type TThostFtdcFBTPassWordTypeType = ::std::os::raw::c_uchar;
2464pub type TThostFtdcFBTEncryModeType = ::std::os::raw::c_uchar;
2465pub type TThostFtdcBankRepealFlagType = ::std::os::raw::c_uchar;
2466pub type TThostFtdcBrokerRepealFlagType = ::std::os::raw::c_uchar;
2467pub type TThostFtdcInstitutionTypeType = ::std::os::raw::c_uchar;
2468pub type TThostFtdcLastFragmentType = ::std::os::raw::c_uchar;
2469pub type TThostFtdcBankAccStatusType = ::std::os::raw::c_uchar;
2470pub type TThostFtdcMoneyAccountStatusType = ::std::os::raw::c_uchar;
2471pub type TThostFtdcManageStatusType = ::std::os::raw::c_uchar;
2472pub type TThostFtdcSystemTypeType = ::std::os::raw::c_uchar;
2473pub type TThostFtdcTxnEndFlagType = ::std::os::raw::c_uchar;
2474pub type TThostFtdcProcessStatusType = ::std::os::raw::c_uchar;
2475pub type TThostFtdcCustTypeType = ::std::os::raw::c_uchar;
2476pub type TThostFtdcFBTTransferDirectionType = ::std::os::raw::c_uchar;
2477pub type TThostFtdcOpenOrDestroyType = ::std::os::raw::c_uchar;
2478pub type TThostFtdcAvailabilityFlagType = ::std::os::raw::c_uchar;
2479pub type TThostFtdcOrganTypeType = ::std::os::raw::c_uchar;
2480pub type TThostFtdcOrganLevelType = ::std::os::raw::c_uchar;
2481pub type TThostFtdcProtocalIDType = ::std::os::raw::c_uchar;
2482pub type TThostFtdcConnectModeType = ::std::os::raw::c_uchar;
2483pub type TThostFtdcSyncModeType = ::std::os::raw::c_uchar;
2484pub type TThostFtdcBankAccTypeType = ::std::os::raw::c_uchar;
2485pub type TThostFtdcFutureAccTypeType = ::std::os::raw::c_uchar;
2486pub type TThostFtdcOrganStatusType = ::std::os::raw::c_uchar;
2487pub type TThostFtdcCCBFeeModeType = ::std::os::raw::c_uchar;
2488pub type TThostFtdcCommApiTypeType = ::std::os::raw::c_uchar;
2489///
2490/// TFtdcServiceIDType是一个服务编号类型
2491///
2492pub type TThostFtdcServiceIDType = ::std::os::raw::c_int;
2493///
2494/// TFtdcServiceLineNoType是一个服务线路编号类型
2495///
2496pub type TThostFtdcServiceLineNoType = ::std::os::raw::c_int;
2497///
2498/// TFtdcServiceNameType是一个服务名类型
2499///
2500pub type TThostFtdcServiceNameType = [::std::os::raw::c_uchar; 61usize];
2501pub type TThostFtdcLinkStatusType = ::std::os::raw::c_uchar;
2502///
2503/// TFtdcCommApiPointerType是一个通讯API指针类型
2504///
2505pub type TThostFtdcCommApiPointerType = ::std::os::raw::c_int;
2506pub type TThostFtdcPwdFlagType = ::std::os::raw::c_uchar;
2507pub type TThostFtdcSecuAccTypeType = ::std::os::raw::c_uchar;
2508pub type TThostFtdcTransferStatusType = ::std::os::raw::c_uchar;
2509pub type TThostFtdcSponsorTypeType = ::std::os::raw::c_uchar;
2510pub type TThostFtdcReqRspTypeType = ::std::os::raw::c_uchar;
2511pub type TThostFtdcFBTUserEventTypeType = ::std::os::raw::c_uchar;
2512///
2513/// TFtdcBankIDByBankType是一个银行自己的编码类型
2514///
2515pub type TThostFtdcBankIDByBankType = [::std::os::raw::c_uchar; 21usize];
2516///
2517/// TFtdcBankOperNoType是一个银行操作员号类型
2518///
2519pub type TThostFtdcBankOperNoType = [::std::os::raw::c_uchar; 4usize];
2520///
2521/// TFtdcBankCustNoType是一个银行客户号类型
2522///
2523pub type TThostFtdcBankCustNoType = [::std::os::raw::c_uchar; 21usize];
2524///
2525/// TFtdcDBOPSeqNoType是一个递增的序列号类型
2526///
2527pub type TThostFtdcDBOPSeqNoType = ::std::os::raw::c_int;
2528///
2529/// TFtdcTableNameType是一个FBT表名类型
2530///
2531pub type TThostFtdcTableNameType = [::std::os::raw::c_uchar; 61usize];
2532///
2533/// TFtdcPKNameType是一个FBT表操作主键名类型
2534///
2535pub type TThostFtdcPKNameType = [::std::os::raw::c_uchar; 201usize];
2536///
2537/// TFtdcPKValueType是一个FBT表操作主键值类型
2538///
2539pub type TThostFtdcPKValueType = [::std::os::raw::c_uchar; 501usize];
2540pub type TThostFtdcDBOperationType = ::std::os::raw::c_uchar;
2541pub type TThostFtdcSyncFlagType = ::std::os::raw::c_uchar;
2542///
2543/// TFtdcTargetIDType是一个同步目标编号类型
2544///
2545pub type TThostFtdcTargetIDType = [::std::os::raw::c_uchar; 4usize];
2546pub type TThostFtdcSyncTypeType = ::std::os::raw::c_uchar;
2547///
2548/// TFtdcFBETimeType是一个各种换汇时间类型
2549///
2550pub type TThostFtdcFBETimeType = [::std::os::raw::c_uchar; 7usize];
2551///
2552/// TFtdcFBEBankNoType是一个换汇银行行号类型
2553///
2554pub type TThostFtdcFBEBankNoType = [::std::os::raw::c_uchar; 13usize];
2555///
2556/// TFtdcFBECertNoType是一个换汇凭证号类型
2557///
2558pub type TThostFtdcFBECertNoType = [::std::os::raw::c_uchar; 13usize];
2559pub type TThostFtdcExDirectionType = ::std::os::raw::c_uchar;
2560///
2561/// TFtdcFBEBankAccountType是一个换汇银行账户类型
2562///
2563pub type TThostFtdcFBEBankAccountType = [::std::os::raw::c_uchar; 33usize];
2564///
2565/// TFtdcFBEBankAccountNameType是一个换汇银行账户名类型
2566///
2567pub type TThostFtdcFBEBankAccountNameType = [::std::os::raw::c_uchar; 61usize];
2568///
2569/// TFtdcFBEAmtType是一个各种换汇金额类型
2570///
2571pub type TThostFtdcFBEAmtType = f64;
2572///
2573/// TFtdcFBEBusinessTypeType是一个换汇业务类型类型
2574///
2575pub type TThostFtdcFBEBusinessTypeType = [::std::os::raw::c_uchar; 3usize];
2576///
2577/// TFtdcFBEPostScriptType是一个换汇附言类型
2578///
2579pub type TThostFtdcFBEPostScriptType = [::std::os::raw::c_uchar; 61usize];
2580///
2581/// TFtdcFBERemarkType是一个换汇备注类型
2582///
2583pub type TThostFtdcFBERemarkType = [::std::os::raw::c_uchar; 71usize];
2584///
2585/// TFtdcExRateType是一个换汇汇率类型
2586///
2587pub type TThostFtdcExRateType = f64;
2588pub type TThostFtdcFBEResultFlagType = ::std::os::raw::c_uchar;
2589///
2590/// TFtdcFBERtnMsgType是一个换汇返回信息类型
2591///
2592pub type TThostFtdcFBERtnMsgType = [::std::os::raw::c_uchar; 61usize];
2593///
2594/// TFtdcFBEExtendMsgType是一个换汇扩展信息类型
2595///
2596pub type TThostFtdcFBEExtendMsgType = [::std::os::raw::c_uchar; 61usize];
2597///
2598/// TFtdcFBEBusinessSerialType是一个换汇记账流水号类型
2599///
2600pub type TThostFtdcFBEBusinessSerialType = [::std::os::raw::c_uchar; 31usize];
2601///
2602/// TFtdcFBESystemSerialType是一个换汇流水号类型
2603///
2604pub type TThostFtdcFBESystemSerialType = [::std::os::raw::c_uchar; 21usize];
2605///
2606/// TFtdcFBETotalExCntType是一个换汇交易总笔数类型
2607///
2608pub type TThostFtdcFBETotalExCntType = ::std::os::raw::c_int;
2609pub type TThostFtdcFBEExchStatusType = ::std::os::raw::c_uchar;
2610pub type TThostFtdcFBEFileFlagType = ::std::os::raw::c_uchar;
2611pub type TThostFtdcFBEAlreadyTradeType = ::std::os::raw::c_uchar;
2612///
2613/// TFtdcFBEOpenBankType是一个换汇账户开户行类型
2614///
2615pub type TThostFtdcFBEOpenBankType = [::std::os::raw::c_uchar; 61usize];
2616pub type TThostFtdcFBEUserEventTypeType = ::std::os::raw::c_uchar;
2617///
2618/// TFtdcFBEFileNameType是一个换汇相关文件名类型
2619///
2620pub type TThostFtdcFBEFileNameType = [::std::os::raw::c_uchar; 21usize];
2621///
2622/// TFtdcFBEBatchSerialType是一个换汇批次号类型
2623///
2624pub type TThostFtdcFBEBatchSerialType = [::std::os::raw::c_uchar; 21usize];
2625pub type TThostFtdcFBEReqFlagType = ::std::os::raw::c_uchar;
2626pub type TThostFtdcNotifyClassType = ::std::os::raw::c_uchar;
2627///
2628/// TFtdcRiskNofityInfoType是一个客户风险通知消息类型
2629///
2630pub type TThostFtdcRiskNofityInfoType = [::std::os::raw::c_uchar; 257usize];
2631///
2632/// TFtdcForceCloseSceneIdType是一个强平场景编号类型
2633///
2634pub type TThostFtdcForceCloseSceneIdType = [::std::os::raw::c_uchar; 24usize];
2635pub type TThostFtdcForceCloseTypeType = ::std::os::raw::c_uchar;
2636///
2637/// TFtdcInstrumentIDsType是一个多个产品代码,用+分隔,如cu+zn类型
2638///
2639pub type TThostFtdcInstrumentIDsType = [::std::os::raw::c_uchar; 101usize];
2640pub type TThostFtdcRiskNotifyMethodType = ::std::os::raw::c_uchar;
2641pub type TThostFtdcRiskNotifyStatusType = ::std::os::raw::c_uchar;
2642pub type TThostFtdcRiskUserEventType = ::std::os::raw::c_uchar;
2643///
2644/// TFtdcParamIDType是一个参数代码类型
2645///
2646pub type TThostFtdcParamIDType = ::std::os::raw::c_int;
2647///
2648/// TFtdcParamNameType是一个参数名类型
2649///
2650pub type TThostFtdcParamNameType = [::std::os::raw::c_uchar; 41usize];
2651///
2652/// TFtdcParamValueType是一个参数值类型
2653///
2654pub type TThostFtdcParamValueType = [::std::os::raw::c_uchar; 41usize];
2655pub type TThostFtdcConditionalOrderSortTypeType = ::std::os::raw::c_uchar;
2656pub type TThostFtdcSendTypeType = ::std::os::raw::c_uchar;
2657pub type TThostFtdcClientIDStatusType = ::std::os::raw::c_uchar;
2658///
2659/// TFtdcIndustryIDType是一个行业编码类型
2660///
2661pub type TThostFtdcIndustryIDType = [::std::os::raw::c_uchar; 17usize];
2662///
2663/// TFtdcQuestionIDType是一个特有信息编号类型
2664///
2665pub type TThostFtdcQuestionIDType = [::std::os::raw::c_uchar; 5usize];
2666///
2667/// TFtdcQuestionContentType是一个特有信息说明类型
2668///
2669pub type TThostFtdcQuestionContentType = [::std::os::raw::c_uchar; 41usize];
2670///
2671/// TFtdcOptionIDType是一个选项编号类型
2672///
2673pub type TThostFtdcOptionIDType = [::std::os::raw::c_uchar; 13usize];
2674///
2675/// TFtdcOptionContentType是一个选项说明类型
2676///
2677pub type TThostFtdcOptionContentType = [::std::os::raw::c_uchar; 61usize];
2678pub type TThostFtdcQuestionTypeType = ::std::os::raw::c_uchar;
2679///
2680/// TFtdcProcessIDType是一个业务流水号类型
2681///
2682pub type TThostFtdcProcessIDType = [::std::os::raw::c_uchar; 33usize];
2683///
2684/// TFtdcSeqNoType是一个流水号类型
2685///
2686pub type TThostFtdcSeqNoType = ::std::os::raw::c_int;
2687///
2688/// TFtdcUOAProcessStatusType是一个流程状态类型
2689///
2690pub type TThostFtdcUOAProcessStatusType = [::std::os::raw::c_uchar; 3usize];
2691///
2692/// TFtdcProcessTypeType是一个流程功能类型类型
2693///
2694pub type TThostFtdcProcessTypeType = [::std::os::raw::c_uchar; 3usize];
2695pub type TThostFtdcBusinessTypeType = ::std::os::raw::c_uchar;
2696pub type TThostFtdcCfmmcReturnCodeType = ::std::os::raw::c_uchar;
2697///
2698/// TFtdcExReturnCodeType是一个交易所返回码类型
2699///
2700pub type TThostFtdcExReturnCodeType = ::std::os::raw::c_int;
2701pub type TThostFtdcClientTypeType = ::std::os::raw::c_uchar;
2702pub type TThostFtdcExchangeIDTypeType = ::std::os::raw::c_uchar;
2703pub type TThostFtdcExClientIDTypeType = ::std::os::raw::c_uchar;
2704///
2705/// TFtdcClientClassifyType是一个客户分类码类型
2706///
2707pub type TThostFtdcClientClassifyType = [::std::os::raw::c_uchar; 11usize];
2708///
2709/// TFtdcUOAOrganTypeType是一个单位性质类型
2710///
2711pub type TThostFtdcUOAOrganTypeType = [::std::os::raw::c_uchar; 11usize];
2712///
2713/// TFtdcUOACountryCodeType是一个国家代码类型
2714///
2715pub type TThostFtdcUOACountryCodeType = [::std::os::raw::c_uchar; 11usize];
2716///
2717/// TFtdcAreaCodeType是一个区号类型
2718///
2719pub type TThostFtdcAreaCodeType = [::std::os::raw::c_uchar; 11usize];
2720///
2721/// TFtdcFuturesIDType是一个监控中心为客户分配的代码类型
2722///
2723pub type TThostFtdcFuturesIDType = [::std::os::raw::c_uchar; 21usize];
2724///
2725/// TFtdcCffmcDateType是一个日期类型
2726///
2727pub type TThostFtdcCffmcDateType = [::std::os::raw::c_uchar; 11usize];
2728///
2729/// TFtdcCffmcTimeType是一个时间类型
2730///
2731pub type TThostFtdcCffmcTimeType = [::std::os::raw::c_uchar; 11usize];
2732///
2733/// TFtdcNocIDType是一个组织机构代码类型
2734///
2735pub type TThostFtdcNocIDType = [::std::os::raw::c_uchar; 21usize];
2736pub type TThostFtdcUpdateFlagType = ::std::os::raw::c_uchar;
2737pub type TThostFtdcApplyOperateIDType = ::std::os::raw::c_uchar;
2738pub type TThostFtdcApplyStatusIDType = ::std::os::raw::c_uchar;
2739pub type TThostFtdcSendMethodType = ::std::os::raw::c_uchar;
2740///
2741/// TFtdcEventTypeType是一个业务操作类型类型
2742///
2743pub type TThostFtdcEventTypeType = [::std::os::raw::c_uchar; 33usize];
2744pub type TThostFtdcEventModeType = ::std::os::raw::c_uchar;
2745pub type TThostFtdcUOAAutoSendType = ::std::os::raw::c_uchar;
2746///
2747/// TFtdcQueryDepthType是一个查询深度类型
2748///
2749pub type TThostFtdcQueryDepthType = ::std::os::raw::c_int;
2750///
2751/// TFtdcDataCenterIDType是一个数据中心代码类型
2752///
2753pub type TThostFtdcDataCenterIDType = ::std::os::raw::c_int;
2754pub type TThostFtdcFlowIDType = ::std::os::raw::c_uchar;
2755pub type TThostFtdcCheckLevelType = ::std::os::raw::c_uchar;
2756///
2757/// TFtdcCheckNoType是一个操作次数类型
2758///
2759pub type TThostFtdcCheckNoType = ::std::os::raw::c_int;
2760pub type TThostFtdcCheckStatusType = ::std::os::raw::c_uchar;
2761pub type TThostFtdcUsedStatusType = ::std::os::raw::c_uchar;
2762///
2763/// TFtdcRateTemplateNameType是一个模型名称类型
2764///
2765pub type TThostFtdcRateTemplateNameType = [::std::os::raw::c_uchar; 61usize];
2766///
2767/// TFtdcPropertyStringType是一个用于查询的投资属性字段类型
2768///
2769pub type TThostFtdcPropertyStringType = [::std::os::raw::c_uchar; 2049usize];
2770pub type TThostFtdcBankAcountOriginType = ::std::os::raw::c_uchar;
2771pub type TThostFtdcMonthBillTradeSumType = ::std::os::raw::c_uchar;
2772pub type TThostFtdcFBTTradeCodeEnumType = ::std::os::raw::c_uchar;
2773///
2774/// TFtdcRateTemplateIDType是一个模型代码类型
2775///
2776pub type TThostFtdcRateTemplateIDType = [::std::os::raw::c_uchar; 9usize];
2777///
2778/// TFtdcRiskRateType是一个风险度类型
2779///
2780pub type TThostFtdcRiskRateType = [::std::os::raw::c_uchar; 21usize];
2781///
2782/// TFtdcTimestampType是一个时间戳类型
2783///
2784pub type TThostFtdcTimestampType = ::std::os::raw::c_int;
2785///
2786/// TFtdcInvestorIDRuleNameType是一个号段规则名称类型
2787///
2788pub type TThostFtdcInvestorIDRuleNameType = [::std::os::raw::c_uchar; 61usize];
2789///
2790/// TFtdcInvestorIDRuleExprType是一个号段规则表达式类型
2791///
2792pub type TThostFtdcInvestorIDRuleExprType =
2793    [::std::os::raw::c_uchar; 513usize];
2794///
2795/// TFtdcLastDriftType是一个上次OTP漂移值类型
2796///
2797pub type TThostFtdcLastDriftType = ::std::os::raw::c_int;
2798///
2799/// TFtdcLastSuccessType是一个上次OTP成功值类型
2800///
2801pub type TThostFtdcLastSuccessType = ::std::os::raw::c_int;
2802///
2803/// TFtdcAuthKeyType是一个令牌密钥类型
2804///
2805pub type TThostFtdcAuthKeyType = [::std::os::raw::c_uchar; 41usize];
2806///
2807/// TFtdcSerialNumberType是一个序列号类型
2808///
2809pub type TThostFtdcSerialNumberType = [::std::os::raw::c_uchar; 17usize];
2810pub type TThostFtdcOTPTypeType = ::std::os::raw::c_uchar;
2811///
2812/// TFtdcOTPVendorsIDType是一个动态令牌提供商类型
2813///
2814pub type TThostFtdcOTPVendorsIDType = [::std::os::raw::c_uchar; 2usize];
2815///
2816/// TFtdcOTPVendorsNameType是一个动态令牌提供商名称类型
2817///
2818pub type TThostFtdcOTPVendorsNameType = [::std::os::raw::c_uchar; 61usize];
2819pub type TThostFtdcOTPStatusType = ::std::os::raw::c_uchar;
2820pub type TThostFtdcBrokerUserTypeType = ::std::os::raw::c_uchar;
2821pub type TThostFtdcFutureTypeType = ::std::os::raw::c_uchar;
2822pub type TThostFtdcFundEventTypeType = ::std::os::raw::c_uchar;
2823pub type TThostFtdcAccountSourceTypeType = ::std::os::raw::c_uchar;
2824pub type TThostFtdcCodeSourceTypeType = ::std::os::raw::c_uchar;
2825pub type TThostFtdcUserRangeType = ::std::os::raw::c_uchar;
2826///
2827/// TFtdcTimeSpanType是一个时间跨度类型
2828///
2829pub type TThostFtdcTimeSpanType = [::std::os::raw::c_uchar; 9usize];
2830///
2831/// TFtdcImportSequenceIDType是一个动态令牌导入批次编号类型
2832///
2833pub type TThostFtdcImportSequenceIDType = [::std::os::raw::c_uchar; 17usize];
2834pub type TThostFtdcByGroupType = ::std::os::raw::c_uchar;
2835pub type TThostFtdcTradeSumStatModeType = ::std::os::raw::c_uchar;
2836///
2837/// TFtdcComTypeType是一个组合成交类型类型
2838///
2839pub type TThostFtdcComTypeType = ::std::os::raw::c_int;
2840///
2841/// TFtdcUserProductIDType是一个产品标识类型
2842///
2843pub type TThostFtdcUserProductIDType = [::std::os::raw::c_uchar; 33usize];
2844///
2845/// TFtdcUserProductNameType是一个产品名称类型
2846///
2847pub type TThostFtdcUserProductNameType = [::std::os::raw::c_uchar; 65usize];
2848///
2849/// TFtdcUserProductMemoType是一个产品说明类型
2850///
2851pub type TThostFtdcUserProductMemoType = [::std::os::raw::c_uchar; 129usize];
2852///
2853/// TFtdcCSRCCancelFlagType是一个新增或变更标志类型
2854///
2855pub type TThostFtdcCSRCCancelFlagType = [::std::os::raw::c_uchar; 2usize];
2856///
2857/// TFtdcCSRCDateType是一个日期类型
2858///
2859pub type TThostFtdcCSRCDateType = [::std::os::raw::c_uchar; 11usize];
2860///
2861/// TFtdcCSRCInvestorNameType是一个客户名称类型
2862///
2863pub type TThostFtdcCSRCInvestorNameType = [::std::os::raw::c_uchar; 201usize];
2864///
2865/// TFtdcCSRCOpenInvestorNameType是一个客户名称类型
2866///
2867pub type TThostFtdcCSRCOpenInvestorNameType =
2868    [::std::os::raw::c_uchar; 101usize];
2869///
2870/// TFtdcCSRCInvestorIDType是一个客户代码类型
2871///
2872pub type TThostFtdcCSRCInvestorIDType = [::std::os::raw::c_uchar; 13usize];
2873///
2874/// TFtdcCSRCIdentifiedCardNoType是一个证件号码类型
2875///
2876pub type TThostFtdcCSRCIdentifiedCardNoType =
2877    [::std::os::raw::c_uchar; 51usize];
2878///
2879/// TFtdcCSRCClientIDType是一个交易编码类型
2880///
2881pub type TThostFtdcCSRCClientIDType = [::std::os::raw::c_uchar; 11usize];
2882///
2883/// TFtdcCSRCBankFlagType是一个银行标识类型
2884///
2885pub type TThostFtdcCSRCBankFlagType = [::std::os::raw::c_uchar; 3usize];
2886///
2887/// TFtdcCSRCBankAccountType是一个银行账户类型
2888///
2889pub type TThostFtdcCSRCBankAccountType = [::std::os::raw::c_uchar; 23usize];
2890///
2891/// TFtdcCSRCOpenNameType是一个开户人类型
2892///
2893pub type TThostFtdcCSRCOpenNameType = [::std::os::raw::c_uchar; 401usize];
2894///
2895/// TFtdcCSRCMemoType是一个说明类型
2896///
2897pub type TThostFtdcCSRCMemoType = [::std::os::raw::c_uchar; 101usize];
2898///
2899/// TFtdcCSRCTimeType是一个时间类型
2900///
2901pub type TThostFtdcCSRCTimeType = [::std::os::raw::c_uchar; 11usize];
2902///
2903/// TFtdcCSRCTradeIDType是一个成交流水号类型
2904///
2905pub type TThostFtdcCSRCTradeIDType = [::std::os::raw::c_uchar; 21usize];
2906///
2907/// TFtdcCSRCExchangeInstIDType是一个合约代码类型
2908///
2909pub type TThostFtdcCSRCExchangeInstIDType = [::std::os::raw::c_uchar; 31usize];
2910///
2911/// TFtdcCSRCMortgageNameType是一个质押品名称类型
2912///
2913pub type TThostFtdcCSRCMortgageNameType = [::std::os::raw::c_uchar; 7usize];
2914///
2915/// TFtdcCSRCReasonType是一个事由类型
2916///
2917pub type TThostFtdcCSRCReasonType = [::std::os::raw::c_uchar; 3usize];
2918///
2919/// TFtdcIsSettlementType是一个是否为非结算会员类型
2920///
2921pub type TThostFtdcIsSettlementType = [::std::os::raw::c_uchar; 2usize];
2922///
2923/// TFtdcCSRCMoneyType是一个资金类型
2924///
2925pub type TThostFtdcCSRCMoneyType = f64;
2926///
2927/// TFtdcCSRCPriceType是一个价格类型
2928///
2929pub type TThostFtdcCSRCPriceType = f64;
2930///
2931/// TFtdcCSRCOptionsTypeType是一个期权类型类型
2932///
2933pub type TThostFtdcCSRCOptionsTypeType = [::std::os::raw::c_uchar; 2usize];
2934///
2935/// TFtdcCSRCStrikePriceType是一个执行价类型
2936///
2937pub type TThostFtdcCSRCStrikePriceType = f64;
2938///
2939/// TFtdcCSRCTargetProductIDType是一个标的品种类型
2940///
2941pub type TThostFtdcCSRCTargetProductIDType = [::std::os::raw::c_uchar; 3usize];
2942///
2943/// TFtdcCSRCTargetInstrIDType是一个标的合约类型
2944///
2945pub type TThostFtdcCSRCTargetInstrIDType = [::std::os::raw::c_uchar; 31usize];
2946///
2947/// TFtdcCommModelNameType是一个手续费率模板名称类型
2948///
2949pub type TThostFtdcCommModelNameType = [::std::os::raw::c_uchar; 161usize];
2950///
2951/// TFtdcCommModelMemoType是一个手续费率模板备注类型
2952///
2953pub type TThostFtdcCommModelMemoType = [::std::os::raw::c_uchar; 1025usize];
2954pub type TThostFtdcExprSetModeType = ::std::os::raw::c_uchar;
2955pub type TThostFtdcRateInvestorRangeType = ::std::os::raw::c_uchar;
2956///
2957/// TFtdcAgentBrokerIDType是一个代理经纪公司代码类型
2958///
2959pub type TThostFtdcAgentBrokerIDType = [::std::os::raw::c_uchar; 13usize];
2960///
2961/// TFtdcDRIdentityIDType是一个交易中心代码类型
2962///
2963pub type TThostFtdcDRIdentityIDType = ::std::os::raw::c_int;
2964///
2965/// TFtdcDRIdentityNameType是一个交易中心名称类型
2966///
2967pub type TThostFtdcDRIdentityNameType = [::std::os::raw::c_uchar; 65usize];
2968///
2969/// TFtdcDBLinkIDType是一个DBLink标识号类型
2970///
2971pub type TThostFtdcDBLinkIDType = [::std::os::raw::c_uchar; 31usize];
2972pub type TThostFtdcSyncDataStatusType = ::std::os::raw::c_uchar;
2973pub type TThostFtdcTradeSourceType = ::std::os::raw::c_uchar;
2974pub type TThostFtdcFlexStatModeType = ::std::os::raw::c_uchar;
2975pub type TThostFtdcByInvestorRangeType = ::std::os::raw::c_uchar;
2976///
2977/// TFtdcSRiskRateType是一个风险度类型
2978///
2979pub type TThostFtdcSRiskRateType = [::std::os::raw::c_uchar; 21usize];
2980///
2981/// TFtdcSequenceNo12Type是一个序号类型
2982///
2983pub type TThostFtdcSequenceNo12Type = ::std::os::raw::c_int;
2984pub type TThostFtdcPropertyInvestorRangeType = ::std::os::raw::c_uchar;
2985pub type TThostFtdcFileStatusType = ::std::os::raw::c_uchar;
2986pub type TThostFtdcFileGenStyleType = ::std::os::raw::c_uchar;
2987pub type TThostFtdcSysOperModeType = ::std::os::raw::c_uchar;
2988pub type TThostFtdcSysOperTypeType = ::std::os::raw::c_uchar;
2989pub type TThostFtdcCSRCDataQueyTypeType = ::std::os::raw::c_uchar;
2990pub type TThostFtdcFreezeStatusType = ::std::os::raw::c_uchar;
2991pub type TThostFtdcStandardStatusType = ::std::os::raw::c_uchar;
2992///
2993/// TFtdcCSRCFreezeStatusType是一个休眠状态类型
2994///
2995pub type TThostFtdcCSRCFreezeStatusType = [::std::os::raw::c_uchar; 2usize];
2996pub type TThostFtdcRightParamTypeType = ::std::os::raw::c_uchar;
2997///
2998/// TFtdcRightTemplateIDType是一个模板代码类型
2999///
3000pub type TThostFtdcRightTemplateIDType = [::std::os::raw::c_uchar; 9usize];
3001///
3002/// TFtdcRightTemplateNameType是一个模板名称类型
3003///
3004pub type TThostFtdcRightTemplateNameType = [::std::os::raw::c_uchar; 61usize];
3005pub type TThostFtdcDataStatusType = ::std::os::raw::c_uchar;
3006pub type TThostFtdcAMLCheckStatusType = ::std::os::raw::c_uchar;
3007pub type TThostFtdcAmlDateTypeType = ::std::os::raw::c_uchar;
3008pub type TThostFtdcAmlCheckLevelType = ::std::os::raw::c_uchar;
3009///
3010/// TFtdcAmlCheckFlowType是一个反洗钱数据抽取审核流程类型
3011///
3012pub type TThostFtdcAmlCheckFlowType = [::std::os::raw::c_uchar; 2usize];
3013///
3014/// TFtdcDataTypeType是一个数据类型类型
3015///
3016pub type TThostFtdcDataTypeType = [::std::os::raw::c_uchar; 129usize];
3017pub type TThostFtdcExportFileTypeType = ::std::os::raw::c_uchar;
3018pub type TThostFtdcSettleManagerTypeType = ::std::os::raw::c_uchar;
3019///
3020/// TFtdcSettleManagerIDType是一个结算配置代码类型
3021///
3022pub type TThostFtdcSettleManagerIDType = [::std::os::raw::c_uchar; 33usize];
3023///
3024/// TFtdcSettleManagerNameType是一个结算配置名称类型
3025///
3026pub type TThostFtdcSettleManagerNameType = [::std::os::raw::c_uchar; 129usize];
3027pub type TThostFtdcSettleManagerLevelType = ::std::os::raw::c_uchar;
3028pub type TThostFtdcSettleManagerGroupType = ::std::os::raw::c_uchar;
3029///
3030/// TFtdcCheckResultMemoType是一个核对结果说明类型
3031///
3032pub type TThostFtdcCheckResultMemoType = [::std::os::raw::c_uchar; 1025usize];
3033///
3034/// TFtdcFunctionUrlType是一个功能链接类型
3035///
3036pub type TThostFtdcFunctionUrlType = [::std::os::raw::c_uchar; 1025usize];
3037///
3038/// TFtdcAuthInfoType是一个客户端认证信息类型
3039///
3040pub type TThostFtdcAuthInfoType = [::std::os::raw::c_uchar; 129usize];
3041///
3042/// TFtdcAuthCodeType是一个客户端认证码类型
3043///
3044pub type TThostFtdcAuthCodeType = [::std::os::raw::c_uchar; 17usize];
3045pub type TThostFtdcLimitUseTypeType = ::std::os::raw::c_uchar;
3046pub type TThostFtdcDataResourceType = ::std::os::raw::c_uchar;
3047pub type TThostFtdcMarginTypeType = ::std::os::raw::c_uchar;
3048pub type TThostFtdcActiveTypeType = ::std::os::raw::c_uchar;
3049pub type TThostFtdcMarginRateTypeType = ::std::os::raw::c_uchar;
3050pub type TThostFtdcBackUpStatusType = ::std::os::raw::c_uchar;
3051pub type TThostFtdcInitSettlementType = ::std::os::raw::c_uchar;
3052pub type TThostFtdcReportStatusType = ::std::os::raw::c_uchar;
3053pub type TThostFtdcSaveStatusType = ::std::os::raw::c_uchar;
3054pub type TThostFtdcSettArchiveStatusType = ::std::os::raw::c_uchar;
3055pub type TThostFtdcCTPTypeType = ::std::os::raw::c_uchar;
3056///
3057/// TFtdcToolIDType是一个工具代码类型
3058///
3059pub type TThostFtdcToolIDType = [::std::os::raw::c_uchar; 9usize];
3060///
3061/// TFtdcToolNameType是一个工具名称类型
3062///
3063pub type TThostFtdcToolNameType = [::std::os::raw::c_uchar; 81usize];
3064pub type TThostFtdcCloseDealTypeType = ::std::os::raw::c_uchar;
3065pub type TThostFtdcMortgageFundUseRangeType = ::std::os::raw::c_uchar;
3066///
3067/// TFtdcCurrencyUnitType是一个币种单位数量类型
3068///
3069pub type TThostFtdcCurrencyUnitType = f64;
3070///
3071/// TFtdcExchangeRateType是一个汇率类型
3072///
3073pub type TThostFtdcExchangeRateType = f64;
3074pub type TThostFtdcSpecProductTypeType = ::std::os::raw::c_uchar;
3075pub type TThostFtdcFundMortgageTypeType = ::std::os::raw::c_uchar;
3076pub type TThostFtdcAccountSettlementParamIDType = ::std::os::raw::c_uchar;
3077///
3078/// TFtdcCurrencyNameType是一个币种名称类型
3079///
3080pub type TThostFtdcCurrencyNameType = [::std::os::raw::c_uchar; 31usize];
3081///
3082/// TFtdcCurrencySignType是一个币种符号类型
3083///
3084pub type TThostFtdcCurrencySignType = [::std::os::raw::c_uchar; 4usize];
3085pub type TThostFtdcFundMortDirectionType = ::std::os::raw::c_uchar;
3086pub type TThostFtdcBusinessClassType = ::std::os::raw::c_uchar;
3087pub type TThostFtdcSwapSourceTypeType = ::std::os::raw::c_uchar;
3088pub type TThostFtdcCurrExDirectionType = ::std::os::raw::c_uchar;
3089pub type TThostFtdcCurrencySwapStatusType = ::std::os::raw::c_uchar;
3090///
3091/// TFtdcCurrExchCertNoType是一个凭证号类型
3092///
3093pub type TThostFtdcCurrExchCertNoType = [::std::os::raw::c_uchar; 13usize];
3094///
3095/// TFtdcBatchSerialNoType是一个批次号类型
3096///
3097pub type TThostFtdcBatchSerialNoType = [::std::os::raw::c_uchar; 21usize];
3098pub type TThostFtdcReqFlagType = ::std::os::raw::c_uchar;
3099pub type TThostFtdcResFlagType = ::std::os::raw::c_uchar;
3100///
3101/// TFtdcPageControlType是一个换汇页面控制类型
3102///
3103pub type TThostFtdcPageControlType = [::std::os::raw::c_uchar; 2usize];
3104///
3105/// TFtdcRecordCountType是一个记录数类型
3106///
3107pub type TThostFtdcRecordCountType = ::std::os::raw::c_int;
3108///
3109/// TFtdcCurrencySwapMemoType是一个换汇需确认信息类型
3110///
3111pub type TThostFtdcCurrencySwapMemoType = [::std::os::raw::c_uchar; 101usize];
3112pub type TThostFtdcExStatusType = ::std::os::raw::c_uchar;
3113pub type TThostFtdcClientRegionType = ::std::os::raw::c_uchar;
3114///
3115/// TFtdcWorkPlaceType是一个工作单位类型
3116///
3117pub type TThostFtdcWorkPlaceType = [::std::os::raw::c_uchar; 101usize];
3118///
3119/// TFtdcBusinessPeriodType是一个经营期限类型
3120///
3121pub type TThostFtdcBusinessPeriodType = [::std::os::raw::c_uchar; 21usize];
3122///
3123/// TFtdcWebSiteType是一个网址类型
3124///
3125pub type TThostFtdcWebSiteType = [::std::os::raw::c_uchar; 101usize];
3126///
3127/// TFtdcUOAIdCardTypeType是一个统一开户证件类型类型
3128///
3129pub type TThostFtdcUOAIdCardTypeType = [::std::os::raw::c_uchar; 3usize];
3130///
3131/// TFtdcClientModeType是一个开户模式类型
3132///
3133pub type TThostFtdcClientModeType = [::std::os::raw::c_uchar; 3usize];
3134///
3135/// TFtdcInvestorFullNameType是一个投资者全称类型
3136///
3137pub type TThostFtdcInvestorFullNameType = [::std::os::raw::c_uchar; 101usize];
3138///
3139/// TFtdcUOABrokerIDType是一个境外中介机构ID类型
3140///
3141pub type TThostFtdcUOABrokerIDType = [::std::os::raw::c_uchar; 11usize];
3142///
3143/// TFtdcUOAZipCodeType是一个邮政编码类型
3144///
3145pub type TThostFtdcUOAZipCodeType = [::std::os::raw::c_uchar; 11usize];
3146///
3147/// TFtdcUOAEMailType是一个电子邮箱类型
3148///
3149pub type TThostFtdcUOAEMailType = [::std::os::raw::c_uchar; 101usize];
3150///
3151/// TFtdcOldCityType是一个城市类型
3152///
3153pub type TThostFtdcOldCityType = [::std::os::raw::c_uchar; 41usize];
3154///
3155/// TFtdcCorporateIdentifiedCardNoType是一个法人代表证件号码类型
3156///
3157pub type TThostFtdcCorporateIdentifiedCardNoType =
3158    [::std::os::raw::c_uchar; 101usize];
3159pub type TThostFtdcHasBoardType = ::std::os::raw::c_uchar;
3160pub type TThostFtdcStartModeType = ::std::os::raw::c_uchar;
3161pub type TThostFtdcTemplateTypeType = ::std::os::raw::c_uchar;
3162pub type TThostFtdcLoginModeType = ::std::os::raw::c_uchar;
3163pub type TThostFtdcPromptTypeType = ::std::os::raw::c_uchar;
3164///
3165/// TFtdcLedgerManageIDType是一个分户管理资产编码类型
3166///
3167pub type TThostFtdcLedgerManageIDType = [::std::os::raw::c_uchar; 51usize];
3168///
3169/// TFtdcInvestVarietyType是一个投资品种类型
3170///
3171pub type TThostFtdcInvestVarietyType = [::std::os::raw::c_uchar; 101usize];
3172///
3173/// TFtdcBankAccountTypeType是一个账户类别类型
3174///
3175pub type TThostFtdcBankAccountTypeType = [::std::os::raw::c_uchar; 2usize];
3176///
3177/// TFtdcLedgerManageBankType是一个开户银行类型
3178///
3179pub type TThostFtdcLedgerManageBankType = [::std::os::raw::c_uchar; 101usize];
3180///
3181/// TFtdcCffexDepartmentNameType是一个开户营业部类型
3182///
3183pub type TThostFtdcCffexDepartmentNameType =
3184    [::std::os::raw::c_uchar; 101usize];
3185///
3186/// TFtdcCffexDepartmentCodeType是一个营业部代码类型
3187///
3188pub type TThostFtdcCffexDepartmentCodeType = [::std::os::raw::c_uchar; 9usize];
3189pub type TThostFtdcHasTrusteeType = ::std::os::raw::c_uchar;
3190///
3191/// TFtdcCSRCMemo1Type是一个说明类型
3192///
3193pub type TThostFtdcCSRCMemo1Type = [::std::os::raw::c_uchar; 41usize];
3194///
3195/// TFtdcAssetmgrCFullNameType是一个代理资产管理业务的期货公司全称类型
3196///
3197pub type TThostFtdcAssetmgrCFullNameType = [::std::os::raw::c_uchar; 101usize];
3198///
3199/// TFtdcAssetmgrApprovalNOType是一个资产管理业务批文号类型
3200///
3201pub type TThostFtdcAssetmgrApprovalNOType = [::std::os::raw::c_uchar; 51usize];
3202///
3203/// TFtdcAssetmgrMgrNameType是一个资产管理业务负责人姓名类型
3204///
3205pub type TThostFtdcAssetmgrMgrNameType = [::std::os::raw::c_uchar; 401usize];
3206pub type TThostFtdcAmTypeType = ::std::os::raw::c_uchar;
3207///
3208/// TFtdcCSRCAmTypeType是一个机构类型类型
3209///
3210pub type TThostFtdcCSRCAmTypeType = [::std::os::raw::c_uchar; 5usize];
3211pub type TThostFtdcCSRCFundIOTypeType = ::std::os::raw::c_uchar;
3212pub type TThostFtdcCusAccountTypeType = ::std::os::raw::c_uchar;
3213///
3214/// TFtdcCSRCNationalType是一个国籍类型
3215///
3216pub type TThostFtdcCSRCNationalType = [::std::os::raw::c_uchar; 4usize];
3217///
3218/// TFtdcCSRCSecAgentIDType是一个二级代理ID类型
3219///
3220pub type TThostFtdcCSRCSecAgentIDType = [::std::os::raw::c_uchar; 11usize];
3221pub type TThostFtdcLanguageTypeType = ::std::os::raw::c_uchar;
3222///
3223/// TFtdcAmAccountType是一个投资账户类型
3224///
3225pub type TThostFtdcAmAccountType = [::std::os::raw::c_uchar; 23usize];
3226pub type TThostFtdcAssetmgrClientTypeType = ::std::os::raw::c_uchar;
3227pub type TThostFtdcAssetmgrTypeType = ::std::os::raw::c_uchar;
3228///
3229/// TFtdcUOMType是一个计量单位类型
3230///
3231pub type TThostFtdcUOMType = [::std::os::raw::c_uchar; 11usize];
3232///
3233/// TFtdcSHFEInstLifePhaseType是一个上期所合约生命周期状态类型
3234///
3235pub type TThostFtdcSHFEInstLifePhaseType = [::std::os::raw::c_uchar; 3usize];
3236///
3237/// TFtdcSHFEProductClassType是一个产品类型类型
3238///
3239pub type TThostFtdcSHFEProductClassType = [::std::os::raw::c_uchar; 11usize];
3240///
3241/// TFtdcPriceDecimalType是一个价格小数位类型
3242///
3243pub type TThostFtdcPriceDecimalType = [::std::os::raw::c_uchar; 2usize];
3244///
3245/// TFtdcInTheMoneyFlagType是一个平值期权标志类型
3246///
3247pub type TThostFtdcInTheMoneyFlagType = [::std::os::raw::c_uchar; 2usize];
3248pub type TThostFtdcCheckInstrTypeType = ::std::os::raw::c_uchar;
3249pub type TThostFtdcDeliveryTypeType = ::std::os::raw::c_uchar;
3250///
3251/// TFtdcBigMoneyType是一个资金类型
3252///
3253pub type TThostFtdcBigMoneyType = f64;
3254pub type TThostFtdcMaxMarginSideAlgorithmType = ::std::os::raw::c_uchar;
3255pub type TThostFtdcDAClientTypeType = ::std::os::raw::c_uchar;
3256///
3257/// TFtdcCombinInstrIDType是一个套利合约代码类型
3258///
3259pub type TThostFtdcCombinInstrIDType = [::std::os::raw::c_uchar; 61usize];
3260///
3261/// TFtdcCombinSettlePriceType是一个各腿结算价类型
3262///
3263pub type TThostFtdcCombinSettlePriceType = [::std::os::raw::c_uchar; 61usize];
3264///
3265/// TFtdcDCEPriorityType是一个优先级类型
3266///
3267pub type TThostFtdcDCEPriorityType = ::std::os::raw::c_int;
3268///
3269/// TFtdcTradeGroupIDType是一个成交组号类型
3270///
3271pub type TThostFtdcTradeGroupIDType = ::std::os::raw::c_int;
3272///
3273/// TFtdcIsCheckPrepaType是一个是否校验开户可用资金类型
3274///
3275pub type TThostFtdcIsCheckPrepaType = ::std::os::raw::c_int;
3276pub type TThostFtdcUOAAssetmgrTypeType = ::std::os::raw::c_uchar;
3277pub type TThostFtdcDirectionEnType = ::std::os::raw::c_uchar;
3278pub type TThostFtdcOffsetFlagEnType = ::std::os::raw::c_uchar;
3279pub type TThostFtdcHedgeFlagEnType = ::std::os::raw::c_uchar;
3280pub type TThostFtdcFundIOTypeEnType = ::std::os::raw::c_uchar;
3281pub type TThostFtdcFundTypeEnType = ::std::os::raw::c_uchar;
3282pub type TThostFtdcFundDirectionEnType = ::std::os::raw::c_uchar;
3283pub type TThostFtdcFundMortDirectionEnType = ::std::os::raw::c_uchar;
3284///
3285/// TFtdcSwapBusinessTypeType是一个换汇业务种类类型
3286///
3287pub type TThostFtdcSwapBusinessTypeType = [::std::os::raw::c_uchar; 3usize];
3288pub type TThostFtdcOptionsTypeType = ::std::os::raw::c_uchar;
3289pub type TThostFtdcStrikeModeType = ::std::os::raw::c_uchar;
3290pub type TThostFtdcStrikeTypeType = ::std::os::raw::c_uchar;
3291pub type TThostFtdcApplyTypeType = ::std::os::raw::c_uchar;
3292pub type TThostFtdcGiveUpDataSourceType = ::std::os::raw::c_uchar;
3293///
3294/// TFtdcExecOrderSysIDType是一个执行宣告系统编号类型
3295///
3296pub type TThostFtdcExecOrderSysIDType = [::std::os::raw::c_uchar; 21usize];
3297pub type TThostFtdcExecResultType = ::std::os::raw::c_uchar;
3298///
3299/// TFtdcStrikeSequenceType是一个执行序号类型
3300///
3301pub type TThostFtdcStrikeSequenceType = ::std::os::raw::c_int;
3302///
3303/// TFtdcStrikeTimeType是一个执行时间类型
3304///
3305pub type TThostFtdcStrikeTimeType = [::std::os::raw::c_uchar; 13usize];
3306pub type TThostFtdcCombinationTypeType = ::std::os::raw::c_uchar;
3307pub type TThostFtdcDceCombinationTypeType = ::std::os::raw::c_uchar;
3308pub type TThostFtdcOptionRoyaltyPriceTypeType = ::std::os::raw::c_uchar;
3309pub type TThostFtdcBalanceAlgorithmType = ::std::os::raw::c_uchar;
3310pub type TThostFtdcActionTypeType = ::std::os::raw::c_uchar;
3311pub type TThostFtdcForQuoteStatusType = ::std::os::raw::c_uchar;
3312pub type TThostFtdcValueMethodType = ::std::os::raw::c_uchar;
3313pub type TThostFtdcExecOrderPositionFlagType = ::std::os::raw::c_uchar;
3314pub type TThostFtdcExecOrderCloseFlagType = ::std::os::raw::c_uchar;
3315pub type TThostFtdcProductTypeType = ::std::os::raw::c_uchar;
3316pub type TThostFtdcCZCEUploadFileNameType = ::std::os::raw::c_uchar;
3317pub type TThostFtdcDCEUploadFileNameType = ::std::os::raw::c_uchar;
3318pub type TThostFtdcSHFEUploadFileNameType = ::std::os::raw::c_uchar;
3319pub type TThostFtdcCFFEXUploadFileNameType = ::std::os::raw::c_uchar;
3320pub type TThostFtdcCombDirectionType = ::std::os::raw::c_uchar;
3321pub type TThostFtdcStrikeOffsetTypeType = ::std::os::raw::c_uchar;
3322pub type TThostFtdcReserveOpenAccStasType = ::std::os::raw::c_uchar;
3323///
3324/// TFtdcLoginRemarkType是一个登录备注类型
3325///
3326pub type TThostFtdcLoginRemarkType = [::std::os::raw::c_uchar; 36usize];
3327///
3328/// TFtdcInvestUnitIDType是一个投资单元代码类型
3329///
3330pub type TThostFtdcInvestUnitIDType = [::std::os::raw::c_uchar; 17usize];
3331///
3332/// TFtdcBulletinIDType是一个公告编号类型
3333///
3334pub type TThostFtdcBulletinIDType = ::std::os::raw::c_int;
3335///
3336/// TFtdcNewsTypeType是一个公告类型类型
3337///
3338pub type TThostFtdcNewsTypeType = [::std::os::raw::c_uchar; 3usize];
3339///
3340/// TFtdcNewsUrgencyType是一个紧急程度类型
3341///
3342pub type TThostFtdcNewsUrgencyType = ::std::os::raw::c_uchar;
3343///
3344/// TFtdcAbstractType是一个消息摘要类型
3345///
3346pub type TThostFtdcAbstractType = [::std::os::raw::c_uchar; 81usize];
3347///
3348/// TFtdcComeFromType是一个消息来源类型
3349///
3350pub type TThostFtdcComeFromType = [::std::os::raw::c_uchar; 21usize];
3351///
3352/// TFtdcURLLinkType是一个WEB地址类型
3353///
3354pub type TThostFtdcURLLinkType = [::std::os::raw::c_uchar; 201usize];
3355///
3356/// TFtdcLongIndividualNameType是一个长个人姓名类型
3357///
3358pub type TThostFtdcLongIndividualNameType =
3359    [::std::os::raw::c_uchar; 161usize];
3360///
3361/// TFtdcLongFBEBankAccountNameType是一个长换汇银行账户名类型
3362///
3363pub type TThostFtdcLongFBEBankAccountNameType =
3364    [::std::os::raw::c_uchar; 161usize];
3365///
3366/// TFtdcDateTimeType是一个日期时间类型
3367///
3368pub type TThostFtdcDateTimeType = [::std::os::raw::c_uchar; 17usize];
3369pub type TThostFtdcWeakPasswordSourceType = ::std::os::raw::c_uchar;
3370///
3371/// TFtdcRandomStringType是一个随机串类型
3372///
3373pub type TThostFtdcRandomStringType = [::std::os::raw::c_uchar; 17usize];
3374pub type TThostFtdcOptSelfCloseFlagType = ::std::os::raw::c_uchar;
3375pub type TThostFtdcBizTypeType = ::std::os::raw::c_uchar;
3376pub type TThostFtdcAppTypeType = ::std::os::raw::c_uchar;
3377///
3378/// TFtdcAppIDType是一个App代码类型
3379///
3380pub type TThostFtdcAppIDType = [::std::os::raw::c_uchar; 33usize];
3381///
3382/// TFtdcSystemInfoLenType是一个系统信息长度类型
3383///
3384pub type TThostFtdcSystemInfoLenType = ::std::os::raw::c_int;
3385///
3386/// TFtdcAdditionalInfoLenType是一个补充信息长度类型
3387///
3388pub type TThostFtdcAdditionalInfoLenType = ::std::os::raw::c_int;
3389///
3390/// TFtdcClientSystemInfoType是一个交易终端系统信息类型
3391///
3392pub type TThostFtdcClientSystemInfoType = [::std::os::raw::c_uchar; 273usize];
3393///
3394/// TFtdcAdditionalInfoType是一个系统外部信息类型
3395///
3396pub type TThostFtdcAdditionalInfoType = [::std::os::raw::c_uchar; 261usize];
3397///
3398/// TFtdcBase64ClientSystemInfoType是一个base64交易终端系统信息类型
3399///
3400pub type TThostFtdcBase64ClientSystemInfoType =
3401    [::std::os::raw::c_uchar; 365usize];
3402///
3403/// TFtdcBase64AdditionalInfoType是一个base64系统外部信息类型
3404///
3405pub type TThostFtdcBase64AdditionalInfoType =
3406    [::std::os::raw::c_uchar; 349usize];
3407///
3408/// TFtdcCurrentAuthMethodType是一个当前可用的认证模式,0代表无需认证模式 A从低位开始最后一位代表图片验证码,倒数第二位代表动态口令,倒数第三位代表短信验证码类型
3409///
3410pub type TThostFtdcCurrentAuthMethodType = ::std::os::raw::c_int;
3411///
3412/// TFtdcCaptchaInfoLenType是一个图片验证信息长度类型
3413///
3414pub type TThostFtdcCaptchaInfoLenType = ::std::os::raw::c_int;
3415///
3416/// TFtdcCaptchaInfoType是一个图片验证信息类型
3417///
3418pub type TThostFtdcCaptchaInfoType = [::std::os::raw::c_uchar; 2561usize];
3419///
3420/// TFtdcUserTextSeqType是一个用户短信验证码的编号类型
3421///
3422pub type TThostFtdcUserTextSeqType = ::std::os::raw::c_int;
3423///
3424/// TFtdcHandshakeDataType是一个握手数据内容类型
3425///
3426pub type TThostFtdcHandshakeDataType = [::std::os::raw::c_uchar; 301usize];
3427///
3428/// TFtdcHandshakeDataLenType是一个握手数据内容长度类型
3429///
3430pub type TThostFtdcHandshakeDataLenType = ::std::os::raw::c_int;
3431///
3432/// TFtdcCryptoKeyVersionType是一个api与front通信密钥版本号类型
3433///
3434pub type TThostFtdcCryptoKeyVersionType = [::std::os::raw::c_uchar; 31usize];
3435///
3436/// TFtdcRsaKeyVersionType是一个公钥版本号类型
3437///
3438pub type TThostFtdcRsaKeyVersionType = ::std::os::raw::c_int;
3439///
3440/// TFtdcSoftwareProviderIDType是一个交易软件商ID类型
3441///
3442pub type TThostFtdcSoftwareProviderIDType = [::std::os::raw::c_uchar; 22usize];
3443///
3444/// TFtdcCollectTimeType是一个信息采集时间类型
3445///
3446pub type TThostFtdcCollectTimeType = [::std::os::raw::c_uchar; 21usize];
3447///
3448/// TFtdcQueryFreqType是一个查询频率类型
3449///
3450pub type TThostFtdcQueryFreqType = ::std::os::raw::c_int;
3451pub type TThostFtdcResponseValueType = ::std::os::raw::c_uchar;
3452pub type TThostFtdcOTCTradeTypeType = ::std::os::raw::c_uchar;
3453pub type TThostFtdcMatchTypeType = ::std::os::raw::c_uchar;
3454///
3455/// TFtdcOTCTraderIDType是一个OTC交易员代码类型
3456///
3457pub type TThostFtdcOTCTraderIDType = [::std::os::raw::c_uchar; 31usize];
3458///
3459/// TFtdcRiskValueType是一个期货风险值类型
3460///
3461pub type TThostFtdcRiskValueType = f64;
3462///
3463/// TFtdcIDBNameType是一个握手数据内容类型
3464///
3465pub type TThostFtdcIDBNameType = [::std::os::raw::c_uchar; 100usize];
3466/// 信息分发
3467#[repr(C)]
3468#[derive(Default, Copy)]
3469pub struct CThostFtdcDisseminationField {
3470    /// 序列系列号
3471    pub SequenceSeries: TThostFtdcSequenceSeriesType,
3472    /// 序列号
3473    pub SequenceNo: TThostFtdcSequenceNoType,
3474}
3475#[test]
3476fn bindgen_test_layout_CThostFtdcDisseminationField() {
3477    assert_eq!(::std::mem::size_of::<CThostFtdcDisseminationField>() , 8usize
3478               , concat ! (
3479               "Size of: " , stringify ! ( CThostFtdcDisseminationField ) ));
3480    assert_eq! (::std::mem::align_of::<CThostFtdcDisseminationField>() ,
3481                4usize , concat ! (
3482                "Alignment of " , stringify ! ( CThostFtdcDisseminationField )
3483                ));
3484    assert_eq! (unsafe {
3485                & ( * ( 0 as * const CThostFtdcDisseminationField ) ) .
3486                SequenceSeries as * const _ as usize } , 0usize , concat ! (
3487                "Alignment of field: " , stringify ! (
3488                CThostFtdcDisseminationField ) , "::" , stringify ! (
3489                SequenceSeries ) ));
3490    assert_eq! (unsafe {
3491                & ( * ( 0 as * const CThostFtdcDisseminationField ) ) .
3492                SequenceNo as * const _ as usize } , 4usize , concat ! (
3493                "Alignment of field: " , stringify ! (
3494                CThostFtdcDisseminationField ) , "::" , stringify ! (
3495                SequenceNo ) ));
3496}
3497impl Clone for CThostFtdcDisseminationField {
3498    fn clone(&self) -> Self { *self }
3499}
3500/// 用户登录请求
3501#[repr(C)]
3502#[derive(Copy)]
3503pub struct CThostFtdcReqUserLoginField {
3504    /// 交易日
3505    pub TradingDay: TThostFtdcDateType,
3506    /// 经纪公司代码
3507    pub BrokerID: TThostFtdcBrokerIDType,
3508    /// 用户代码
3509    pub UserID: TThostFtdcUserIDType,
3510    /// 密码
3511    pub Password: TThostFtdcPasswordType,
3512    /// 用户端产品信息
3513    pub UserProductInfo: TThostFtdcProductInfoType,
3514    /// 接口端产品信息
3515    pub InterfaceProductInfo: TThostFtdcProductInfoType,
3516    /// 协议信息
3517    pub ProtocolInfo: TThostFtdcProtocolInfoType,
3518    /// Mac地址
3519    pub MacAddress: TThostFtdcMacAddressType,
3520    /// 动态密码
3521    pub OneTimePassword: TThostFtdcPasswordType,
3522    /// 终端IP地址
3523    pub ClientIPAddress: TThostFtdcIPAddressType,
3524    /// 登录备注
3525    pub LoginRemark: TThostFtdcLoginRemarkType,
3526    /// 终端IP端口
3527    pub ClientIPPort: TThostFtdcIPPortType,
3528}
3529#[test]
3530fn bindgen_test_layout_CThostFtdcReqUserLoginField() {
3531    assert_eq!(::std::mem::size_of::<CThostFtdcReqUserLoginField>() , 228usize
3532               , concat ! (
3533               "Size of: " , stringify ! ( CThostFtdcReqUserLoginField ) ));
3534    assert_eq! (::std::mem::align_of::<CThostFtdcReqUserLoginField>() , 4usize
3535                , concat ! (
3536                "Alignment of " , stringify ! ( CThostFtdcReqUserLoginField )
3537                ));
3538    assert_eq! (unsafe {
3539                & ( * ( 0 as * const CThostFtdcReqUserLoginField ) ) .
3540                TradingDay as * const _ as usize } , 0usize , concat ! (
3541                "Alignment of field: " , stringify ! (
3542                CThostFtdcReqUserLoginField ) , "::" , stringify ! (
3543                TradingDay ) ));
3544    assert_eq! (unsafe {
3545                & ( * ( 0 as * const CThostFtdcReqUserLoginField ) ) .
3546                BrokerID as * const _ as usize } , 9usize , concat ! (
3547                "Alignment of field: " , stringify ! (
3548                CThostFtdcReqUserLoginField ) , "::" , stringify ! ( BrokerID
3549                ) ));
3550    assert_eq! (unsafe {
3551                & ( * ( 0 as * const CThostFtdcReqUserLoginField ) ) . UserID
3552                as * const _ as usize } , 20usize , concat ! (
3553                "Alignment of field: " , stringify ! (
3554                CThostFtdcReqUserLoginField ) , "::" , stringify ! ( UserID )
3555                ));
3556    assert_eq! (unsafe {
3557                & ( * ( 0 as * const CThostFtdcReqUserLoginField ) ) .
3558                Password as * const _ as usize } , 36usize , concat ! (
3559                "Alignment of field: " , stringify ! (
3560                CThostFtdcReqUserLoginField ) , "::" , stringify ! ( Password
3561                ) ));
3562    assert_eq! (unsafe {
3563                & ( * ( 0 as * const CThostFtdcReqUserLoginField ) ) .
3564                UserProductInfo as * const _ as usize } , 77usize , concat ! (
3565                "Alignment of field: " , stringify ! (
3566                CThostFtdcReqUserLoginField ) , "::" , stringify ! (
3567                UserProductInfo ) ));
3568    assert_eq! (unsafe {
3569                & ( * ( 0 as * const CThostFtdcReqUserLoginField ) ) .
3570                InterfaceProductInfo as * const _ as usize } , 88usize ,
3571                concat ! (
3572                "Alignment of field: " , stringify ! (
3573                CThostFtdcReqUserLoginField ) , "::" , stringify ! (
3574                InterfaceProductInfo ) ));
3575    assert_eq! (unsafe {
3576                & ( * ( 0 as * const CThostFtdcReqUserLoginField ) ) .
3577                ProtocolInfo as * const _ as usize } , 99usize , concat ! (
3578                "Alignment of field: " , stringify ! (
3579                CThostFtdcReqUserLoginField ) , "::" , stringify ! (
3580                ProtocolInfo ) ));
3581    assert_eq! (unsafe {
3582                & ( * ( 0 as * const CThostFtdcReqUserLoginField ) ) .
3583                MacAddress as * const _ as usize } , 110usize , concat ! (
3584                "Alignment of field: " , stringify ! (
3585                CThostFtdcReqUserLoginField ) , "::" , stringify ! (
3586                MacAddress ) ));
3587    assert_eq! (unsafe {
3588                & ( * ( 0 as * const CThostFtdcReqUserLoginField ) ) .
3589                OneTimePassword as * const _ as usize } , 131usize , concat !
3590                (
3591                "Alignment of field: " , stringify ! (
3592                CThostFtdcReqUserLoginField ) , "::" , stringify ! (
3593                OneTimePassword ) ));
3594    assert_eq! (unsafe {
3595                & ( * ( 0 as * const CThostFtdcReqUserLoginField ) ) .
3596                ClientIPAddress as * const _ as usize } , 172usize , concat !
3597                (
3598                "Alignment of field: " , stringify ! (
3599                CThostFtdcReqUserLoginField ) , "::" , stringify ! (
3600                ClientIPAddress ) ));
3601    assert_eq! (unsafe {
3602                & ( * ( 0 as * const CThostFtdcReqUserLoginField ) ) .
3603                LoginRemark as * const _ as usize } , 188usize , concat ! (
3604                "Alignment of field: " , stringify ! (
3605                CThostFtdcReqUserLoginField ) , "::" , stringify ! (
3606                LoginRemark ) ));
3607    assert_eq! (unsafe {
3608                & ( * ( 0 as * const CThostFtdcReqUserLoginField ) ) .
3609                ClientIPPort as * const _ as usize } , 224usize , concat ! (
3610                "Alignment of field: " , stringify ! (
3611                CThostFtdcReqUserLoginField ) , "::" , stringify ! (
3612                ClientIPPort ) ));
3613}
3614impl Clone for CThostFtdcReqUserLoginField {
3615    fn clone(&self) -> Self { *self }
3616}
3617impl Default for CThostFtdcReqUserLoginField {
3618    fn default() -> Self { unsafe { ::std::mem::zeroed() } }
3619}
3620/// 用户登录应答
3621#[repr(C)]
3622#[derive(Copy)]
3623pub struct CThostFtdcRspUserLoginField {
3624    /// 交易日
3625    pub TradingDay: TThostFtdcDateType,
3626    /// 登录成功时间
3627    pub LoginTime: TThostFtdcTimeType,
3628    /// 经纪公司代码
3629    pub BrokerID: TThostFtdcBrokerIDType,
3630    /// 用户代码
3631    pub UserID: TThostFtdcUserIDType,
3632    /// 交易系统名称
3633    pub SystemName: TThostFtdcSystemNameType,
3634    /// 前置编号
3635    pub FrontID: TThostFtdcFrontIDType,
3636    /// 会话编号
3637    pub SessionID: TThostFtdcSessionIDType,
3638    /// 最大报单引用
3639    pub MaxOrderRef: TThostFtdcOrderRefType,
3640    /// 上期所时间
3641    pub SHFETime: TThostFtdcTimeType,
3642    /// 大商所时间
3643    pub DCETime: TThostFtdcTimeType,
3644    /// 郑商所时间
3645    pub CZCETime: TThostFtdcTimeType,
3646    /// 中金所时间
3647    pub FFEXTime: TThostFtdcTimeType,
3648    /// 能源中心时间
3649    pub INETime: TThostFtdcTimeType,
3650}
3651#[test]
3652fn bindgen_test_layout_CThostFtdcRspUserLoginField() {
3653    assert_eq!(::std::mem::size_of::<CThostFtdcRspUserLoginField>() , 156usize
3654               , concat ! (
3655               "Size of: " , stringify ! ( CThostFtdcRspUserLoginField ) ));
3656    assert_eq! (::std::mem::align_of::<CThostFtdcRspUserLoginField>() , 4usize
3657                , concat ! (
3658                "Alignment of " , stringify ! ( CThostFtdcRspUserLoginField )
3659                ));
3660    assert_eq! (unsafe {
3661                & ( * ( 0 as * const CThostFtdcRspUserLoginField ) ) .
3662                TradingDay as * const _ as usize } , 0usize , concat ! (
3663                "Alignment of field: " , stringify ! (
3664                CThostFtdcRspUserLoginField ) , "::" , stringify ! (
3665                TradingDay ) ));
3666    assert_eq! (unsafe {
3667                & ( * ( 0 as * const CThostFtdcRspUserLoginField ) ) .
3668                LoginTime as * const _ as usize } , 9usize , concat ! (
3669                "Alignment of field: " , stringify ! (
3670                CThostFtdcRspUserLoginField ) , "::" , stringify ! ( LoginTime
3671                ) ));
3672    assert_eq! (unsafe {
3673                & ( * ( 0 as * const CThostFtdcRspUserLoginField ) ) .
3674                BrokerID as * const _ as usize } , 18usize , concat ! (
3675                "Alignment of field: " , stringify ! (
3676                CThostFtdcRspUserLoginField ) , "::" , stringify ! ( BrokerID
3677                ) ));
3678    assert_eq! (unsafe {
3679                & ( * ( 0 as * const CThostFtdcRspUserLoginField ) ) . UserID
3680                as * const _ as usize } , 29usize , concat ! (
3681                "Alignment of field: " , stringify ! (
3682                CThostFtdcRspUserLoginField ) , "::" , stringify ! ( UserID )
3683                ));
3684    assert_eq! (unsafe {
3685                & ( * ( 0 as * const CThostFtdcRspUserLoginField ) ) .
3686                SystemName as * const _ as usize } , 45usize , concat ! (
3687                "Alignment of field: " , stringify ! (
3688                CThostFtdcRspUserLoginField ) , "::" , stringify ! (
3689                SystemName ) ));
3690    assert_eq! (unsafe {
3691                & ( * ( 0 as * const CThostFtdcRspUserLoginField ) ) . FrontID
3692                as * const _ as usize } , 88usize , concat ! (
3693                "Alignment of field: " , stringify ! (
3694                CThostFtdcRspUserLoginField ) , "::" , stringify ! ( FrontID )
3695                ));
3696    assert_eq! (unsafe {
3697                & ( * ( 0 as * const CThostFtdcRspUserLoginField ) ) .
3698                SessionID as * const _ as usize } , 92usize , concat ! (
3699                "Alignment of field: " , stringify ! (
3700                CThostFtdcRspUserLoginField ) , "::" , stringify ! ( SessionID
3701                ) ));
3702    assert_eq! (unsafe {
3703                & ( * ( 0 as * const CThostFtdcRspUserLoginField ) ) .
3704                MaxOrderRef as * const _ as usize } , 96usize , concat ! (
3705                "Alignment of field: " , stringify ! (
3706                CThostFtdcRspUserLoginField ) , "::" , stringify ! (
3707                MaxOrderRef ) ));
3708    assert_eq! (unsafe {
3709                & ( * ( 0 as * const CThostFtdcRspUserLoginField ) ) .
3710                SHFETime as * const _ as usize } , 109usize , concat ! (
3711                "Alignment of field: " , stringify ! (
3712                CThostFtdcRspUserLoginField ) , "::" , stringify ! ( SHFETime
3713                ) ));
3714    assert_eq! (unsafe {
3715                & ( * ( 0 as * const CThostFtdcRspUserLoginField ) ) . DCETime
3716                as * const _ as usize } , 118usize , concat ! (
3717                "Alignment of field: " , stringify ! (
3718                CThostFtdcRspUserLoginField ) , "::" , stringify ! ( DCETime )
3719                ));
3720    assert_eq! (unsafe {
3721                & ( * ( 0 as * const CThostFtdcRspUserLoginField ) ) .
3722                CZCETime as * const _ as usize } , 127usize , concat ! (
3723                "Alignment of field: " , stringify ! (
3724                CThostFtdcRspUserLoginField ) , "::" , stringify ! ( CZCETime
3725                ) ));
3726    assert_eq! (unsafe {
3727                & ( * ( 0 as * const CThostFtdcRspUserLoginField ) ) .
3728                FFEXTime as * const _ as usize } , 136usize , concat ! (
3729                "Alignment of field: " , stringify ! (
3730                CThostFtdcRspUserLoginField ) , "::" , stringify ! ( FFEXTime
3731                ) ));
3732    assert_eq! (unsafe {
3733                & ( * ( 0 as * const CThostFtdcRspUserLoginField ) ) . INETime
3734                as * const _ as usize } , 145usize , concat ! (
3735                "Alignment of field: " , stringify ! (
3736                CThostFtdcRspUserLoginField ) , "::" , stringify ! ( INETime )
3737                ));
3738}
3739impl Clone for CThostFtdcRspUserLoginField {
3740    fn clone(&self) -> Self { *self }
3741}
3742impl Default for CThostFtdcRspUserLoginField {
3743    fn default() -> Self { unsafe { ::std::mem::zeroed() } }
3744}
3745/// 用户登出请求
3746#[repr(C)]
3747#[derive(Default, Copy)]
3748pub struct CThostFtdcUserLogoutField {
3749    /// 经纪公司代码
3750    pub BrokerID: TThostFtdcBrokerIDType,
3751    /// 用户代码
3752    pub UserID: TThostFtdcUserIDType,
3753}
3754#[test]
3755fn bindgen_test_layout_CThostFtdcUserLogoutField() {
3756    assert_eq!(::std::mem::size_of::<CThostFtdcUserLogoutField>() , 27usize ,
3757               concat ! (
3758               "Size of: " , stringify ! ( CThostFtdcUserLogoutField ) ));
3759    assert_eq! (::std::mem::align_of::<CThostFtdcUserLogoutField>() , 1usize ,
3760                concat ! (
3761                "Alignment of " , stringify ! ( CThostFtdcUserLogoutField )
3762                ));
3763    assert_eq! (unsafe {
3764                & ( * ( 0 as * const CThostFtdcUserLogoutField ) ) . BrokerID
3765                as * const _ as usize } , 0usize , concat ! (
3766                "Alignment of field: " , stringify ! (
3767                CThostFtdcUserLogoutField ) , "::" , stringify ! ( BrokerID )
3768                ));
3769    assert_eq! (unsafe {
3770                & ( * ( 0 as * const CThostFtdcUserLogoutField ) ) . UserID as
3771                * const _ as usize } , 11usize , concat ! (
3772                "Alignment of field: " , stringify ! (
3773                CThostFtdcUserLogoutField ) , "::" , stringify ! ( UserID )
3774                ));
3775}
3776impl Clone for CThostFtdcUserLogoutField {
3777    fn clone(&self) -> Self { *self }
3778}
3779/// 强制交易员退出
3780#[repr(C)]
3781#[derive(Default, Copy)]
3782pub struct CThostFtdcForceUserLogoutField {
3783    /// 经纪公司代码
3784    pub BrokerID: TThostFtdcBrokerIDType,
3785    /// 用户代码
3786    pub UserID: TThostFtdcUserIDType,
3787}
3788#[test]
3789fn bindgen_test_layout_CThostFtdcForceUserLogoutField() {
3790    assert_eq!(::std::mem::size_of::<CThostFtdcForceUserLogoutField>() ,
3791               27usize , concat ! (
3792               "Size of: " , stringify ! ( CThostFtdcForceUserLogoutField )
3793               ));
3794    assert_eq! (::std::mem::align_of::<CThostFtdcForceUserLogoutField>() ,
3795                1usize , concat ! (
3796                "Alignment of " , stringify ! ( CThostFtdcForceUserLogoutField
3797                ) ));
3798    assert_eq! (unsafe {
3799                & ( * ( 0 as * const CThostFtdcForceUserLogoutField ) ) .
3800                BrokerID as * const _ as usize } , 0usize , concat ! (
3801                "Alignment of field: " , stringify ! (
3802                CThostFtdcForceUserLogoutField ) , "::" , stringify ! (
3803                BrokerID ) ));
3804    assert_eq! (unsafe {
3805                & ( * ( 0 as * const CThostFtdcForceUserLogoutField ) ) .
3806                UserID as * const _ as usize } , 11usize , concat ! (
3807                "Alignment of field: " , stringify ! (
3808                CThostFtdcForceUserLogoutField ) , "::" , stringify ! ( UserID
3809                ) ));
3810}
3811impl Clone for CThostFtdcForceUserLogoutField {
3812    fn clone(&self) -> Self { *self }
3813}
3814/// 客户端认证请求
3815#[repr(C)]
3816#[derive(Copy)]
3817pub struct CThostFtdcReqAuthenticateField {
3818    /// 经纪公司代码
3819    pub BrokerID: TThostFtdcBrokerIDType,
3820    /// 用户代码
3821    pub UserID: TThostFtdcUserIDType,
3822    /// 用户端产品信息
3823    pub UserProductInfo: TThostFtdcProductInfoType,
3824    /// 认证码
3825    pub AuthCode: TThostFtdcAuthCodeType,
3826    /// App代码
3827    pub AppID: TThostFtdcAppIDType,
3828}
3829#[test]
3830fn bindgen_test_layout_CThostFtdcReqAuthenticateField() {
3831    assert_eq!(::std::mem::size_of::<CThostFtdcReqAuthenticateField>() ,
3832               88usize , concat ! (
3833               "Size of: " , stringify ! ( CThostFtdcReqAuthenticateField )
3834               ));
3835    assert_eq! (::std::mem::align_of::<CThostFtdcReqAuthenticateField>() ,
3836                1usize , concat ! (
3837                "Alignment of " , stringify ! ( CThostFtdcReqAuthenticateField
3838                ) ));
3839    assert_eq! (unsafe {
3840                & ( * ( 0 as * const CThostFtdcReqAuthenticateField ) ) .
3841                BrokerID as * const _ as usize } , 0usize , concat ! (
3842                "Alignment of field: " , stringify ! (
3843                CThostFtdcReqAuthenticateField ) , "::" , stringify ! (
3844                BrokerID ) ));
3845    assert_eq! (unsafe {
3846                & ( * ( 0 as * const CThostFtdcReqAuthenticateField ) ) .
3847                UserID as * const _ as usize } , 11usize , concat ! (
3848                "Alignment of field: " , stringify ! (
3849                CThostFtdcReqAuthenticateField ) , "::" , stringify ! ( UserID
3850                ) ));
3851    assert_eq! (unsafe {
3852                & ( * ( 0 as * const CThostFtdcReqAuthenticateField ) ) .
3853                UserProductInfo as * const _ as usize } , 27usize , concat ! (
3854                "Alignment of field: " , stringify ! (
3855                CThostFtdcReqAuthenticateField ) , "::" , stringify ! (
3856                UserProductInfo ) ));
3857    assert_eq! (unsafe {
3858                & ( * ( 0 as * const CThostFtdcReqAuthenticateField ) ) .
3859                AuthCode as * const _ as usize } , 38usize , concat ! (
3860                "Alignment of field: " , stringify ! (
3861                CThostFtdcReqAuthenticateField ) , "::" , stringify ! (
3862                AuthCode ) ));
3863    assert_eq! (unsafe {
3864                & ( * ( 0 as * const CThostFtdcReqAuthenticateField ) ) .
3865                AppID as * const _ as usize } , 55usize , concat ! (
3866                "Alignment of field: " , stringify ! (
3867                CThostFtdcReqAuthenticateField ) , "::" , stringify ! ( AppID
3868                ) ));
3869}
3870impl Clone for CThostFtdcReqAuthenticateField {
3871    fn clone(&self) -> Self { *self }
3872}
3873impl Default for CThostFtdcReqAuthenticateField {
3874    fn default() -> Self { unsafe { ::std::mem::zeroed() } }
3875}
3876/// 客户端认证响应
3877#[repr(C)]
3878#[derive(Copy)]
3879pub struct CThostFtdcRspAuthenticateField {
3880    /// 经纪公司代码
3881    pub BrokerID: TThostFtdcBrokerIDType,
3882    /// 用户代码
3883    pub UserID: TThostFtdcUserIDType,
3884    /// 用户端产品信息
3885    pub UserProductInfo: TThostFtdcProductInfoType,
3886    /// App代码
3887    pub AppID: TThostFtdcAppIDType,
3888    /// App类型
3889    pub AppType: TThostFtdcAppTypeType,
3890}
3891#[test]
3892fn bindgen_test_layout_CThostFtdcRspAuthenticateField() {
3893    assert_eq!(::std::mem::size_of::<CThostFtdcRspAuthenticateField>() ,
3894               72usize , concat ! (
3895               "Size of: " , stringify ! ( CThostFtdcRspAuthenticateField )
3896               ));
3897    assert_eq! (::std::mem::align_of::<CThostFtdcRspAuthenticateField>() ,
3898                1usize , concat ! (
3899                "Alignment of " , stringify ! ( CThostFtdcRspAuthenticateField
3900                ) ));
3901    assert_eq! (unsafe {
3902                & ( * ( 0 as * const CThostFtdcRspAuthenticateField ) ) .
3903                BrokerID as * const _ as usize } , 0usize , concat ! (
3904                "Alignment of field: " , stringify ! (
3905                CThostFtdcRspAuthenticateField ) , "::" , stringify ! (
3906                BrokerID ) ));
3907    assert_eq! (unsafe {
3908                & ( * ( 0 as * const CThostFtdcRspAuthenticateField ) ) .
3909                UserID as * const _ as usize } , 11usize , concat ! (
3910                "Alignment of field: " , stringify ! (
3911                CThostFtdcRspAuthenticateField ) , "::" , stringify ! ( UserID
3912                ) ));
3913    assert_eq! (unsafe {
3914                & ( * ( 0 as * const CThostFtdcRspAuthenticateField ) ) .
3915                UserProductInfo as * const _ as usize } , 27usize , concat ! (
3916                "Alignment of field: " , stringify ! (
3917                CThostFtdcRspAuthenticateField ) , "::" , stringify ! (
3918                UserProductInfo ) ));
3919    assert_eq! (unsafe {
3920                & ( * ( 0 as * const CThostFtdcRspAuthenticateField ) ) .
3921                AppID as * const _ as usize } , 38usize , concat ! (
3922                "Alignment of field: " , stringify ! (
3923                CThostFtdcRspAuthenticateField ) , "::" , stringify ! ( AppID
3924                ) ));
3925    assert_eq! (unsafe {
3926                & ( * ( 0 as * const CThostFtdcRspAuthenticateField ) ) .
3927                AppType as * const _ as usize } , 71usize , concat ! (
3928                "Alignment of field: " , stringify ! (
3929                CThostFtdcRspAuthenticateField ) , "::" , stringify ! (
3930                AppType ) ));
3931}
3932impl Clone for CThostFtdcRspAuthenticateField {
3933    fn clone(&self) -> Self { *self }
3934}
3935impl Default for CThostFtdcRspAuthenticateField {
3936    fn default() -> Self { unsafe { ::std::mem::zeroed() } }
3937}
3938/// 客户端认证信息
3939#[repr(C)]
3940#[derive(Copy)]
3941pub struct CThostFtdcAuthenticationInfoField {
3942    /// 经纪公司代码
3943    pub BrokerID: TThostFtdcBrokerIDType,
3944    /// 用户代码
3945    pub UserID: TThostFtdcUserIDType,
3946    /// 用户端产品信息
3947    pub UserProductInfo: TThostFtdcProductInfoType,
3948    /// 认证信息
3949    pub AuthInfo: TThostFtdcAuthInfoType,
3950    /// 是否为认证结果
3951    pub IsResult: TThostFtdcBoolType,
3952    /// App代码
3953    pub AppID: TThostFtdcAppIDType,
3954    /// App类型
3955    pub AppType: TThostFtdcAppTypeType,
3956}
3957#[test]
3958fn bindgen_test_layout_CThostFtdcAuthenticationInfoField() {
3959    assert_eq!(::std::mem::size_of::<CThostFtdcAuthenticationInfoField>() ,
3960               208usize , concat ! (
3961               "Size of: " , stringify ! ( CThostFtdcAuthenticationInfoField )
3962               ));
3963    assert_eq! (::std::mem::align_of::<CThostFtdcAuthenticationInfoField>() ,
3964                4usize , concat ! (
3965                "Alignment of " , stringify ! (
3966                CThostFtdcAuthenticationInfoField ) ));
3967    assert_eq! (unsafe {
3968                & ( * ( 0 as * const CThostFtdcAuthenticationInfoField ) ) .
3969                BrokerID as * const _ as usize } , 0usize , concat ! (
3970                "Alignment of field: " , stringify ! (
3971                CThostFtdcAuthenticationInfoField ) , "::" , stringify ! (
3972                BrokerID ) ));
3973    assert_eq! (unsafe {
3974                & ( * ( 0 as * const CThostFtdcAuthenticationInfoField ) ) .
3975                UserID as * const _ as usize } , 11usize , concat ! (
3976                "Alignment of field: " , stringify ! (
3977                CThostFtdcAuthenticationInfoField ) , "::" , stringify ! (
3978                UserID ) ));
3979    assert_eq! (unsafe {
3980                & ( * ( 0 as * const CThostFtdcAuthenticationInfoField ) ) .
3981                UserProductInfo as * const _ as usize } , 27usize , concat ! (
3982                "Alignment of field: " , stringify ! (
3983                CThostFtdcAuthenticationInfoField ) , "::" , stringify ! (
3984                UserProductInfo ) ));
3985    assert_eq! (unsafe {
3986                & ( * ( 0 as * const CThostFtdcAuthenticationInfoField ) ) .
3987                AuthInfo as * const _ as usize } , 38usize , concat ! (
3988                "Alignment of field: " , stringify ! (
3989                CThostFtdcAuthenticationInfoField ) , "::" , stringify ! (
3990                AuthInfo ) ));
3991    assert_eq! (unsafe {
3992                & ( * ( 0 as * const CThostFtdcAuthenticationInfoField ) ) .
3993                IsResult as * const _ as usize } , 168usize , concat ! (
3994                "Alignment of field: " , stringify ! (
3995                CThostFtdcAuthenticationInfoField ) , "::" , stringify ! (
3996                IsResult ) ));
3997    assert_eq! (unsafe {
3998                & ( * ( 0 as * const CThostFtdcAuthenticationInfoField ) ) .
3999                AppID as * const _ as usize } , 172usize , concat ! (
4000                "Alignment of field: " , stringify ! (
4001                CThostFtdcAuthenticationInfoField ) , "::" , stringify ! (
4002                AppID ) ));
4003    assert_eq! (unsafe {
4004                & ( * ( 0 as * const CThostFtdcAuthenticationInfoField ) ) .
4005                AppType as * const _ as usize } , 205usize , concat ! (
4006                "Alignment of field: " , stringify ! (
4007                CThostFtdcAuthenticationInfoField ) , "::" , stringify ! (
4008                AppType ) ));
4009}
4010impl Clone for CThostFtdcAuthenticationInfoField {
4011    fn clone(&self) -> Self { *self }
4012}
4013impl Default for CThostFtdcAuthenticationInfoField {
4014    fn default() -> Self { unsafe { ::std::mem::zeroed() } }
4015}
4016/// 用户登录应答2
4017#[repr(C)]
4018#[derive(Copy)]
4019pub struct CThostFtdcRspUserLogin2Field {
4020    /// 交易日
4021    pub TradingDay: TThostFtdcDateType,
4022    /// 登录成功时间
4023    pub LoginTime: TThostFtdcTimeType,
4024    /// 经纪公司代码
4025    pub BrokerID: TThostFtdcBrokerIDType,
4026    /// 用户代码
4027    pub UserID: TThostFtdcUserIDType,
4028    /// 交易系统名称
4029    pub SystemName: TThostFtdcSystemNameType,
4030    /// 前置编号
4031    pub FrontID: TThostFtdcFrontIDType,
4032    /// 会话编号
4033    pub SessionID: TThostFtdcSessionIDType,
4034    /// 最大报单引用
4035    pub MaxOrderRef: TThostFtdcOrderRefType,
4036    /// 上期所时间
4037    pub SHFETime: TThostFtdcTimeType,
4038    /// 大商所时间
4039    pub DCETime: TThostFtdcTimeType,
4040    /// 郑商所时间
4041    pub CZCETime: TThostFtdcTimeType,
4042    /// 中金所时间
4043    pub FFEXTime: TThostFtdcTimeType,
4044    /// 能源中心时间
4045    pub INETime: TThostFtdcTimeType,
4046    /// 随机串
4047    pub RandomString: TThostFtdcRandomStringType,
4048}
4049#[test]
4050fn bindgen_test_layout_CThostFtdcRspUserLogin2Field() {
4051    assert_eq!(::std::mem::size_of::<CThostFtdcRspUserLogin2Field>() ,
4052               172usize , concat ! (
4053               "Size of: " , stringify ! ( CThostFtdcRspUserLogin2Field ) ));
4054    assert_eq! (::std::mem::align_of::<CThostFtdcRspUserLogin2Field>() ,
4055                4usize , concat ! (
4056                "Alignment of " , stringify ! ( CThostFtdcRspUserLogin2Field )
4057                ));
4058    assert_eq! (unsafe {
4059                & ( * ( 0 as * const CThostFtdcRspUserLogin2Field ) ) .
4060                TradingDay as * const _ as usize } , 0usize , concat ! (
4061                "Alignment of field: " , stringify ! (
4062                CThostFtdcRspUserLogin2Field ) , "::" , stringify ! (
4063                TradingDay ) ));
4064    assert_eq! (unsafe {
4065                & ( * ( 0 as * const CThostFtdcRspUserLogin2Field ) ) .
4066                LoginTime as * const _ as usize } , 9usize , concat ! (
4067                "Alignment of field: " , stringify ! (
4068                CThostFtdcRspUserLogin2Field ) , "::" , stringify ! (
4069                LoginTime ) ));
4070    assert_eq! (unsafe {
4071                & ( * ( 0 as * const CThostFtdcRspUserLogin2Field ) ) .
4072                BrokerID as * const _ as usize } , 18usize , concat ! (
4073                "Alignment of field: " , stringify ! (
4074                CThostFtdcRspUserLogin2Field ) , "::" , stringify ! ( BrokerID
4075                ) ));
4076    assert_eq! (unsafe {
4077                & ( * ( 0 as * const CThostFtdcRspUserLogin2Field ) ) . UserID
4078                as * const _ as usize } , 29usize , concat ! (
4079                "Alignment of field: " , stringify ! (
4080                CThostFtdcRspUserLogin2Field ) , "::" , stringify ! ( UserID )
4081                ));
4082    assert_eq! (unsafe {
4083                & ( * ( 0 as * const CThostFtdcRspUserLogin2Field ) ) .
4084                SystemName as * const _ as usize } , 45usize , concat ! (
4085                "Alignment of field: " , stringify ! (
4086                CThostFtdcRspUserLogin2Field ) , "::" , stringify ! (
4087                SystemName ) ));
4088    assert_eq! (unsafe {
4089                & ( * ( 0 as * const CThostFtdcRspUserLogin2Field ) ) .
4090                FrontID as * const _ as usize } , 88usize , concat ! (
4091                "Alignment of field: " , stringify ! (
4092                CThostFtdcRspUserLogin2Field ) , "::" , stringify ! ( FrontID
4093                ) ));
4094    assert_eq! (unsafe {
4095                & ( * ( 0 as * const CThostFtdcRspUserLogin2Field ) ) .
4096                SessionID as * const _ as usize } , 92usize , concat ! (
4097                "Alignment of field: " , stringify ! (
4098                CThostFtdcRspUserLogin2Field ) , "::" , stringify ! (
4099                SessionID ) ));
4100    assert_eq! (unsafe {
4101                & ( * ( 0 as * const CThostFtdcRspUserLogin2Field ) ) .
4102                MaxOrderRef as * const _ as usize } , 96usize , concat ! (
4103                "Alignment of field: " , stringify ! (
4104                CThostFtdcRspUserLogin2Field ) , "::" , stringify ! (
4105                MaxOrderRef ) ));
4106    assert_eq! (unsafe {
4107                & ( * ( 0 as * const CThostFtdcRspUserLogin2Field ) ) .
4108                SHFETime as * const _ as usize } , 109usize , concat ! (
4109                "Alignment of field: " , stringify ! (
4110                CThostFtdcRspUserLogin2Field ) , "::" , stringify ! ( SHFETime
4111                ) ));
4112    assert_eq! (unsafe {
4113                & ( * ( 0 as * const CThostFtdcRspUserLogin2Field ) ) .
4114                DCETime as * const _ as usize } , 118usize , concat ! (
4115                "Alignment of field: " , stringify ! (
4116                CThostFtdcRspUserLogin2Field ) , "::" , stringify ! ( DCETime
4117                ) ));
4118    assert_eq! (unsafe {
4119                & ( * ( 0 as * const CThostFtdcRspUserLogin2Field ) ) .
4120                CZCETime as * const _ as usize } , 127usize , concat ! (
4121                "Alignment of field: " , stringify ! (
4122                CThostFtdcRspUserLogin2Field ) , "::" , stringify ! ( CZCETime
4123                ) ));
4124    assert_eq! (unsafe {
4125                & ( * ( 0 as * const CThostFtdcRspUserLogin2Field ) ) .
4126                FFEXTime as * const _ as usize } , 136usize , concat ! (
4127                "Alignment of field: " , stringify ! (
4128                CThostFtdcRspUserLogin2Field ) , "::" , stringify ! ( FFEXTime
4129                ) ));
4130    assert_eq! (unsafe {
4131                & ( * ( 0 as * const CThostFtdcRspUserLogin2Field ) ) .
4132                INETime as * const _ as usize } , 145usize , concat ! (
4133                "Alignment of field: " , stringify ! (
4134                CThostFtdcRspUserLogin2Field ) , "::" , stringify ! ( INETime
4135                ) ));
4136    assert_eq! (unsafe {
4137                & ( * ( 0 as * const CThostFtdcRspUserLogin2Field ) ) .
4138                RandomString as * const _ as usize } , 154usize , concat ! (
4139                "Alignment of field: " , stringify ! (
4140                CThostFtdcRspUserLogin2Field ) , "::" , stringify ! (
4141                RandomString ) ));
4142}
4143impl Clone for CThostFtdcRspUserLogin2Field {
4144    fn clone(&self) -> Self { *self }
4145}
4146impl Default for CThostFtdcRspUserLogin2Field {
4147    fn default() -> Self { unsafe { ::std::mem::zeroed() } }
4148}
4149/// 银期转帐报文头
4150#[repr(C)]
4151#[derive(Default, Copy)]
4152pub struct CThostFtdcTransferHeaderField {
4153    /// 版本号,常量,1.0
4154    pub Version: TThostFtdcVersionType,
4155    /// 交易代码,必填
4156    pub TradeCode: TThostFtdcTradeCodeType,
4157    /// 交易日期,必填,格式:yyyymmdd
4158    pub TradeDate: TThostFtdcTradeDateType,
4159    /// 交易时间,必填,格式:hhmmss
4160    pub TradeTime: TThostFtdcTradeTimeType,
4161    /// 发起方流水号,N/A
4162    pub TradeSerial: TThostFtdcTradeSerialType,
4163    /// 期货公司代码,必填
4164    pub FutureID: TThostFtdcFutureIDType,
4165    /// 银行代码,根据查询银行得到,必填
4166    pub BankID: TThostFtdcBankIDType,
4167    /// 银行分中心代码,根据查询银行得到,必填
4168    pub BankBrchID: TThostFtdcBankBrchIDType,
4169    /// 操作员,N/A
4170    pub OperNo: TThostFtdcOperNoType,
4171    /// 交易设备类型,N/A
4172    pub DeviceID: TThostFtdcDeviceIDType,
4173    /// 记录数,N/A
4174    pub RecordNum: TThostFtdcRecordNumType,
4175    /// 会话编号,N/A
4176    pub SessionID: TThostFtdcSessionIDType,
4177    /// 请求编号,N/A
4178    pub RequestID: TThostFtdcRequestIDType,
4179}
4180#[test]
4181fn bindgen_test_layout_CThostFtdcTransferHeaderField() {
4182    assert_eq!(::std::mem::size_of::<CThostFtdcTransferHeaderField>() ,
4183               96usize , concat ! (
4184               "Size of: " , stringify ! ( CThostFtdcTransferHeaderField ) ));
4185    assert_eq! (::std::mem::align_of::<CThostFtdcTransferHeaderField>() ,
4186                4usize , concat ! (
4187                "Alignment of " , stringify ! ( CThostFtdcTransferHeaderField
4188                ) ));
4189    assert_eq! (unsafe {
4190                & ( * ( 0 as * const CThostFtdcTransferHeaderField ) ) .
4191                Version as * const _ as usize } , 0usize , concat ! (
4192                "Alignment of field: " , stringify ! (
4193                CThostFtdcTransferHeaderField ) , "::" , stringify ! ( Version
4194                ) ));
4195    assert_eq! (unsafe {
4196                & ( * ( 0 as * const CThostFtdcTransferHeaderField ) ) .
4197                TradeCode as * const _ as usize } , 4usize , concat ! (
4198                "Alignment of field: " , stringify ! (
4199                CThostFtdcTransferHeaderField ) , "::" , stringify ! (
4200                TradeCode ) ));
4201    assert_eq! (unsafe {
4202                & ( * ( 0 as * const CThostFtdcTransferHeaderField ) ) .
4203                TradeDate as * const _ as usize } , 11usize , concat ! (
4204                "Alignment of field: " , stringify ! (
4205                CThostFtdcTransferHeaderField ) , "::" , stringify ! (
4206                TradeDate ) ));
4207    assert_eq! (unsafe {
4208                & ( * ( 0 as * const CThostFtdcTransferHeaderField ) ) .
4209                TradeTime as * const _ as usize } , 20usize , concat ! (
4210                "Alignment of field: " , stringify ! (
4211                CThostFtdcTransferHeaderField ) , "::" , stringify ! (
4212                TradeTime ) ));
4213    assert_eq! (unsafe {
4214                & ( * ( 0 as * const CThostFtdcTransferHeaderField ) ) .
4215                TradeSerial as * const _ as usize } , 29usize , concat ! (
4216                "Alignment of field: " , stringify ! (
4217                CThostFtdcTransferHeaderField ) , "::" , stringify ! (
4218                TradeSerial ) ));
4219    assert_eq! (unsafe {
4220                & ( * ( 0 as * const CThostFtdcTransferHeaderField ) ) .
4221                FutureID as * const _ as usize } , 38usize , concat ! (
4222                "Alignment of field: " , stringify ! (
4223                CThostFtdcTransferHeaderField ) , "::" , stringify ! (
4224                FutureID ) ));
4225    assert_eq! (unsafe {
4226                & ( * ( 0 as * const CThostFtdcTransferHeaderField ) ) .
4227                BankID as * const _ as usize } , 49usize , concat ! (
4228                "Alignment of field: " , stringify ! (
4229                CThostFtdcTransferHeaderField ) , "::" , stringify ! ( BankID
4230                ) ));
4231    assert_eq! (unsafe {
4232                & ( * ( 0 as * const CThostFtdcTransferHeaderField ) ) .
4233                BankBrchID as * const _ as usize } , 53usize , concat ! (
4234                "Alignment of field: " , stringify ! (
4235                CThostFtdcTransferHeaderField ) , "::" , stringify ! (
4236                BankBrchID ) ));
4237    assert_eq! (unsafe {
4238                & ( * ( 0 as * const CThostFtdcTransferHeaderField ) ) .
4239                OperNo as * const _ as usize } , 58usize , concat ! (
4240                "Alignment of field: " , stringify ! (
4241                CThostFtdcTransferHeaderField ) , "::" , stringify ! ( OperNo
4242                ) ));
4243    assert_eq! (unsafe {
4244                & ( * ( 0 as * const CThostFtdcTransferHeaderField ) ) .
4245                DeviceID as * const _ as usize } , 75usize , concat ! (
4246                "Alignment of field: " , stringify ! (
4247                CThostFtdcTransferHeaderField ) , "::" , stringify ! (
4248                DeviceID ) ));
4249    assert_eq! (unsafe {
4250                & ( * ( 0 as * const CThostFtdcTransferHeaderField ) ) .
4251                RecordNum as * const _ as usize } , 78usize , concat ! (
4252                "Alignment of field: " , stringify ! (
4253                CThostFtdcTransferHeaderField ) , "::" , stringify ! (
4254                RecordNum ) ));
4255    assert_eq! (unsafe {
4256                & ( * ( 0 as * const CThostFtdcTransferHeaderField ) ) .
4257                SessionID as * const _ as usize } , 88usize , concat ! (
4258                "Alignment of field: " , stringify ! (
4259                CThostFtdcTransferHeaderField ) , "::" , stringify ! (
4260                SessionID ) ));
4261    assert_eq! (unsafe {
4262                & ( * ( 0 as * const CThostFtdcTransferHeaderField ) ) .
4263                RequestID as * const _ as usize } , 92usize , concat ! (
4264                "Alignment of field: " , stringify ! (
4265                CThostFtdcTransferHeaderField ) , "::" , stringify ! (
4266                RequestID ) ));
4267}
4268impl Clone for CThostFtdcTransferHeaderField {
4269    fn clone(&self) -> Self { *self }
4270}
4271/// 银行资金转期货请求,TradeCode=202001
4272#[repr(C)]
4273#[derive(Default, Copy)]
4274pub struct CThostFtdcTransferBankToFutureReqField {
4275    /// 期货资金账户
4276    pub FutureAccount: TThostFtdcAccountIDType,
4277    /// 密码标志
4278    pub FuturePwdFlag: TThostFtdcFuturePwdFlagType,
4279    /// 密码
4280    pub FutureAccPwd: TThostFtdcFutureAccPwdType,
4281    /// 转账金额
4282    pub TradeAmt: TThostFtdcMoneyType,
4283    /// 客户手续费
4284    pub CustFee: TThostFtdcMoneyType,
4285    /// 币种:RMB-人民币 USD-美圆 HKD-港元
4286    pub CurrencyCode: TThostFtdcCurrencyCodeType,
4287}
4288#[test]
4289fn bindgen_test_layout_CThostFtdcTransferBankToFutureReqField() {
4290    assert_eq!(::std::mem::size_of::<CThostFtdcTransferBankToFutureReqField>()
4291               , 56usize , concat ! (
4292               "Size of: " , stringify ! (
4293               CThostFtdcTransferBankToFutureReqField ) ));
4294    assert_eq! (::std::mem::align_of::<CThostFtdcTransferBankToFutureReqField>()
4295                , 8usize , concat ! (
4296                "Alignment of " , stringify ! (
4297                CThostFtdcTransferBankToFutureReqField ) ));
4298    assert_eq! (unsafe {
4299                & ( * ( 0 as * const CThostFtdcTransferBankToFutureReqField )
4300                ) . FutureAccount as * const _ as usize } , 0usize , concat !
4301                (
4302                "Alignment of field: " , stringify ! (
4303                CThostFtdcTransferBankToFutureReqField ) , "::" , stringify !
4304                ( FutureAccount ) ));
4305    assert_eq! (unsafe {
4306                & ( * ( 0 as * const CThostFtdcTransferBankToFutureReqField )
4307                ) . FuturePwdFlag as * const _ as usize } , 13usize , concat !
4308                (
4309                "Alignment of field: " , stringify ! (
4310                CThostFtdcTransferBankToFutureReqField ) , "::" , stringify !
4311                ( FuturePwdFlag ) ));
4312    assert_eq! (unsafe {
4313                & ( * ( 0 as * const CThostFtdcTransferBankToFutureReqField )
4314                ) . FutureAccPwd as * const _ as usize } , 14usize , concat !
4315                (
4316                "Alignment of field: " , stringify ! (
4317                CThostFtdcTransferBankToFutureReqField ) , "::" , stringify !
4318                ( FutureAccPwd ) ));
4319    assert_eq! (unsafe {
4320                & ( * ( 0 as * const CThostFtdcTransferBankToFutureReqField )
4321                ) . TradeAmt as * const _ as usize } , 32usize , concat ! (
4322                "Alignment of field: " , stringify ! (
4323                CThostFtdcTransferBankToFutureReqField ) , "::" , stringify !
4324                ( TradeAmt ) ));
4325    assert_eq! (unsafe {
4326                & ( * ( 0 as * const CThostFtdcTransferBankToFutureReqField )
4327                ) . CustFee as * const _ as usize } , 40usize , concat ! (
4328                "Alignment of field: " , stringify ! (
4329                CThostFtdcTransferBankToFutureReqField ) , "::" , stringify !
4330                ( CustFee ) ));
4331    assert_eq! (unsafe {
4332                & ( * ( 0 as * const CThostFtdcTransferBankToFutureReqField )
4333                ) . CurrencyCode as * const _ as usize } , 48usize , concat !
4334                (
4335                "Alignment of field: " , stringify ! (
4336                CThostFtdcTransferBankToFutureReqField ) , "::" , stringify !
4337                ( CurrencyCode ) ));
4338}
4339impl Clone for CThostFtdcTransferBankToFutureReqField {
4340    fn clone(&self) -> Self { *self }
4341}
4342/// 银行资金转期货请求响应
4343#[repr(C)]
4344#[derive(Copy)]
4345pub struct CThostFtdcTransferBankToFutureRspField {
4346    /// 响应代码
4347    pub RetCode: TThostFtdcRetCodeType,
4348    /// 响应信息
4349    pub RetInfo: TThostFtdcRetInfoType,
4350    /// 资金账户
4351    pub FutureAccount: TThostFtdcAccountIDType,
4352    /// 转帐金额
4353    pub TradeAmt: TThostFtdcMoneyType,
4354    /// 应收客户手续费
4355    pub CustFee: TThostFtdcMoneyType,
4356    /// 币种
4357    pub CurrencyCode: TThostFtdcCurrencyCodeType,
4358}
4359#[test]
4360fn bindgen_test_layout_CThostFtdcTransferBankToFutureRspField() {
4361    assert_eq!(::std::mem::size_of::<CThostFtdcTransferBankToFutureRspField>()
4362               , 176usize , concat ! (
4363               "Size of: " , stringify ! (
4364               CThostFtdcTransferBankToFutureRspField ) ));
4365    assert_eq! (::std::mem::align_of::<CThostFtdcTransferBankToFutureRspField>()
4366                , 8usize , concat ! (
4367                "Alignment of " , stringify ! (
4368                CThostFtdcTransferBankToFutureRspField ) ));
4369    assert_eq! (unsafe {
4370                & ( * ( 0 as * const CThostFtdcTransferBankToFutureRspField )
4371                ) . RetCode as * const _ as usize } , 0usize , concat ! (
4372                "Alignment of field: " , stringify ! (
4373                CThostFtdcTransferBankToFutureRspField ) , "::" , stringify !
4374                ( RetCode ) ));
4375    assert_eq! (unsafe {
4376                & ( * ( 0 as * const CThostFtdcTransferBankToFutureRspField )
4377                ) . RetInfo as * const _ as usize } , 5usize , concat ! (
4378                "Alignment of field: " , stringify ! (
4379                CThostFtdcTransferBankToFutureRspField ) , "::" , stringify !
4380                ( RetInfo ) ));
4381    assert_eq! (unsafe {
4382                & ( * ( 0 as * const CThostFtdcTransferBankToFutureRspField )
4383                ) . FutureAccount as * const _ as usize } , 134usize , concat
4384                ! (
4385                "Alignment of field: " , stringify ! (
4386                CThostFtdcTransferBankToFutureRspField ) , "::" , stringify !
4387                ( FutureAccount ) ));
4388    assert_eq! (unsafe {
4389                & ( * ( 0 as * const CThostFtdcTransferBankToFutureRspField )
4390                ) . TradeAmt as * const _ as usize } , 152usize , concat ! (
4391                "Alignment of field: " , stringify ! (
4392                CThostFtdcTransferBankToFutureRspField ) , "::" , stringify !
4393                ( TradeAmt ) ));
4394    assert_eq! (unsafe {
4395                & ( * ( 0 as * const CThostFtdcTransferBankToFutureRspField )
4396                ) . CustFee as * const _ as usize } , 160usize , concat ! (
4397                "Alignment of field: " , stringify ! (
4398                CThostFtdcTransferBankToFutureRspField ) , "::" , stringify !
4399                ( CustFee ) ));
4400    assert_eq! (unsafe {
4401                & ( * ( 0 as * const CThostFtdcTransferBankToFutureRspField )
4402                ) . CurrencyCode as * const _ as usize } , 168usize , concat !
4403                (
4404                "Alignment of field: " , stringify ! (
4405                CThostFtdcTransferBankToFutureRspField ) , "::" , stringify !
4406                ( CurrencyCode ) ));
4407}
4408impl Clone for CThostFtdcTransferBankToFutureRspField {
4409    fn clone(&self) -> Self { *self }
4410}
4411impl Default for CThostFtdcTransferBankToFutureRspField {
4412    fn default() -> Self { unsafe { ::std::mem::zeroed() } }
4413}
4414/// 期货资金转银行请求,TradeCode=202002
4415#[repr(C)]
4416#[derive(Default, Copy)]
4417pub struct CThostFtdcTransferFutureToBankReqField {
4418    /// 期货资金账户
4419    pub FutureAccount: TThostFtdcAccountIDType,
4420    /// 密码标志
4421    pub FuturePwdFlag: TThostFtdcFuturePwdFlagType,
4422    /// 密码
4423    pub FutureAccPwd: TThostFtdcFutureAccPwdType,
4424    /// 转账金额
4425    pub TradeAmt: TThostFtdcMoneyType,
4426    /// 客户手续费
4427    pub CustFee: TThostFtdcMoneyType,
4428    /// 币种:RMB-人民币 USD-美圆 HKD-港元
4429    pub CurrencyCode: TThostFtdcCurrencyCodeType,
4430}
4431#[test]
4432fn bindgen_test_layout_CThostFtdcTransferFutureToBankReqField() {
4433    assert_eq!(::std::mem::size_of::<CThostFtdcTransferFutureToBankReqField>()
4434               , 56usize , concat ! (
4435               "Size of: " , stringify ! (
4436               CThostFtdcTransferFutureToBankReqField ) ));
4437    assert_eq! (::std::mem::align_of::<CThostFtdcTransferFutureToBankReqField>()
4438                , 8usize , concat ! (
4439                "Alignment of " , stringify ! (
4440                CThostFtdcTransferFutureToBankReqField ) ));
4441    assert_eq! (unsafe {
4442                & ( * ( 0 as * const CThostFtdcTransferFutureToBankReqField )
4443                ) . FutureAccount as * const _ as usize } , 0usize , concat !
4444                (
4445                "Alignment of field: " , stringify ! (
4446                CThostFtdcTransferFutureToBankReqField ) , "::" , stringify !
4447                ( FutureAccount ) ));
4448    assert_eq! (unsafe {
4449                & ( * ( 0 as * const CThostFtdcTransferFutureToBankReqField )
4450                ) . FuturePwdFlag as * const _ as usize } , 13usize , concat !
4451                (
4452                "Alignment of field: " , stringify ! (
4453                CThostFtdcTransferFutureToBankReqField ) , "::" , stringify !
4454                ( FuturePwdFlag ) ));
4455    assert_eq! (unsafe {
4456                & ( * ( 0 as * const CThostFtdcTransferFutureToBankReqField )
4457                ) . FutureAccPwd as * const _ as usize } , 14usize , concat !
4458                (
4459                "Alignment of field: " , stringify ! (
4460                CThostFtdcTransferFutureToBankReqField ) , "::" , stringify !
4461                ( FutureAccPwd ) ));
4462    assert_eq! (unsafe {
4463                & ( * ( 0 as * const CThostFtdcTransferFutureToBankReqField )
4464                ) . TradeAmt as * const _ as usize } , 32usize , concat ! (
4465                "Alignment of field: " , stringify ! (
4466                CThostFtdcTransferFutureToBankReqField ) , "::" , stringify !
4467                ( TradeAmt ) ));
4468    assert_eq! (unsafe {
4469                & ( * ( 0 as * const CThostFtdcTransferFutureToBankReqField )
4470                ) . CustFee as * const _ as usize } , 40usize , concat ! (
4471                "Alignment of field: " , stringify ! (
4472                CThostFtdcTransferFutureToBankReqField ) , "::" , stringify !
4473                ( CustFee ) ));
4474    assert_eq! (unsafe {
4475                & ( * ( 0 as * const CThostFtdcTransferFutureToBankReqField )
4476                ) . CurrencyCode as * const _ as usize } , 48usize , concat !
4477                (
4478                "Alignment of field: " , stringify ! (
4479                CThostFtdcTransferFutureToBankReqField ) , "::" , stringify !
4480                ( CurrencyCode ) ));
4481}
4482impl Clone for CThostFtdcTransferFutureToBankReqField {
4483    fn clone(&self) -> Self { *self }
4484}
4485/// 期货资金转银行请求响应
4486#[repr(C)]
4487#[derive(Copy)]
4488pub struct CThostFtdcTransferFutureToBankRspField {
4489    /// 响应代码
4490    pub RetCode: TThostFtdcRetCodeType,
4491    /// 响应信息
4492    pub RetInfo: TThostFtdcRetInfoType,
4493    /// 资金账户
4494    pub FutureAccount: TThostFtdcAccountIDType,
4495    /// 转帐金额
4496    pub TradeAmt: TThostFtdcMoneyType,
4497    /// 应收客户手续费
4498    pub CustFee: TThostFtdcMoneyType,
4499    /// 币种
4500    pub CurrencyCode: TThostFtdcCurrencyCodeType,
4501}
4502#[test]
4503fn bindgen_test_layout_CThostFtdcTransferFutureToBankRspField() {
4504    assert_eq!(::std::mem::size_of::<CThostFtdcTransferFutureToBankRspField>()
4505               , 176usize , concat ! (
4506               "Size of: " , stringify ! (
4507               CThostFtdcTransferFutureToBankRspField ) ));
4508    assert_eq! (::std::mem::align_of::<CThostFtdcTransferFutureToBankRspField>()
4509                , 8usize , concat ! (
4510                "Alignment of " , stringify ! (
4511                CThostFtdcTransferFutureToBankRspField ) ));
4512    assert_eq! (unsafe {
4513                & ( * ( 0 as * const CThostFtdcTransferFutureToBankRspField )
4514                ) . RetCode as * const _ as usize } , 0usize , concat ! (
4515                "Alignment of field: " , stringify ! (
4516                CThostFtdcTransferFutureToBankRspField ) , "::" , stringify !
4517                ( RetCode ) ));
4518    assert_eq! (unsafe {
4519                & ( * ( 0 as * const CThostFtdcTransferFutureToBankRspField )
4520                ) . RetInfo as * const _ as usize } , 5usize , concat ! (
4521                "Alignment of field: " , stringify ! (
4522                CThostFtdcTransferFutureToBankRspField ) , "::" , stringify !
4523                ( RetInfo ) ));
4524    assert_eq! (unsafe {
4525                & ( * ( 0 as * const CThostFtdcTransferFutureToBankRspField )
4526                ) . FutureAccount as * const _ as usize } , 134usize , concat
4527                ! (
4528                "Alignment of field: " , stringify ! (
4529                CThostFtdcTransferFutureToBankRspField ) , "::" , stringify !
4530                ( FutureAccount ) ));
4531    assert_eq! (unsafe {
4532                & ( * ( 0 as * const CThostFtdcTransferFutureToBankRspField )
4533                ) . TradeAmt as * const _ as usize } , 152usize , concat ! (
4534                "Alignment of field: " , stringify ! (
4535                CThostFtdcTransferFutureToBankRspField ) , "::" , stringify !
4536                ( TradeAmt ) ));
4537    assert_eq! (unsafe {
4538                & ( * ( 0 as * const CThostFtdcTransferFutureToBankRspField )
4539                ) . CustFee as * const _ as usize } , 160usize , concat ! (
4540                "Alignment of field: " , stringify ! (
4541                CThostFtdcTransferFutureToBankRspField ) , "::" , stringify !
4542                ( CustFee ) ));
4543    assert_eq! (unsafe {
4544                & ( * ( 0 as * const CThostFtdcTransferFutureToBankRspField )
4545                ) . CurrencyCode as * const _ as usize } , 168usize , concat !
4546                (
4547                "Alignment of field: " , stringify ! (
4548                CThostFtdcTransferFutureToBankRspField ) , "::" , stringify !
4549                ( CurrencyCode ) ));
4550}
4551impl Clone for CThostFtdcTransferFutureToBankRspField {
4552    fn clone(&self) -> Self { *self }
4553}
4554impl Default for CThostFtdcTransferFutureToBankRspField {
4555    fn default() -> Self { unsafe { ::std::mem::zeroed() } }
4556}
4557/// 查询银行资金请求,TradeCode=204002
4558#[repr(C)]
4559#[derive(Default, Copy)]
4560pub struct CThostFtdcTransferQryBankReqField {
4561    /// 期货资金账户
4562    pub FutureAccount: TThostFtdcAccountIDType,
4563    /// 密码标志
4564    pub FuturePwdFlag: TThostFtdcFuturePwdFlagType,
4565    /// 密码
4566    pub FutureAccPwd: TThostFtdcFutureAccPwdType,
4567    /// 币种:RMB-人民币 USD-美圆 HKD-港元
4568    pub CurrencyCode: TThostFtdcCurrencyCodeType,
4569}
4570#[test]
4571fn bindgen_test_layout_CThostFtdcTransferQryBankReqField() {
4572    assert_eq!(::std::mem::size_of::<CThostFtdcTransferQryBankReqField>() ,
4573               35usize , concat ! (
4574               "Size of: " , stringify ! ( CThostFtdcTransferQryBankReqField )
4575               ));
4576    assert_eq! (::std::mem::align_of::<CThostFtdcTransferQryBankReqField>() ,
4577                1usize , concat ! (
4578                "Alignment of " , stringify ! (
4579                CThostFtdcTransferQryBankReqField ) ));
4580    assert_eq! (unsafe {
4581                & ( * ( 0 as * const CThostFtdcTransferQryBankReqField ) ) .
4582                FutureAccount as * const _ as usize } , 0usize , concat ! (
4583                "Alignment of field: " , stringify ! (
4584                CThostFtdcTransferQryBankReqField ) , "::" , stringify ! (
4585                FutureAccount ) ));
4586    assert_eq! (unsafe {
4587                & ( * ( 0 as * const CThostFtdcTransferQryBankReqField ) ) .
4588                FuturePwdFlag as * const _ as usize } , 13usize , concat ! (
4589                "Alignment of field: " , stringify ! (
4590                CThostFtdcTransferQryBankReqField ) , "::" , stringify ! (
4591                FuturePwdFlag ) ));
4592    assert_eq! (unsafe {
4593                & ( * ( 0 as * const CThostFtdcTransferQryBankReqField ) ) .
4594                FutureAccPwd as * const _ as usize } , 14usize , concat ! (
4595                "Alignment of field: " , stringify ! (
4596                CThostFtdcTransferQryBankReqField ) , "::" , stringify ! (
4597                FutureAccPwd ) ));
4598    assert_eq! (unsafe {
4599                & ( * ( 0 as * const CThostFtdcTransferQryBankReqField ) ) .
4600                CurrencyCode as * const _ as usize } , 31usize , concat ! (
4601                "Alignment of field: " , stringify ! (
4602                CThostFtdcTransferQryBankReqField ) , "::" , stringify ! (
4603                CurrencyCode ) ));
4604}
4605impl Clone for CThostFtdcTransferQryBankReqField {
4606    fn clone(&self) -> Self { *self }
4607}
4608/// 查询银行资金请求响应
4609#[repr(C)]
4610#[derive(Copy)]
4611pub struct CThostFtdcTransferQryBankRspField {
4612    /// 响应代码
4613    pub RetCode: TThostFtdcRetCodeType,
4614    /// 响应信息
4615    pub RetInfo: TThostFtdcRetInfoType,
4616    /// 资金账户
4617    pub FutureAccount: TThostFtdcAccountIDType,
4618    /// 银行余额
4619    pub TradeAmt: TThostFtdcMoneyType,
4620    /// 银行可用余额
4621    pub UseAmt: TThostFtdcMoneyType,
4622    /// 银行可取余额
4623    pub FetchAmt: TThostFtdcMoneyType,
4624    /// 币种
4625    pub CurrencyCode: TThostFtdcCurrencyCodeType,
4626}
4627#[test]
4628fn bindgen_test_layout_CThostFtdcTransferQryBankRspField() {
4629    assert_eq!(::std::mem::size_of::<CThostFtdcTransferQryBankRspField>() ,
4630               184usize , concat ! (
4631               "Size of: " , stringify ! ( CThostFtdcTransferQryBankRspField )
4632               ));
4633    assert_eq! (::std::mem::align_of::<CThostFtdcTransferQryBankRspField>() ,
4634                8usize , concat ! (
4635                "Alignment of " , stringify ! (
4636                CThostFtdcTransferQryBankRspField ) ));
4637    assert_eq! (unsafe {
4638                & ( * ( 0 as * const CThostFtdcTransferQryBankRspField ) ) .
4639                RetCode as * const _ as usize } , 0usize , concat ! (
4640                "Alignment of field: " , stringify ! (
4641                CThostFtdcTransferQryBankRspField ) , "::" , stringify ! (
4642                RetCode ) ));
4643    assert_eq! (unsafe {
4644                & ( * ( 0 as * const CThostFtdcTransferQryBankRspField ) ) .
4645                RetInfo as * const _ as usize } , 5usize , concat ! (
4646                "Alignment of field: " , stringify ! (
4647                CThostFtdcTransferQryBankRspField ) , "::" , stringify ! (
4648                RetInfo ) ));
4649    assert_eq! (unsafe {
4650                & ( * ( 0 as * const CThostFtdcTransferQryBankRspField ) ) .
4651                FutureAccount as * const _ as usize } , 134usize , concat ! (
4652                "Alignment of field: " , stringify ! (
4653                CThostFtdcTransferQryBankRspField ) , "::" , stringify ! (
4654                FutureAccount ) ));
4655    assert_eq! (unsafe {
4656                & ( * ( 0 as * const CThostFtdcTransferQryBankRspField ) ) .
4657                TradeAmt as * const _ as usize } , 152usize , concat ! (
4658                "Alignment of field: " , stringify ! (
4659                CThostFtdcTransferQryBankRspField ) , "::" , stringify ! (
4660                TradeAmt ) ));
4661    assert_eq! (unsafe {
4662                & ( * ( 0 as * const CThostFtdcTransferQryBankRspField ) ) .
4663                UseAmt as * const _ as usize } , 160usize , concat ! (
4664                "Alignment of field: " , stringify ! (
4665                CThostFtdcTransferQryBankRspField ) , "::" , stringify ! (
4666                UseAmt ) ));
4667    assert_eq! (unsafe {
4668                & ( * ( 0 as * const CThostFtdcTransferQryBankRspField ) ) .
4669                FetchAmt as * const _ as usize } , 168usize , concat ! (
4670                "Alignment of field: " , stringify ! (
4671                CThostFtdcTransferQryBankRspField ) , "::" , stringify ! (
4672                FetchAmt ) ));
4673    assert_eq! (unsafe {
4674                & ( * ( 0 as * const CThostFtdcTransferQryBankRspField ) ) .
4675                CurrencyCode as * const _ as usize } , 176usize , concat ! (
4676                "Alignment of field: " , stringify ! (
4677                CThostFtdcTransferQryBankRspField ) , "::" , stringify ! (
4678                CurrencyCode ) ));
4679}
4680impl Clone for CThostFtdcTransferQryBankRspField {
4681    fn clone(&self) -> Self { *self }
4682}
4683impl Default for CThostFtdcTransferQryBankRspField {
4684    fn default() -> Self { unsafe { ::std::mem::zeroed() } }
4685}
4686/// 查询银行交易明细请求,TradeCode=204999
4687#[repr(C)]
4688#[derive(Default, Copy)]
4689pub struct CThostFtdcTransferQryDetailReqField {
4690    /// 期货资金账户
4691    pub FutureAccount: TThostFtdcAccountIDType,
4692}
4693#[test]
4694fn bindgen_test_layout_CThostFtdcTransferQryDetailReqField() {
4695    assert_eq!(::std::mem::size_of::<CThostFtdcTransferQryDetailReqField>() ,
4696               13usize , concat ! (
4697               "Size of: " , stringify ! ( CThostFtdcTransferQryDetailReqField
4698               ) ));
4699    assert_eq! (::std::mem::align_of::<CThostFtdcTransferQryDetailReqField>()
4700                , 1usize , concat ! (
4701                "Alignment of " , stringify ! (
4702                CThostFtdcTransferQryDetailReqField ) ));
4703    assert_eq! (unsafe {
4704                & ( * ( 0 as * const CThostFtdcTransferQryDetailReqField ) ) .
4705                FutureAccount as * const _ as usize } , 0usize , concat ! (
4706                "Alignment of field: " , stringify ! (
4707                CThostFtdcTransferQryDetailReqField ) , "::" , stringify ! (
4708                FutureAccount ) ));
4709}
4710impl Clone for CThostFtdcTransferQryDetailReqField {
4711    fn clone(&self) -> Self { *self }
4712}
4713/// 查询银行交易明细请求响应
4714#[repr(C)]
4715#[derive(Copy)]
4716pub struct CThostFtdcTransferQryDetailRspField {
4717    /// 交易日期
4718    pub TradeDate: TThostFtdcDateType,
4719    /// 交易时间
4720    pub TradeTime: TThostFtdcTradeTimeType,
4721    /// 交易代码
4722    pub TradeCode: TThostFtdcTradeCodeType,
4723    /// 期货流水号
4724    pub FutureSerial: TThostFtdcTradeSerialNoType,
4725    /// 期货公司代码
4726    pub FutureID: TThostFtdcFutureIDType,
4727    /// 资金帐号
4728    pub FutureAccount: TThostFtdcFutureAccountType,
4729    /// 银行流水号
4730    pub BankSerial: TThostFtdcTradeSerialNoType,
4731    /// 银行代码
4732    pub BankID: TThostFtdcBankIDType,
4733    /// 银行分中心代码
4734    pub BankBrchID: TThostFtdcBankBrchIDType,
4735    /// 银行账号
4736    pub BankAccount: TThostFtdcBankAccountType,
4737    /// 证件号码
4738    pub CertCode: TThostFtdcCertCodeType,
4739    /// 货币代码
4740    pub CurrencyCode: TThostFtdcCurrencyCodeType,
4741    /// 发生金额
4742    pub TxAmount: TThostFtdcMoneyType,
4743    /// 有效标志
4744    pub Flag: TThostFtdcTransferValidFlagType,
4745}
4746#[test]
4747fn bindgen_test_layout_CThostFtdcTransferQryDetailRspField() {
4748    assert_eq!(::std::mem::size_of::<CThostFtdcTransferQryDetailRspField>() ,
4749               168usize , concat ! (
4750               "Size of: " , stringify ! ( CThostFtdcTransferQryDetailRspField
4751               ) ));
4752    assert_eq! (::std::mem::align_of::<CThostFtdcTransferQryDetailRspField>()
4753                , 8usize , concat ! (
4754                "Alignment of " , stringify ! (
4755                CThostFtdcTransferQryDetailRspField ) ));
4756    assert_eq! (unsafe {
4757                & ( * ( 0 as * const CThostFtdcTransferQryDetailRspField ) ) .
4758                TradeDate as * const _ as usize } , 0usize , concat ! (
4759                "Alignment of field: " , stringify ! (
4760                CThostFtdcTransferQryDetailRspField ) , "::" , stringify ! (
4761                TradeDate ) ));
4762    assert_eq! (unsafe {
4763                & ( * ( 0 as * const CThostFtdcTransferQryDetailRspField ) ) .
4764                TradeTime as * const _ as usize } , 9usize , concat ! (
4765                "Alignment of field: " , stringify ! (
4766                CThostFtdcTransferQryDetailRspField ) , "::" , stringify ! (
4767                TradeTime ) ));
4768    assert_eq! (unsafe {
4769                & ( * ( 0 as * const CThostFtdcTransferQryDetailRspField ) ) .
4770                TradeCode as * const _ as usize } , 18usize , concat ! (
4771                "Alignment of field: " , stringify ! (
4772                CThostFtdcTransferQryDetailRspField ) , "::" , stringify ! (
4773                TradeCode ) ));
4774    assert_eq! (unsafe {
4775                & ( * ( 0 as * const CThostFtdcTransferQryDetailRspField ) ) .
4776                FutureSerial as * const _ as usize } , 28usize , concat ! (
4777                "Alignment of field: " , stringify ! (
4778                CThostFtdcTransferQryDetailRspField ) , "::" , stringify ! (
4779                FutureSerial ) ));
4780    assert_eq! (unsafe {
4781                & ( * ( 0 as * const CThostFtdcTransferQryDetailRspField ) ) .
4782                FutureID as * const _ as usize } , 32usize , concat ! (
4783                "Alignment of field: " , stringify ! (
4784                CThostFtdcTransferQryDetailRspField ) , "::" , stringify ! (
4785                FutureID ) ));
4786    assert_eq! (unsafe {
4787                & ( * ( 0 as * const CThostFtdcTransferQryDetailRspField ) ) .
4788                FutureAccount as * const _ as usize } , 43usize , concat ! (
4789                "Alignment of field: " , stringify ! (
4790                CThostFtdcTransferQryDetailRspField ) , "::" , stringify ! (
4791                FutureAccount ) ));
4792    assert_eq! (unsafe {
4793                & ( * ( 0 as * const CThostFtdcTransferQryDetailRspField ) ) .
4794                BankSerial as * const _ as usize } , 68usize , concat ! (
4795                "Alignment of field: " , stringify ! (
4796                CThostFtdcTransferQryDetailRspField ) , "::" , stringify ! (
4797                BankSerial ) ));
4798    assert_eq! (unsafe {
4799                & ( * ( 0 as * const CThostFtdcTransferQryDetailRspField ) ) .
4800                BankID as * const _ as usize } , 72usize , concat ! (
4801                "Alignment of field: " , stringify ! (
4802                CThostFtdcTransferQryDetailRspField ) , "::" , stringify ! (
4803                BankID ) ));
4804    assert_eq! (unsafe {
4805                & ( * ( 0 as * const CThostFtdcTransferQryDetailRspField ) ) .
4806                BankBrchID as * const _ as usize } , 76usize , concat ! (
4807                "Alignment of field: " , stringify ! (
4808                CThostFtdcTransferQryDetailRspField ) , "::" , stringify ! (
4809                BankBrchID ) ));
4810    assert_eq! (unsafe {
4811                & ( * ( 0 as * const CThostFtdcTransferQryDetailRspField ) ) .
4812                BankAccount as * const _ as usize } , 81usize , concat ! (
4813                "Alignment of field: " , stringify ! (
4814                CThostFtdcTransferQryDetailRspField ) , "::" , stringify ! (
4815                BankAccount ) ));
4816    assert_eq! (unsafe {
4817                & ( * ( 0 as * const CThostFtdcTransferQryDetailRspField ) ) .
4818                CertCode as * const _ as usize } , 122usize , concat ! (
4819                "Alignment of field: " , stringify ! (
4820                CThostFtdcTransferQryDetailRspField ) , "::" , stringify ! (
4821                CertCode ) ));
4822    assert_eq! (unsafe {
4823                & ( * ( 0 as * const CThostFtdcTransferQryDetailRspField ) ) .
4824                CurrencyCode as * const _ as usize } , 143usize , concat ! (
4825                "Alignment of field: " , stringify ! (
4826                CThostFtdcTransferQryDetailRspField ) , "::" , stringify ! (
4827                CurrencyCode ) ));
4828    assert_eq! (unsafe {
4829                & ( * ( 0 as * const CThostFtdcTransferQryDetailRspField ) ) .
4830                TxAmount as * const _ as usize } , 152usize , concat ! (
4831                "Alignment of field: " , stringify ! (
4832                CThostFtdcTransferQryDetailRspField ) , "::" , stringify ! (
4833                TxAmount ) ));
4834    assert_eq! (unsafe {
4835                & ( * ( 0 as * const CThostFtdcTransferQryDetailRspField ) ) .
4836                Flag as * const _ as usize } , 160usize , concat ! (
4837                "Alignment of field: " , stringify ! (
4838                CThostFtdcTransferQryDetailRspField ) , "::" , stringify ! (
4839                Flag ) ));
4840}
4841impl Clone for CThostFtdcTransferQryDetailRspField {
4842    fn clone(&self) -> Self { *self }
4843}
4844impl Default for CThostFtdcTransferQryDetailRspField {
4845    fn default() -> Self { unsafe { ::std::mem::zeroed() } }
4846}
4847/// 响应信息
4848#[repr(C)]
4849#[derive(Copy)]
4850pub struct CThostFtdcRspInfoField {
4851    /// 错误代码
4852    pub ErrorID: TThostFtdcErrorIDType,
4853    /// 错误信息
4854    pub ErrorMsg: TThostFtdcErrorMsgType,
4855}
4856#[test]
4857fn bindgen_test_layout_CThostFtdcRspInfoField() {
4858    assert_eq!(::std::mem::size_of::<CThostFtdcRspInfoField>() , 88usize ,
4859               concat ! ( "Size of: " , stringify ! ( CThostFtdcRspInfoField )
4860               ));
4861    assert_eq! (::std::mem::align_of::<CThostFtdcRspInfoField>() , 4usize ,
4862                concat ! (
4863                "Alignment of " , stringify ! ( CThostFtdcRspInfoField ) ));
4864    assert_eq! (unsafe {
4865                & ( * ( 0 as * const CThostFtdcRspInfoField ) ) . ErrorID as *
4866                const _ as usize } , 0usize , concat ! (
4867                "Alignment of field: " , stringify ! ( CThostFtdcRspInfoField
4868                ) , "::" , stringify ! ( ErrorID ) ));
4869    assert_eq! (unsafe {
4870                & ( * ( 0 as * const CThostFtdcRspInfoField ) ) . ErrorMsg as
4871                * const _ as usize } , 4usize , concat ! (
4872                "Alignment of field: " , stringify ! ( CThostFtdcRspInfoField
4873                ) , "::" , stringify ! ( ErrorMsg ) ));
4874}
4875impl Clone for CThostFtdcRspInfoField {
4876    fn clone(&self) -> Self { *self }
4877}
4878impl Default for CThostFtdcRspInfoField {
4879    fn default() -> Self { unsafe { ::std::mem::zeroed() } }
4880}
4881/// 交易所
4882#[repr(C)]
4883#[derive(Copy)]
4884pub struct CThostFtdcExchangeField {
4885    /// 交易所代码
4886    pub ExchangeID: TThostFtdcExchangeIDType,
4887    /// 交易所名称
4888    pub ExchangeName: TThostFtdcExchangeNameType,
4889    /// 交易所属性
4890    pub ExchangeProperty: TThostFtdcExchangePropertyType,
4891}
4892#[test]
4893fn bindgen_test_layout_CThostFtdcExchangeField() {
4894    assert_eq!(::std::mem::size_of::<CThostFtdcExchangeField>() , 71usize ,
4895               concat ! (
4896               "Size of: " , stringify ! ( CThostFtdcExchangeField ) ));
4897    assert_eq! (::std::mem::align_of::<CThostFtdcExchangeField>() , 1usize ,
4898                concat ! (
4899                "Alignment of " , stringify ! ( CThostFtdcExchangeField ) ));
4900    assert_eq! (unsafe {
4901                & ( * ( 0 as * const CThostFtdcExchangeField ) ) . ExchangeID
4902                as * const _ as usize } , 0usize , concat ! (
4903                "Alignment of field: " , stringify ! ( CThostFtdcExchangeField
4904                ) , "::" , stringify ! ( ExchangeID ) ));
4905    assert_eq! (unsafe {
4906                & ( * ( 0 as * const CThostFtdcExchangeField ) ) .
4907                ExchangeName as * const _ as usize } , 9usize , concat ! (
4908                "Alignment of field: " , stringify ! ( CThostFtdcExchangeField
4909                ) , "::" , stringify ! ( ExchangeName ) ));
4910    assert_eq! (unsafe {
4911                & ( * ( 0 as * const CThostFtdcExchangeField ) ) .
4912                ExchangeProperty as * const _ as usize } , 70usize , concat !
4913                (
4914                "Alignment of field: " , stringify ! ( CThostFtdcExchangeField
4915                ) , "::" , stringify ! ( ExchangeProperty ) ));
4916}
4917impl Clone for CThostFtdcExchangeField {
4918    fn clone(&self) -> Self { *self }
4919}
4920impl Default for CThostFtdcExchangeField {
4921    fn default() -> Self { unsafe { ::std::mem::zeroed() } }
4922}
4923/// 产品
4924#[repr(C)]
4925#[derive(Default, Copy)]
4926pub struct CThostFtdcProductField {
4927    /// 产品代码
4928    pub ProductID: TThostFtdcInstrumentIDType,
4929    /// 产品名称
4930    pub ProductName: TThostFtdcProductNameType,
4931    /// 交易所代码
4932    pub ExchangeID: TThostFtdcExchangeIDType,
4933    /// 产品类型
4934    pub ProductClass: TThostFtdcProductClassType,
4935    /// 合约数量乘数
4936    pub VolumeMultiple: TThostFtdcVolumeMultipleType,
4937    /// 最小变动价位
4938    pub PriceTick: TThostFtdcPriceType,
4939    /// 市价单最大下单量
4940    pub MaxMarketOrderVolume: TThostFtdcVolumeType,
4941    /// 市价单最小下单量
4942    pub MinMarketOrderVolume: TThostFtdcVolumeType,
4943    /// 限价单最大下单量
4944    pub MaxLimitOrderVolume: TThostFtdcVolumeType,
4945    /// 限价单最小下单量
4946    pub MinLimitOrderVolume: TThostFtdcVolumeType,
4947    /// 持仓类型
4948    pub PositionType: TThostFtdcPositionTypeType,
4949    /// 持仓日期类型
4950    pub PositionDateType: TThostFtdcPositionDateTypeType,
4951    /// 平仓处理类型
4952    pub CloseDealType: TThostFtdcCloseDealTypeType,
4953    /// 交易币种类型
4954    pub TradeCurrencyID: TThostFtdcCurrencyIDType,
4955    /// 质押资金可用范围
4956    pub MortgageFundUseRange: TThostFtdcMortgageFundUseRangeType,
4957    /// 交易所产品代码
4958    pub ExchangeProductID: TThostFtdcInstrumentIDType,
4959    /// 合约基础商品乘数
4960    pub UnderlyingMultiple: TThostFtdcUnderlyingMultipleType,
4961}
4962#[test]
4963fn bindgen_test_layout_CThostFtdcProductField() {
4964    assert_eq!(::std::mem::size_of::<CThostFtdcProductField>() , 144usize ,
4965               concat ! ( "Size of: " , stringify ! ( CThostFtdcProductField )
4966               ));
4967    assert_eq! (::std::mem::align_of::<CThostFtdcProductField>() , 8usize ,
4968                concat ! (
4969                "Alignment of " , stringify ! ( CThostFtdcProductField ) ));
4970    assert_eq! (unsafe {
4971                & ( * ( 0 as * const CThostFtdcProductField ) ) . ProductID as
4972                * const _ as usize } , 0usize , concat ! (
4973                "Alignment of field: " , stringify ! ( CThostFtdcProductField
4974                ) , "::" , stringify ! ( ProductID ) ));
4975    assert_eq! (unsafe {
4976                & ( * ( 0 as * const CThostFtdcProductField ) ) . ProductName
4977                as * const _ as usize } , 31usize , concat ! (
4978                "Alignment of field: " , stringify ! ( CThostFtdcProductField
4979                ) , "::" , stringify ! ( ProductName ) ));
4980    assert_eq! (unsafe {
4981                & ( * ( 0 as * const CThostFtdcProductField ) ) . ExchangeID
4982                as * const _ as usize } , 52usize , concat ! (
4983                "Alignment of field: " , stringify ! ( CThostFtdcProductField
4984                ) , "::" , stringify ! ( ExchangeID ) ));
4985    assert_eq! (unsafe {
4986                & ( * ( 0 as * const CThostFtdcProductField ) ) . ProductClass
4987                as * const _ as usize } , 61usize , concat ! (
4988                "Alignment of field: " , stringify ! ( CThostFtdcProductField
4989                ) , "::" , stringify ! ( ProductClass ) ));
4990    assert_eq! (unsafe {
4991                & ( * ( 0 as * const CThostFtdcProductField ) ) .
4992                VolumeMultiple as * const _ as usize } , 64usize , concat ! (
4993                "Alignment of field: " , stringify ! ( CThostFtdcProductField
4994                ) , "::" , stringify ! ( VolumeMultiple ) ));
4995    assert_eq! (unsafe {
4996                & ( * ( 0 as * const CThostFtdcProductField ) ) . PriceTick as
4997                * const _ as usize } , 72usize , concat ! (
4998                "Alignment of field: " , stringify ! ( CThostFtdcProductField
4999                ) , "::" , stringify ! ( PriceTick ) ));
5000    assert_eq! (unsafe {
5001                & ( * ( 0 as * const CThostFtdcProductField ) ) .
5002                MaxMarketOrderVolume as * const _ as usize } , 80usize ,
5003                concat ! (
5004                "Alignment of field: " , stringify ! ( CThostFtdcProductField
5005                ) , "::" , stringify ! ( MaxMarketOrderVolume ) ));
5006    assert_eq! (unsafe {
5007                & ( * ( 0 as * const CThostFtdcProductField ) ) .
5008                MinMarketOrderVolume as * const _ as usize } , 84usize ,
5009                concat ! (
5010                "Alignment of field: " , stringify ! ( CThostFtdcProductField
5011                ) , "::" , stringify ! ( MinMarketOrderVolume ) ));
5012    assert_eq! (unsafe {
5013                & ( * ( 0 as * const CThostFtdcProductField ) ) .
5014                MaxLimitOrderVolume as * const _ as usize } , 88usize , concat
5015                ! (
5016                "Alignment of field: " , stringify ! ( CThostFtdcProductField
5017                ) , "::" , stringify ! ( MaxLimitOrderVolume ) ));
5018    assert_eq! (unsafe {
5019                & ( * ( 0 as * const CThostFtdcProductField ) ) .
5020                MinLimitOrderVolume as * const _ as usize } , 92usize , concat
5021                ! (
5022                "Alignment of field: " , stringify ! ( CThostFtdcProductField
5023                ) , "::" , stringify ! ( MinLimitOrderVolume ) ));
5024    assert_eq! (unsafe {
5025                & ( * ( 0 as * const CThostFtdcProductField ) ) . PositionType
5026                as * const _ as usize } , 96usize , concat ! (
5027                "Alignment of field: " , stringify ! ( CThostFtdcProductField
5028                ) , "::" , stringify ! ( PositionType ) ));
5029    assert_eq! (unsafe {
5030                & ( * ( 0 as * const CThostFtdcProductField ) ) .
5031                PositionDateType as * const _ as usize } , 97usize , concat !
5032                (
5033                "Alignment of field: " , stringify ! ( CThostFtdcProductField
5034                ) , "::" , stringify ! ( PositionDateType ) ));
5035    assert_eq! (unsafe {
5036                & ( * ( 0 as * const CThostFtdcProductField ) ) .
5037                CloseDealType as * const _ as usize } , 98usize , concat ! (
5038                "Alignment of field: " , stringify ! ( CThostFtdcProductField
5039                ) , "::" , stringify ! ( CloseDealType ) ));
5040    assert_eq! (unsafe {
5041                & ( * ( 0 as * const CThostFtdcProductField ) ) .
5042                TradeCurrencyID as * const _ as usize } , 99usize , concat ! (
5043                "Alignment of field: " , stringify ! ( CThostFtdcProductField
5044                ) , "::" , stringify ! ( TradeCurrencyID ) ));
5045    assert_eq! (unsafe {
5046                & ( * ( 0 as * const CThostFtdcProductField ) ) .
5047                MortgageFundUseRange as * const _ as usize } , 103usize ,
5048                concat ! (
5049                "Alignment of field: " , stringify ! ( CThostFtdcProductField
5050                ) , "::" , stringify ! ( MortgageFundUseRange ) ));
5051    assert_eq! (unsafe {
5052                & ( * ( 0 as * const CThostFtdcProductField ) ) .
5053                ExchangeProductID as * const _ as usize } , 104usize , concat
5054                ! (
5055                "Alignment of field: " , stringify ! ( CThostFtdcProductField
5056                ) , "::" , stringify ! ( ExchangeProductID ) ));
5057    assert_eq! (unsafe {
5058                & ( * ( 0 as * const CThostFtdcProductField ) ) .
5059                UnderlyingMultiple as * const _ as usize } , 136usize , concat
5060                ! (
5061                "Alignment of field: " , stringify ! ( CThostFtdcProductField
5062                ) , "::" , stringify ! ( UnderlyingMultiple ) ));
5063}
5064impl Clone for CThostFtdcProductField {
5065    fn clone(&self) -> Self { *self }
5066}
5067/// 合约
5068#[repr(C)]
5069#[derive(Default, Copy)]
5070pub struct CThostFtdcInstrumentField {
5071    /// 合约代码
5072    pub InstrumentID: TThostFtdcInstrumentIDType,
5073    /// 交易所代码
5074    pub ExchangeID: TThostFtdcExchangeIDType,
5075    /// 合约名称
5076    pub InstrumentName: TThostFtdcInstrumentNameType,
5077    /// 合约在交易所的代码
5078    pub ExchangeInstID: TThostFtdcExchangeInstIDType,
5079    /// 产品代码
5080    pub ProductID: TThostFtdcInstrumentIDType,
5081    /// 产品类型
5082    pub ProductClass: TThostFtdcProductClassType,
5083    /// 交割年份
5084    pub DeliveryYear: TThostFtdcYearType,
5085    /// 交割月
5086    pub DeliveryMonth: TThostFtdcMonthType,
5087    /// 市价单最大下单量
5088    pub MaxMarketOrderVolume: TThostFtdcVolumeType,
5089    /// 市价单最小下单量
5090    pub MinMarketOrderVolume: TThostFtdcVolumeType,
5091    /// 限价单最大下单量
5092    pub MaxLimitOrderVolume: TThostFtdcVolumeType,
5093    /// 限价单最小下单量
5094    pub MinLimitOrderVolume: TThostFtdcVolumeType,
5095    /// 合约数量乘数
5096    pub VolumeMultiple: TThostFtdcVolumeMultipleType,
5097    /// 最小变动价位
5098    pub PriceTick: TThostFtdcPriceType,
5099    /// 创建日
5100    pub CreateDate: TThostFtdcDateType,
5101    /// 上市日
5102    pub OpenDate: TThostFtdcDateType,
5103    /// 到期日
5104    pub ExpireDate: TThostFtdcDateType,
5105    /// 开始交割日
5106    pub StartDelivDate: TThostFtdcDateType,
5107    /// 结束交割日
5108    pub EndDelivDate: TThostFtdcDateType,
5109    /// 合约生命周期状态
5110    pub InstLifePhase: TThostFtdcInstLifePhaseType,
5111    /// 当前是否交易
5112    pub IsTrading: TThostFtdcBoolType,
5113    /// 持仓类型
5114    pub PositionType: TThostFtdcPositionTypeType,
5115    /// 持仓日期类型
5116    pub PositionDateType: TThostFtdcPositionDateTypeType,
5117    /// 多头保证金率
5118    pub LongMarginRatio: TThostFtdcRatioType,
5119    /// 空头保证金率
5120    pub ShortMarginRatio: TThostFtdcRatioType,
5121    /// 是否使用大额单边保证金算法
5122    pub MaxMarginSideAlgorithm: TThostFtdcMaxMarginSideAlgorithmType,
5123    /// 基础商品代码
5124    pub UnderlyingInstrID: TThostFtdcInstrumentIDType,
5125    /// 执行价
5126    pub StrikePrice: TThostFtdcPriceType,
5127    /// 期权类型
5128    pub OptionsType: TThostFtdcOptionsTypeType,
5129    /// 合约基础商品乘数
5130    pub UnderlyingMultiple: TThostFtdcUnderlyingMultipleType,
5131    /// 组合类型
5132    pub CombinationType: TThostFtdcCombinationTypeType,
5133}
5134#[test]
5135fn bindgen_test_layout_CThostFtdcInstrumentField() {
5136    assert_eq!(::std::mem::size_of::<CThostFtdcInstrumentField>() , 296usize ,
5137               concat ! (
5138               "Size of: " , stringify ! ( CThostFtdcInstrumentField ) ));
5139    assert_eq! (::std::mem::align_of::<CThostFtdcInstrumentField>() , 8usize ,
5140                concat ! (
5141                "Alignment of " , stringify ! ( CThostFtdcInstrumentField )
5142                ));
5143    assert_eq! (unsafe {
5144                & ( * ( 0 as * const CThostFtdcInstrumentField ) ) .
5145                InstrumentID as * const _ as usize } , 0usize , concat ! (
5146                "Alignment of field: " , stringify ! (
5147                CThostFtdcInstrumentField ) , "::" , stringify ! (
5148                InstrumentID ) ));
5149    assert_eq! (unsafe {
5150                & ( * ( 0 as * const CThostFtdcInstrumentField ) ) .
5151                ExchangeID as * const _ as usize } , 31usize , concat ! (
5152                "Alignment of field: " , stringify ! (
5153                CThostFtdcInstrumentField ) , "::" , stringify ! ( ExchangeID
5154                ) ));
5155    assert_eq! (unsafe {
5156                & ( * ( 0 as * const CThostFtdcInstrumentField ) ) .
5157                InstrumentName as * const _ as usize } , 40usize , concat ! (
5158                "Alignment of field: " , stringify ! (
5159                CThostFtdcInstrumentField ) , "::" , stringify ! (
5160                InstrumentName ) ));
5161    assert_eq! (unsafe {
5162                & ( * ( 0 as * const CThostFtdcInstrumentField ) ) .
5163                ExchangeInstID as * const _ as usize } , 61usize , concat ! (
5164                "Alignment of field: " , stringify ! (
5165                CThostFtdcInstrumentField ) , "::" , stringify ! (
5166                ExchangeInstID ) ));
5167    assert_eq! (unsafe {
5168                & ( * ( 0 as * const CThostFtdcInstrumentField ) ) . ProductID
5169                as * const _ as usize } , 92usize , concat ! (
5170                "Alignment of field: " , stringify ! (
5171                CThostFtdcInstrumentField ) , "::" , stringify ! ( ProductID )
5172                ));
5173    assert_eq! (unsafe {
5174                & ( * ( 0 as * const CThostFtdcInstrumentField ) ) .
5175                ProductClass as * const _ as usize } , 123usize , concat ! (
5176                "Alignment of field: " , stringify ! (
5177                CThostFtdcInstrumentField ) , "::" , stringify ! (
5178                ProductClass ) ));
5179    assert_eq! (unsafe {
5180                & ( * ( 0 as * const CThostFtdcInstrumentField ) ) .
5181                DeliveryYear as * const _ as usize } , 124usize , concat ! (
5182                "Alignment of field: " , stringify ! (
5183                CThostFtdcInstrumentField ) , "::" , stringify ! (
5184                DeliveryYear ) ));
5185    assert_eq! (unsafe {
5186                & ( * ( 0 as * const CThostFtdcInstrumentField ) ) .
5187                DeliveryMonth as * const _ as usize } , 128usize , concat ! (
5188                "Alignment of field: " , stringify ! (
5189                CThostFtdcInstrumentField ) , "::" , stringify ! (
5190                DeliveryMonth ) ));
5191    assert_eq! (unsafe {
5192                & ( * ( 0 as * const CThostFtdcInstrumentField ) ) .
5193                MaxMarketOrderVolume as * const _ as usize } , 132usize ,
5194                concat ! (
5195                "Alignment of field: " , stringify ! (
5196                CThostFtdcInstrumentField ) , "::" , stringify ! (
5197                MaxMarketOrderVolume ) ));
5198    assert_eq! (unsafe {
5199                & ( * ( 0 as * const CThostFtdcInstrumentField ) ) .
5200                MinMarketOrderVolume as * const _ as usize } , 136usize ,
5201                concat ! (
5202                "Alignment of field: " , stringify ! (
5203                CThostFtdcInstrumentField ) , "::" , stringify ! (
5204                MinMarketOrderVolume ) ));
5205    assert_eq! (unsafe {
5206                & ( * ( 0 as * const CThostFtdcInstrumentField ) ) .
5207                MaxLimitOrderVolume as * const _ as usize } , 140usize ,
5208                concat ! (
5209                "Alignment of field: " , stringify ! (
5210                CThostFtdcInstrumentField ) , "::" , stringify ! (
5211                MaxLimitOrderVolume ) ));
5212    assert_eq! (unsafe {
5213                & ( * ( 0 as * const CThostFtdcInstrumentField ) ) .
5214                MinLimitOrderVolume as * const _ as usize } , 144usize ,
5215                concat ! (
5216                "Alignment of field: " , stringify ! (
5217                CThostFtdcInstrumentField ) , "::" , stringify ! (
5218                MinLimitOrderVolume ) ));
5219    assert_eq! (unsafe {
5220                & ( * ( 0 as * const CThostFtdcInstrumentField ) ) .
5221                VolumeMultiple as * const _ as usize } , 148usize , concat ! (
5222                "Alignment of field: " , stringify ! (
5223                CThostFtdcInstrumentField ) , "::" , stringify ! (
5224                VolumeMultiple ) ));
5225    assert_eq! (unsafe {
5226                & ( * ( 0 as * const CThostFtdcInstrumentField ) ) . PriceTick
5227                as * const _ as usize } , 152usize , concat ! (
5228                "Alignment of field: " , stringify ! (
5229                CThostFtdcInstrumentField ) , "::" , stringify ! ( PriceTick )
5230                ));
5231    assert_eq! (unsafe {
5232                & ( * ( 0 as * const CThostFtdcInstrumentField ) ) .
5233                CreateDate as * const _ as usize } , 160usize , concat ! (
5234                "Alignment of field: " , stringify ! (
5235                CThostFtdcInstrumentField ) , "::" , stringify ! ( CreateDate
5236                ) ));
5237    assert_eq! (unsafe {
5238                & ( * ( 0 as * const CThostFtdcInstrumentField ) ) . OpenDate
5239                as * const _ as usize } , 169usize , concat ! (
5240                "Alignment of field: " , stringify ! (
5241                CThostFtdcInstrumentField ) , "::" , stringify ! ( OpenDate )
5242                ));
5243    assert_eq! (unsafe {
5244                & ( * ( 0 as * const CThostFtdcInstrumentField ) ) .
5245                ExpireDate as * const _ as usize } , 178usize , concat ! (
5246                "Alignment of field: " , stringify ! (
5247                CThostFtdcInstrumentField ) , "::" , stringify ! ( ExpireDate
5248                ) ));
5249    assert_eq! (unsafe {
5250                & ( * ( 0 as * const CThostFtdcInstrumentField ) ) .
5251                StartDelivDate as * const _ as usize } , 187usize , concat ! (
5252                "Alignment of field: " , stringify ! (
5253                CThostFtdcInstrumentField ) , "::" , stringify ! (
5254                StartDelivDate ) ));
5255    assert_eq! (unsafe {
5256                & ( * ( 0 as * const CThostFtdcInstrumentField ) ) .
5257                EndDelivDate as * const _ as usize } , 196usize , concat ! (
5258                "Alignment of field: " , stringify ! (
5259                CThostFtdcInstrumentField ) , "::" , stringify ! (
5260                EndDelivDate ) ));
5261    assert_eq! (unsafe {
5262                & ( * ( 0 as * const CThostFtdcInstrumentField ) ) .
5263                InstLifePhase as * const _ as usize } , 205usize , concat ! (
5264                "Alignment of field: " , stringify ! (
5265                CThostFtdcInstrumentField ) , "::" , stringify ! (
5266                InstLifePhase ) ));
5267    assert_eq! (unsafe {
5268                & ( * ( 0 as * const CThostFtdcInstrumentField ) ) . IsTrading
5269                as * const _ as usize } , 208usize , concat ! (
5270                "Alignment of field: " , stringify ! (
5271                CThostFtdcInstrumentField ) , "::" , stringify ! ( IsTrading )
5272                ));
5273    assert_eq! (unsafe {
5274                & ( * ( 0 as * const CThostFtdcInstrumentField ) ) .
5275                PositionType as * const _ as usize } , 212usize , concat ! (
5276                "Alignment of field: " , stringify ! (
5277                CThostFtdcInstrumentField ) , "::" , stringify ! (
5278                PositionType ) ));
5279    assert_eq! (unsafe {
5280                & ( * ( 0 as * const CThostFtdcInstrumentField ) ) .
5281                PositionDateType as * const _ as usize } , 213usize , concat !
5282                (
5283                "Alignment of field: " , stringify ! (
5284                CThostFtdcInstrumentField ) , "::" , stringify ! (
5285                PositionDateType ) ));
5286    assert_eq! (unsafe {
5287                & ( * ( 0 as * const CThostFtdcInstrumentField ) ) .
5288                LongMarginRatio as * const _ as usize } , 216usize , concat !
5289                (
5290                "Alignment of field: " , stringify ! (
5291                CThostFtdcInstrumentField ) , "::" , stringify ! (
5292                LongMarginRatio ) ));
5293    assert_eq! (unsafe {
5294                & ( * ( 0 as * const CThostFtdcInstrumentField ) ) .
5295                ShortMarginRatio as * const _ as usize } , 224usize , concat !
5296                (
5297                "Alignment of field: " , stringify ! (
5298                CThostFtdcInstrumentField ) , "::" , stringify ! (
5299                ShortMarginRatio ) ));
5300    assert_eq! (unsafe {
5301                & ( * ( 0 as * const CThostFtdcInstrumentField ) ) .
5302                MaxMarginSideAlgorithm as * const _ as usize } , 232usize ,
5303                concat ! (
5304                "Alignment of field: " , stringify ! (
5305                CThostFtdcInstrumentField ) , "::" , stringify ! (
5306                MaxMarginSideAlgorithm ) ));
5307    assert_eq! (unsafe {
5308                & ( * ( 0 as * const CThostFtdcInstrumentField ) ) .
5309                UnderlyingInstrID as * const _ as usize } , 233usize , concat
5310                ! (
5311                "Alignment of field: " , stringify ! (
5312                CThostFtdcInstrumentField ) , "::" , stringify ! (
5313                UnderlyingInstrID ) ));
5314    assert_eq! (unsafe {
5315                & ( * ( 0 as * const CThostFtdcInstrumentField ) ) .
5316                StrikePrice as * const _ as usize } , 264usize , concat ! (
5317                "Alignment of field: " , stringify ! (
5318                CThostFtdcInstrumentField ) , "::" , stringify ! ( StrikePrice
5319                ) ));
5320    assert_eq! (unsafe {
5321                & ( * ( 0 as * const CThostFtdcInstrumentField ) ) .
5322                OptionsType as * const _ as usize } , 272usize , concat ! (
5323                "Alignment of field: " , stringify ! (
5324                CThostFtdcInstrumentField ) , "::" , stringify ! ( OptionsType
5325                ) ));
5326    assert_eq! (unsafe {
5327                & ( * ( 0 as * const CThostFtdcInstrumentField ) ) .
5328                UnderlyingMultiple as * const _ as usize } , 280usize , concat
5329                ! (
5330                "Alignment of field: " , stringify ! (
5331                CThostFtdcInstrumentField ) , "::" , stringify ! (
5332                UnderlyingMultiple ) ));
5333    assert_eq! (unsafe {
5334                & ( * ( 0 as * const CThostFtdcInstrumentField ) ) .
5335                CombinationType as * const _ as usize } , 288usize , concat !
5336                (
5337                "Alignment of field: " , stringify ! (
5338                CThostFtdcInstrumentField ) , "::" , stringify ! (
5339                CombinationType ) ));
5340}
5341impl Clone for CThostFtdcInstrumentField {
5342    fn clone(&self) -> Self { *self }
5343}
5344/// 经纪公司
5345#[repr(C)]
5346#[derive(Copy)]
5347pub struct CThostFtdcBrokerField {
5348    /// 经纪公司代码
5349    pub BrokerID: TThostFtdcBrokerIDType,
5350    /// 经纪公司简称
5351    pub BrokerAbbr: TThostFtdcBrokerAbbrType,
5352    /// 经纪公司名称
5353    pub BrokerName: TThostFtdcBrokerNameType,
5354    /// 是否活跃
5355    pub IsActive: TThostFtdcBoolType,
5356}
5357#[test]
5358fn bindgen_test_layout_CThostFtdcBrokerField() {
5359    assert_eq!(::std::mem::size_of::<CThostFtdcBrokerField>() , 108usize ,
5360               concat ! ( "Size of: " , stringify ! ( CThostFtdcBrokerField )
5361               ));
5362    assert_eq! (::std::mem::align_of::<CThostFtdcBrokerField>() , 4usize ,
5363                concat ! (
5364                "Alignment of " , stringify ! ( CThostFtdcBrokerField ) ));
5365    assert_eq! (unsafe {
5366                & ( * ( 0 as * const CThostFtdcBrokerField ) ) . BrokerID as *
5367                const _ as usize } , 0usize , concat ! (
5368                "Alignment of field: " , stringify ! ( CThostFtdcBrokerField )
5369                , "::" , stringify ! ( BrokerID ) ));
5370    assert_eq! (unsafe {
5371                & ( * ( 0 as * const CThostFtdcBrokerField ) ) . BrokerAbbr as
5372                * const _ as usize } , 11usize , concat ! (
5373                "Alignment of field: " , stringify ! ( CThostFtdcBrokerField )
5374                , "::" , stringify ! ( BrokerAbbr ) ));
5375    assert_eq! (unsafe {
5376                & ( * ( 0 as * const CThostFtdcBrokerField ) ) . BrokerName as
5377                * const _ as usize } , 20usize , concat ! (
5378                "Alignment of field: " , stringify ! ( CThostFtdcBrokerField )
5379                , "::" , stringify ! ( BrokerName ) ));
5380    assert_eq! (unsafe {
5381                & ( * ( 0 as * const CThostFtdcBrokerField ) ) . IsActive as *
5382                const _ as usize } , 104usize , concat ! (
5383                "Alignment of field: " , stringify ! ( CThostFtdcBrokerField )
5384                , "::" , stringify ! ( IsActive ) ));
5385}
5386impl Clone for CThostFtdcBrokerField {
5387    fn clone(&self) -> Self { *self }
5388}
5389impl Default for CThostFtdcBrokerField {
5390    fn default() -> Self { unsafe { ::std::mem::zeroed() } }
5391}
5392/// 交易所交易员
5393#[repr(C)]
5394#[derive(Copy)]
5395pub struct CThostFtdcTraderField {
5396    /// 交易所代码
5397    pub ExchangeID: TThostFtdcExchangeIDType,
5398    /// 交易所交易员代码
5399    pub TraderID: TThostFtdcTraderIDType,
5400    /// 会员代码
5401    pub ParticipantID: TThostFtdcParticipantIDType,
5402    /// 密码
5403    pub Password: TThostFtdcPasswordType,
5404    /// 安装数量
5405    pub InstallCount: TThostFtdcInstallCountType,
5406    /// 经纪公司代码
5407    pub BrokerID: TThostFtdcBrokerIDType,
5408}
5409#[test]
5410fn bindgen_test_layout_CThostFtdcTraderField() {
5411    assert_eq!(::std::mem::size_of::<CThostFtdcTraderField>() , 100usize ,
5412               concat ! ( "Size of: " , stringify ! ( CThostFtdcTraderField )
5413               ));
5414    assert_eq! (::std::mem::align_of::<CThostFtdcTraderField>() , 4usize ,
5415                concat ! (
5416                "Alignment of " , stringify ! ( CThostFtdcTraderField ) ));
5417    assert_eq! (unsafe {
5418                & ( * ( 0 as * const CThostFtdcTraderField ) ) . ExchangeID as
5419                * const _ as usize } , 0usize , concat ! (
5420                "Alignment of field: " , stringify ! ( CThostFtdcTraderField )
5421                , "::" , stringify ! ( ExchangeID ) ));
5422    assert_eq! (unsafe {
5423                & ( * ( 0 as * const CThostFtdcTraderField ) ) . TraderID as *
5424                const _ as usize } , 9usize , concat ! (
5425                "Alignment of field: " , stringify ! ( CThostFtdcTraderField )
5426                , "::" , stringify ! ( TraderID ) ));
5427    assert_eq! (unsafe {
5428                & ( * ( 0 as * const CThostFtdcTraderField ) ) . ParticipantID
5429                as * const _ as usize } , 30usize , concat ! (
5430                "Alignment of field: " , stringify ! ( CThostFtdcTraderField )
5431                , "::" , stringify ! ( ParticipantID ) ));
5432    assert_eq! (unsafe {
5433                & ( * ( 0 as * const CThostFtdcTraderField ) ) . Password as *
5434                const _ as usize } , 41usize , concat ! (
5435                "Alignment of field: " , stringify ! ( CThostFtdcTraderField )
5436                , "::" , stringify ! ( Password ) ));
5437    assert_eq! (unsafe {
5438                & ( * ( 0 as * const CThostFtdcTraderField ) ) . InstallCount
5439                as * const _ as usize } , 84usize , concat ! (
5440                "Alignment of field: " , stringify ! ( CThostFtdcTraderField )
5441                , "::" , stringify ! ( InstallCount ) ));
5442    assert_eq! (unsafe {
5443                & ( * ( 0 as * const CThostFtdcTraderField ) ) . BrokerID as *
5444                const _ as usize } , 88usize , concat ! (
5445                "Alignment of field: " , stringify ! ( CThostFtdcTraderField )
5446                , "::" , stringify ! ( BrokerID ) ));
5447}
5448impl Clone for CThostFtdcTraderField {
5449    fn clone(&self) -> Self { *self }
5450}
5451impl Default for CThostFtdcTraderField {
5452    fn default() -> Self { unsafe { ::std::mem::zeroed() } }
5453}
5454/// 投资者
5455#[repr(C)]
5456#[derive(Copy)]
5457pub struct CThostFtdcInvestorField {
5458    /// 投资者代码
5459    pub InvestorID: TThostFtdcInvestorIDType,
5460    /// 经纪公司代码
5461    pub BrokerID: TThostFtdcBrokerIDType,
5462    /// 投资者分组代码
5463    pub InvestorGroupID: TThostFtdcInvestorIDType,
5464    /// 投资者名称
5465    pub InvestorName: TThostFtdcPartyNameType,
5466    /// 证件类型
5467    pub IdentifiedCardType: TThostFtdcIdCardTypeType,
5468    /// 证件号码
5469    pub IdentifiedCardNo: TThostFtdcIdentifiedCardNoType,
5470    /// 是否活跃
5471    pub IsActive: TThostFtdcBoolType,
5472    /// 联系电话
5473    pub Telephone: TThostFtdcTelephoneType,
5474    /// 通讯地址
5475    pub Address: TThostFtdcAddressType,
5476    /// 开户日期
5477    pub OpenDate: TThostFtdcDateType,
5478    /// 手机
5479    pub Mobile: TThostFtdcMobileType,
5480    /// 手续费率模板代码
5481    pub CommModelID: TThostFtdcInvestorIDType,
5482    /// 保证金率模板代码
5483    pub MarginModelID: TThostFtdcInvestorIDType,
5484}
5485#[test]
5486fn bindgen_test_layout_CThostFtdcInvestorField() {
5487    assert_eq!(::std::mem::size_of::<CThostFtdcInvestorField>() , 396usize ,
5488               concat ! (
5489               "Size of: " , stringify ! ( CThostFtdcInvestorField ) ));
5490    assert_eq! (::std::mem::align_of::<CThostFtdcInvestorField>() , 4usize ,
5491                concat ! (
5492                "Alignment of " , stringify ! ( CThostFtdcInvestorField ) ));
5493    assert_eq! (unsafe {
5494                & ( * ( 0 as * const CThostFtdcInvestorField ) ) . InvestorID
5495                as * const _ as usize } , 0usize , concat ! (
5496                "Alignment of field: " , stringify ! ( CThostFtdcInvestorField
5497                ) , "::" , stringify ! ( InvestorID ) ));
5498    assert_eq! (unsafe {
5499                & ( * ( 0 as * const CThostFtdcInvestorField ) ) . BrokerID as
5500                * const _ as usize } , 13usize , concat ! (
5501                "Alignment of field: " , stringify ! ( CThostFtdcInvestorField
5502                ) , "::" , stringify ! ( BrokerID ) ));
5503    assert_eq! (unsafe {
5504                & ( * ( 0 as * const CThostFtdcInvestorField ) ) .
5505                InvestorGroupID as * const _ as usize } , 24usize , concat ! (
5506                "Alignment of field: " , stringify ! ( CThostFtdcInvestorField
5507                ) , "::" , stringify ! ( InvestorGroupID ) ));
5508    assert_eq! (unsafe {
5509                & ( * ( 0 as * const CThostFtdcInvestorField ) ) .
5510                InvestorName as * const _ as usize } , 37usize , concat ! (
5511                "Alignment of field: " , stringify ! ( CThostFtdcInvestorField
5512                ) , "::" , stringify ! ( InvestorName ) ));
5513    assert_eq! (unsafe {
5514                & ( * ( 0 as * const CThostFtdcInvestorField ) ) .
5515                IdentifiedCardType as * const _ as usize } , 118usize , concat
5516                ! (
5517                "Alignment of field: " , stringify ! ( CThostFtdcInvestorField
5518                ) , "::" , stringify ! ( IdentifiedCardType ) ));
5519    assert_eq! (unsafe {
5520                & ( * ( 0 as * const CThostFtdcInvestorField ) ) .
5521                IdentifiedCardNo as * const _ as usize } , 119usize , concat !
5522                (
5523                "Alignment of field: " , stringify ! ( CThostFtdcInvestorField
5524                ) , "::" , stringify ! ( IdentifiedCardNo ) ));
5525    assert_eq! (unsafe {
5526                & ( * ( 0 as * const CThostFtdcInvestorField ) ) . IsActive as
5527                * const _ as usize } , 172usize , concat ! (
5528                "Alignment of field: " , stringify ! ( CThostFtdcInvestorField
5529                ) , "::" , stringify ! ( IsActive ) ));
5530    assert_eq! (unsafe {
5531                & ( * ( 0 as * const CThostFtdcInvestorField ) ) . Telephone
5532                as * const _ as usize } , 176usize , concat ! (
5533                "Alignment of field: " , stringify ! ( CThostFtdcInvestorField
5534                ) , "::" , stringify ! ( Telephone ) ));
5535    assert_eq! (unsafe {
5536                & ( * ( 0 as * const CThostFtdcInvestorField ) ) . Address as
5537                * const _ as usize } , 217usize , concat ! (
5538                "Alignment of field: " , stringify ! ( CThostFtdcInvestorField
5539                ) , "::" , stringify ! ( Address ) ));
5540    assert_eq! (unsafe {
5541                & ( * ( 0 as * const CThostFtdcInvestorField ) ) . OpenDate as
5542                * const _ as usize } , 318usize , concat ! (
5543                "Alignment of field: " , stringify ! ( CThostFtdcInvestorField
5544                ) , "::" , stringify ! ( OpenDate ) ));
5545    assert_eq! (unsafe {
5546                & ( * ( 0 as * const CThostFtdcInvestorField ) ) . Mobile as *
5547                const _ as usize } , 327usize , concat ! (
5548                "Alignment of field: " , stringify ! ( CThostFtdcInvestorField
5549                ) , "::" , stringify ! ( Mobile ) ));
5550    assert_eq! (unsafe {
5551                & ( * ( 0 as * const CThostFtdcInvestorField ) ) . CommModelID
5552                as * const _ as usize } , 368usize , concat ! (
5553                "Alignment of field: " , stringify ! ( CThostFtdcInvestorField
5554                ) , "::" , stringify ! ( CommModelID ) ));
5555    assert_eq! (unsafe {
5556                & ( * ( 0 as * const CThostFtdcInvestorField ) ) .
5557                MarginModelID as * const _ as usize } , 381usize , concat ! (
5558                "Alignment of field: " , stringify ! ( CThostFtdcInvestorField
5559                ) , "::" , stringify ! ( MarginModelID ) ));
5560}
5561impl Clone for CThostFtdcInvestorField {
5562    fn clone(&self) -> Self { *self }
5563}
5564impl Default for CThostFtdcInvestorField {
5565    fn default() -> Self { unsafe { ::std::mem::zeroed() } }
5566}
5567/// 交易编码
5568#[repr(C)]
5569#[derive(Default, Copy)]
5570pub struct CThostFtdcTradingCodeField {
5571    /// 投资者代码
5572    pub InvestorID: TThostFtdcInvestorIDType,
5573    /// 经纪公司代码
5574    pub BrokerID: TThostFtdcBrokerIDType,
5575    /// 交易所代码
5576    pub ExchangeID: TThostFtdcExchangeIDType,
5577    /// 客户代码
5578    pub ClientID: TThostFtdcClientIDType,
5579    /// 是否活跃
5580    pub IsActive: TThostFtdcBoolType,
5581    /// 交易编码类型
5582    pub ClientIDType: TThostFtdcClientIDTypeType,
5583    /// 营业部编号
5584    pub BranchID: TThostFtdcBranchIDType,
5585    /// 业务类型
5586    pub BizType: TThostFtdcBizTypeType,
5587    /// 投资单元代码
5588    pub InvestUnitID: TThostFtdcInvestUnitIDType,
5589}
5590#[test]
5591fn bindgen_test_layout_CThostFtdcTradingCodeField() {
5592    assert_eq!(::std::mem::size_of::<CThostFtdcTradingCodeField>() , 76usize ,
5593               concat ! (
5594               "Size of: " , stringify ! ( CThostFtdcTradingCodeField ) ));
5595    assert_eq! (::std::mem::align_of::<CThostFtdcTradingCodeField>() , 4usize
5596                , concat ! (
5597                "Alignment of " , stringify ! ( CThostFtdcTradingCodeField )
5598                ));
5599    assert_eq! (unsafe {
5600                & ( * ( 0 as * const CThostFtdcTradingCodeField ) ) .
5601                InvestorID as * const _ as usize } , 0usize , concat ! (
5602                "Alignment of field: " , stringify ! (
5603                CThostFtdcTradingCodeField ) , "::" , stringify ! ( InvestorID
5604                ) ));
5605    assert_eq! (unsafe {
5606                & ( * ( 0 as * const CThostFtdcTradingCodeField ) ) . BrokerID
5607                as * const _ as usize } , 13usize , concat ! (
5608                "Alignment of field: " , stringify ! (
5609                CThostFtdcTradingCodeField ) , "::" , stringify ! ( BrokerID )
5610                ));
5611    assert_eq! (unsafe {
5612                & ( * ( 0 as * const CThostFtdcTradingCodeField ) ) .
5613                ExchangeID as * const _ as usize } , 24usize , concat ! (
5614                "Alignment of field: " , stringify ! (
5615                CThostFtdcTradingCodeField ) , "::" , stringify ! ( ExchangeID
5616                ) ));
5617    assert_eq! (unsafe {
5618                & ( * ( 0 as * const CThostFtdcTradingCodeField ) ) . ClientID
5619                as * const _ as usize } , 33usize , concat ! (
5620                "Alignment of field: " , stringify ! (
5621                CThostFtdcTradingCodeField ) , "::" , stringify ! ( ClientID )
5622                ));
5623    assert_eq! (unsafe {
5624                & ( * ( 0 as * const CThostFtdcTradingCodeField ) ) . IsActive
5625                as * const _ as usize } , 44usize , concat ! (
5626                "Alignment of field: " , stringify ! (
5627                CThostFtdcTradingCodeField ) , "::" , stringify ! ( IsActive )
5628                ));
5629    assert_eq! (unsafe {
5630                & ( * ( 0 as * const CThostFtdcTradingCodeField ) ) .
5631                ClientIDType as * const _ as usize } , 48usize , concat ! (
5632                "Alignment of field: " , stringify ! (
5633                CThostFtdcTradingCodeField ) , "::" , stringify ! (
5634                ClientIDType ) ));
5635    assert_eq! (unsafe {
5636                & ( * ( 0 as * const CThostFtdcTradingCodeField ) ) . BranchID
5637                as * const _ as usize } , 49usize , concat ! (
5638                "Alignment of field: " , stringify ! (
5639                CThostFtdcTradingCodeField ) , "::" , stringify ! ( BranchID )
5640                ));
5641    assert_eq! (unsafe {
5642                & ( * ( 0 as * const CThostFtdcTradingCodeField ) ) . BizType
5643                as * const _ as usize } , 58usize , concat ! (
5644                "Alignment of field: " , stringify ! (
5645                CThostFtdcTradingCodeField ) , "::" , stringify ! ( BizType )
5646                ));
5647    assert_eq! (unsafe {
5648                & ( * ( 0 as * const CThostFtdcTradingCodeField ) ) .
5649                InvestUnitID as * const _ as usize } , 59usize , concat ! (
5650                "Alignment of field: " , stringify ! (
5651                CThostFtdcTradingCodeField ) , "::" , stringify ! (
5652                InvestUnitID ) ));
5653}
5654impl Clone for CThostFtdcTradingCodeField {
5655    fn clone(&self) -> Self { *self }
5656}
5657/// 会员编码和经纪公司编码对照表
5658#[repr(C)]
5659#[derive(Default, Copy)]
5660pub struct CThostFtdcPartBrokerField {
5661    /// 经纪公司代码
5662    pub BrokerID: TThostFtdcBrokerIDType,
5663    /// 交易所代码
5664    pub ExchangeID: TThostFtdcExchangeIDType,
5665    /// 会员代码
5666    pub ParticipantID: TThostFtdcParticipantIDType,
5667    /// 是否活跃
5668    pub IsActive: TThostFtdcBoolType,
5669}
5670#[test]
5671fn bindgen_test_layout_CThostFtdcPartBrokerField() {
5672    assert_eq!(::std::mem::size_of::<CThostFtdcPartBrokerField>() , 36usize ,
5673               concat ! (
5674               "Size of: " , stringify ! ( CThostFtdcPartBrokerField ) ));
5675    assert_eq! (::std::mem::align_of::<CThostFtdcPartBrokerField>() , 4usize ,
5676                concat ! (
5677                "Alignment of " , stringify ! ( CThostFtdcPartBrokerField )
5678                ));
5679    assert_eq! (unsafe {
5680                & ( * ( 0 as * const CThostFtdcPartBrokerField ) ) . BrokerID
5681                as * const _ as usize } , 0usize , concat ! (
5682                "Alignment of field: " , stringify ! (
5683                CThostFtdcPartBrokerField ) , "::" , stringify ! ( BrokerID )
5684                ));
5685    assert_eq! (unsafe {
5686                & ( * ( 0 as * const CThostFtdcPartBrokerField ) ) .
5687                ExchangeID as * const _ as usize } , 11usize , concat ! (
5688                "Alignment of field: " , stringify ! (
5689                CThostFtdcPartBrokerField ) , "::" , stringify ! ( ExchangeID
5690                ) ));
5691    assert_eq! (unsafe {
5692                & ( * ( 0 as * const CThostFtdcPartBrokerField ) ) .
5693                ParticipantID as * const _ as usize } , 20usize , concat ! (
5694                "Alignment of field: " , stringify ! (
5695                CThostFtdcPartBrokerField ) , "::" , stringify ! (
5696                ParticipantID ) ));
5697    assert_eq! (unsafe {
5698                & ( * ( 0 as * const CThostFtdcPartBrokerField ) ) . IsActive
5699                as * const _ as usize } , 32usize , concat ! (
5700                "Alignment of field: " , stringify ! (
5701                CThostFtdcPartBrokerField ) , "::" , stringify ! ( IsActive )
5702                ));
5703}
5704impl Clone for CThostFtdcPartBrokerField {
5705    fn clone(&self) -> Self { *self }
5706}
5707/// 管理用户
5708#[repr(C)]
5709#[derive(Copy)]
5710pub struct CThostFtdcSuperUserField {
5711    /// 用户代码
5712    pub UserID: TThostFtdcUserIDType,
5713    /// 用户名称
5714    pub UserName: TThostFtdcUserNameType,
5715    /// 密码
5716    pub Password: TThostFtdcPasswordType,
5717    /// 是否活跃
5718    pub IsActive: TThostFtdcBoolType,
5719}
5720#[test]
5721fn bindgen_test_layout_CThostFtdcSuperUserField() {
5722    assert_eq!(::std::mem::size_of::<CThostFtdcSuperUserField>() , 144usize ,
5723               concat ! (
5724               "Size of: " , stringify ! ( CThostFtdcSuperUserField ) ));
5725    assert_eq! (::std::mem::align_of::<CThostFtdcSuperUserField>() , 4usize ,
5726                concat ! (
5727                "Alignment of " , stringify ! ( CThostFtdcSuperUserField ) ));
5728    assert_eq! (unsafe {
5729                & ( * ( 0 as * const CThostFtdcSuperUserField ) ) . UserID as
5730                * const _ as usize } , 0usize , concat ! (
5731                "Alignment of field: " , stringify ! (
5732                CThostFtdcSuperUserField ) , "::" , stringify ! ( UserID ) ));
5733    assert_eq! (unsafe {
5734                & ( * ( 0 as * const CThostFtdcSuperUserField ) ) . UserName
5735                as * const _ as usize } , 16usize , concat ! (
5736                "Alignment of field: " , stringify ! (
5737                CThostFtdcSuperUserField ) , "::" , stringify ! ( UserName )
5738                ));
5739    assert_eq! (unsafe {
5740                & ( * ( 0 as * const CThostFtdcSuperUserField ) ) . Password
5741                as * const _ as usize } , 97usize , concat ! (
5742                "Alignment of field: " , stringify ! (
5743                CThostFtdcSuperUserField ) , "::" , stringify ! ( Password )
5744                ));
5745    assert_eq! (unsafe {
5746                & ( * ( 0 as * const CThostFtdcSuperUserField ) ) . IsActive
5747                as * const _ as usize } , 140usize , concat ! (
5748                "Alignment of field: " , stringify ! (
5749                CThostFtdcSuperUserField ) , "::" , stringify ! ( IsActive )
5750                ));
5751}
5752impl Clone for CThostFtdcSuperUserField {
5753    fn clone(&self) -> Self { *self }
5754}
5755impl Default for CThostFtdcSuperUserField {
5756    fn default() -> Self { unsafe { ::std::mem::zeroed() } }
5757}
5758/// 管理用户功能权限
5759#[repr(C)]
5760#[derive(Default, Copy)]
5761pub struct CThostFtdcSuperUserFunctionField {
5762    /// 用户代码
5763    pub UserID: TThostFtdcUserIDType,
5764    /// 功能代码
5765    pub FunctionCode: TThostFtdcFunctionCodeType,
5766}
5767#[test]
5768fn bindgen_test_layout_CThostFtdcSuperUserFunctionField() {
5769    assert_eq!(::std::mem::size_of::<CThostFtdcSuperUserFunctionField>() ,
5770               17usize , concat ! (
5771               "Size of: " , stringify ! ( CThostFtdcSuperUserFunctionField )
5772               ));
5773    assert_eq! (::std::mem::align_of::<CThostFtdcSuperUserFunctionField>() ,
5774                1usize , concat ! (
5775                "Alignment of " , stringify ! (
5776                CThostFtdcSuperUserFunctionField ) ));
5777    assert_eq! (unsafe {
5778                & ( * ( 0 as * const CThostFtdcSuperUserFunctionField ) ) .
5779                UserID as * const _ as usize } , 0usize , concat ! (
5780                "Alignment of field: " , stringify ! (
5781                CThostFtdcSuperUserFunctionField ) , "::" , stringify ! (
5782                UserID ) ));
5783    assert_eq! (unsafe {
5784                & ( * ( 0 as * const CThostFtdcSuperUserFunctionField ) ) .
5785                FunctionCode as * const _ as usize } , 16usize , concat ! (
5786                "Alignment of field: " , stringify ! (
5787                CThostFtdcSuperUserFunctionField ) , "::" , stringify ! (
5788                FunctionCode ) ));
5789}
5790impl Clone for CThostFtdcSuperUserFunctionField {
5791    fn clone(&self) -> Self { *self }
5792}
5793/// 投资者组
5794#[repr(C)]
5795#[derive(Copy)]
5796pub struct CThostFtdcInvestorGroupField {
5797    /// 经纪公司代码
5798    pub BrokerID: TThostFtdcBrokerIDType,
5799    /// 投资者分组代码
5800    pub InvestorGroupID: TThostFtdcInvestorIDType,
5801    /// 投资者分组名称
5802    pub InvestorGroupName: TThostFtdcInvestorGroupNameType,
5803}
5804#[test]
5805fn bindgen_test_layout_CThostFtdcInvestorGroupField() {
5806    assert_eq!(::std::mem::size_of::<CThostFtdcInvestorGroupField>() , 65usize
5807               , concat ! (
5808               "Size of: " , stringify ! ( CThostFtdcInvestorGroupField ) ));
5809    assert_eq! (::std::mem::align_of::<CThostFtdcInvestorGroupField>() ,
5810                1usize , concat ! (
5811                "Alignment of " , stringify ! ( CThostFtdcInvestorGroupField )
5812                ));
5813    assert_eq! (unsafe {
5814                & ( * ( 0 as * const CThostFtdcInvestorGroupField ) ) .
5815                BrokerID as * const _ as usize } , 0usize , concat ! (
5816                "Alignment of field: " , stringify ! (
5817                CThostFtdcInvestorGroupField ) , "::" , stringify ! ( BrokerID
5818                ) ));
5819    assert_eq! (unsafe {
5820                & ( * ( 0 as * const CThostFtdcInvestorGroupField ) ) .
5821                InvestorGroupID as * const _ as usize } , 11usize , concat ! (
5822                "Alignment of field: " , stringify ! (
5823                CThostFtdcInvestorGroupField ) , "::" , stringify ! (
5824                InvestorGroupID ) ));
5825    assert_eq! (unsafe {
5826                & ( * ( 0 as * const CThostFtdcInvestorGroupField ) ) .
5827                InvestorGroupName as * const _ as usize } , 24usize , concat !
5828                (
5829                "Alignment of field: " , stringify ! (
5830                CThostFtdcInvestorGroupField ) , "::" , stringify ! (
5831                InvestorGroupName ) ));
5832}
5833impl Clone for CThostFtdcInvestorGroupField {
5834    fn clone(&self) -> Self { *self }
5835}
5836impl Default for CThostFtdcInvestorGroupField {
5837    fn default() -> Self { unsafe { ::std::mem::zeroed() } }
5838}
5839/// 资金账户
5840#[repr(C)]
5841#[derive(Default, Copy)]
5842pub struct CThostFtdcTradingAccountField {
5843    /// 经纪公司代码
5844    pub BrokerID: TThostFtdcBrokerIDType,
5845    /// 投资者帐号
5846    pub AccountID: TThostFtdcAccountIDType,
5847    /// 上次质押金额
5848    pub PreMortgage: TThostFtdcMoneyType,
5849    /// 上次信用额度
5850    pub PreCredit: TThostFtdcMoneyType,
5851    /// 上次存款额
5852    pub PreDeposit: TThostFtdcMoneyType,
5853    /// 上次结算准备金
5854    pub PreBalance: TThostFtdcMoneyType,
5855    /// 上次占用的保证金
5856    pub PreMargin: TThostFtdcMoneyType,
5857    /// 利息基数
5858    pub InterestBase: TThostFtdcMoneyType,
5859    /// 利息收入
5860    pub Interest: TThostFtdcMoneyType,
5861    /// 入金金额
5862    pub Deposit: TThostFtdcMoneyType,
5863    /// 出金金额
5864    pub Withdraw: TThostFtdcMoneyType,
5865    /// 冻结的保证金
5866    pub FrozenMargin: TThostFtdcMoneyType,
5867    /// 冻结的资金
5868    pub FrozenCash: TThostFtdcMoneyType,
5869    /// 冻结的手续费
5870    pub FrozenCommission: TThostFtdcMoneyType,
5871    /// 当前保证金总额
5872    pub CurrMargin: TThostFtdcMoneyType,
5873    /// 资金差额
5874    pub CashIn: TThostFtdcMoneyType,
5875    /// 手续费
5876    pub Commission: TThostFtdcMoneyType,
5877    /// 平仓盈亏
5878    pub CloseProfit: TThostFtdcMoneyType,
5879    /// 持仓盈亏
5880    pub PositionProfit: TThostFtdcMoneyType,
5881    /// 期货结算准备金
5882    pub Balance: TThostFtdcMoneyType,
5883    /// 可用资金
5884    pub Available: TThostFtdcMoneyType,
5885    /// 可取资金
5886    pub WithdrawQuota: TThostFtdcMoneyType,
5887    /// 基本准备金
5888    pub Reserve: TThostFtdcMoneyType,
5889    /// 交易日
5890    pub TradingDay: TThostFtdcDateType,
5891    /// 结算编号
5892    pub SettlementID: TThostFtdcSettlementIDType,
5893    /// 信用额度
5894    pub Credit: TThostFtdcMoneyType,
5895    /// 质押金额
5896    pub Mortgage: TThostFtdcMoneyType,
5897    /// 交易所保证金
5898    pub ExchangeMargin: TThostFtdcMoneyType,
5899    /// 投资者交割保证金
5900    pub DeliveryMargin: TThostFtdcMoneyType,
5901    /// 交易所交割保证金
5902    pub ExchangeDeliveryMargin: TThostFtdcMoneyType,
5903    /// 保底期货结算准备金
5904    pub ReserveBalance: TThostFtdcMoneyType,
5905    /// 币种代码
5906    pub CurrencyID: TThostFtdcCurrencyIDType,
5907    /// 上次货币质入金额
5908    pub PreFundMortgageIn: TThostFtdcMoneyType,
5909    /// 上次货币质出金额
5910    pub PreFundMortgageOut: TThostFtdcMoneyType,
5911    /// 货币质入金额
5912    pub FundMortgageIn: TThostFtdcMoneyType,
5913    /// 货币质出金额
5914    pub FundMortgageOut: TThostFtdcMoneyType,
5915    /// 货币质押余额
5916    pub FundMortgageAvailable: TThostFtdcMoneyType,
5917    /// 可质押货币金额
5918    pub MortgageableFund: TThostFtdcMoneyType,
5919    /// 特殊产品占用保证金
5920    pub SpecProductMargin: TThostFtdcMoneyType,
5921    /// 特殊产品冻结保证金
5922    pub SpecProductFrozenMargin: TThostFtdcMoneyType,
5923    /// 特殊产品手续费
5924    pub SpecProductCommission: TThostFtdcMoneyType,
5925    /// 特殊产品冻结手续费
5926    pub SpecProductFrozenCommission: TThostFtdcMoneyType,
5927    /// 特殊产品持仓盈亏
5928    pub SpecProductPositionProfit: TThostFtdcMoneyType,
5929    /// 特殊产品平仓盈亏
5930    pub SpecProductCloseProfit: TThostFtdcMoneyType,
5931    /// 根据持仓盈亏算法计算的特殊产品持仓盈亏
5932    pub SpecProductPositionProfitByAlg: TThostFtdcMoneyType,
5933    /// 特殊产品交易所保证金
5934    pub SpecProductExchangeMargin: TThostFtdcMoneyType,
5935    /// 业务类型
5936    pub BizType: TThostFtdcBizTypeType,
5937    /// 延时换汇冻结金额
5938    pub FrozenSwap: TThostFtdcMoneyType,
5939    /// 剩余换汇额度
5940    pub RemainSwap: TThostFtdcMoneyType,
5941}
5942#[test]
5943fn bindgen_test_layout_CThostFtdcTradingAccountField() {
5944    assert_eq!(::std::mem::size_of::<CThostFtdcTradingAccountField>() ,
5945               400usize , concat ! (
5946               "Size of: " , stringify ! ( CThostFtdcTradingAccountField ) ));
5947    assert_eq! (::std::mem::align_of::<CThostFtdcTradingAccountField>() ,
5948                8usize , concat ! (
5949                "Alignment of " , stringify ! ( CThostFtdcTradingAccountField
5950                ) ));
5951    assert_eq! (unsafe {
5952                & ( * ( 0 as * const CThostFtdcTradingAccountField ) ) .
5953                BrokerID as * const _ as usize } , 0usize , concat ! (
5954                "Alignment of field: " , stringify ! (
5955                CThostFtdcTradingAccountField ) , "::" , stringify ! (
5956                BrokerID ) ));
5957    assert_eq! (unsafe {
5958                & ( * ( 0 as * const CThostFtdcTradingAccountField ) ) .
5959                AccountID as * const _ as usize } , 11usize , concat ! (
5960                "Alignment of field: " , stringify ! (
5961                CThostFtdcTradingAccountField ) , "::" , stringify ! (
5962                AccountID ) ));
5963    assert_eq! (unsafe {
5964                & ( * ( 0 as * const CThostFtdcTradingAccountField ) ) .
5965                PreMortgage as * const _ as usize } , 24usize , concat ! (
5966                "Alignment of field: " , stringify ! (
5967                CThostFtdcTradingAccountField ) , "::" , stringify ! (
5968                PreMortgage ) ));
5969    assert_eq! (unsafe {
5970                & ( * ( 0 as * const CThostFtdcTradingAccountField ) ) .
5971                PreCredit as * const _ as usize } , 32usize , concat ! (
5972                "Alignment of field: " , stringify ! (
5973                CThostFtdcTradingAccountField ) , "::" , stringify ! (
5974                PreCredit ) ));
5975    assert_eq! (unsafe {
5976                & ( * ( 0 as * const CThostFtdcTradingAccountField ) ) .
5977                PreDeposit as * const _ as usize } , 40usize , concat ! (
5978                "Alignment of field: " , stringify ! (
5979                CThostFtdcTradingAccountField ) , "::" , stringify ! (
5980                PreDeposit ) ));
5981    assert_eq! (unsafe {
5982                & ( * ( 0 as * const CThostFtdcTradingAccountField ) ) .
5983                PreBalance as * const _ as usize } , 48usize , concat ! (
5984                "Alignment of field: " , stringify ! (
5985                CThostFtdcTradingAccountField ) , "::" , stringify ! (
5986                PreBalance ) ));
5987    assert_eq! (unsafe {
5988                & ( * ( 0 as * const CThostFtdcTradingAccountField ) ) .
5989                PreMargin as * const _ as usize } , 56usize , concat ! (
5990                "Alignment of field: " , stringify ! (
5991                CThostFtdcTradingAccountField ) , "::" , stringify ! (
5992                PreMargin ) ));
5993    assert_eq! (unsafe {
5994                & ( * ( 0 as * const CThostFtdcTradingAccountField ) ) .
5995                InterestBase as * const _ as usize } , 64usize , concat ! (
5996                "Alignment of field: " , stringify ! (
5997                CThostFtdcTradingAccountField ) , "::" , stringify ! (
5998                InterestBase ) ));
5999    assert_eq! (unsafe {
6000                & ( * ( 0 as * const CThostFtdcTradingAccountField ) ) .
6001                Interest as * const _ as usize } , 72usize , concat ! (
6002                "Alignment of field: " , stringify ! (
6003                CThostFtdcTradingAccountField ) , "::" , stringify ! (
6004                Interest ) ));
6005    assert_eq! (unsafe {
6006                & ( * ( 0 as * const CThostFtdcTradingAccountField ) ) .
6007                Deposit as * const _ as usize } , 80usize , concat ! (
6008                "Alignment of field: " , stringify ! (
6009                CThostFtdcTradingAccountField ) , "::" , stringify ! ( Deposit
6010                ) ));
6011    assert_eq! (unsafe {
6012                & ( * ( 0 as * const CThostFtdcTradingAccountField ) ) .
6013                Withdraw as * const _ as usize } , 88usize , concat ! (
6014                "Alignment of field: " , stringify ! (
6015                CThostFtdcTradingAccountField ) , "::" , stringify ! (
6016                Withdraw ) ));
6017    assert_eq! (unsafe {
6018                & ( * ( 0 as * const CThostFtdcTradingAccountField ) ) .
6019                FrozenMargin as * const _ as usize } , 96usize , concat ! (
6020                "Alignment of field: " , stringify ! (
6021                CThostFtdcTradingAccountField ) , "::" , stringify ! (
6022                FrozenMargin ) ));
6023    assert_eq! (unsafe {
6024                & ( * ( 0 as * const CThostFtdcTradingAccountField ) ) .
6025                FrozenCash as * const _ as usize } , 104usize , concat ! (
6026                "Alignment of field: " , stringify ! (
6027                CThostFtdcTradingAccountField ) , "::" , stringify ! (
6028                FrozenCash ) ));
6029    assert_eq! (unsafe {
6030                & ( * ( 0 as * const CThostFtdcTradingAccountField ) ) .
6031                FrozenCommission as * const _ as usize } , 112usize , concat !
6032                (
6033                "Alignment of field: " , stringify ! (
6034                CThostFtdcTradingAccountField ) , "::" , stringify ! (
6035                FrozenCommission ) ));
6036    assert_eq! (unsafe {
6037                & ( * ( 0 as * const CThostFtdcTradingAccountField ) ) .
6038                CurrMargin as * const _ as usize } , 120usize , concat ! (
6039                "Alignment of field: " , stringify ! (
6040                CThostFtdcTradingAccountField ) , "::" , stringify ! (
6041                CurrMargin ) ));
6042    assert_eq! (unsafe {
6043                & ( * ( 0 as * const CThostFtdcTradingAccountField ) ) .
6044                CashIn as * const _ as usize } , 128usize , concat ! (
6045                "Alignment of field: " , stringify ! (
6046                CThostFtdcTradingAccountField ) , "::" , stringify ! ( CashIn
6047                ) ));
6048    assert_eq! (unsafe {
6049                & ( * ( 0 as * const CThostFtdcTradingAccountField ) ) .
6050                Commission as * const _ as usize } , 136usize , concat ! (
6051                "Alignment of field: " , stringify ! (
6052                CThostFtdcTradingAccountField ) , "::" , stringify ! (
6053                Commission ) ));
6054    assert_eq! (unsafe {
6055                & ( * ( 0 as * const CThostFtdcTradingAccountField ) ) .
6056                CloseProfit as * const _ as usize } , 144usize , concat ! (
6057                "Alignment of field: " , stringify ! (
6058                CThostFtdcTradingAccountField ) , "::" , stringify ! (
6059                CloseProfit ) ));
6060    assert_eq! (unsafe {
6061                & ( * ( 0 as * const CThostFtdcTradingAccountField ) ) .
6062                PositionProfit as * const _ as usize } , 152usize , concat ! (
6063                "Alignment of field: " , stringify ! (
6064                CThostFtdcTradingAccountField ) , "::" , stringify ! (
6065                PositionProfit ) ));
6066    assert_eq! (unsafe {
6067                & ( * ( 0 as * const CThostFtdcTradingAccountField ) ) .
6068                Balance as * const _ as usize } , 160usize , concat ! (
6069                "Alignment of field: " , stringify ! (
6070                CThostFtdcTradingAccountField ) , "::" , stringify ! ( Balance
6071                ) ));
6072    assert_eq! (unsafe {
6073                & ( * ( 0 as * const CThostFtdcTradingAccountField ) ) .
6074                Available as * const _ as usize } , 168usize , concat ! (
6075                "Alignment of field: " , stringify ! (
6076                CThostFtdcTradingAccountField ) , "::" , stringify ! (
6077                Available ) ));
6078    assert_eq! (unsafe {
6079                & ( * ( 0 as * const CThostFtdcTradingAccountField ) ) .
6080                WithdrawQuota as * const _ as usize } , 176usize , concat ! (
6081                "Alignment of field: " , stringify ! (
6082                CThostFtdcTradingAccountField ) , "::" , stringify ! (
6083                WithdrawQuota ) ));
6084    assert_eq! (unsafe {
6085                & ( * ( 0 as * const CThostFtdcTradingAccountField ) ) .
6086                Reserve as * const _ as usize } , 184usize , concat ! (
6087                "Alignment of field: " , stringify ! (
6088                CThostFtdcTradingAccountField ) , "::" , stringify ! ( Reserve
6089                ) ));
6090    assert_eq! (unsafe {
6091                & ( * ( 0 as * const CThostFtdcTradingAccountField ) ) .
6092                TradingDay as * const _ as usize } , 192usize , concat ! (
6093                "Alignment of field: " , stringify ! (
6094                CThostFtdcTradingAccountField ) , "::" , stringify ! (
6095                TradingDay ) ));
6096    assert_eq! (unsafe {
6097                & ( * ( 0 as * const CThostFtdcTradingAccountField ) ) .
6098                SettlementID as * const _ as usize } , 204usize , concat ! (
6099                "Alignment of field: " , stringify ! (
6100                CThostFtdcTradingAccountField ) , "::" , stringify ! (
6101                SettlementID ) ));
6102    assert_eq! (unsafe {
6103                & ( * ( 0 as * const CThostFtdcTradingAccountField ) ) .
6104                Credit as * const _ as usize } , 208usize , concat ! (
6105                "Alignment of field: " , stringify ! (
6106                CThostFtdcTradingAccountField ) , "::" , stringify ! ( Credit
6107                ) ));
6108    assert_eq! (unsafe {
6109                & ( * ( 0 as * const CThostFtdcTradingAccountField ) ) .
6110                Mortgage as * const _ as usize } , 216usize , concat ! (
6111                "Alignment of field: " , stringify ! (
6112                CThostFtdcTradingAccountField ) , "::" , stringify ! (
6113                Mortgage ) ));
6114    assert_eq! (unsafe {
6115                & ( * ( 0 as * const CThostFtdcTradingAccountField ) ) .
6116                ExchangeMargin as * const _ as usize } , 224usize , concat ! (
6117                "Alignment of field: " , stringify ! (
6118                CThostFtdcTradingAccountField ) , "::" , stringify ! (
6119                ExchangeMargin ) ));
6120    assert_eq! (unsafe {
6121                & ( * ( 0 as * const CThostFtdcTradingAccountField ) ) .
6122                DeliveryMargin as * const _ as usize } , 232usize , concat ! (
6123                "Alignment of field: " , stringify ! (
6124                CThostFtdcTradingAccountField ) , "::" , stringify ! (
6125                DeliveryMargin ) ));
6126    assert_eq! (unsafe {
6127                & ( * ( 0 as * const CThostFtdcTradingAccountField ) ) .
6128                ExchangeDeliveryMargin as * const _ as usize } , 240usize ,
6129                concat ! (
6130                "Alignment of field: " , stringify ! (
6131                CThostFtdcTradingAccountField ) , "::" , stringify ! (
6132                ExchangeDeliveryMargin ) ));
6133    assert_eq! (unsafe {
6134                & ( * ( 0 as * const CThostFtdcTradingAccountField ) ) .
6135                ReserveBalance as * const _ as usize } , 248usize , concat ! (
6136                "Alignment of field: " , stringify ! (
6137                CThostFtdcTradingAccountField ) , "::" , stringify ! (
6138                ReserveBalance ) ));
6139    assert_eq! (unsafe {
6140                & ( * ( 0 as * const CThostFtdcTradingAccountField ) ) .
6141                CurrencyID as * const _ as usize } , 256usize , concat ! (
6142                "Alignment of field: " , stringify ! (
6143                CThostFtdcTradingAccountField ) , "::" , stringify ! (
6144                CurrencyID ) ));
6145    assert_eq! (unsafe {
6146                & ( * ( 0 as * const CThostFtdcTradingAccountField ) ) .
6147                PreFundMortgageIn as * const _ as usize } , 264usize , concat
6148                ! (
6149                "Alignment of field: " , stringify ! (
6150                CThostFtdcTradingAccountField ) , "::" , stringify ! (
6151                PreFundMortgageIn ) ));
6152    assert_eq! (unsafe {
6153                & ( * ( 0 as * const CThostFtdcTradingAccountField ) ) .
6154                PreFundMortgageOut as * const _ as usize } , 272usize , concat
6155                ! (
6156                "Alignment of field: " , stringify ! (
6157                CThostFtdcTradingAccountField ) , "::" , stringify ! (
6158                PreFundMortgageOut ) ));
6159    assert_eq! (unsafe {
6160                & ( * ( 0 as * const CThostFtdcTradingAccountField ) ) .
6161                FundMortgageIn as * const _ as usize } , 280usize , concat ! (
6162                "Alignment of field: " , stringify ! (
6163                CThostFtdcTradingAccountField ) , "::" , stringify ! (
6164                FundMortgageIn ) ));
6165    assert_eq! (unsafe {
6166                & ( * ( 0 as * const CThostFtdcTradingAccountField ) ) .
6167                FundMortgageOut as * const _ as usize } , 288usize , concat !
6168                (
6169                "Alignment of field: " , stringify ! (
6170                CThostFtdcTradingAccountField ) , "::" , stringify ! (
6171                FundMortgageOut ) ));
6172    assert_eq! (unsafe {
6173                & ( * ( 0 as * const CThostFtdcTradingAccountField ) ) .
6174                FundMortgageAvailable as * const _ as usize } , 296usize ,
6175                concat ! (
6176                "Alignment of field: " , stringify ! (
6177                CThostFtdcTradingAccountField ) , "::" , stringify ! (
6178                FundMortgageAvailable ) ));
6179    assert_eq! (unsafe {
6180                & ( * ( 0 as * const CThostFtdcTradingAccountField ) ) .
6181                MortgageableFund as * const _ as usize } , 304usize , concat !
6182                (
6183                "Alignment of field: " , stringify ! (
6184                CThostFtdcTradingAccountField ) , "::" , stringify ! (
6185                MortgageableFund ) ));
6186    assert_eq! (unsafe {
6187                & ( * ( 0 as * const CThostFtdcTradingAccountField ) ) .
6188                SpecProductMargin as * const _ as usize } , 312usize , concat
6189                ! (
6190                "Alignment of field: " , stringify ! (
6191                CThostFtdcTradingAccountField ) , "::" , stringify ! (
6192                SpecProductMargin ) ));
6193    assert_eq! (unsafe {
6194                & ( * ( 0 as * const CThostFtdcTradingAccountField ) ) .
6195                SpecProductFrozenMargin as * const _ as usize } , 320usize ,
6196                concat ! (
6197                "Alignment of field: " , stringify ! (
6198                CThostFtdcTradingAccountField ) , "::" , stringify ! (
6199                SpecProductFrozenMargin ) ));
6200    assert_eq! (unsafe {
6201                & ( * ( 0 as * const CThostFtdcTradingAccountField ) ) .
6202                SpecProductCommission as * const _ as usize } , 328usize ,
6203                concat ! (
6204                "Alignment of field: " , stringify ! (
6205                CThostFtdcTradingAccountField ) , "::" , stringify ! (
6206                SpecProductCommission ) ));
6207    assert_eq! (unsafe {
6208                & ( * ( 0 as * const CThostFtdcTradingAccountField ) ) .
6209                SpecProductFrozenCommission as * const _ as usize } , 336usize
6210                , concat ! (
6211                "Alignment of field: " , stringify ! (
6212                CThostFtdcTradingAccountField ) , "::" , stringify ! (
6213                SpecProductFrozenCommission ) ));
6214    assert_eq! (unsafe {
6215                & ( * ( 0 as * const CThostFtdcTradingAccountField ) ) .
6216                SpecProductPositionProfit as * const _ as usize } , 344usize ,
6217                concat ! (
6218                "Alignment of field: " , stringify ! (
6219                CThostFtdcTradingAccountField ) , "::" , stringify ! (
6220                SpecProductPositionProfit ) ));
6221    assert_eq! (unsafe {
6222                & ( * ( 0 as * const CThostFtdcTradingAccountField ) ) .
6223                SpecProductCloseProfit as * const _ as usize } , 352usize ,
6224                concat ! (
6225                "Alignment of field: " , stringify ! (
6226                CThostFtdcTradingAccountField ) , "::" , stringify ! (
6227                SpecProductCloseProfit ) ));
6228    assert_eq! (unsafe {
6229                & ( * ( 0 as * const CThostFtdcTradingAccountField ) ) .
6230                SpecProductPositionProfitByAlg as * const _ as usize } ,
6231                360usize , concat ! (
6232                "Alignment of field: " , stringify ! (
6233                CThostFtdcTradingAccountField ) , "::" , stringify ! (
6234                SpecProductPositionProfitByAlg ) ));
6235    assert_eq! (unsafe {
6236                & ( * ( 0 as * const CThostFtdcTradingAccountField ) ) .
6237                SpecProductExchangeMargin as * const _ as usize } , 368usize ,
6238                concat ! (
6239                "Alignment of field: " , stringify ! (
6240                CThostFtdcTradingAccountField ) , "::" , stringify ! (
6241                SpecProductExchangeMargin ) ));
6242    assert_eq! (unsafe {
6243                & ( * ( 0 as * const CThostFtdcTradingAccountField ) ) .
6244                BizType as * const _ as usize } , 376usize , concat ! (
6245                "Alignment of field: " , stringify ! (
6246                CThostFtdcTradingAccountField ) , "::" , stringify ! ( BizType
6247                ) ));
6248    assert_eq! (unsafe {
6249                & ( * ( 0 as * const CThostFtdcTradingAccountField ) ) .
6250                FrozenSwap as * const _ as usize } , 384usize , concat ! (
6251                "Alignment of field: " , stringify ! (
6252                CThostFtdcTradingAccountField ) , "::" , stringify ! (
6253                FrozenSwap ) ));
6254    assert_eq! (unsafe {
6255                & ( * ( 0 as * const CThostFtdcTradingAccountField ) ) .
6256                RemainSwap as * const _ as usize } , 392usize , concat ! (
6257                "Alignment of field: " , stringify ! (
6258                CThostFtdcTradingAccountField ) , "::" , stringify ! (
6259                RemainSwap ) ));
6260}
6261impl Clone for CThostFtdcTradingAccountField {
6262    fn clone(&self) -> Self { *self }
6263}
6264/// 投资者持仓
6265#[repr(C)]
6266#[derive(Default, Copy)]
6267pub struct CThostFtdcInvestorPositionField {
6268    /// 合约代码
6269    pub InstrumentID: TThostFtdcInstrumentIDType,
6270    /// 经纪公司代码
6271    pub BrokerID: TThostFtdcBrokerIDType,
6272    /// 投资者代码
6273    pub InvestorID: TThostFtdcInvestorIDType,
6274    /// 持仓多空方向
6275    pub PosiDirection: TThostFtdcPosiDirectionType,
6276    /// 投机套保标志
6277    pub HedgeFlag: TThostFtdcHedgeFlagType,
6278    /// 持仓日期
6279    pub PositionDate: TThostFtdcPositionDateType,
6280    /// 上日持仓
6281    pub YdPosition: TThostFtdcVolumeType,
6282    /// 今日持仓
6283    pub Position: TThostFtdcVolumeType,
6284    /// 多头冻结
6285    pub LongFrozen: TThostFtdcVolumeType,
6286    /// 空头冻结
6287    pub ShortFrozen: TThostFtdcVolumeType,
6288    /// 开仓冻结金额
6289    pub LongFrozenAmount: TThostFtdcMoneyType,
6290    /// 开仓冻结金额
6291    pub ShortFrozenAmount: TThostFtdcMoneyType,
6292    /// 开仓量
6293    pub OpenVolume: TThostFtdcVolumeType,
6294    /// 平仓量
6295    pub CloseVolume: TThostFtdcVolumeType,
6296    /// 开仓金额
6297    pub OpenAmount: TThostFtdcMoneyType,
6298    /// 平仓金额
6299    pub CloseAmount: TThostFtdcMoneyType,
6300    /// 持仓成本
6301    pub PositionCost: TThostFtdcMoneyType,
6302    /// 上次占用的保证金
6303    pub PreMargin: TThostFtdcMoneyType,
6304    /// 占用的保证金
6305    pub UseMargin: TThostFtdcMoneyType,
6306    /// 冻结的保证金
6307    pub FrozenMargin: TThostFtdcMoneyType,
6308    /// 冻结的资金
6309    pub FrozenCash: TThostFtdcMoneyType,
6310    /// 冻结的手续费
6311    pub FrozenCommission: TThostFtdcMoneyType,
6312    /// 资金差额
6313    pub CashIn: TThostFtdcMoneyType,
6314    /// 手续费
6315    pub Commission: TThostFtdcMoneyType,
6316    /// 平仓盈亏
6317    pub CloseProfit: TThostFtdcMoneyType,
6318    /// 持仓盈亏
6319    pub PositionProfit: TThostFtdcMoneyType,
6320    /// 上次结算价
6321    pub PreSettlementPrice: TThostFtdcPriceType,
6322    /// 本次结算价
6323    pub SettlementPrice: TThostFtdcPriceType,
6324    /// 交易日
6325    pub TradingDay: TThostFtdcDateType,
6326    /// 结算编号
6327    pub SettlementID: TThostFtdcSettlementIDType,
6328    /// 开仓成本
6329    pub OpenCost: TThostFtdcMoneyType,
6330    /// 交易所保证金
6331    pub ExchangeMargin: TThostFtdcMoneyType,
6332    /// 组合成交形成的持仓
6333    pub CombPosition: TThostFtdcVolumeType,
6334    /// 组合多头冻结
6335    pub CombLongFrozen: TThostFtdcVolumeType,
6336    /// 组合空头冻结
6337    pub CombShortFrozen: TThostFtdcVolumeType,
6338    /// 逐日盯市平仓盈亏
6339    pub CloseProfitByDate: TThostFtdcMoneyType,
6340    /// 逐笔对冲平仓盈亏
6341    pub CloseProfitByTrade: TThostFtdcMoneyType,
6342    /// 今日持仓
6343    pub TodayPosition: TThostFtdcVolumeType,
6344    /// 保证金率
6345    pub MarginRateByMoney: TThostFtdcRatioType,
6346    /// 保证金率(按手数)
6347    pub MarginRateByVolume: TThostFtdcRatioType,
6348    /// 执行冻结
6349    pub StrikeFrozen: TThostFtdcVolumeType,
6350    /// 执行冻结金额
6351    pub StrikeFrozenAmount: TThostFtdcMoneyType,
6352    /// 放弃执行冻结
6353    pub AbandonFrozen: TThostFtdcVolumeType,
6354    /// 交易所代码
6355    pub ExchangeID: TThostFtdcExchangeIDType,
6356    /// 执行冻结的昨仓
6357    pub YdStrikeFrozen: TThostFtdcVolumeType,
6358    /// 投资单元代码
6359    pub InvestUnitID: TThostFtdcInvestUnitIDType,
6360    /// 大商所持仓成本差值,只有大商所使用
6361    pub PositionCostOffset: TThostFtdcMoneyType,
6362}
6363#[test]
6364fn bindgen_test_layout_CThostFtdcInvestorPositionField() {
6365    assert_eq!(::std::mem::size_of::<CThostFtdcInvestorPositionField>() ,
6366               368usize , concat ! (
6367               "Size of: " , stringify ! ( CThostFtdcInvestorPositionField )
6368               ));
6369    assert_eq! (::std::mem::align_of::<CThostFtdcInvestorPositionField>() ,
6370                8usize , concat ! (
6371                "Alignment of " , stringify ! (
6372                CThostFtdcInvestorPositionField ) ));
6373    assert_eq! (unsafe {
6374                & ( * ( 0 as * const CThostFtdcInvestorPositionField ) ) .
6375                InstrumentID as * const _ as usize } , 0usize , concat ! (
6376                "Alignment of field: " , stringify ! (
6377                CThostFtdcInvestorPositionField ) , "::" , stringify ! (
6378                InstrumentID ) ));
6379    assert_eq! (unsafe {
6380                & ( * ( 0 as * const CThostFtdcInvestorPositionField ) ) .
6381                BrokerID as * const _ as usize } , 31usize , concat ! (
6382                "Alignment of field: " , stringify ! (
6383                CThostFtdcInvestorPositionField ) , "::" , stringify ! (
6384                BrokerID ) ));
6385    assert_eq! (unsafe {
6386                & ( * ( 0 as * const CThostFtdcInvestorPositionField ) ) .
6387                InvestorID as * const _ as usize } , 42usize , concat ! (
6388                "Alignment of field: " , stringify ! (
6389                CThostFtdcInvestorPositionField ) , "::" , stringify ! (
6390                InvestorID ) ));
6391    assert_eq! (unsafe {
6392                & ( * ( 0 as * const CThostFtdcInvestorPositionField ) ) .
6393                PosiDirection as * const _ as usize } , 55usize , concat ! (
6394                "Alignment of field: " , stringify ! (
6395                CThostFtdcInvestorPositionField ) , "::" , stringify ! (
6396                PosiDirection ) ));
6397    assert_eq! (unsafe {
6398                & ( * ( 0 as * const CThostFtdcInvestorPositionField ) ) .
6399                HedgeFlag as * const _ as usize } , 56usize , concat ! (
6400                "Alignment of field: " , stringify ! (
6401                CThostFtdcInvestorPositionField ) , "::" , stringify ! (
6402                HedgeFlag ) ));
6403    assert_eq! (unsafe {
6404                & ( * ( 0 as * const CThostFtdcInvestorPositionField ) ) .
6405                PositionDate as * const _ as usize } , 57usize , concat ! (
6406                "Alignment of field: " , stringify ! (
6407                CThostFtdcInvestorPositionField ) , "::" , stringify ! (
6408                PositionDate ) ));
6409    assert_eq! (unsafe {
6410                & ( * ( 0 as * const CThostFtdcInvestorPositionField ) ) .
6411                YdPosition as * const _ as usize } , 60usize , concat ! (
6412                "Alignment of field: " , stringify ! (
6413                CThostFtdcInvestorPositionField ) , "::" , stringify ! (
6414                YdPosition ) ));
6415    assert_eq! (unsafe {
6416                & ( * ( 0 as * const CThostFtdcInvestorPositionField ) ) .
6417                Position as * const _ as usize } , 64usize , concat ! (
6418                "Alignment of field: " , stringify ! (
6419                CThostFtdcInvestorPositionField ) , "::" , stringify ! (
6420                Position ) ));
6421    assert_eq! (unsafe {
6422                & ( * ( 0 as * const CThostFtdcInvestorPositionField ) ) .
6423                LongFrozen as * const _ as usize } , 68usize , concat ! (
6424                "Alignment of field: " , stringify ! (
6425                CThostFtdcInvestorPositionField ) , "::" , stringify ! (
6426                LongFrozen ) ));
6427    assert_eq! (unsafe {
6428                & ( * ( 0 as * const CThostFtdcInvestorPositionField ) ) .
6429                ShortFrozen as * const _ as usize } , 72usize , concat ! (
6430                "Alignment of field: " , stringify ! (
6431                CThostFtdcInvestorPositionField ) , "::" , stringify ! (
6432                ShortFrozen ) ));
6433    assert_eq! (unsafe {
6434                & ( * ( 0 as * const CThostFtdcInvestorPositionField ) ) .
6435                LongFrozenAmount as * const _ as usize } , 80usize , concat !
6436                (
6437                "Alignment of field: " , stringify ! (
6438                CThostFtdcInvestorPositionField ) , "::" , stringify ! (
6439                LongFrozenAmount ) ));
6440    assert_eq! (unsafe {
6441                & ( * ( 0 as * const CThostFtdcInvestorPositionField ) ) .
6442                ShortFrozenAmount as * const _ as usize } , 88usize , concat !
6443                (
6444                "Alignment of field: " , stringify ! (
6445                CThostFtdcInvestorPositionField ) , "::" , stringify ! (
6446                ShortFrozenAmount ) ));
6447    assert_eq! (unsafe {
6448                & ( * ( 0 as * const CThostFtdcInvestorPositionField ) ) .
6449                OpenVolume as * const _ as usize } , 96usize , concat ! (
6450                "Alignment of field: " , stringify ! (
6451                CThostFtdcInvestorPositionField ) , "::" , stringify ! (
6452                OpenVolume ) ));
6453    assert_eq! (unsafe {
6454                & ( * ( 0 as * const CThostFtdcInvestorPositionField ) ) .
6455                CloseVolume as * const _ as usize } , 100usize , concat ! (
6456                "Alignment of field: " , stringify ! (
6457                CThostFtdcInvestorPositionField ) , "::" , stringify ! (
6458                CloseVolume ) ));
6459    assert_eq! (unsafe {
6460                & ( * ( 0 as * const CThostFtdcInvestorPositionField ) ) .
6461                OpenAmount as * const _ as usize } , 104usize , concat ! (
6462                "Alignment of field: " , stringify ! (
6463                CThostFtdcInvestorPositionField ) , "::" , stringify ! (
6464                OpenAmount ) ));
6465    assert_eq! (unsafe {
6466                & ( * ( 0 as * const CThostFtdcInvestorPositionField ) ) .
6467                CloseAmount as * const _ as usize } , 112usize , concat ! (
6468                "Alignment of field: " , stringify ! (
6469                CThostFtdcInvestorPositionField ) , "::" , stringify ! (
6470                CloseAmount ) ));
6471    assert_eq! (unsafe {
6472                & ( * ( 0 as * const CThostFtdcInvestorPositionField ) ) .
6473                PositionCost as * const _ as usize } , 120usize , concat ! (
6474                "Alignment of field: " , stringify ! (
6475                CThostFtdcInvestorPositionField ) , "::" , stringify ! (
6476                PositionCost ) ));
6477    assert_eq! (unsafe {
6478                & ( * ( 0 as * const CThostFtdcInvestorPositionField ) ) .
6479                PreMargin as * const _ as usize } , 128usize , concat ! (
6480                "Alignment of field: " , stringify ! (
6481                CThostFtdcInvestorPositionField ) , "::" , stringify ! (
6482                PreMargin ) ));
6483    assert_eq! (unsafe {
6484                & ( * ( 0 as * const CThostFtdcInvestorPositionField ) ) .
6485                UseMargin as * const _ as usize } , 136usize , concat ! (
6486                "Alignment of field: " , stringify ! (
6487                CThostFtdcInvestorPositionField ) , "::" , stringify ! (
6488                UseMargin ) ));
6489    assert_eq! (unsafe {
6490                & ( * ( 0 as * const CThostFtdcInvestorPositionField ) ) .
6491                FrozenMargin as * const _ as usize } , 144usize , concat ! (
6492                "Alignment of field: " , stringify ! (
6493                CThostFtdcInvestorPositionField ) , "::" , stringify ! (
6494                FrozenMargin ) ));
6495    assert_eq! (unsafe {
6496                & ( * ( 0 as * const CThostFtdcInvestorPositionField ) ) .
6497                FrozenCash as * const _ as usize } , 152usize , concat ! (
6498                "Alignment of field: " , stringify ! (
6499                CThostFtdcInvestorPositionField ) , "::" , stringify ! (
6500                FrozenCash ) ));
6501    assert_eq! (unsafe {
6502                & ( * ( 0 as * const CThostFtdcInvestorPositionField ) ) .
6503                FrozenCommission as * const _ as usize } , 160usize , concat !
6504                (
6505                "Alignment of field: " , stringify ! (
6506                CThostFtdcInvestorPositionField ) , "::" , stringify ! (
6507                FrozenCommission ) ));
6508    assert_eq! (unsafe {
6509                & ( * ( 0 as * const CThostFtdcInvestorPositionField ) ) .
6510                CashIn as * const _ as usize } , 168usize , concat ! (
6511                "Alignment of field: " , stringify ! (
6512                CThostFtdcInvestorPositionField ) , "::" , stringify ! (
6513                CashIn ) ));
6514    assert_eq! (unsafe {
6515                & ( * ( 0 as * const CThostFtdcInvestorPositionField ) ) .
6516                Commission as * const _ as usize } , 176usize , concat ! (
6517                "Alignment of field: " , stringify ! (
6518                CThostFtdcInvestorPositionField ) , "::" , stringify ! (
6519                Commission ) ));
6520    assert_eq! (unsafe {
6521                & ( * ( 0 as * const CThostFtdcInvestorPositionField ) ) .
6522                CloseProfit as * const _ as usize } , 184usize , concat ! (
6523                "Alignment of field: " , stringify ! (
6524                CThostFtdcInvestorPositionField ) , "::" , stringify ! (
6525                CloseProfit ) ));
6526    assert_eq! (unsafe {
6527                & ( * ( 0 as * const CThostFtdcInvestorPositionField ) ) .
6528                PositionProfit as * const _ as usize } , 192usize , concat ! (
6529                "Alignment of field: " , stringify ! (
6530                CThostFtdcInvestorPositionField ) , "::" , stringify ! (
6531                PositionProfit ) ));
6532    assert_eq! (unsafe {
6533                & ( * ( 0 as * const CThostFtdcInvestorPositionField ) ) .
6534                PreSettlementPrice as * const _ as usize } , 200usize , concat
6535                ! (
6536                "Alignment of field: " , stringify ! (
6537                CThostFtdcInvestorPositionField ) , "::" , stringify ! (
6538                PreSettlementPrice ) ));
6539    assert_eq! (unsafe {
6540                & ( * ( 0 as * const CThostFtdcInvestorPositionField ) ) .
6541                SettlementPrice as * const _ as usize } , 208usize , concat !
6542                (
6543                "Alignment of field: " , stringify ! (
6544                CThostFtdcInvestorPositionField ) , "::" , stringify ! (
6545                SettlementPrice ) ));
6546    assert_eq! (unsafe {
6547                & ( * ( 0 as * const CThostFtdcInvestorPositionField ) ) .
6548                TradingDay as * const _ as usize } , 216usize , concat ! (
6549                "Alignment of field: " , stringify ! (
6550                CThostFtdcInvestorPositionField ) , "::" , stringify ! (
6551                TradingDay ) ));
6552    assert_eq! (unsafe {
6553                & ( * ( 0 as * const CThostFtdcInvestorPositionField ) ) .
6554                SettlementID as * const _ as usize } , 228usize , concat ! (
6555                "Alignment of field: " , stringify ! (
6556                CThostFtdcInvestorPositionField ) , "::" , stringify ! (
6557                SettlementID ) ));
6558    assert_eq! (unsafe {
6559                & ( * ( 0 as * const CThostFtdcInvestorPositionField ) ) .
6560                OpenCost as * const _ as usize } , 232usize , concat ! (
6561                "Alignment of field: " , stringify ! (
6562                CThostFtdcInvestorPositionField ) , "::" , stringify ! (
6563                OpenCost ) ));
6564    assert_eq! (unsafe {
6565                & ( * ( 0 as * const CThostFtdcInvestorPositionField ) ) .
6566                ExchangeMargin as * const _ as usize } , 240usize , concat ! (
6567                "Alignment of field: " , stringify ! (
6568                CThostFtdcInvestorPositionField ) , "::" , stringify ! (
6569                ExchangeMargin ) ));
6570    assert_eq! (unsafe {
6571                & ( * ( 0 as * const CThostFtdcInvestorPositionField ) ) .
6572                CombPosition as * const _ as usize } , 248usize , concat ! (
6573                "Alignment of field: " , stringify ! (
6574                CThostFtdcInvestorPositionField ) , "::" , stringify ! (
6575                CombPosition ) ));
6576    assert_eq! (unsafe {
6577                & ( * ( 0 as * const CThostFtdcInvestorPositionField ) ) .
6578                CombLongFrozen as * const _ as usize } , 252usize , concat ! (
6579                "Alignment of field: " , stringify ! (
6580                CThostFtdcInvestorPositionField ) , "::" , stringify ! (
6581                CombLongFrozen ) ));
6582    assert_eq! (unsafe {
6583                & ( * ( 0 as * const CThostFtdcInvestorPositionField ) ) .
6584                CombShortFrozen as * const _ as usize } , 256usize , concat !
6585                (
6586                "Alignment of field: " , stringify ! (
6587                CThostFtdcInvestorPositionField ) , "::" , stringify ! (
6588                CombShortFrozen ) ));
6589    assert_eq! (unsafe {
6590                & ( * ( 0 as * const CThostFtdcInvestorPositionField ) ) .
6591                CloseProfitByDate as * const _ as usize } , 264usize , concat
6592                ! (
6593                "Alignment of field: " , stringify ! (
6594                CThostFtdcInvestorPositionField ) , "::" , stringify ! (
6595                CloseProfitByDate ) ));
6596    assert_eq! (unsafe {
6597                & ( * ( 0 as * const CThostFtdcInvestorPositionField ) ) .
6598                CloseProfitByTrade as * const _ as usize } , 272usize , concat
6599                ! (
6600                "Alignment of field: " , stringify ! (
6601                CThostFtdcInvestorPositionField ) , "::" , stringify ! (
6602                CloseProfitByTrade ) ));
6603    assert_eq! (unsafe {
6604                & ( * ( 0 as * const CThostFtdcInvestorPositionField ) ) .
6605                TodayPosition as * const _ as usize } , 280usize , concat ! (
6606                "Alignment of field: " , stringify ! (
6607                CThostFtdcInvestorPositionField ) , "::" , stringify ! (
6608                TodayPosition ) ));
6609    assert_eq! (unsafe {
6610                & ( * ( 0 as * const CThostFtdcInvestorPositionField ) ) .
6611                MarginRateByMoney as * const _ as usize } , 288usize , concat
6612                ! (
6613                "Alignment of field: " , stringify ! (
6614                CThostFtdcInvestorPositionField ) , "::" , stringify ! (
6615                MarginRateByMoney ) ));
6616    assert_eq! (unsafe {
6617                & ( * ( 0 as * const CThostFtdcInvestorPositionField ) ) .
6618                MarginRateByVolume as * const _ as usize } , 296usize , concat
6619                ! (
6620                "Alignment of field: " , stringify ! (
6621                CThostFtdcInvestorPositionField ) , "::" , stringify ! (
6622                MarginRateByVolume ) ));
6623    assert_eq! (unsafe {
6624                & ( * ( 0 as * const CThostFtdcInvestorPositionField ) ) .
6625                StrikeFrozen as * const _ as usize } , 304usize , concat ! (
6626                "Alignment of field: " , stringify ! (
6627                CThostFtdcInvestorPositionField ) , "::" , stringify ! (
6628                StrikeFrozen ) ));
6629    assert_eq! (unsafe {
6630                & ( * ( 0 as * const CThostFtdcInvestorPositionField ) ) .
6631                StrikeFrozenAmount as * const _ as usize } , 312usize , concat
6632                ! (
6633                "Alignment of field: " , stringify ! (
6634                CThostFtdcInvestorPositionField ) , "::" , stringify ! (
6635                StrikeFrozenAmount ) ));
6636    assert_eq! (unsafe {
6637                & ( * ( 0 as * const CThostFtdcInvestorPositionField ) ) .
6638                AbandonFrozen as * const _ as usize } , 320usize , concat ! (
6639                "Alignment of field: " , stringify ! (
6640                CThostFtdcInvestorPositionField ) , "::" , stringify ! (
6641                AbandonFrozen ) ));
6642    assert_eq! (unsafe {
6643                & ( * ( 0 as * const CThostFtdcInvestorPositionField ) ) .
6644                ExchangeID as * const _ as usize } , 324usize , concat ! (
6645                "Alignment of field: " , stringify ! (
6646                CThostFtdcInvestorPositionField ) , "::" , stringify ! (
6647                ExchangeID ) ));
6648    assert_eq! (unsafe {
6649                & ( * ( 0 as * const CThostFtdcInvestorPositionField ) ) .
6650                YdStrikeFrozen as * const _ as usize } , 336usize , concat ! (
6651                "Alignment of field: " , stringify ! (
6652                CThostFtdcInvestorPositionField ) , "::" , stringify ! (
6653                YdStrikeFrozen ) ));
6654    assert_eq! (unsafe {
6655                & ( * ( 0 as * const CThostFtdcInvestorPositionField ) ) .
6656                InvestUnitID as * const _ as usize } , 340usize , concat ! (
6657                "Alignment of field: " , stringify ! (
6658                CThostFtdcInvestorPositionField ) , "::" , stringify ! (
6659                InvestUnitID ) ));
6660    assert_eq! (unsafe {
6661                & ( * ( 0 as * const CThostFtdcInvestorPositionField ) ) .
6662                PositionCostOffset as * const _ as usize } , 360usize , concat
6663                ! (
6664                "Alignment of field: " , stringify ! (
6665                CThostFtdcInvestorPositionField ) , "::" , stringify ! (
6666                PositionCostOffset ) ));
6667}
6668impl Clone for CThostFtdcInvestorPositionField {
6669    fn clone(&self) -> Self { *self }
6670}
6671/// 合约保证金率
6672#[repr(C)]
6673#[derive(Default, Copy)]
6674pub struct CThostFtdcInstrumentMarginRateField {
6675    /// 合约代码
6676    pub InstrumentID: TThostFtdcInstrumentIDType,
6677    /// 投资者范围
6678    pub InvestorRange: TThostFtdcInvestorRangeType,
6679    /// 经纪公司代码
6680    pub BrokerID: TThostFtdcBrokerIDType,
6681    /// 投资者代码
6682    pub InvestorID: TThostFtdcInvestorIDType,
6683    /// 投机套保标志
6684    pub HedgeFlag: TThostFtdcHedgeFlagType,
6685    /// 多头保证金率
6686    pub LongMarginRatioByMoney: TThostFtdcRatioType,
6687    /// 多头保证金费
6688    pub LongMarginRatioByVolume: TThostFtdcMoneyType,
6689    /// 空头保证金率
6690    pub ShortMarginRatioByMoney: TThostFtdcRatioType,
6691    /// 空头保证金费
6692    pub ShortMarginRatioByVolume: TThostFtdcMoneyType,
6693    /// 是否相对交易所收取
6694    pub IsRelative: TThostFtdcBoolType,
6695    /// 交易所代码
6696    pub ExchangeID: TThostFtdcExchangeIDType,
6697    /// 投资单元代码
6698    pub InvestUnitID: TThostFtdcInvestUnitIDType,
6699}
6700#[test]
6701fn bindgen_test_layout_CThostFtdcInstrumentMarginRateField() {
6702    assert_eq!(::std::mem::size_of::<CThostFtdcInstrumentMarginRateField>() ,
6703               128usize , concat ! (
6704               "Size of: " , stringify ! ( CThostFtdcInstrumentMarginRateField
6705               ) ));
6706    assert_eq! (::std::mem::align_of::<CThostFtdcInstrumentMarginRateField>()
6707                , 8usize , concat ! (
6708                "Alignment of " , stringify ! (
6709                CThostFtdcInstrumentMarginRateField ) ));
6710    assert_eq! (unsafe {
6711                & ( * ( 0 as * const CThostFtdcInstrumentMarginRateField ) ) .
6712                InstrumentID as * const _ as usize } , 0usize , concat ! (
6713                "Alignment of field: " , stringify ! (
6714                CThostFtdcInstrumentMarginRateField ) , "::" , stringify ! (
6715                InstrumentID ) ));
6716    assert_eq! (unsafe {
6717                & ( * ( 0 as * const CThostFtdcInstrumentMarginRateField ) ) .
6718                InvestorRange as * const _ as usize } , 31usize , concat ! (
6719                "Alignment of field: " , stringify ! (
6720                CThostFtdcInstrumentMarginRateField ) , "::" , stringify ! (
6721                InvestorRange ) ));
6722    assert_eq! (unsafe {
6723                & ( * ( 0 as * const CThostFtdcInstrumentMarginRateField ) ) .
6724                BrokerID as * const _ as usize } , 32usize , concat ! (
6725                "Alignment of field: " , stringify ! (
6726                CThostFtdcInstrumentMarginRateField ) , "::" , stringify ! (
6727                BrokerID ) ));
6728    assert_eq! (unsafe {
6729                & ( * ( 0 as * const CThostFtdcInstrumentMarginRateField ) ) .
6730                InvestorID as * const _ as usize } , 43usize , concat ! (
6731                "Alignment of field: " , stringify ! (
6732                CThostFtdcInstrumentMarginRateField ) , "::" , stringify ! (
6733                InvestorID ) ));
6734    assert_eq! (unsafe {
6735                & ( * ( 0 as * const CThostFtdcInstrumentMarginRateField ) ) .
6736                HedgeFlag as * const _ as usize } , 56usize , concat ! (
6737                "Alignment of field: " , stringify ! (
6738                CThostFtdcInstrumentMarginRateField ) , "::" , stringify ! (
6739                HedgeFlag ) ));
6740    assert_eq! (unsafe {
6741                & ( * ( 0 as * const CThostFtdcInstrumentMarginRateField ) ) .
6742                LongMarginRatioByMoney as * const _ as usize } , 64usize ,
6743                concat ! (
6744                "Alignment of field: " , stringify ! (
6745                CThostFtdcInstrumentMarginRateField ) , "::" , stringify ! (
6746                LongMarginRatioByMoney ) ));
6747    assert_eq! (unsafe {
6748                & ( * ( 0 as * const CThostFtdcInstrumentMarginRateField ) ) .
6749                LongMarginRatioByVolume as * const _ as usize } , 72usize ,
6750                concat ! (
6751                "Alignment of field: " , stringify ! (
6752                CThostFtdcInstrumentMarginRateField ) , "::" , stringify ! (
6753                LongMarginRatioByVolume ) ));
6754    assert_eq! (unsafe {
6755                & ( * ( 0 as * const CThostFtdcInstrumentMarginRateField ) ) .
6756                ShortMarginRatioByMoney as * const _ as usize } , 80usize ,
6757                concat ! (
6758                "Alignment of field: " , stringify ! (
6759                CThostFtdcInstrumentMarginRateField ) , "::" , stringify ! (
6760                ShortMarginRatioByMoney ) ));
6761    assert_eq! (unsafe {
6762                & ( * ( 0 as * const CThostFtdcInstrumentMarginRateField ) ) .
6763                ShortMarginRatioByVolume as * const _ as usize } , 88usize ,
6764                concat ! (
6765                "Alignment of field: " , stringify ! (
6766                CThostFtdcInstrumentMarginRateField ) , "::" , stringify ! (
6767                ShortMarginRatioByVolume ) ));
6768    assert_eq! (unsafe {
6769                & ( * ( 0 as * const CThostFtdcInstrumentMarginRateField ) ) .
6770                IsRelative as * const _ as usize } , 96usize , concat ! (
6771                "Alignment of field: " , stringify ! (
6772                CThostFtdcInstrumentMarginRateField ) , "::" , stringify ! (
6773                IsRelative ) ));
6774    assert_eq! (unsafe {
6775                & ( * ( 0 as * const CThostFtdcInstrumentMarginRateField ) ) .
6776                ExchangeID as * const _ as usize } , 100usize , concat ! (
6777                "Alignment of field: " , stringify ! (
6778                CThostFtdcInstrumentMarginRateField ) , "::" , stringify ! (
6779                ExchangeID ) ));
6780    assert_eq! (unsafe {
6781                & ( * ( 0 as * const CThostFtdcInstrumentMarginRateField ) ) .
6782                InvestUnitID as * const _ as usize } , 109usize , concat ! (
6783                "Alignment of field: " , stringify ! (
6784                CThostFtdcInstrumentMarginRateField ) , "::" , stringify ! (
6785                InvestUnitID ) ));
6786}
6787impl Clone for CThostFtdcInstrumentMarginRateField {
6788    fn clone(&self) -> Self { *self }
6789}
6790/// 合约手续费率
6791#[repr(C)]
6792#[derive(Default, Copy)]
6793pub struct CThostFtdcInstrumentCommissionRateField {
6794    /// 合约代码
6795    pub InstrumentID: TThostFtdcInstrumentIDType,
6796    /// 投资者范围
6797    pub InvestorRange: TThostFtdcInvestorRangeType,
6798    /// 经纪公司代码
6799    pub BrokerID: TThostFtdcBrokerIDType,
6800    /// 投资者代码
6801    pub InvestorID: TThostFtdcInvestorIDType,
6802    /// 开仓手续费率
6803    pub OpenRatioByMoney: TThostFtdcRatioType,
6804    /// 开仓手续费
6805    pub OpenRatioByVolume: TThostFtdcRatioType,
6806    /// 平仓手续费率
6807    pub CloseRatioByMoney: TThostFtdcRatioType,
6808    /// 平仓手续费
6809    pub CloseRatioByVolume: TThostFtdcRatioType,
6810    /// 平今手续费率
6811    pub CloseTodayRatioByMoney: TThostFtdcRatioType,
6812    /// 平今手续费
6813    pub CloseTodayRatioByVolume: TThostFtdcRatioType,
6814    /// 交易所代码
6815    pub ExchangeID: TThostFtdcExchangeIDType,
6816    /// 业务类型
6817    pub BizType: TThostFtdcBizTypeType,
6818    /// 投资单元代码
6819    pub InvestUnitID: TThostFtdcInvestUnitIDType,
6820}
6821#[test]
6822fn bindgen_test_layout_CThostFtdcInstrumentCommissionRateField() {
6823    assert_eq!(::std::mem::size_of::<CThostFtdcInstrumentCommissionRateField>()
6824               , 136usize , concat ! (
6825               "Size of: " , stringify ! (
6826               CThostFtdcInstrumentCommissionRateField ) ));
6827    assert_eq! (::std::mem::align_of::<CThostFtdcInstrumentCommissionRateField>()
6828                , 8usize , concat ! (
6829                "Alignment of " , stringify ! (
6830                CThostFtdcInstrumentCommissionRateField ) ));
6831    assert_eq! (unsafe {
6832                & ( * ( 0 as * const CThostFtdcInstrumentCommissionRateField )
6833                ) . InstrumentID as * const _ as usize } , 0usize , concat ! (
6834                "Alignment of field: " , stringify ! (
6835                CThostFtdcInstrumentCommissionRateField ) , "::" , stringify !
6836                ( InstrumentID ) ));
6837    assert_eq! (unsafe {
6838                & ( * ( 0 as * const CThostFtdcInstrumentCommissionRateField )
6839                ) . InvestorRange as * const _ as usize } , 31usize , concat !
6840                (
6841                "Alignment of field: " , stringify ! (
6842                CThostFtdcInstrumentCommissionRateField ) , "::" , stringify !
6843                ( InvestorRange ) ));
6844    assert_eq! (unsafe {
6845                & ( * ( 0 as * const CThostFtdcInstrumentCommissionRateField )
6846                ) . BrokerID as * const _ as usize } , 32usize , concat ! (
6847                "Alignment of field: " , stringify ! (
6848                CThostFtdcInstrumentCommissionRateField ) , "::" , stringify !
6849                ( BrokerID ) ));
6850    assert_eq! (unsafe {
6851                & ( * ( 0 as * const CThostFtdcInstrumentCommissionRateField )
6852                ) . InvestorID as * const _ as usize } , 43usize , concat ! (
6853                "Alignment of field: " , stringify ! (
6854                CThostFtdcInstrumentCommissionRateField ) , "::" , stringify !
6855                ( InvestorID ) ));
6856    assert_eq! (unsafe {
6857                & ( * ( 0 as * const CThostFtdcInstrumentCommissionRateField )
6858                ) . OpenRatioByMoney as * const _ as usize } , 56usize ,
6859                concat ! (
6860                "Alignment of field: " , stringify ! (
6861                CThostFtdcInstrumentCommissionRateField ) , "::" , stringify !
6862                ( OpenRatioByMoney ) ));
6863    assert_eq! (unsafe {
6864                & ( * ( 0 as * const CThostFtdcInstrumentCommissionRateField )
6865                ) . OpenRatioByVolume as * const _ as usize } , 64usize ,
6866                concat ! (
6867                "Alignment of field: " , stringify ! (
6868                CThostFtdcInstrumentCommissionRateField ) , "::" , stringify !
6869                ( OpenRatioByVolume ) ));
6870    assert_eq! (unsafe {
6871                & ( * ( 0 as * const CThostFtdcInstrumentCommissionRateField )
6872                ) . CloseRatioByMoney as * const _ as usize } , 72usize ,
6873                concat ! (
6874                "Alignment of field: " , stringify ! (
6875                CThostFtdcInstrumentCommissionRateField ) , "::" , stringify !
6876                ( CloseRatioByMoney ) ));
6877    assert_eq! (unsafe {
6878                & ( * ( 0 as * const CThostFtdcInstrumentCommissionRateField )
6879                ) . CloseRatioByVolume as * const _ as usize } , 80usize ,
6880                concat ! (
6881                "Alignment of field: " , stringify ! (
6882                CThostFtdcInstrumentCommissionRateField ) , "::" , stringify !
6883                ( CloseRatioByVolume ) ));
6884    assert_eq! (unsafe {
6885                & ( * ( 0 as * const CThostFtdcInstrumentCommissionRateField )
6886                ) . CloseTodayRatioByMoney as * const _ as usize } , 88usize ,
6887                concat ! (
6888                "Alignment of field: " , stringify ! (
6889                CThostFtdcInstrumentCommissionRateField ) , "::" , stringify !
6890                ( CloseTodayRatioByMoney ) ));
6891    assert_eq! (unsafe {
6892                & ( * ( 0 as * const CThostFtdcInstrumentCommissionRateField )
6893                ) . CloseTodayRatioByVolume as * const _ as usize } , 96usize
6894                , concat ! (
6895                "Alignment of field: " , stringify ! (
6896                CThostFtdcInstrumentCommissionRateField ) , "::" , stringify !
6897                ( CloseTodayRatioByVolume ) ));
6898    assert_eq! (unsafe {
6899                & ( * ( 0 as * const CThostFtdcInstrumentCommissionRateField )
6900                ) . ExchangeID as * const _ as usize } , 104usize , concat ! (
6901                "Alignment of field: " , stringify ! (
6902                CThostFtdcInstrumentCommissionRateField ) , "::" , stringify !
6903                ( ExchangeID ) ));
6904    assert_eq! (unsafe {
6905                & ( * ( 0 as * const CThostFtdcInstrumentCommissionRateField )
6906                ) . BizType as * const _ as usize } , 113usize , concat ! (
6907                "Alignment of field: " , stringify ! (
6908                CThostFtdcInstrumentCommissionRateField ) , "::" , stringify !
6909                ( BizType ) ));
6910    assert_eq! (unsafe {
6911                & ( * ( 0 as * const CThostFtdcInstrumentCommissionRateField )
6912                ) . InvestUnitID as * const _ as usize } , 114usize , concat !
6913                (
6914                "Alignment of field: " , stringify ! (
6915                CThostFtdcInstrumentCommissionRateField ) , "::" , stringify !
6916                ( InvestUnitID ) ));
6917}
6918impl Clone for CThostFtdcInstrumentCommissionRateField {
6919    fn clone(&self) -> Self { *self }
6920}
6921/// 深度行情
6922#[repr(C)]
6923#[derive(Default, Copy)]
6924pub struct CThostFtdcDepthMarketDataField {
6925    /// 交易日
6926    pub TradingDay: TThostFtdcDateType,
6927    /// 合约代码
6928    pub InstrumentID: TThostFtdcInstrumentIDType,
6929    /// 交易所代码
6930    pub ExchangeID: TThostFtdcExchangeIDType,
6931    /// 合约在交易所的代码
6932    pub ExchangeInstID: TThostFtdcExchangeInstIDType,
6933    /// 最新价
6934    pub LastPrice: TThostFtdcPriceType,
6935    /// 上次结算价
6936    pub PreSettlementPrice: TThostFtdcPriceType,
6937    /// 昨收盘
6938    pub PreClosePrice: TThostFtdcPriceType,
6939    /// 昨持仓量
6940    pub PreOpenInterest: TThostFtdcLargeVolumeType,
6941    /// 今开盘
6942    pub OpenPrice: TThostFtdcPriceType,
6943    /// 最高价
6944    pub HighestPrice: TThostFtdcPriceType,
6945    /// 最低价
6946    pub LowestPrice: TThostFtdcPriceType,
6947    /// 数量
6948    pub Volume: TThostFtdcVolumeType,
6949    /// 成交金额
6950    pub Turnover: TThostFtdcMoneyType,
6951    /// 持仓量
6952    pub OpenInterest: TThostFtdcLargeVolumeType,
6953    /// 今收盘
6954    pub ClosePrice: TThostFtdcPriceType,
6955    /// 本次结算价
6956    pub SettlementPrice: TThostFtdcPriceType,
6957    /// 涨停板价
6958    pub UpperLimitPrice: TThostFtdcPriceType,
6959    /// 跌停板价
6960    pub LowerLimitPrice: TThostFtdcPriceType,
6961    /// 昨虚实度
6962    pub PreDelta: TThostFtdcRatioType,
6963    /// 今虚实度
6964    pub CurrDelta: TThostFtdcRatioType,
6965    /// 最后修改时间
6966    pub UpdateTime: TThostFtdcTimeType,
6967    /// 最后修改毫秒
6968    pub UpdateMillisec: TThostFtdcMillisecType,
6969    /// 申买价一
6970    pub BidPrice1: TThostFtdcPriceType,
6971    /// 申买量一
6972    pub BidVolume1: TThostFtdcVolumeType,
6973    /// 申卖价一
6974    pub AskPrice1: TThostFtdcPriceType,
6975    /// 申卖量一
6976    pub AskVolume1: TThostFtdcVolumeType,
6977    /// 申买价二
6978    pub BidPrice2: TThostFtdcPriceType,
6979    /// 申买量二
6980    pub BidVolume2: TThostFtdcVolumeType,
6981    /// 申卖价二
6982    pub AskPrice2: TThostFtdcPriceType,
6983    /// 申卖量二
6984    pub AskVolume2: TThostFtdcVolumeType,
6985    /// 申买价三
6986    pub BidPrice3: TThostFtdcPriceType,
6987    /// 申买量三
6988    pub BidVolume3: TThostFtdcVolumeType,
6989    /// 申卖价三
6990    pub AskPrice3: TThostFtdcPriceType,
6991    /// 申卖量三
6992    pub AskVolume3: TThostFtdcVolumeType,
6993    /// 申买价四
6994    pub BidPrice4: TThostFtdcPriceType,
6995    /// 申买量四
6996    pub BidVolume4: TThostFtdcVolumeType,
6997    /// 申卖价四
6998    pub AskPrice4: TThostFtdcPriceType,
6999    /// 申卖量四
7000    pub AskVolume4: TThostFtdcVolumeType,
7001    /// 申买价五
7002    pub BidPrice5: TThostFtdcPriceType,
7003    /// 申买量五
7004    pub BidVolume5: TThostFtdcVolumeType,
7005    /// 申卖价五
7006    pub AskPrice5: TThostFtdcPriceType,
7007    /// 申卖量五
7008    pub AskVolume5: TThostFtdcVolumeType,
7009    /// 当日均价
7010    pub AveragePrice: TThostFtdcPriceType,
7011    /// 业务日期
7012    pub ActionDay: TThostFtdcDateType,
7013}
7014#[test]
7015fn bindgen_test_layout_CThostFtdcDepthMarketDataField() {
7016    assert_eq!(::std::mem::size_of::<CThostFtdcDepthMarketDataField>() ,
7017               408usize , concat ! (
7018               "Size of: " , stringify ! ( CThostFtdcDepthMarketDataField )
7019               ));
7020    assert_eq! (::std::mem::align_of::<CThostFtdcDepthMarketDataField>() ,
7021                8usize , concat ! (
7022                "Alignment of " , stringify ! ( CThostFtdcDepthMarketDataField
7023                ) ));
7024    assert_eq! (unsafe {
7025                & ( * ( 0 as * const CThostFtdcDepthMarketDataField ) ) .
7026                TradingDay as * const _ as usize } , 0usize , concat ! (
7027                "Alignment of field: " , stringify ! (
7028                CThostFtdcDepthMarketDataField ) , "::" , stringify ! (
7029                TradingDay ) ));
7030    assert_eq! (unsafe {
7031                & ( * ( 0 as * const CThostFtdcDepthMarketDataField ) ) .
7032                InstrumentID as * const _ as usize } , 9usize , concat ! (
7033                "Alignment of field: " , stringify ! (
7034                CThostFtdcDepthMarketDataField ) , "::" , stringify ! (
7035                InstrumentID ) ));
7036    assert_eq! (unsafe {
7037                & ( * ( 0 as * const CThostFtdcDepthMarketDataField ) ) .
7038                ExchangeID as * const _ as usize } , 40usize , concat ! (
7039                "Alignment of field: " , stringify ! (
7040                CThostFtdcDepthMarketDataField ) , "::" , stringify ! (
7041                ExchangeID ) ));
7042    assert_eq! (unsafe {
7043                & ( * ( 0 as * const CThostFtdcDepthMarketDataField ) ) .
7044                ExchangeInstID as * const _ as usize } , 49usize , concat ! (
7045                "Alignment of field: " , stringify ! (
7046                CThostFtdcDepthMarketDataField ) , "::" , stringify ! (
7047                ExchangeInstID ) ));
7048    assert_eq! (unsafe {
7049                & ( * ( 0 as * const CThostFtdcDepthMarketDataField ) ) .
7050                LastPrice as * const _ as usize } , 80usize , concat ! (
7051                "Alignment of field: " , stringify ! (
7052                CThostFtdcDepthMarketDataField ) , "::" , stringify ! (
7053                LastPrice ) ));
7054    assert_eq! (unsafe {
7055                & ( * ( 0 as * const CThostFtdcDepthMarketDataField ) ) .
7056                PreSettlementPrice as * const _ as usize } , 88usize , concat
7057                ! (
7058                "Alignment of field: " , stringify ! (
7059                CThostFtdcDepthMarketDataField ) , "::" , stringify ! (
7060                PreSettlementPrice ) ));
7061    assert_eq! (unsafe {
7062                & ( * ( 0 as * const CThostFtdcDepthMarketDataField ) ) .
7063                PreClosePrice as * const _ as usize } , 96usize , concat ! (
7064                "Alignment of field: " , stringify ! (
7065                CThostFtdcDepthMarketDataField ) , "::" , stringify ! (
7066                PreClosePrice ) ));
7067    assert_eq! (unsafe {
7068                & ( * ( 0 as * const CThostFtdcDepthMarketDataField ) ) .
7069                PreOpenInterest as * const _ as usize } , 104usize , concat !
7070                (
7071                "Alignment of field: " , stringify ! (
7072                CThostFtdcDepthMarketDataField ) , "::" , stringify ! (
7073                PreOpenInterest ) ));
7074    assert_eq! (unsafe {
7075                & ( * ( 0 as * const CThostFtdcDepthMarketDataField ) ) .
7076                OpenPrice as * const _ as usize } , 112usize , concat ! (
7077                "Alignment of field: " , stringify ! (
7078                CThostFtdcDepthMarketDataField ) , "::" , stringify ! (
7079                OpenPrice ) ));
7080    assert_eq! (unsafe {
7081                & ( * ( 0 as * const CThostFtdcDepthMarketDataField ) ) .
7082                HighestPrice as * const _ as usize } , 120usize , concat ! (
7083                "Alignment of field: " , stringify ! (
7084                CThostFtdcDepthMarketDataField ) , "::" , stringify ! (
7085                HighestPrice ) ));
7086    assert_eq! (unsafe {
7087                & ( * ( 0 as * const CThostFtdcDepthMarketDataField ) ) .
7088                LowestPrice as * const _ as usize } , 128usize , concat ! (
7089                "Alignment of field: " , stringify ! (
7090                CThostFtdcDepthMarketDataField ) , "::" , stringify ! (
7091                LowestPrice ) ));
7092    assert_eq! (unsafe {
7093                & ( * ( 0 as * const CThostFtdcDepthMarketDataField ) ) .
7094                Volume as * const _ as usize } , 136usize , concat ! (
7095                "Alignment of field: " , stringify ! (
7096                CThostFtdcDepthMarketDataField ) , "::" , stringify ! ( Volume
7097                ) ));
7098    assert_eq! (unsafe {
7099                & ( * ( 0 as * const CThostFtdcDepthMarketDataField ) ) .
7100                Turnover as * const _ as usize } , 144usize , concat ! (
7101                "Alignment of field: " , stringify ! (
7102                CThostFtdcDepthMarketDataField ) , "::" , stringify ! (
7103                Turnover ) ));
7104    assert_eq! (unsafe {
7105                & ( * ( 0 as * const CThostFtdcDepthMarketDataField ) ) .
7106                OpenInterest as * const _ as usize } , 152usize , concat ! (
7107                "Alignment of field: " , stringify ! (
7108                CThostFtdcDepthMarketDataField ) , "::" , stringify ! (
7109                OpenInterest ) ));
7110    assert_eq! (unsafe {
7111                & ( * ( 0 as * const CThostFtdcDepthMarketDataField ) ) .
7112                ClosePrice as * const _ as usize } , 160usize , concat ! (
7113                "Alignment of field: " , stringify ! (
7114                CThostFtdcDepthMarketDataField ) , "::" , stringify ! (
7115                ClosePrice ) ));
7116    assert_eq! (unsafe {
7117                & ( * ( 0 as * const CThostFtdcDepthMarketDataField ) ) .
7118                SettlementPrice as * const _ as usize } , 168usize , concat !
7119                (
7120                "Alignment of field: " , stringify ! (
7121                CThostFtdcDepthMarketDataField ) , "::" , stringify ! (
7122                SettlementPrice ) ));
7123    assert_eq! (unsafe {
7124                & ( * ( 0 as * const CThostFtdcDepthMarketDataField ) ) .
7125                UpperLimitPrice as * const _ as usize } , 176usize , concat !
7126                (
7127                "Alignment of field: " , stringify ! (
7128                CThostFtdcDepthMarketDataField ) , "::" , stringify ! (
7129                UpperLimitPrice ) ));
7130    assert_eq! (unsafe {
7131                & ( * ( 0 as * const CThostFtdcDepthMarketDataField ) ) .
7132                LowerLimitPrice as * const _ as usize } , 184usize , concat !
7133                (
7134                "Alignment of field: " , stringify ! (
7135                CThostFtdcDepthMarketDataField ) , "::" , stringify ! (
7136                LowerLimitPrice ) ));
7137    assert_eq! (unsafe {
7138                & ( * ( 0 as * const CThostFtdcDepthMarketDataField ) ) .
7139                PreDelta as * const _ as usize } , 192usize , concat ! (
7140                "Alignment of field: " , stringify ! (
7141                CThostFtdcDepthMarketDataField ) , "::" , stringify ! (
7142                PreDelta ) ));
7143    assert_eq! (unsafe {
7144                & ( * ( 0 as * const CThostFtdcDepthMarketDataField ) ) .
7145                CurrDelta as * const _ as usize } , 200usize , concat ! (
7146                "Alignment of field: " , stringify ! (
7147                CThostFtdcDepthMarketDataField ) , "::" , stringify ! (
7148                CurrDelta ) ));
7149    assert_eq! (unsafe {
7150                & ( * ( 0 as * const CThostFtdcDepthMarketDataField ) ) .
7151                UpdateTime as * const _ as usize } , 208usize , concat ! (
7152                "Alignment of field: " , stringify ! (
7153                CThostFtdcDepthMarketDataField ) , "::" , stringify ! (
7154                UpdateTime ) ));
7155    assert_eq! (unsafe {
7156                & ( * ( 0 as * const CThostFtdcDepthMarketDataField ) ) .
7157                UpdateMillisec as * const _ as usize } , 220usize , concat ! (
7158                "Alignment of field: " , stringify ! (
7159                CThostFtdcDepthMarketDataField ) , "::" , stringify ! (
7160                UpdateMillisec ) ));
7161    assert_eq! (unsafe {
7162                & ( * ( 0 as * const CThostFtdcDepthMarketDataField ) ) .
7163                BidPrice1 as * const _ as usize } , 224usize , concat ! (
7164                "Alignment of field: " , stringify ! (
7165                CThostFtdcDepthMarketDataField ) , "::" , stringify ! (
7166                BidPrice1 ) ));
7167    assert_eq! (unsafe {
7168                & ( * ( 0 as * const CThostFtdcDepthMarketDataField ) ) .
7169                BidVolume1 as * const _ as usize } , 232usize , concat ! (
7170                "Alignment of field: " , stringify ! (
7171                CThostFtdcDepthMarketDataField ) , "::" , stringify ! (
7172                BidVolume1 ) ));
7173    assert_eq! (unsafe {
7174                & ( * ( 0 as * const CThostFtdcDepthMarketDataField ) ) .
7175                AskPrice1 as * const _ as usize } , 240usize , concat ! (
7176                "Alignment of field: " , stringify ! (
7177                CThostFtdcDepthMarketDataField ) , "::" , stringify ! (
7178                AskPrice1 ) ));
7179    assert_eq! (unsafe {
7180                & ( * ( 0 as * const CThostFtdcDepthMarketDataField ) ) .
7181                AskVolume1 as * const _ as usize } , 248usize , concat ! (
7182                "Alignment of field: " , stringify ! (
7183                CThostFtdcDepthMarketDataField ) , "::" , stringify ! (
7184                AskVolume1 ) ));
7185    assert_eq! (unsafe {
7186                & ( * ( 0 as * const CThostFtdcDepthMarketDataField ) ) .
7187                BidPrice2 as * const _ as usize } , 256usize , concat ! (
7188                "Alignment of field: " , stringify ! (
7189                CThostFtdcDepthMarketDataField ) , "::" , stringify ! (
7190                BidPrice2 ) ));
7191    assert_eq! (unsafe {
7192                & ( * ( 0 as * const CThostFtdcDepthMarketDataField ) ) .
7193                BidVolume2 as * const _ as usize } , 264usize , concat ! (
7194                "Alignment of field: " , stringify ! (
7195                CThostFtdcDepthMarketDataField ) , "::" , stringify ! (
7196                BidVolume2 ) ));
7197    assert_eq! (unsafe {
7198                & ( * ( 0 as * const CThostFtdcDepthMarketDataField ) ) .
7199                AskPrice2 as * const _ as usize } , 272usize , concat ! (
7200                "Alignment of field: " , stringify ! (
7201                CThostFtdcDepthMarketDataField ) , "::" , stringify ! (
7202                AskPrice2 ) ));
7203    assert_eq! (unsafe {
7204                & ( * ( 0 as * const CThostFtdcDepthMarketDataField ) ) .
7205                AskVolume2 as * const _ as usize } , 280usize , concat ! (
7206                "Alignment of field: " , stringify ! (
7207                CThostFtdcDepthMarketDataField ) , "::" , stringify ! (
7208                AskVolume2 ) ));
7209    assert_eq! (unsafe {
7210                & ( * ( 0 as * const CThostFtdcDepthMarketDataField ) ) .
7211                BidPrice3 as * const _ as usize } , 288usize , concat ! (
7212                "Alignment of field: " , stringify ! (
7213                CThostFtdcDepthMarketDataField ) , "::" , stringify ! (
7214                BidPrice3 ) ));
7215    assert_eq! (unsafe {
7216                & ( * ( 0 as * const CThostFtdcDepthMarketDataField ) ) .
7217                BidVolume3 as * const _ as usize } , 296usize , concat ! (
7218                "Alignment of field: " , stringify ! (
7219                CThostFtdcDepthMarketDataField ) , "::" , stringify ! (
7220                BidVolume3 ) ));
7221    assert_eq! (unsafe {
7222                & ( * ( 0 as * const CThostFtdcDepthMarketDataField ) ) .
7223                AskPrice3 as * const _ as usize } , 304usize , concat ! (
7224                "Alignment of field: " , stringify ! (
7225                CThostFtdcDepthMarketDataField ) , "::" , stringify ! (
7226                AskPrice3 ) ));
7227    assert_eq! (unsafe {
7228                & ( * ( 0 as * const CThostFtdcDepthMarketDataField ) ) .
7229                AskVolume3 as * const _ as usize } , 312usize , concat ! (
7230                "Alignment of field: " , stringify ! (
7231                CThostFtdcDepthMarketDataField ) , "::" , stringify ! (
7232                AskVolume3 ) ));
7233    assert_eq! (unsafe {
7234                & ( * ( 0 as * const CThostFtdcDepthMarketDataField ) ) .
7235                BidPrice4 as * const _ as usize } , 320usize , concat ! (
7236                "Alignment of field: " , stringify ! (
7237                CThostFtdcDepthMarketDataField ) , "::" , stringify ! (
7238                BidPrice4 ) ));
7239    assert_eq! (unsafe {
7240                & ( * ( 0 as * const CThostFtdcDepthMarketDataField ) ) .
7241                BidVolume4 as * const _ as usize } , 328usize , concat ! (
7242                "Alignment of field: " , stringify ! (
7243                CThostFtdcDepthMarketDataField ) , "::" , stringify ! (
7244                BidVolume4 ) ));
7245    assert_eq! (unsafe {
7246                & ( * ( 0 as * const CThostFtdcDepthMarketDataField ) ) .
7247                AskPrice4 as * const _ as usize } , 336usize , concat ! (
7248                "Alignment of field: " , stringify ! (
7249                CThostFtdcDepthMarketDataField ) , "::" , stringify ! (
7250                AskPrice4 ) ));
7251    assert_eq! (unsafe {
7252                & ( * ( 0 as * const CThostFtdcDepthMarketDataField ) ) .
7253                AskVolume4 as * const _ as usize } , 344usize , concat ! (
7254                "Alignment of field: " , stringify ! (
7255                CThostFtdcDepthMarketDataField ) , "::" , stringify ! (
7256                AskVolume4 ) ));
7257    assert_eq! (unsafe {
7258                & ( * ( 0 as * const CThostFtdcDepthMarketDataField ) ) .
7259                BidPrice5 as * const _ as usize } , 352usize , concat ! (
7260                "Alignment of field: " , stringify ! (
7261                CThostFtdcDepthMarketDataField ) , "::" , stringify ! (
7262                BidPrice5 ) ));
7263    assert_eq! (unsafe {
7264                & ( * ( 0 as * const CThostFtdcDepthMarketDataField ) ) .
7265                BidVolume5 as * const _ as usize } , 360usize , concat ! (
7266                "Alignment of field: " , stringify ! (
7267                CThostFtdcDepthMarketDataField ) , "::" , stringify ! (
7268                BidVolume5 ) ));
7269    assert_eq! (unsafe {
7270                & ( * ( 0 as * const CThostFtdcDepthMarketDataField ) ) .
7271                AskPrice5 as * const _ as usize } , 368usize , concat ! (
7272                "Alignment of field: " , stringify ! (
7273                CThostFtdcDepthMarketDataField ) , "::" , stringify ! (
7274                AskPrice5 ) ));
7275    assert_eq! (unsafe {
7276                & ( * ( 0 as * const CThostFtdcDepthMarketDataField ) ) .
7277                AskVolume5 as * const _ as usize } , 376usize , concat ! (
7278                "Alignment of field: " , stringify ! (
7279                CThostFtdcDepthMarketDataField ) , "::" , stringify ! (
7280                AskVolume5 ) ));
7281    assert_eq! (unsafe {
7282                & ( * ( 0 as * const CThostFtdcDepthMarketDataField ) ) .
7283                AveragePrice as * const _ as usize } , 384usize , concat ! (
7284                "Alignment of field: " , stringify ! (
7285                CThostFtdcDepthMarketDataField ) , "::" , stringify ! (
7286                AveragePrice ) ));
7287    assert_eq! (unsafe {
7288                & ( * ( 0 as * const CThostFtdcDepthMarketDataField ) ) .
7289                ActionDay as * const _ as usize } , 392usize , concat ! (
7290                "Alignment of field: " , stringify ! (
7291                CThostFtdcDepthMarketDataField ) , "::" , stringify ! (
7292                ActionDay ) ));
7293}
7294impl Clone for CThostFtdcDepthMarketDataField {
7295    fn clone(&self) -> Self { *self }
7296}
7297/// 投资者合约交易权限
7298#[repr(C)]
7299#[derive(Default, Copy)]
7300pub struct CThostFtdcInstrumentTradingRightField {
7301    /// 合约代码
7302    pub InstrumentID: TThostFtdcInstrumentIDType,
7303    /// 投资者范围
7304    pub InvestorRange: TThostFtdcInvestorRangeType,
7305    /// 经纪公司代码
7306    pub BrokerID: TThostFtdcBrokerIDType,
7307    /// 投资者代码
7308    pub InvestorID: TThostFtdcInvestorIDType,
7309    /// 交易权限
7310    pub TradingRight: TThostFtdcTradingRightType,
7311}
7312#[test]
7313fn bindgen_test_layout_CThostFtdcInstrumentTradingRightField() {
7314    assert_eq!(::std::mem::size_of::<CThostFtdcInstrumentTradingRightField>()
7315               , 57usize , concat ! (
7316               "Size of: " , stringify ! (
7317               CThostFtdcInstrumentTradingRightField ) ));
7318    assert_eq! (::std::mem::align_of::<CThostFtdcInstrumentTradingRightField>()
7319                , 1usize , concat ! (
7320                "Alignment of " , stringify ! (
7321                CThostFtdcInstrumentTradingRightField ) ));
7322    assert_eq! (unsafe {
7323                & ( * ( 0 as * const CThostFtdcInstrumentTradingRightField ) )
7324                . InstrumentID as * const _ as usize } , 0usize , concat ! (
7325                "Alignment of field: " , stringify ! (
7326                CThostFtdcInstrumentTradingRightField ) , "::" , stringify ! (
7327                InstrumentID ) ));
7328    assert_eq! (unsafe {
7329                & ( * ( 0 as * const CThostFtdcInstrumentTradingRightField ) )
7330                . InvestorRange as * const _ as usize } , 31usize , concat ! (
7331                "Alignment of field: " , stringify ! (
7332                CThostFtdcInstrumentTradingRightField ) , "::" , stringify ! (
7333                InvestorRange ) ));
7334    assert_eq! (unsafe {
7335                & ( * ( 0 as * const CThostFtdcInstrumentTradingRightField ) )
7336                . BrokerID as * const _ as usize } , 32usize , concat ! (
7337                "Alignment of field: " , stringify ! (
7338                CThostFtdcInstrumentTradingRightField ) , "::" , stringify ! (
7339                BrokerID ) ));
7340    assert_eq! (unsafe {
7341                & ( * ( 0 as * const CThostFtdcInstrumentTradingRightField ) )
7342                . InvestorID as * const _ as usize } , 43usize , concat ! (
7343                "Alignment of field: " , stringify ! (
7344                CThostFtdcInstrumentTradingRightField ) , "::" , stringify ! (
7345                InvestorID ) ));
7346    assert_eq! (unsafe {
7347                & ( * ( 0 as * const CThostFtdcInstrumentTradingRightField ) )
7348                . TradingRight as * const _ as usize } , 56usize , concat ! (
7349                "Alignment of field: " , stringify ! (
7350                CThostFtdcInstrumentTradingRightField ) , "::" , stringify ! (
7351                TradingRight ) ));
7352}
7353impl Clone for CThostFtdcInstrumentTradingRightField {
7354    fn clone(&self) -> Self { *self }
7355}
7356/// 经纪公司用户
7357#[repr(C)]
7358#[derive(Copy)]
7359pub struct CThostFtdcBrokerUserField {
7360    /// 经纪公司代码
7361    pub BrokerID: TThostFtdcBrokerIDType,
7362    /// 用户代码
7363    pub UserID: TThostFtdcUserIDType,
7364    /// 用户名称
7365    pub UserName: TThostFtdcUserNameType,
7366    /// 用户类型
7367    pub UserType: TThostFtdcUserTypeType,
7368    /// 是否活跃
7369    pub IsActive: TThostFtdcBoolType,
7370    /// 是否使用令牌
7371    pub IsUsingOTP: TThostFtdcBoolType,
7372    /// 是否强制终端认证
7373    pub IsAuthForce: TThostFtdcBoolType,
7374}
7375#[test]
7376fn bindgen_test_layout_CThostFtdcBrokerUserField() {
7377    assert_eq!(::std::mem::size_of::<CThostFtdcBrokerUserField>() , 124usize ,
7378               concat ! (
7379               "Size of: " , stringify ! ( CThostFtdcBrokerUserField ) ));
7380    assert_eq! (::std::mem::align_of::<CThostFtdcBrokerUserField>() , 4usize ,
7381                concat ! (
7382                "Alignment of " , stringify ! ( CThostFtdcBrokerUserField )
7383                ));
7384    assert_eq! (unsafe {
7385                & ( * ( 0 as * const CThostFtdcBrokerUserField ) ) . BrokerID
7386                as * const _ as usize } , 0usize , concat ! (
7387                "Alignment of field: " , stringify ! (
7388                CThostFtdcBrokerUserField ) , "::" , stringify ! ( BrokerID )
7389                ));
7390    assert_eq! (unsafe {
7391                & ( * ( 0 as * const CThostFtdcBrokerUserField ) ) . UserID as
7392                * const _ as usize } , 11usize , concat ! (
7393                "Alignment of field: " , stringify ! (
7394                CThostFtdcBrokerUserField ) , "::" , stringify ! ( UserID )
7395                ));
7396    assert_eq! (unsafe {
7397                & ( * ( 0 as * const CThostFtdcBrokerUserField ) ) . UserName
7398                as * const _ as usize } , 27usize , concat ! (
7399                "Alignment of field: " , stringify ! (
7400                CThostFtdcBrokerUserField ) , "::" , stringify ! ( UserName )
7401                ));
7402    assert_eq! (unsafe {
7403                & ( * ( 0 as * const CThostFtdcBrokerUserField ) ) . UserType
7404                as * const _ as usize } , 108usize , concat ! (
7405                "Alignment of field: " , stringify ! (
7406                CThostFtdcBrokerUserField ) , "::" , stringify ! ( UserType )
7407                ));
7408    assert_eq! (unsafe {
7409                & ( * ( 0 as * const CThostFtdcBrokerUserField ) ) . IsActive
7410                as * const _ as usize } , 112usize , concat ! (
7411                "Alignment of field: " , stringify ! (
7412                CThostFtdcBrokerUserField ) , "::" , stringify ! ( IsActive )
7413                ));
7414    assert_eq! (unsafe {
7415                & ( * ( 0 as * const CThostFtdcBrokerUserField ) ) .
7416                IsUsingOTP as * const _ as usize } , 116usize , concat ! (
7417                "Alignment of field: " , stringify ! (
7418                CThostFtdcBrokerUserField ) , "::" , stringify ! ( IsUsingOTP
7419                ) ));
7420    assert_eq! (unsafe {
7421                & ( * ( 0 as * const CThostFtdcBrokerUserField ) ) .
7422                IsAuthForce as * const _ as usize } , 120usize , concat ! (
7423                "Alignment of field: " , stringify ! (
7424                CThostFtdcBrokerUserField ) , "::" , stringify ! ( IsAuthForce
7425                ) ));
7426}
7427impl Clone for CThostFtdcBrokerUserField {
7428    fn clone(&self) -> Self { *self }
7429}
7430impl Default for CThostFtdcBrokerUserField {
7431    fn default() -> Self { unsafe { ::std::mem::zeroed() } }
7432}
7433/// 经纪公司用户口令
7434#[repr(C)]
7435#[derive(Copy)]
7436pub struct CThostFtdcBrokerUserPasswordField {
7437    /// 经纪公司代码
7438    pub BrokerID: TThostFtdcBrokerIDType,
7439    /// 用户代码
7440    pub UserID: TThostFtdcUserIDType,
7441    /// 密码
7442    pub Password: TThostFtdcPasswordType,
7443    /// 上次修改时间
7444    pub LastUpdateTime: TThostFtdcDateTimeType,
7445    /// 上次登陆时间
7446    pub LastLoginTime: TThostFtdcDateTimeType,
7447    /// 密码过期时间
7448    pub ExpireDate: TThostFtdcDateType,
7449    /// 弱密码过期时间
7450    pub WeakExpireDate: TThostFtdcDateType,
7451}
7452#[test]
7453fn bindgen_test_layout_CThostFtdcBrokerUserPasswordField() {
7454    assert_eq!(::std::mem::size_of::<CThostFtdcBrokerUserPasswordField>() ,
7455               120usize , concat ! (
7456               "Size of: " , stringify ! ( CThostFtdcBrokerUserPasswordField )
7457               ));
7458    assert_eq! (::std::mem::align_of::<CThostFtdcBrokerUserPasswordField>() ,
7459                1usize , concat ! (
7460                "Alignment of " , stringify ! (
7461                CThostFtdcBrokerUserPasswordField ) ));
7462    assert_eq! (unsafe {
7463                & ( * ( 0 as * const CThostFtdcBrokerUserPasswordField ) ) .
7464                BrokerID as * const _ as usize } , 0usize , concat ! (
7465                "Alignment of field: " , stringify ! (
7466                CThostFtdcBrokerUserPasswordField ) , "::" , stringify ! (
7467                BrokerID ) ));
7468    assert_eq! (unsafe {
7469                & ( * ( 0 as * const CThostFtdcBrokerUserPasswordField ) ) .
7470                UserID as * const _ as usize } , 11usize , concat ! (
7471                "Alignment of field: " , stringify ! (
7472                CThostFtdcBrokerUserPasswordField ) , "::" , stringify ! (
7473                UserID ) ));
7474    assert_eq! (unsafe {
7475                & ( * ( 0 as * const CThostFtdcBrokerUserPasswordField ) ) .
7476                Password as * const _ as usize } , 27usize , concat ! (
7477                "Alignment of field: " , stringify ! (
7478                CThostFtdcBrokerUserPasswordField ) , "::" , stringify ! (
7479                Password ) ));
7480    assert_eq! (unsafe {
7481                & ( * ( 0 as * const CThostFtdcBrokerUserPasswordField ) ) .
7482                LastUpdateTime as * const _ as usize } , 68usize , concat ! (
7483                "Alignment of field: " , stringify ! (
7484                CThostFtdcBrokerUserPasswordField ) , "::" , stringify ! (
7485                LastUpdateTime ) ));
7486    assert_eq! (unsafe {
7487                & ( * ( 0 as * const CThostFtdcBrokerUserPasswordField ) ) .
7488                LastLoginTime as * const _ as usize } , 85usize , concat ! (
7489                "Alignment of field: " , stringify ! (
7490                CThostFtdcBrokerUserPasswordField ) , "::" , stringify ! (
7491                LastLoginTime ) ));
7492    assert_eq! (unsafe {
7493                & ( * ( 0 as * const CThostFtdcBrokerUserPasswordField ) ) .
7494                ExpireDate as * const _ as usize } , 102usize , concat ! (
7495                "Alignment of field: " , stringify ! (
7496                CThostFtdcBrokerUserPasswordField ) , "::" , stringify ! (
7497                ExpireDate ) ));
7498    assert_eq! (unsafe {
7499                & ( * ( 0 as * const CThostFtdcBrokerUserPasswordField ) ) .
7500                WeakExpireDate as * const _ as usize } , 111usize , concat ! (
7501                "Alignment of field: " , stringify ! (
7502                CThostFtdcBrokerUserPasswordField ) , "::" , stringify ! (
7503                WeakExpireDate ) ));
7504}
7505impl Clone for CThostFtdcBrokerUserPasswordField {
7506    fn clone(&self) -> Self { *self }
7507}
7508impl Default for CThostFtdcBrokerUserPasswordField {
7509    fn default() -> Self { unsafe { ::std::mem::zeroed() } }
7510}
7511/// 经纪公司用户功能权限
7512#[repr(C)]
7513#[derive(Default, Copy)]
7514pub struct CThostFtdcBrokerUserFunctionField {
7515    /// 经纪公司代码
7516    pub BrokerID: TThostFtdcBrokerIDType,
7517    /// 用户代码
7518    pub UserID: TThostFtdcUserIDType,
7519    /// 经纪公司功能代码
7520    pub BrokerFunctionCode: TThostFtdcBrokerFunctionCodeType,
7521}
7522#[test]
7523fn bindgen_test_layout_CThostFtdcBrokerUserFunctionField() {
7524    assert_eq!(::std::mem::size_of::<CThostFtdcBrokerUserFunctionField>() ,
7525               28usize , concat ! (
7526               "Size of: " , stringify ! ( CThostFtdcBrokerUserFunctionField )
7527               ));
7528    assert_eq! (::std::mem::align_of::<CThostFtdcBrokerUserFunctionField>() ,
7529                1usize , concat ! (
7530                "Alignment of " , stringify ! (
7531                CThostFtdcBrokerUserFunctionField ) ));
7532    assert_eq! (unsafe {
7533                & ( * ( 0 as * const CThostFtdcBrokerUserFunctionField ) ) .
7534                BrokerID as * const _ as usize } , 0usize , concat ! (
7535                "Alignment of field: " , stringify ! (
7536                CThostFtdcBrokerUserFunctionField ) , "::" , stringify ! (
7537                BrokerID ) ));
7538    assert_eq! (unsafe {
7539                & ( * ( 0 as * const CThostFtdcBrokerUserFunctionField ) ) .
7540                UserID as * const _ as usize } , 11usize , concat ! (
7541                "Alignment of field: " , stringify ! (
7542                CThostFtdcBrokerUserFunctionField ) , "::" , stringify ! (
7543                UserID ) ));
7544    assert_eq! (unsafe {
7545                & ( * ( 0 as * const CThostFtdcBrokerUserFunctionField ) ) .
7546                BrokerFunctionCode as * const _ as usize } , 27usize , concat
7547                ! (
7548                "Alignment of field: " , stringify ! (
7549                CThostFtdcBrokerUserFunctionField ) , "::" , stringify ! (
7550                BrokerFunctionCode ) ));
7551}
7552impl Clone for CThostFtdcBrokerUserFunctionField {
7553    fn clone(&self) -> Self { *self }
7554}
7555/// 交易所交易员报盘机
7556#[repr(C)]
7557#[derive(Copy)]
7558pub struct CThostFtdcTraderOfferField {
7559    /// 交易所代码
7560    pub ExchangeID: TThostFtdcExchangeIDType,
7561    /// 交易所交易员代码
7562    pub TraderID: TThostFtdcTraderIDType,
7563    /// 会员代码
7564    pub ParticipantID: TThostFtdcParticipantIDType,
7565    /// 密码
7566    pub Password: TThostFtdcPasswordType,
7567    /// 安装编号
7568    pub InstallID: TThostFtdcInstallIDType,
7569    /// 本地报单编号
7570    pub OrderLocalID: TThostFtdcOrderLocalIDType,
7571    /// 交易所交易员连接状态
7572    pub TraderConnectStatus: TThostFtdcTraderConnectStatusType,
7573    /// 发出连接请求的日期
7574    pub ConnectRequestDate: TThostFtdcDateType,
7575    /// 发出连接请求的时间
7576    pub ConnectRequestTime: TThostFtdcTimeType,
7577    /// 上次报告日期
7578    pub LastReportDate: TThostFtdcDateType,
7579    /// 上次报告时间
7580    pub LastReportTime: TThostFtdcTimeType,
7581    /// 完成连接日期
7582    pub ConnectDate: TThostFtdcDateType,
7583    /// 完成连接时间
7584    pub ConnectTime: TThostFtdcTimeType,
7585    /// 启动日期
7586    pub StartDate: TThostFtdcDateType,
7587    /// 启动时间
7588    pub StartTime: TThostFtdcTimeType,
7589    /// 交易日
7590    pub TradingDay: TThostFtdcDateType,
7591    /// 经纪公司代码
7592    pub BrokerID: TThostFtdcBrokerIDType,
7593    /// 本席位最大成交编号
7594    pub MaxTradeID: TThostFtdcTradeIDType,
7595    /// 本席位最大报单备拷
7596    pub MaxOrderMessageReference: TThostFtdcReturnCodeType,
7597}
7598#[test]
7599fn bindgen_test_layout_CThostFtdcTraderOfferField() {
7600    assert_eq!(::std::mem::size_of::<CThostFtdcTraderOfferField>() , 224usize
7601               , concat ! (
7602               "Size of: " , stringify ! ( CThostFtdcTraderOfferField ) ));
7603    assert_eq! (::std::mem::align_of::<CThostFtdcTraderOfferField>() , 4usize
7604                , concat ! (
7605                "Alignment of " , stringify ! ( CThostFtdcTraderOfferField )
7606                ));
7607    assert_eq! (unsafe {
7608                & ( * ( 0 as * const CThostFtdcTraderOfferField ) ) .
7609                ExchangeID as * const _ as usize } , 0usize , concat ! (
7610                "Alignment of field: " , stringify ! (
7611                CThostFtdcTraderOfferField ) , "::" , stringify ! ( ExchangeID
7612                ) ));
7613    assert_eq! (unsafe {
7614                & ( * ( 0 as * const CThostFtdcTraderOfferField ) ) . TraderID
7615                as * const _ as usize } , 9usize , concat ! (
7616                "Alignment of field: " , stringify ! (
7617                CThostFtdcTraderOfferField ) , "::" , stringify ! ( TraderID )
7618                ));
7619    assert_eq! (unsafe {
7620                & ( * ( 0 as * const CThostFtdcTraderOfferField ) ) .
7621                ParticipantID as * const _ as usize } , 30usize , concat ! (
7622                "Alignment of field: " , stringify ! (
7623                CThostFtdcTraderOfferField ) , "::" , stringify ! (
7624                ParticipantID ) ));
7625    assert_eq! (unsafe {
7626                & ( * ( 0 as * const CThostFtdcTraderOfferField ) ) . Password
7627                as * const _ as usize } , 41usize , concat ! (
7628                "Alignment of field: " , stringify ! (
7629                CThostFtdcTraderOfferField ) , "::" , stringify ! ( Password )
7630                ));
7631    assert_eq! (unsafe {
7632                & ( * ( 0 as * const CThostFtdcTraderOfferField ) ) .
7633                InstallID as * const _ as usize } , 84usize , concat ! (
7634                "Alignment of field: " , stringify ! (
7635                CThostFtdcTraderOfferField ) , "::" , stringify ! ( InstallID
7636                ) ));
7637    assert_eq! (unsafe {
7638                & ( * ( 0 as * const CThostFtdcTraderOfferField ) ) .
7639                OrderLocalID as * const _ as usize } , 88usize , concat ! (
7640                "Alignment of field: " , stringify ! (
7641                CThostFtdcTraderOfferField ) , "::" , stringify ! (
7642                OrderLocalID ) ));
7643    assert_eq! (unsafe {
7644                & ( * ( 0 as * const CThostFtdcTraderOfferField ) ) .
7645                TraderConnectStatus as * const _ as usize } , 101usize ,
7646                concat ! (
7647                "Alignment of field: " , stringify ! (
7648                CThostFtdcTraderOfferField ) , "::" , stringify ! (
7649                TraderConnectStatus ) ));
7650    assert_eq! (unsafe {
7651                & ( * ( 0 as * const CThostFtdcTraderOfferField ) ) .
7652                ConnectRequestDate as * const _ as usize } , 102usize , concat
7653                ! (
7654                "Alignment of field: " , stringify ! (
7655                CThostFtdcTraderOfferField ) , "::" , stringify ! (
7656                ConnectRequestDate ) ));
7657    assert_eq! (unsafe {
7658                & ( * ( 0 as * const CThostFtdcTraderOfferField ) ) .
7659                ConnectRequestTime as * const _ as usize } , 111usize , concat
7660                ! (
7661                "Alignment of field: " , stringify ! (
7662                CThostFtdcTraderOfferField ) , "::" , stringify ! (
7663                ConnectRequestTime ) ));
7664    assert_eq! (unsafe {
7665                & ( * ( 0 as * const CThostFtdcTraderOfferField ) ) .
7666                LastReportDate as * const _ as usize } , 120usize , concat ! (
7667                "Alignment of field: " , stringify ! (
7668                CThostFtdcTraderOfferField ) , "::" , stringify ! (
7669                LastReportDate ) ));
7670    assert_eq! (unsafe {
7671                & ( * ( 0 as * const CThostFtdcTraderOfferField ) ) .
7672                LastReportTime as * const _ as usize } , 129usize , concat ! (
7673                "Alignment of field: " , stringify ! (
7674                CThostFtdcTraderOfferField ) , "::" , stringify ! (
7675                LastReportTime ) ));
7676    assert_eq! (unsafe {
7677                & ( * ( 0 as * const CThostFtdcTraderOfferField ) ) .
7678                ConnectDate as * const _ as usize } , 138usize , concat ! (
7679                "Alignment of field: " , stringify ! (
7680                CThostFtdcTraderOfferField ) , "::" , stringify ! (
7681                ConnectDate ) ));
7682    assert_eq! (unsafe {
7683                & ( * ( 0 as * const CThostFtdcTraderOfferField ) ) .
7684                ConnectTime as * const _ as usize } , 147usize , concat ! (
7685                "Alignment of field: " , stringify ! (
7686                CThostFtdcTraderOfferField ) , "::" , stringify ! (
7687                ConnectTime ) ));
7688    assert_eq! (unsafe {
7689                & ( * ( 0 as * const CThostFtdcTraderOfferField ) ) .
7690                StartDate as * const _ as usize } , 156usize , concat ! (
7691                "Alignment of field: " , stringify ! (
7692                CThostFtdcTraderOfferField ) , "::" , stringify ! ( StartDate
7693                ) ));
7694    assert_eq! (unsafe {
7695                & ( * ( 0 as * const CThostFtdcTraderOfferField ) ) .
7696                StartTime as * const _ as usize } , 165usize , concat ! (
7697                "Alignment of field: " , stringify ! (
7698                CThostFtdcTraderOfferField ) , "::" , stringify ! ( StartTime
7699                ) ));
7700    assert_eq! (unsafe {
7701                & ( * ( 0 as * const CThostFtdcTraderOfferField ) ) .
7702                TradingDay as * const _ as usize } , 174usize , concat ! (
7703                "Alignment of field: " , stringify ! (
7704                CThostFtdcTraderOfferField ) , "::" , stringify ! ( TradingDay
7705                ) ));
7706    assert_eq! (unsafe {
7707                & ( * ( 0 as * const CThostFtdcTraderOfferField ) ) . BrokerID
7708                as * const _ as usize } , 183usize , concat ! (
7709                "Alignment of field: " , stringify ! (
7710                CThostFtdcTraderOfferField ) , "::" , stringify ! ( BrokerID )
7711                ));
7712    assert_eq! (unsafe {
7713                & ( * ( 0 as * const CThostFtdcTraderOfferField ) ) .
7714                MaxTradeID as * const _ as usize } , 194usize , concat ! (
7715                "Alignment of field: " , stringify ! (
7716                CThostFtdcTraderOfferField ) , "::" , stringify ! ( MaxTradeID
7717                ) ));
7718    assert_eq! (unsafe {
7719                & ( * ( 0 as * const CThostFtdcTraderOfferField ) ) .
7720                MaxOrderMessageReference as * const _ as usize } , 215usize ,
7721                concat ! (
7722                "Alignment of field: " , stringify ! (
7723                CThostFtdcTraderOfferField ) , "::" , stringify ! (
7724                MaxOrderMessageReference ) ));
7725}
7726impl Clone for CThostFtdcTraderOfferField {
7727    fn clone(&self) -> Self { *self }
7728}
7729impl Default for CThostFtdcTraderOfferField {
7730    fn default() -> Self { unsafe { ::std::mem::zeroed() } }
7731}
7732/// 投资者结算结果
7733#[repr(C)]
7734#[derive(Copy)]
7735pub struct CThostFtdcSettlementInfoField {
7736    /// 交易日
7737    pub TradingDay: TThostFtdcDateType,
7738    /// 结算编号
7739    pub SettlementID: TThostFtdcSettlementIDType,
7740    /// 经纪公司代码
7741    pub BrokerID: TThostFtdcBrokerIDType,
7742    /// 投资者代码
7743    pub InvestorID: TThostFtdcInvestorIDType,
7744    /// 序号
7745    pub SequenceNo: TThostFtdcSequenceNoType,
7746    /// 消息正文
7747    pub Content: TThostFtdcContentType,
7748    /// 投资者帐号
7749    pub AccountID: TThostFtdcAccountIDType,
7750    /// 币种代码
7751    pub CurrencyID: TThostFtdcCurrencyIDType,
7752}
7753#[test]
7754fn bindgen_test_layout_CThostFtdcSettlementInfoField() {
7755    assert_eq!(::std::mem::size_of::<CThostFtdcSettlementInfoField>() ,
7756               564usize , concat ! (
7757               "Size of: " , stringify ! ( CThostFtdcSettlementInfoField ) ));
7758    assert_eq! (::std::mem::align_of::<CThostFtdcSettlementInfoField>() ,
7759                4usize , concat ! (
7760                "Alignment of " , stringify ! ( CThostFtdcSettlementInfoField
7761                ) ));
7762    assert_eq! (unsafe {
7763                & ( * ( 0 as * const CThostFtdcSettlementInfoField ) ) .
7764                TradingDay as * const _ as usize } , 0usize , concat ! (
7765                "Alignment of field: " , stringify ! (
7766                CThostFtdcSettlementInfoField ) , "::" , stringify ! (
7767                TradingDay ) ));
7768    assert_eq! (unsafe {
7769                & ( * ( 0 as * const CThostFtdcSettlementInfoField ) ) .
7770                SettlementID as * const _ as usize } , 12usize , concat ! (
7771                "Alignment of field: " , stringify ! (
7772                CThostFtdcSettlementInfoField ) , "::" , stringify ! (
7773                SettlementID ) ));
7774    assert_eq! (unsafe {
7775                & ( * ( 0 as * const CThostFtdcSettlementInfoField ) ) .
7776                BrokerID as * const _ as usize } , 16usize , concat ! (
7777                "Alignment of field: " , stringify ! (
7778                CThostFtdcSettlementInfoField ) , "::" , stringify ! (
7779                BrokerID ) ));
7780    assert_eq! (unsafe {
7781                & ( * ( 0 as * const CThostFtdcSettlementInfoField ) ) .
7782                InvestorID as * const _ as usize } , 27usize , concat ! (
7783                "Alignment of field: " , stringify ! (
7784                CThostFtdcSettlementInfoField ) , "::" , stringify ! (
7785                InvestorID ) ));
7786    assert_eq! (unsafe {
7787                & ( * ( 0 as * const CThostFtdcSettlementInfoField ) ) .
7788                SequenceNo as * const _ as usize } , 40usize , concat ! (
7789                "Alignment of field: " , stringify ! (
7790                CThostFtdcSettlementInfoField ) , "::" , stringify ! (
7791                SequenceNo ) ));
7792    assert_eq! (unsafe {
7793                & ( * ( 0 as * const CThostFtdcSettlementInfoField ) ) .
7794                Content as * const _ as usize } , 44usize , concat ! (
7795                "Alignment of field: " , stringify ! (
7796                CThostFtdcSettlementInfoField ) , "::" , stringify ! ( Content
7797                ) ));
7798    assert_eq! (unsafe {
7799                & ( * ( 0 as * const CThostFtdcSettlementInfoField ) ) .
7800                AccountID as * const _ as usize } , 545usize , concat ! (
7801                "Alignment of field: " , stringify ! (
7802                CThostFtdcSettlementInfoField ) , "::" , stringify ! (
7803                AccountID ) ));
7804    assert_eq! (unsafe {
7805                & ( * ( 0 as * const CThostFtdcSettlementInfoField ) ) .
7806                CurrencyID as * const _ as usize } , 558usize , concat ! (
7807                "Alignment of field: " , stringify ! (
7808                CThostFtdcSettlementInfoField ) , "::" , stringify ! (
7809                CurrencyID ) ));
7810}
7811impl Clone for CThostFtdcSettlementInfoField {
7812    fn clone(&self) -> Self { *self }
7813}
7814impl Default for CThostFtdcSettlementInfoField {
7815    fn default() -> Self { unsafe { ::std::mem::zeroed() } }
7816}
7817/// 合约保证金率调整
7818#[repr(C)]
7819#[derive(Default, Copy)]
7820pub struct CThostFtdcInstrumentMarginRateAdjustField {
7821    /// 合约代码
7822    pub InstrumentID: TThostFtdcInstrumentIDType,
7823    /// 投资者范围
7824    pub InvestorRange: TThostFtdcInvestorRangeType,
7825    /// 经纪公司代码
7826    pub BrokerID: TThostFtdcBrokerIDType,
7827    /// 投资者代码
7828    pub InvestorID: TThostFtdcInvestorIDType,
7829    /// 投机套保标志
7830    pub HedgeFlag: TThostFtdcHedgeFlagType,
7831    /// 多头保证金率
7832    pub LongMarginRatioByMoney: TThostFtdcRatioType,
7833    /// 多头保证金费
7834    pub LongMarginRatioByVolume: TThostFtdcMoneyType,
7835    /// 空头保证金率
7836    pub ShortMarginRatioByMoney: TThostFtdcRatioType,
7837    /// 空头保证金费
7838    pub ShortMarginRatioByVolume: TThostFtdcMoneyType,
7839    /// 是否相对交易所收取
7840    pub IsRelative: TThostFtdcBoolType,
7841}
7842#[test]
7843fn bindgen_test_layout_CThostFtdcInstrumentMarginRateAdjustField() {
7844    assert_eq!(::std::mem::size_of::<CThostFtdcInstrumentMarginRateAdjustField>()
7845               , 104usize , concat ! (
7846               "Size of: " , stringify ! (
7847               CThostFtdcInstrumentMarginRateAdjustField ) ));
7848    assert_eq! (::std::mem::align_of::<CThostFtdcInstrumentMarginRateAdjustField>()
7849                , 8usize , concat ! (
7850                "Alignment of " , stringify ! (
7851                CThostFtdcInstrumentMarginRateAdjustField ) ));
7852    assert_eq! (unsafe {
7853                & (
7854                * ( 0 as * const CThostFtdcInstrumentMarginRateAdjustField ) )
7855                . InstrumentID as * const _ as usize } , 0usize , concat ! (
7856                "Alignment of field: " , stringify ! (
7857                CThostFtdcInstrumentMarginRateAdjustField ) , "::" , stringify
7858                ! ( InstrumentID ) ));
7859    assert_eq! (unsafe {
7860                & (
7861                * ( 0 as * const CThostFtdcInstrumentMarginRateAdjustField ) )
7862                . InvestorRange as * const _ as usize } , 31usize , concat ! (
7863                "Alignment of field: " , stringify ! (
7864                CThostFtdcInstrumentMarginRateAdjustField ) , "::" , stringify
7865                ! ( InvestorRange ) ));
7866    assert_eq! (unsafe {
7867                & (
7868                * ( 0 as * const CThostFtdcInstrumentMarginRateAdjustField ) )
7869                . BrokerID as * const _ as usize } , 32usize , concat ! (
7870                "Alignment of field: " , stringify ! (
7871                CThostFtdcInstrumentMarginRateAdjustField ) , "::" , stringify
7872                ! ( BrokerID ) ));
7873    assert_eq! (unsafe {
7874                & (
7875                * ( 0 as * const CThostFtdcInstrumentMarginRateAdjustField ) )
7876                . InvestorID as * const _ as usize } , 43usize , concat ! (
7877                "Alignment of field: " , stringify ! (
7878                CThostFtdcInstrumentMarginRateAdjustField ) , "::" , stringify
7879                ! ( InvestorID ) ));
7880    assert_eq! (unsafe {
7881                & (
7882                * ( 0 as * const CThostFtdcInstrumentMarginRateAdjustField ) )
7883                . HedgeFlag as * const _ as usize } , 56usize , concat ! (
7884                "Alignment of field: " , stringify ! (
7885                CThostFtdcInstrumentMarginRateAdjustField ) , "::" , stringify
7886                ! ( HedgeFlag ) ));
7887    assert_eq! (unsafe {
7888                & (
7889                * ( 0 as * const CThostFtdcInstrumentMarginRateAdjustField ) )
7890                . LongMarginRatioByMoney as * const _ as usize } , 64usize ,
7891                concat ! (
7892                "Alignment of field: " , stringify ! (
7893                CThostFtdcInstrumentMarginRateAdjustField ) , "::" , stringify
7894                ! ( LongMarginRatioByMoney ) ));
7895    assert_eq! (unsafe {
7896                & (
7897                * ( 0 as * const CThostFtdcInstrumentMarginRateAdjustField ) )
7898                . LongMarginRatioByVolume as * const _ as usize } , 72usize ,
7899                concat ! (
7900                "Alignment of field: " , stringify ! (
7901                CThostFtdcInstrumentMarginRateAdjustField ) , "::" , stringify
7902                ! ( LongMarginRatioByVolume ) ));
7903    assert_eq! (unsafe {
7904                & (
7905                * ( 0 as * const CThostFtdcInstrumentMarginRateAdjustField ) )
7906                . ShortMarginRatioByMoney as * const _ as usize } , 80usize ,
7907                concat ! (
7908                "Alignment of field: " , stringify ! (
7909                CThostFtdcInstrumentMarginRateAdjustField ) , "::" , stringify
7910                ! ( ShortMarginRatioByMoney ) ));
7911    assert_eq! (unsafe {
7912                & (
7913                * ( 0 as * const CThostFtdcInstrumentMarginRateAdjustField ) )
7914                . ShortMarginRatioByVolume as * const _ as usize } , 88usize ,
7915                concat ! (
7916                "Alignment of field: " , stringify ! (
7917                CThostFtdcInstrumentMarginRateAdjustField ) , "::" , stringify
7918                ! ( ShortMarginRatioByVolume ) ));
7919    assert_eq! (unsafe {
7920                & (
7921                * ( 0 as * const CThostFtdcInstrumentMarginRateAdjustField ) )
7922                . IsRelative as * const _ as usize } , 96usize , concat ! (
7923                "Alignment of field: " , stringify ! (
7924                CThostFtdcInstrumentMarginRateAdjustField ) , "::" , stringify
7925                ! ( IsRelative ) ));
7926}
7927impl Clone for CThostFtdcInstrumentMarginRateAdjustField {
7928    fn clone(&self) -> Self { *self }
7929}
7930/// 交易所保证金率
7931#[repr(C)]
7932#[derive(Default, Copy)]
7933pub struct CThostFtdcExchangeMarginRateField {
7934    /// 经纪公司代码
7935    pub BrokerID: TThostFtdcBrokerIDType,
7936    /// 合约代码
7937    pub InstrumentID: TThostFtdcInstrumentIDType,
7938    /// 投机套保标志
7939    pub HedgeFlag: TThostFtdcHedgeFlagType,
7940    /// 多头保证金率
7941    pub LongMarginRatioByMoney: TThostFtdcRatioType,
7942    /// 多头保证金费
7943    pub LongMarginRatioByVolume: TThostFtdcMoneyType,
7944    /// 空头保证金率
7945    pub ShortMarginRatioByMoney: TThostFtdcRatioType,
7946    /// 空头保证金费
7947    pub ShortMarginRatioByVolume: TThostFtdcMoneyType,
7948    /// 交易所代码
7949    pub ExchangeID: TThostFtdcExchangeIDType,
7950}
7951#[test]
7952fn bindgen_test_layout_CThostFtdcExchangeMarginRateField() {
7953    assert_eq!(::std::mem::size_of::<CThostFtdcExchangeMarginRateField>() ,
7954               96usize , concat ! (
7955               "Size of: " , stringify ! ( CThostFtdcExchangeMarginRateField )
7956               ));
7957    assert_eq! (::std::mem::align_of::<CThostFtdcExchangeMarginRateField>() ,
7958                8usize , concat ! (
7959                "Alignment of " , stringify ! (
7960                CThostFtdcExchangeMarginRateField ) ));
7961    assert_eq! (unsafe {
7962                & ( * ( 0 as * const CThostFtdcExchangeMarginRateField ) ) .
7963                BrokerID as * const _ as usize } , 0usize , concat ! (
7964                "Alignment of field: " , stringify ! (
7965                CThostFtdcExchangeMarginRateField ) , "::" , stringify ! (
7966                BrokerID ) ));
7967    assert_eq! (unsafe {
7968                & ( * ( 0 as * const CThostFtdcExchangeMarginRateField ) ) .
7969                InstrumentID as * const _ as usize } , 11usize , concat ! (
7970                "Alignment of field: " , stringify ! (
7971                CThostFtdcExchangeMarginRateField ) , "::" , stringify ! (
7972                InstrumentID ) ));
7973    assert_eq! (unsafe {
7974                & ( * ( 0 as * const CThostFtdcExchangeMarginRateField ) ) .
7975                HedgeFlag as * const _ as usize } , 42usize , concat ! (
7976                "Alignment of field: " , stringify ! (
7977                CThostFtdcExchangeMarginRateField ) , "::" , stringify ! (
7978                HedgeFlag ) ));
7979    assert_eq! (unsafe {
7980                & ( * ( 0 as * const CThostFtdcExchangeMarginRateField ) ) .
7981                LongMarginRatioByMoney as * const _ as usize } , 48usize ,
7982                concat ! (
7983                "Alignment of field: " , stringify ! (
7984                CThostFtdcExchangeMarginRateField ) , "::" , stringify ! (
7985                LongMarginRatioByMoney ) ));
7986    assert_eq! (unsafe {
7987                & ( * ( 0 as * const CThostFtdcExchangeMarginRateField ) ) .
7988                LongMarginRatioByVolume as * const _ as usize } , 56usize ,
7989                concat ! (
7990                "Alignment of field: " , stringify ! (
7991                CThostFtdcExchangeMarginRateField ) , "::" , stringify ! (
7992                LongMarginRatioByVolume ) ));
7993    assert_eq! (unsafe {
7994                & ( * ( 0 as * const CThostFtdcExchangeMarginRateField ) ) .
7995                ShortMarginRatioByMoney as * const _ as usize } , 64usize ,
7996                concat ! (
7997                "Alignment of field: " , stringify ! (
7998                CThostFtdcExchangeMarginRateField ) , "::" , stringify ! (
7999                ShortMarginRatioByMoney ) ));
8000    assert_eq! (unsafe {
8001                & ( * ( 0 as * const CThostFtdcExchangeMarginRateField ) ) .
8002                ShortMarginRatioByVolume as * const _ as usize } , 72usize ,
8003                concat ! (
8004                "Alignment of field: " , stringify ! (
8005                CThostFtdcExchangeMarginRateField ) , "::" , stringify ! (
8006                ShortMarginRatioByVolume ) ));
8007    assert_eq! (unsafe {
8008                & ( * ( 0 as * const CThostFtdcExchangeMarginRateField ) ) .
8009                ExchangeID as * const _ as usize } , 80usize , concat ! (
8010                "Alignment of field: " , stringify ! (
8011                CThostFtdcExchangeMarginRateField ) , "::" , stringify ! (
8012                ExchangeID ) ));
8013}
8014impl Clone for CThostFtdcExchangeMarginRateField {
8015    fn clone(&self) -> Self { *self }
8016}
8017/// 交易所保证金率调整
8018#[repr(C)]
8019#[derive(Default, Copy)]
8020pub struct CThostFtdcExchangeMarginRateAdjustField {
8021    /// 经纪公司代码
8022    pub BrokerID: TThostFtdcBrokerIDType,
8023    /// 合约代码
8024    pub InstrumentID: TThostFtdcInstrumentIDType,
8025    /// 投机套保标志
8026    pub HedgeFlag: TThostFtdcHedgeFlagType,
8027    /// 跟随交易所投资者多头保证金率
8028    pub LongMarginRatioByMoney: TThostFtdcRatioType,
8029    /// 跟随交易所投资者多头保证金费
8030    pub LongMarginRatioByVolume: TThostFtdcMoneyType,
8031    /// 跟随交易所投资者空头保证金率
8032    pub ShortMarginRatioByMoney: TThostFtdcRatioType,
8033    /// 跟随交易所投资者空头保证金费
8034    pub ShortMarginRatioByVolume: TThostFtdcMoneyType,
8035    /// 交易所多头保证金率
8036    pub ExchLongMarginRatioByMoney: TThostFtdcRatioType,
8037    /// 交易所多头保证金费
8038    pub ExchLongMarginRatioByVolume: TThostFtdcMoneyType,
8039    /// 交易所空头保证金率
8040    pub ExchShortMarginRatioByMoney: TThostFtdcRatioType,
8041    /// 交易所空头保证金费
8042    pub ExchShortMarginRatioByVolume: TThostFtdcMoneyType,
8043    /// 不跟随交易所投资者多头保证金率
8044    pub NoLongMarginRatioByMoney: TThostFtdcRatioType,
8045    /// 不跟随交易所投资者多头保证金费
8046    pub NoLongMarginRatioByVolume: TThostFtdcMoneyType,
8047    /// 不跟随交易所投资者空头保证金率
8048    pub NoShortMarginRatioByMoney: TThostFtdcRatioType,
8049    /// 不跟随交易所投资者空头保证金费
8050    pub NoShortMarginRatioByVolume: TThostFtdcMoneyType,
8051}
8052#[test]
8053fn bindgen_test_layout_CThostFtdcExchangeMarginRateAdjustField() {
8054    assert_eq!(::std::mem::size_of::<CThostFtdcExchangeMarginRateAdjustField>()
8055               , 144usize , concat ! (
8056               "Size of: " , stringify ! (
8057               CThostFtdcExchangeMarginRateAdjustField ) ));
8058    assert_eq! (::std::mem::align_of::<CThostFtdcExchangeMarginRateAdjustField>()
8059                , 8usize , concat ! (
8060                "Alignment of " , stringify ! (
8061                CThostFtdcExchangeMarginRateAdjustField ) ));
8062    assert_eq! (unsafe {
8063                & ( * ( 0 as * const CThostFtdcExchangeMarginRateAdjustField )
8064                ) . BrokerID as * const _ as usize } , 0usize , concat ! (
8065                "Alignment of field: " , stringify ! (
8066                CThostFtdcExchangeMarginRateAdjustField ) , "::" , stringify !
8067                ( BrokerID ) ));
8068    assert_eq! (unsafe {
8069                & ( * ( 0 as * const CThostFtdcExchangeMarginRateAdjustField )
8070                ) . InstrumentID as * const _ as usize } , 11usize , concat !
8071                (
8072                "Alignment of field: " , stringify ! (
8073                CThostFtdcExchangeMarginRateAdjustField ) , "::" , stringify !
8074                ( InstrumentID ) ));
8075    assert_eq! (unsafe {
8076                & ( * ( 0 as * const CThostFtdcExchangeMarginRateAdjustField )
8077                ) . HedgeFlag as * const _ as usize } , 42usize , concat ! (
8078                "Alignment of field: " , stringify ! (
8079                CThostFtdcExchangeMarginRateAdjustField ) , "::" , stringify !
8080                ( HedgeFlag ) ));
8081    assert_eq! (unsafe {
8082                & ( * ( 0 as * const CThostFtdcExchangeMarginRateAdjustField )
8083                ) . LongMarginRatioByMoney as * const _ as usize } , 48usize ,
8084                concat ! (
8085                "Alignment of field: " , stringify ! (
8086                CThostFtdcExchangeMarginRateAdjustField ) , "::" , stringify !
8087                ( LongMarginRatioByMoney ) ));
8088    assert_eq! (unsafe {
8089                & ( * ( 0 as * const CThostFtdcExchangeMarginRateAdjustField )
8090                ) . LongMarginRatioByVolume as * const _ as usize } , 56usize
8091                , concat ! (
8092                "Alignment of field: " , stringify ! (
8093                CThostFtdcExchangeMarginRateAdjustField ) , "::" , stringify !
8094                ( LongMarginRatioByVolume ) ));
8095    assert_eq! (unsafe {
8096                & ( * ( 0 as * const CThostFtdcExchangeMarginRateAdjustField )
8097                ) . ShortMarginRatioByMoney as * const _ as usize } , 64usize
8098                , concat ! (
8099                "Alignment of field: " , stringify ! (
8100                CThostFtdcExchangeMarginRateAdjustField ) , "::" , stringify !
8101                ( ShortMarginRatioByMoney ) ));
8102    assert_eq! (unsafe {
8103                & ( * ( 0 as * const CThostFtdcExchangeMarginRateAdjustField )
8104                ) . ShortMarginRatioByVolume as * const _ as usize } , 72usize
8105                , concat ! (
8106                "Alignment of field: " , stringify ! (
8107                CThostFtdcExchangeMarginRateAdjustField ) , "::" , stringify !
8108                ( ShortMarginRatioByVolume ) ));
8109    assert_eq! (unsafe {
8110                & ( * ( 0 as * const CThostFtdcExchangeMarginRateAdjustField )
8111                ) . ExchLongMarginRatioByMoney as * const _ as usize } ,
8112                80usize , concat ! (
8113                "Alignment of field: " , stringify ! (
8114                CThostFtdcExchangeMarginRateAdjustField ) , "::" , stringify !
8115                ( ExchLongMarginRatioByMoney ) ));
8116    assert_eq! (unsafe {
8117                & ( * ( 0 as * const CThostFtdcExchangeMarginRateAdjustField )
8118                ) . ExchLongMarginRatioByVolume as * const _ as usize } ,
8119                88usize , concat ! (
8120                "Alignment of field: " , stringify ! (
8121                CThostFtdcExchangeMarginRateAdjustField ) , "::" , stringify !
8122                ( ExchLongMarginRatioByVolume ) ));
8123    assert_eq! (unsafe {
8124                & ( * ( 0 as * const CThostFtdcExchangeMarginRateAdjustField )
8125                ) . ExchShortMarginRatioByMoney as * const _ as usize } ,
8126                96usize , concat ! (
8127                "Alignment of field: " , stringify ! (
8128                CThostFtdcExchangeMarginRateAdjustField ) , "::" , stringify !
8129                ( ExchShortMarginRatioByMoney ) ));
8130    assert_eq! (unsafe {
8131                & ( * ( 0 as * const CThostFtdcExchangeMarginRateAdjustField )
8132                ) . ExchShortMarginRatioByVolume as * const _ as usize } ,
8133                104usize , concat ! (
8134                "Alignment of field: " , stringify ! (
8135                CThostFtdcExchangeMarginRateAdjustField ) , "::" , stringify !
8136                ( ExchShortMarginRatioByVolume ) ));
8137    assert_eq! (unsafe {
8138                & ( * ( 0 as * const CThostFtdcExchangeMarginRateAdjustField )
8139                ) . NoLongMarginRatioByMoney as * const _ as usize } ,
8140                112usize , concat ! (
8141                "Alignment of field: " , stringify ! (
8142                CThostFtdcExchangeMarginRateAdjustField ) , "::" , stringify !
8143                ( NoLongMarginRatioByMoney ) ));
8144    assert_eq! (unsafe {
8145                & ( * ( 0 as * const CThostFtdcExchangeMarginRateAdjustField )
8146                ) . NoLongMarginRatioByVolume as * const _ as usize } ,
8147                120usize , concat ! (
8148                "Alignment of field: " , stringify ! (
8149                CThostFtdcExchangeMarginRateAdjustField ) , "::" , stringify !
8150                ( NoLongMarginRatioByVolume ) ));
8151    assert_eq! (unsafe {
8152                & ( * ( 0 as * const CThostFtdcExchangeMarginRateAdjustField )
8153                ) . NoShortMarginRatioByMoney as * const _ as usize } ,
8154                128usize , concat ! (
8155                "Alignment of field: " , stringify ! (
8156                CThostFtdcExchangeMarginRateAdjustField ) , "::" , stringify !
8157                ( NoShortMarginRatioByMoney ) ));
8158    assert_eq! (unsafe {
8159                & ( * ( 0 as * const CThostFtdcExchangeMarginRateAdjustField )
8160                ) . NoShortMarginRatioByVolume as * const _ as usize } ,
8161                136usize , concat ! (
8162                "Alignment of field: " , stringify ! (
8163                CThostFtdcExchangeMarginRateAdjustField ) , "::" , stringify !
8164                ( NoShortMarginRatioByVolume ) ));
8165}
8166impl Clone for CThostFtdcExchangeMarginRateAdjustField {
8167    fn clone(&self) -> Self { *self }
8168}
8169/// 汇率
8170#[repr(C)]
8171#[derive(Default, Copy)]
8172pub struct CThostFtdcExchangeRateField {
8173    /// 经纪公司代码
8174    pub BrokerID: TThostFtdcBrokerIDType,
8175    /// 源币种
8176    pub FromCurrencyID: TThostFtdcCurrencyIDType,
8177    /// 源币种单位数量
8178    pub FromCurrencyUnit: TThostFtdcCurrencyUnitType,
8179    /// 目标币种
8180    pub ToCurrencyID: TThostFtdcCurrencyIDType,
8181    /// 汇率
8182    pub ExchangeRate: TThostFtdcExchangeRateType,
8183}
8184#[test]
8185fn bindgen_test_layout_CThostFtdcExchangeRateField() {
8186    assert_eq!(::std::mem::size_of::<CThostFtdcExchangeRateField>() , 40usize
8187               , concat ! (
8188               "Size of: " , stringify ! ( CThostFtdcExchangeRateField ) ));
8189    assert_eq! (::std::mem::align_of::<CThostFtdcExchangeRateField>() , 8usize
8190                , concat ! (
8191                "Alignment of " , stringify ! ( CThostFtdcExchangeRateField )
8192                ));
8193    assert_eq! (unsafe {
8194                & ( * ( 0 as * const CThostFtdcExchangeRateField ) ) .
8195                BrokerID as * const _ as usize } , 0usize , concat ! (
8196                "Alignment of field: " , stringify ! (
8197                CThostFtdcExchangeRateField ) , "::" , stringify ! ( BrokerID
8198                ) ));
8199    assert_eq! (unsafe {
8200                & ( * ( 0 as * const CThostFtdcExchangeRateField ) ) .
8201                FromCurrencyID as * const _ as usize } , 11usize , concat ! (
8202                "Alignment of field: " , stringify ! (
8203                CThostFtdcExchangeRateField ) , "::" , stringify ! (
8204                FromCurrencyID ) ));
8205    assert_eq! (unsafe {
8206                & ( * ( 0 as * const CThostFtdcExchangeRateField ) ) .
8207                FromCurrencyUnit as * const _ as usize } , 16usize , concat !
8208                (
8209                "Alignment of field: " , stringify ! (
8210                CThostFtdcExchangeRateField ) , "::" , stringify ! (
8211                FromCurrencyUnit ) ));
8212    assert_eq! (unsafe {
8213                & ( * ( 0 as * const CThostFtdcExchangeRateField ) ) .
8214                ToCurrencyID as * const _ as usize } , 24usize , concat ! (
8215                "Alignment of field: " , stringify ! (
8216                CThostFtdcExchangeRateField ) , "::" , stringify ! (
8217                ToCurrencyID ) ));
8218    assert_eq! (unsafe {
8219                & ( * ( 0 as * const CThostFtdcExchangeRateField ) ) .
8220                ExchangeRate as * const _ as usize } , 32usize , concat ! (
8221                "Alignment of field: " , stringify ! (
8222                CThostFtdcExchangeRateField ) , "::" , stringify ! (
8223                ExchangeRate ) ));
8224}
8225impl Clone for CThostFtdcExchangeRateField {
8226    fn clone(&self) -> Self { *self }
8227}
8228/// 结算引用
8229#[repr(C)]
8230#[derive(Default, Copy)]
8231pub struct CThostFtdcSettlementRefField {
8232    /// 交易日
8233    pub TradingDay: TThostFtdcDateType,
8234    /// 结算编号
8235    pub SettlementID: TThostFtdcSettlementIDType,
8236}
8237#[test]
8238fn bindgen_test_layout_CThostFtdcSettlementRefField() {
8239    assert_eq!(::std::mem::size_of::<CThostFtdcSettlementRefField>() , 16usize
8240               , concat ! (
8241               "Size of: " , stringify ! ( CThostFtdcSettlementRefField ) ));
8242    assert_eq! (::std::mem::align_of::<CThostFtdcSettlementRefField>() ,
8243                4usize , concat ! (
8244                "Alignment of " , stringify ! ( CThostFtdcSettlementRefField )
8245                ));
8246    assert_eq! (unsafe {
8247                & ( * ( 0 as * const CThostFtdcSettlementRefField ) ) .
8248                TradingDay as * const _ as usize } , 0usize , concat ! (
8249                "Alignment of field: " , stringify ! (
8250                CThostFtdcSettlementRefField ) , "::" , stringify ! (
8251                TradingDay ) ));
8252    assert_eq! (unsafe {
8253                & ( * ( 0 as * const CThostFtdcSettlementRefField ) ) .
8254                SettlementID as * const _ as usize } , 12usize , concat ! (
8255                "Alignment of field: " , stringify ! (
8256                CThostFtdcSettlementRefField ) , "::" , stringify ! (
8257                SettlementID ) ));
8258}
8259impl Clone for CThostFtdcSettlementRefField {
8260    fn clone(&self) -> Self { *self }
8261}
8262/// 当前时间
8263#[repr(C)]
8264#[derive(Default, Copy)]
8265pub struct CThostFtdcCurrentTimeField {
8266    /// 当前日期
8267    pub CurrDate: TThostFtdcDateType,
8268    /// 当前时间
8269    pub CurrTime: TThostFtdcTimeType,
8270    /// 当前时间(毫秒)
8271    pub CurrMillisec: TThostFtdcMillisecType,
8272    /// 业务日期
8273    pub ActionDay: TThostFtdcDateType,
8274}
8275#[test]
8276fn bindgen_test_layout_CThostFtdcCurrentTimeField() {
8277    assert_eq!(::std::mem::size_of::<CThostFtdcCurrentTimeField>() , 36usize ,
8278               concat ! (
8279               "Size of: " , stringify ! ( CThostFtdcCurrentTimeField ) ));
8280    assert_eq! (::std::mem::align_of::<CThostFtdcCurrentTimeField>() , 4usize
8281                , concat ! (
8282                "Alignment of " , stringify ! ( CThostFtdcCurrentTimeField )
8283                ));
8284    assert_eq! (unsafe {
8285                & ( * ( 0 as * const CThostFtdcCurrentTimeField ) ) . CurrDate
8286                as * const _ as usize } , 0usize , concat ! (
8287                "Alignment of field: " , stringify ! (
8288                CThostFtdcCurrentTimeField ) , "::" , stringify ! ( CurrDate )
8289                ));
8290    assert_eq! (unsafe {
8291                & ( * ( 0 as * const CThostFtdcCurrentTimeField ) ) . CurrTime
8292                as * const _ as usize } , 9usize , concat ! (
8293                "Alignment of field: " , stringify ! (
8294                CThostFtdcCurrentTimeField ) , "::" , stringify ! ( CurrTime )
8295                ));
8296    assert_eq! (unsafe {
8297                & ( * ( 0 as * const CThostFtdcCurrentTimeField ) ) .
8298                CurrMillisec as * const _ as usize } , 20usize , concat ! (
8299                "Alignment of field: " , stringify ! (
8300                CThostFtdcCurrentTimeField ) , "::" , stringify ! (
8301                CurrMillisec ) ));
8302    assert_eq! (unsafe {
8303                & ( * ( 0 as * const CThostFtdcCurrentTimeField ) ) .
8304                ActionDay as * const _ as usize } , 24usize , concat ! (
8305                "Alignment of field: " , stringify ! (
8306                CThostFtdcCurrentTimeField ) , "::" , stringify ! ( ActionDay
8307                ) ));
8308}
8309impl Clone for CThostFtdcCurrentTimeField {
8310    fn clone(&self) -> Self { *self }
8311}
8312/// 通讯阶段
8313#[repr(C)]
8314#[derive(Default, Copy)]
8315pub struct CThostFtdcCommPhaseField {
8316    /// 交易日
8317    pub TradingDay: TThostFtdcDateType,
8318    /// 通讯时段编号
8319    pub CommPhaseNo: TThostFtdcCommPhaseNoType,
8320    /// 系统编号
8321    pub SystemID: TThostFtdcSystemIDType,
8322}
8323#[test]
8324fn bindgen_test_layout_CThostFtdcCommPhaseField() {
8325    assert_eq!(::std::mem::size_of::<CThostFtdcCommPhaseField>() , 34usize ,
8326               concat ! (
8327               "Size of: " , stringify ! ( CThostFtdcCommPhaseField ) ));
8328    assert_eq! (::std::mem::align_of::<CThostFtdcCommPhaseField>() , 2usize ,
8329                concat ! (
8330                "Alignment of " , stringify ! ( CThostFtdcCommPhaseField ) ));
8331    assert_eq! (unsafe {
8332                & ( * ( 0 as * const CThostFtdcCommPhaseField ) ) . TradingDay
8333                as * const _ as usize } , 0usize , concat ! (
8334                "Alignment of field: " , stringify ! (
8335                CThostFtdcCommPhaseField ) , "::" , stringify ! ( TradingDay )
8336                ));
8337    assert_eq! (unsafe {
8338                & ( * ( 0 as * const CThostFtdcCommPhaseField ) ) .
8339                CommPhaseNo as * const _ as usize } , 10usize , concat ! (
8340                "Alignment of field: " , stringify ! (
8341                CThostFtdcCommPhaseField ) , "::" , stringify ! ( CommPhaseNo
8342                ) ));
8343    assert_eq! (unsafe {
8344                & ( * ( 0 as * const CThostFtdcCommPhaseField ) ) . SystemID
8345                as * const _ as usize } , 12usize , concat ! (
8346                "Alignment of field: " , stringify ! (
8347                CThostFtdcCommPhaseField ) , "::" , stringify ! ( SystemID )
8348                ));
8349}
8350impl Clone for CThostFtdcCommPhaseField {
8351    fn clone(&self) -> Self { *self }
8352}
8353/// 登录信息
8354#[repr(C)]
8355#[derive(Copy)]
8356pub struct CThostFtdcLoginInfoField {
8357    /// 前置编号
8358    pub FrontID: TThostFtdcFrontIDType,
8359    /// 会话编号
8360    pub SessionID: TThostFtdcSessionIDType,
8361    /// 经纪公司代码
8362    pub BrokerID: TThostFtdcBrokerIDType,
8363    /// 用户代码
8364    pub UserID: TThostFtdcUserIDType,
8365    /// 登录日期
8366    pub LoginDate: TThostFtdcDateType,
8367    /// 登录时间
8368    pub LoginTime: TThostFtdcTimeType,
8369    /// IP地址
8370    pub IPAddress: TThostFtdcIPAddressType,
8371    /// 用户端产品信息
8372    pub UserProductInfo: TThostFtdcProductInfoType,
8373    /// 接口端产品信息
8374    pub InterfaceProductInfo: TThostFtdcProductInfoType,
8375    /// 协议信息
8376    pub ProtocolInfo: TThostFtdcProtocolInfoType,
8377    /// 系统名称
8378    pub SystemName: TThostFtdcSystemNameType,
8379    /// 密码,已弃用
8380    pub PasswordDeprecated: TThostFtdcPasswordType,
8381    /// 最大报单引用
8382    pub MaxOrderRef: TThostFtdcOrderRefType,
8383    /// 上期所时间
8384    pub SHFETime: TThostFtdcTimeType,
8385    /// 大商所时间
8386    pub DCETime: TThostFtdcTimeType,
8387    /// 郑商所时间
8388    pub CZCETime: TThostFtdcTimeType,
8389    /// 中金所时间
8390    pub FFEXTime: TThostFtdcTimeType,
8391    /// Mac地址
8392    pub MacAddress: TThostFtdcMacAddressType,
8393    /// 动态密码
8394    pub OneTimePassword: TThostFtdcPasswordType,
8395    /// 能源中心时间
8396    pub INETime: TThostFtdcTimeType,
8397    /// 查询时是否需要流控
8398    pub IsQryControl: TThostFtdcBoolType,
8399    /// 登录备注
8400    pub LoginRemark: TThostFtdcLoginRemarkType,
8401    /// 密码
8402    pub Password: TThostFtdcPasswordType,
8403}
8404#[test]
8405fn bindgen_test_layout_CThostFtdcLoginInfoField() {
8406    assert_eq!(::std::mem::size_of::<CThostFtdcLoginInfoField>() , 388usize ,
8407               concat ! (
8408               "Size of: " , stringify ! ( CThostFtdcLoginInfoField ) ));
8409    assert_eq! (::std::mem::align_of::<CThostFtdcLoginInfoField>() , 4usize ,
8410                concat ! (
8411                "Alignment of " , stringify ! ( CThostFtdcLoginInfoField ) ));
8412    assert_eq! (unsafe {
8413                & ( * ( 0 as * const CThostFtdcLoginInfoField ) ) . FrontID as
8414                * const _ as usize } , 0usize , concat ! (
8415                "Alignment of field: " , stringify ! (
8416                CThostFtdcLoginInfoField ) , "::" , stringify ! ( FrontID )
8417                ));
8418    assert_eq! (unsafe {
8419                & ( * ( 0 as * const CThostFtdcLoginInfoField ) ) . SessionID
8420                as * const _ as usize } , 4usize , concat ! (
8421                "Alignment of field: " , stringify ! (
8422                CThostFtdcLoginInfoField ) , "::" , stringify ! ( SessionID )
8423                ));
8424    assert_eq! (unsafe {
8425                & ( * ( 0 as * const CThostFtdcLoginInfoField ) ) . BrokerID
8426                as * const _ as usize } , 8usize , concat ! (
8427                "Alignment of field: " , stringify ! (
8428                CThostFtdcLoginInfoField ) , "::" , stringify ! ( BrokerID )
8429                ));
8430    assert_eq! (unsafe {
8431                & ( * ( 0 as * const CThostFtdcLoginInfoField ) ) . UserID as
8432                * const _ as usize } , 19usize , concat ! (
8433                "Alignment of field: " , stringify ! (
8434                CThostFtdcLoginInfoField ) , "::" , stringify ! ( UserID ) ));
8435    assert_eq! (unsafe {
8436                & ( * ( 0 as * const CThostFtdcLoginInfoField ) ) . LoginDate
8437                as * const _ as usize } , 35usize , concat ! (
8438                "Alignment of field: " , stringify ! (
8439                CThostFtdcLoginInfoField ) , "::" , stringify ! ( LoginDate )
8440                ));
8441    assert_eq! (unsafe {
8442                & ( * ( 0 as * const CThostFtdcLoginInfoField ) ) . LoginTime
8443                as * const _ as usize } , 44usize , concat ! (
8444                "Alignment of field: " , stringify ! (
8445                CThostFtdcLoginInfoField ) , "::" , stringify ! ( LoginTime )
8446                ));
8447    assert_eq! (unsafe {
8448                & ( * ( 0 as * const CThostFtdcLoginInfoField ) ) . IPAddress
8449                as * const _ as usize } , 53usize , concat ! (
8450                "Alignment of field: " , stringify ! (
8451                CThostFtdcLoginInfoField ) , "::" , stringify ! ( IPAddress )
8452                ));
8453    assert_eq! (unsafe {
8454                & ( * ( 0 as * const CThostFtdcLoginInfoField ) ) .
8455                UserProductInfo as * const _ as usize } , 69usize , concat ! (
8456                "Alignment of field: " , stringify ! (
8457                CThostFtdcLoginInfoField ) , "::" , stringify ! (
8458                UserProductInfo ) ));
8459    assert_eq! (unsafe {
8460                & ( * ( 0 as * const CThostFtdcLoginInfoField ) ) .
8461                InterfaceProductInfo as * const _ as usize } , 80usize ,
8462                concat ! (
8463                "Alignment of field: " , stringify ! (
8464                CThostFtdcLoginInfoField ) , "::" , stringify ! (
8465                InterfaceProductInfo ) ));
8466    assert_eq! (unsafe {
8467                & ( * ( 0 as * const CThostFtdcLoginInfoField ) ) .
8468                ProtocolInfo as * const _ as usize } , 91usize , concat ! (
8469                "Alignment of field: " , stringify ! (
8470                CThostFtdcLoginInfoField ) , "::" , stringify ! ( ProtocolInfo
8471                ) ));
8472    assert_eq! (unsafe {
8473                & ( * ( 0 as * const CThostFtdcLoginInfoField ) ) . SystemName
8474                as * const _ as usize } , 102usize , concat ! (
8475                "Alignment of field: " , stringify ! (
8476                CThostFtdcLoginInfoField ) , "::" , stringify ! ( SystemName )
8477                ));
8478    assert_eq! (unsafe {
8479                & ( * ( 0 as * const CThostFtdcLoginInfoField ) ) .
8480                PasswordDeprecated as * const _ as usize } , 143usize , concat
8481                ! (
8482                "Alignment of field: " , stringify ! (
8483                CThostFtdcLoginInfoField ) , "::" , stringify ! (
8484                PasswordDeprecated ) ));
8485    assert_eq! (unsafe {
8486                & ( * ( 0 as * const CThostFtdcLoginInfoField ) ) .
8487                MaxOrderRef as * const _ as usize } , 184usize , concat ! (
8488                "Alignment of field: " , stringify ! (
8489                CThostFtdcLoginInfoField ) , "::" , stringify ! ( MaxOrderRef
8490                ) ));
8491    assert_eq! (unsafe {
8492                & ( * ( 0 as * const CThostFtdcLoginInfoField ) ) . SHFETime
8493                as * const _ as usize } , 197usize , concat ! (
8494                "Alignment of field: " , stringify ! (
8495                CThostFtdcLoginInfoField ) , "::" , stringify ! ( SHFETime )
8496                ));
8497    assert_eq! (unsafe {
8498                & ( * ( 0 as * const CThostFtdcLoginInfoField ) ) . DCETime as
8499                * const _ as usize } , 206usize , concat ! (
8500                "Alignment of field: " , stringify ! (
8501                CThostFtdcLoginInfoField ) , "::" , stringify ! ( DCETime )
8502                ));
8503    assert_eq! (unsafe {
8504                & ( * ( 0 as * const CThostFtdcLoginInfoField ) ) . CZCETime
8505                as * const _ as usize } , 215usize , concat ! (
8506                "Alignment of field: " , stringify ! (
8507                CThostFtdcLoginInfoField ) , "::" , stringify ! ( CZCETime )
8508                ));
8509    assert_eq! (unsafe {
8510                & ( * ( 0 as * const CThostFtdcLoginInfoField ) ) . FFEXTime
8511                as * const _ as usize } , 224usize , concat ! (
8512                "Alignment of field: " , stringify ! (
8513                CThostFtdcLoginInfoField ) , "::" , stringify ! ( FFEXTime )
8514                ));
8515    assert_eq! (unsafe {
8516                & ( * ( 0 as * const CThostFtdcLoginInfoField ) ) . MacAddress
8517                as * const _ as usize } , 233usize , concat ! (
8518                "Alignment of field: " , stringify ! (
8519                CThostFtdcLoginInfoField ) , "::" , stringify ! ( MacAddress )
8520                ));
8521    assert_eq! (unsafe {
8522                & ( * ( 0 as * const CThostFtdcLoginInfoField ) ) .
8523                OneTimePassword as * const _ as usize } , 254usize , concat !
8524                (
8525                "Alignment of field: " , stringify ! (
8526                CThostFtdcLoginInfoField ) , "::" , stringify ! (
8527                OneTimePassword ) ));
8528    assert_eq! (unsafe {
8529                & ( * ( 0 as * const CThostFtdcLoginInfoField ) ) . INETime as
8530                * const _ as usize } , 295usize , concat ! (
8531                "Alignment of field: " , stringify ! (
8532                CThostFtdcLoginInfoField ) , "::" , stringify ! ( INETime )
8533                ));
8534    assert_eq! (unsafe {
8535                & ( * ( 0 as * const CThostFtdcLoginInfoField ) ) .
8536                IsQryControl as * const _ as usize } , 304usize , concat ! (
8537                "Alignment of field: " , stringify ! (
8538                CThostFtdcLoginInfoField ) , "::" , stringify ! ( IsQryControl
8539                ) ));
8540    assert_eq! (unsafe {
8541                & ( * ( 0 as * const CThostFtdcLoginInfoField ) ) .
8542                LoginRemark as * const _ as usize } , 308usize , concat ! (
8543                "Alignment of field: " , stringify ! (
8544                CThostFtdcLoginInfoField ) , "::" , stringify ! ( LoginRemark
8545                ) ));
8546    assert_eq! (unsafe {
8547                & ( * ( 0 as * const CThostFtdcLoginInfoField ) ) . Password
8548                as * const _ as usize } , 344usize , concat ! (
8549                "Alignment of field: " , stringify ! (
8550                CThostFtdcLoginInfoField ) , "::" , stringify ! ( Password )
8551                ));
8552}
8553impl Clone for CThostFtdcLoginInfoField {
8554    fn clone(&self) -> Self { *self }
8555}
8556impl Default for CThostFtdcLoginInfoField {
8557    fn default() -> Self { unsafe { ::std::mem::zeroed() } }
8558}
8559/// 登录信息
8560#[repr(C)]
8561#[derive(Copy)]
8562pub struct CThostFtdcLogoutAllField {
8563    /// 前置编号
8564    pub FrontID: TThostFtdcFrontIDType,
8565    /// 会话编号
8566    pub SessionID: TThostFtdcSessionIDType,
8567    /// 系统名称
8568    pub SystemName: TThostFtdcSystemNameType,
8569}
8570#[test]
8571fn bindgen_test_layout_CThostFtdcLogoutAllField() {
8572    assert_eq!(::std::mem::size_of::<CThostFtdcLogoutAllField>() , 52usize ,
8573               concat ! (
8574               "Size of: " , stringify ! ( CThostFtdcLogoutAllField ) ));
8575    assert_eq! (::std::mem::align_of::<CThostFtdcLogoutAllField>() , 4usize ,
8576                concat ! (
8577                "Alignment of " , stringify ! ( CThostFtdcLogoutAllField ) ));
8578    assert_eq! (unsafe {
8579                & ( * ( 0 as * const CThostFtdcLogoutAllField ) ) . FrontID as
8580                * const _ as usize } , 0usize , concat ! (
8581                "Alignment of field: " , stringify ! (
8582                CThostFtdcLogoutAllField ) , "::" , stringify ! ( FrontID )
8583                ));
8584    assert_eq! (unsafe {
8585                & ( * ( 0 as * const CThostFtdcLogoutAllField ) ) . SessionID
8586                as * const _ as usize } , 4usize , concat ! (
8587                "Alignment of field: " , stringify ! (
8588                CThostFtdcLogoutAllField ) , "::" , stringify ! ( SessionID )
8589                ));
8590    assert_eq! (unsafe {
8591                & ( * ( 0 as * const CThostFtdcLogoutAllField ) ) . SystemName
8592                as * const _ as usize } , 8usize , concat ! (
8593                "Alignment of field: " , stringify ! (
8594                CThostFtdcLogoutAllField ) , "::" , stringify ! ( SystemName )
8595                ));
8596}
8597impl Clone for CThostFtdcLogoutAllField {
8598    fn clone(&self) -> Self { *self }
8599}
8600impl Default for CThostFtdcLogoutAllField {
8601    fn default() -> Self { unsafe { ::std::mem::zeroed() } }
8602}
8603/// 前置状态
8604#[repr(C)]
8605#[derive(Default, Copy)]
8606pub struct CThostFtdcFrontStatusField {
8607    /// 前置编号
8608    pub FrontID: TThostFtdcFrontIDType,
8609    /// 上次报告日期
8610    pub LastReportDate: TThostFtdcDateType,
8611    /// 上次报告时间
8612    pub LastReportTime: TThostFtdcTimeType,
8613    /// 是否活跃
8614    pub IsActive: TThostFtdcBoolType,
8615}
8616#[test]
8617fn bindgen_test_layout_CThostFtdcFrontStatusField() {
8618    assert_eq!(::std::mem::size_of::<CThostFtdcFrontStatusField>() , 28usize ,
8619               concat ! (
8620               "Size of: " , stringify ! ( CThostFtdcFrontStatusField ) ));
8621    assert_eq! (::std::mem::align_of::<CThostFtdcFrontStatusField>() , 4usize
8622                , concat ! (
8623                "Alignment of " , stringify ! ( CThostFtdcFrontStatusField )
8624                ));
8625    assert_eq! (unsafe {
8626                & ( * ( 0 as * const CThostFtdcFrontStatusField ) ) . FrontID
8627                as * const _ as usize } , 0usize , concat ! (
8628                "Alignment of field: " , stringify ! (
8629                CThostFtdcFrontStatusField ) , "::" , stringify ! ( FrontID )
8630                ));
8631    assert_eq! (unsafe {
8632                & ( * ( 0 as * const CThostFtdcFrontStatusField ) ) .
8633                LastReportDate as * const _ as usize } , 4usize , concat ! (
8634                "Alignment of field: " , stringify ! (
8635                CThostFtdcFrontStatusField ) , "::" , stringify ! (
8636                LastReportDate ) ));
8637    assert_eq! (unsafe {
8638                & ( * ( 0 as * const CThostFtdcFrontStatusField ) ) .
8639                LastReportTime as * const _ as usize } , 13usize , concat ! (
8640                "Alignment of field: " , stringify ! (
8641                CThostFtdcFrontStatusField ) , "::" , stringify ! (
8642                LastReportTime ) ));
8643    assert_eq! (unsafe {
8644                & ( * ( 0 as * const CThostFtdcFrontStatusField ) ) . IsActive
8645                as * const _ as usize } , 24usize , concat ! (
8646                "Alignment of field: " , stringify ! (
8647                CThostFtdcFrontStatusField ) , "::" , stringify ! ( IsActive )
8648                ));
8649}
8650impl Clone for CThostFtdcFrontStatusField {
8651    fn clone(&self) -> Self { *self }
8652}
8653/// 用户口令变更
8654#[repr(C)]
8655#[derive(Copy)]
8656pub struct CThostFtdcUserPasswordUpdateField {
8657    /// 经纪公司代码
8658    pub BrokerID: TThostFtdcBrokerIDType,
8659    /// 用户代码
8660    pub UserID: TThostFtdcUserIDType,
8661    /// 原来的口令
8662    pub OldPassword: TThostFtdcPasswordType,
8663    /// 新的口令
8664    pub NewPassword: TThostFtdcPasswordType,
8665}
8666#[test]
8667fn bindgen_test_layout_CThostFtdcUserPasswordUpdateField() {
8668    assert_eq!(::std::mem::size_of::<CThostFtdcUserPasswordUpdateField>() ,
8669               109usize , concat ! (
8670               "Size of: " , stringify ! ( CThostFtdcUserPasswordUpdateField )
8671               ));
8672    assert_eq! (::std::mem::align_of::<CThostFtdcUserPasswordUpdateField>() ,
8673                1usize , concat ! (
8674                "Alignment of " , stringify ! (
8675                CThostFtdcUserPasswordUpdateField ) ));
8676    assert_eq! (unsafe {
8677                & ( * ( 0 as * const CThostFtdcUserPasswordUpdateField ) ) .
8678                BrokerID as * const _ as usize } , 0usize , concat ! (
8679                "Alignment of field: " , stringify ! (
8680                CThostFtdcUserPasswordUpdateField ) , "::" , stringify ! (
8681                BrokerID ) ));
8682    assert_eq! (unsafe {
8683                & ( * ( 0 as * const CThostFtdcUserPasswordUpdateField ) ) .
8684                UserID as * const _ as usize } , 11usize , concat ! (
8685                "Alignment of field: " , stringify ! (
8686                CThostFtdcUserPasswordUpdateField ) , "::" , stringify ! (
8687                UserID ) ));
8688    assert_eq! (unsafe {
8689                & ( * ( 0 as * const CThostFtdcUserPasswordUpdateField ) ) .
8690                OldPassword as * const _ as usize } , 27usize , concat ! (
8691                "Alignment of field: " , stringify ! (
8692                CThostFtdcUserPasswordUpdateField ) , "::" , stringify ! (
8693                OldPassword ) ));
8694    assert_eq! (unsafe {
8695                & ( * ( 0 as * const CThostFtdcUserPasswordUpdateField ) ) .
8696                NewPassword as * const _ as usize } , 68usize , concat ! (
8697                "Alignment of field: " , stringify ! (
8698                CThostFtdcUserPasswordUpdateField ) , "::" , stringify ! (
8699                NewPassword ) ));
8700}
8701impl Clone for CThostFtdcUserPasswordUpdateField {
8702    fn clone(&self) -> Self { *self }
8703}
8704impl Default for CThostFtdcUserPasswordUpdateField {
8705    fn default() -> Self { unsafe { ::std::mem::zeroed() } }
8706}
8707/// 输入报单
8708#[repr(C)]
8709#[derive(Default, Copy)]
8710pub struct CThostFtdcInputOrderField {
8711    /// 经纪公司代码
8712    pub BrokerID: TThostFtdcBrokerIDType,
8713    /// 投资者代码
8714    pub InvestorID: TThostFtdcInvestorIDType,
8715    /// 合约代码
8716    pub InstrumentID: TThostFtdcInstrumentIDType,
8717    /// 报单引用
8718    pub OrderRef: TThostFtdcOrderRefType,
8719    /// 用户代码
8720    pub UserID: TThostFtdcUserIDType,
8721    /// 报单价格条件
8722    pub OrderPriceType: TThostFtdcOrderPriceTypeType,
8723    /// 买卖方向
8724    pub Direction: TThostFtdcDirectionType,
8725    /// 组合开平标志
8726    pub CombOffsetFlag: TThostFtdcCombOffsetFlagType,
8727    /// 组合投机套保标志
8728    pub CombHedgeFlag: TThostFtdcCombHedgeFlagType,
8729    /// 价格
8730    pub LimitPrice: TThostFtdcPriceType,
8731    /// 数量
8732    pub VolumeTotalOriginal: TThostFtdcVolumeType,
8733    /// 有效期类型
8734    pub TimeCondition: TThostFtdcTimeConditionType,
8735    /// GTD日期
8736    pub GTDDate: TThostFtdcDateType,
8737    /// 成交量类型
8738    pub VolumeCondition: TThostFtdcVolumeConditionType,
8739    /// 最小成交量
8740    pub MinVolume: TThostFtdcVolumeType,
8741    /// 触发条件
8742    pub ContingentCondition: TThostFtdcContingentConditionType,
8743    /// 止损价
8744    pub StopPrice: TThostFtdcPriceType,
8745    /// 强平原因
8746    pub ForceCloseReason: TThostFtdcForceCloseReasonType,
8747    /// 自动挂起标志
8748    pub IsAutoSuspend: TThostFtdcBoolType,
8749    /// 业务单元
8750    pub BusinessUnit: TThostFtdcBusinessUnitType,
8751    /// 请求编号
8752    pub RequestID: TThostFtdcRequestIDType,
8753    /// 用户强评标志
8754    pub UserForceClose: TThostFtdcBoolType,
8755    /// 互换单标志
8756    pub IsSwapOrder: TThostFtdcBoolType,
8757    /// 交易所代码
8758    pub ExchangeID: TThostFtdcExchangeIDType,
8759    /// 投资单元代码
8760    pub InvestUnitID: TThostFtdcInvestUnitIDType,
8761    /// 资金账号
8762    pub AccountID: TThostFtdcAccountIDType,
8763    /// 币种代码
8764    pub CurrencyID: TThostFtdcCurrencyIDType,
8765    /// 交易编码
8766    pub ClientID: TThostFtdcClientIDType,
8767    /// IP地址
8768    pub IPAddress: TThostFtdcIPAddressType,
8769    /// Mac地址
8770    pub MacAddress: TThostFtdcMacAddressType,
8771}
8772#[test]
8773fn bindgen_test_layout_CThostFtdcInputOrderField() {
8774    assert_eq!(::std::mem::size_of::<CThostFtdcInputOrderField>() , 272usize ,
8775               concat ! (
8776               "Size of: " , stringify ! ( CThostFtdcInputOrderField ) ));
8777    assert_eq! (::std::mem::align_of::<CThostFtdcInputOrderField>() , 8usize ,
8778                concat ! (
8779                "Alignment of " , stringify ! ( CThostFtdcInputOrderField )
8780                ));
8781    assert_eq! (unsafe {
8782                & ( * ( 0 as * const CThostFtdcInputOrderField ) ) . BrokerID
8783                as * const _ as usize } , 0usize , concat ! (
8784                "Alignment of field: " , stringify ! (
8785                CThostFtdcInputOrderField ) , "::" , stringify ! ( BrokerID )
8786                ));
8787    assert_eq! (unsafe {
8788                & ( * ( 0 as * const CThostFtdcInputOrderField ) ) .
8789                InvestorID as * const _ as usize } , 11usize , concat ! (
8790                "Alignment of field: " , stringify ! (
8791                CThostFtdcInputOrderField ) , "::" , stringify ! ( InvestorID
8792                ) ));
8793    assert_eq! (unsafe {
8794                & ( * ( 0 as * const CThostFtdcInputOrderField ) ) .
8795                InstrumentID as * const _ as usize } , 24usize , concat ! (
8796                "Alignment of field: " , stringify ! (
8797                CThostFtdcInputOrderField ) , "::" , stringify ! (
8798                InstrumentID ) ));
8799    assert_eq! (unsafe {
8800                & ( * ( 0 as * const CThostFtdcInputOrderField ) ) . OrderRef
8801                as * const _ as usize } , 55usize , concat ! (
8802                "Alignment of field: " , stringify ! (
8803                CThostFtdcInputOrderField ) , "::" , stringify ! ( OrderRef )
8804                ));
8805    assert_eq! (unsafe {
8806                & ( * ( 0 as * const CThostFtdcInputOrderField ) ) . UserID as
8807                * const _ as usize } , 68usize , concat ! (
8808                "Alignment of field: " , stringify ! (
8809                CThostFtdcInputOrderField ) , "::" , stringify ! ( UserID )
8810                ));
8811    assert_eq! (unsafe {
8812                & ( * ( 0 as * const CThostFtdcInputOrderField ) ) .
8813                OrderPriceType as * const _ as usize } , 84usize , concat ! (
8814                "Alignment of field: " , stringify ! (
8815                CThostFtdcInputOrderField ) , "::" , stringify ! (
8816                OrderPriceType ) ));
8817    assert_eq! (unsafe {
8818                & ( * ( 0 as * const CThostFtdcInputOrderField ) ) . Direction
8819                as * const _ as usize } , 85usize , concat ! (
8820                "Alignment of field: " , stringify ! (
8821                CThostFtdcInputOrderField ) , "::" , stringify ! ( Direction )
8822                ));
8823    assert_eq! (unsafe {
8824                & ( * ( 0 as * const CThostFtdcInputOrderField ) ) .
8825                CombOffsetFlag as * const _ as usize } , 86usize , concat ! (
8826                "Alignment of field: " , stringify ! (
8827                CThostFtdcInputOrderField ) , "::" , stringify ! (
8828                CombOffsetFlag ) ));
8829    assert_eq! (unsafe {
8830                & ( * ( 0 as * const CThostFtdcInputOrderField ) ) .
8831                CombHedgeFlag as * const _ as usize } , 91usize , concat ! (
8832                "Alignment of field: " , stringify ! (
8833                CThostFtdcInputOrderField ) , "::" , stringify ! (
8834                CombHedgeFlag ) ));
8835    assert_eq! (unsafe {
8836                & ( * ( 0 as * const CThostFtdcInputOrderField ) ) .
8837                LimitPrice as * const _ as usize } , 96usize , concat ! (
8838                "Alignment of field: " , stringify ! (
8839                CThostFtdcInputOrderField ) , "::" , stringify ! ( LimitPrice
8840                ) ));
8841    assert_eq! (unsafe {
8842                & ( * ( 0 as * const CThostFtdcInputOrderField ) ) .
8843                VolumeTotalOriginal as * const _ as usize } , 104usize ,
8844                concat ! (
8845                "Alignment of field: " , stringify ! (
8846                CThostFtdcInputOrderField ) , "::" , stringify ! (
8847                VolumeTotalOriginal ) ));
8848    assert_eq! (unsafe {
8849                & ( * ( 0 as * const CThostFtdcInputOrderField ) ) .
8850                TimeCondition as * const _ as usize } , 108usize , concat ! (
8851                "Alignment of field: " , stringify ! (
8852                CThostFtdcInputOrderField ) , "::" , stringify ! (
8853                TimeCondition ) ));
8854    assert_eq! (unsafe {
8855                & ( * ( 0 as * const CThostFtdcInputOrderField ) ) . GTDDate
8856                as * const _ as usize } , 109usize , concat ! (
8857                "Alignment of field: " , stringify ! (
8858                CThostFtdcInputOrderField ) , "::" , stringify ! ( GTDDate )
8859                ));
8860    assert_eq! (unsafe {
8861                & ( * ( 0 as * const CThostFtdcInputOrderField ) ) .
8862                VolumeCondition as * const _ as usize } , 118usize , concat !
8863                (
8864                "Alignment of field: " , stringify ! (
8865                CThostFtdcInputOrderField ) , "::" , stringify ! (
8866                VolumeCondition ) ));
8867    assert_eq! (unsafe {
8868                & ( * ( 0 as * const CThostFtdcInputOrderField ) ) . MinVolume
8869                as * const _ as usize } , 120usize , concat ! (
8870                "Alignment of field: " , stringify ! (
8871                CThostFtdcInputOrderField ) , "::" , stringify ! ( MinVolume )
8872                ));
8873    assert_eq! (unsafe {
8874                & ( * ( 0 as * const CThostFtdcInputOrderField ) ) .
8875                ContingentCondition as * const _ as usize } , 124usize ,
8876                concat ! (
8877                "Alignment of field: " , stringify ! (
8878                CThostFtdcInputOrderField ) , "::" , stringify ! (
8879                ContingentCondition ) ));
8880    assert_eq! (unsafe {
8881                & ( * ( 0 as * const CThostFtdcInputOrderField ) ) . StopPrice
8882                as * const _ as usize } , 128usize , concat ! (
8883                "Alignment of field: " , stringify ! (
8884                CThostFtdcInputOrderField ) , "::" , stringify ! ( StopPrice )
8885                ));
8886    assert_eq! (unsafe {
8887                & ( * ( 0 as * const CThostFtdcInputOrderField ) ) .
8888                ForceCloseReason as * const _ as usize } , 136usize , concat !
8889                (
8890                "Alignment of field: " , stringify ! (
8891                CThostFtdcInputOrderField ) , "::" , stringify ! (
8892                ForceCloseReason ) ));
8893    assert_eq! (unsafe {
8894                & ( * ( 0 as * const CThostFtdcInputOrderField ) ) .
8895                IsAutoSuspend as * const _ as usize } , 140usize , concat ! (
8896                "Alignment of field: " , stringify ! (
8897                CThostFtdcInputOrderField ) , "::" , stringify ! (
8898                IsAutoSuspend ) ));
8899    assert_eq! (unsafe {
8900                & ( * ( 0 as * const CThostFtdcInputOrderField ) ) .
8901                BusinessUnit as * const _ as usize } , 144usize , concat ! (
8902                "Alignment of field: " , stringify ! (
8903                CThostFtdcInputOrderField ) , "::" , stringify ! (
8904                BusinessUnit ) ));
8905    assert_eq! (unsafe {
8906                & ( * ( 0 as * const CThostFtdcInputOrderField ) ) . RequestID
8907                as * const _ as usize } , 168usize , concat ! (
8908                "Alignment of field: " , stringify ! (
8909                CThostFtdcInputOrderField ) , "::" , stringify ! ( RequestID )
8910                ));
8911    assert_eq! (unsafe {
8912                & ( * ( 0 as * const CThostFtdcInputOrderField ) ) .
8913                UserForceClose as * const _ as usize } , 172usize , concat ! (
8914                "Alignment of field: " , stringify ! (
8915                CThostFtdcInputOrderField ) , "::" , stringify ! (
8916                UserForceClose ) ));
8917    assert_eq! (unsafe {
8918                & ( * ( 0 as * const CThostFtdcInputOrderField ) ) .
8919                IsSwapOrder as * const _ as usize } , 176usize , concat ! (
8920                "Alignment of field: " , stringify ! (
8921                CThostFtdcInputOrderField ) , "::" , stringify ! ( IsSwapOrder
8922                ) ));
8923    assert_eq! (unsafe {
8924                & ( * ( 0 as * const CThostFtdcInputOrderField ) ) .
8925                ExchangeID as * const _ as usize } , 180usize , concat ! (
8926                "Alignment of field: " , stringify ! (
8927                CThostFtdcInputOrderField ) , "::" , stringify ! ( ExchangeID
8928                ) ));
8929    assert_eq! (unsafe {
8930                & ( * ( 0 as * const CThostFtdcInputOrderField ) ) .
8931                InvestUnitID as * const _ as usize } , 189usize , concat ! (
8932                "Alignment of field: " , stringify ! (
8933                CThostFtdcInputOrderField ) , "::" , stringify ! (
8934                InvestUnitID ) ));
8935    assert_eq! (unsafe {
8936                & ( * ( 0 as * const CThostFtdcInputOrderField ) ) . AccountID
8937                as * const _ as usize } , 206usize , concat ! (
8938                "Alignment of field: " , stringify ! (
8939                CThostFtdcInputOrderField ) , "::" , stringify ! ( AccountID )
8940                ));
8941    assert_eq! (unsafe {
8942                & ( * ( 0 as * const CThostFtdcInputOrderField ) ) .
8943                CurrencyID as * const _ as usize } , 219usize , concat ! (
8944                "Alignment of field: " , stringify ! (
8945                CThostFtdcInputOrderField ) , "::" , stringify ! ( CurrencyID
8946                ) ));
8947    assert_eq! (unsafe {
8948                & ( * ( 0 as * const CThostFtdcInputOrderField ) ) . ClientID
8949                as * const _ as usize } , 223usize , concat ! (
8950                "Alignment of field: " , stringify ! (
8951                CThostFtdcInputOrderField ) , "::" , stringify ! ( ClientID )
8952                ));
8953    assert_eq! (unsafe {
8954                & ( * ( 0 as * const CThostFtdcInputOrderField ) ) . IPAddress
8955                as * const _ as usize } , 234usize , concat ! (
8956                "Alignment of field: " , stringify ! (
8957                CThostFtdcInputOrderField ) , "::" , stringify ! ( IPAddress )
8958                ));
8959    assert_eq! (unsafe {
8960                & ( * ( 0 as * const CThostFtdcInputOrderField ) ) .
8961                MacAddress as * const _ as usize } , 250usize , concat ! (
8962                "Alignment of field: " , stringify ! (
8963                CThostFtdcInputOrderField ) , "::" , stringify ! ( MacAddress
8964                ) ));
8965}
8966impl Clone for CThostFtdcInputOrderField {
8967    fn clone(&self) -> Self { *self }
8968}
8969/// 报单
8970#[repr(C)]
8971#[derive(Copy)]
8972pub struct CThostFtdcOrderField {
8973    /// 经纪公司代码
8974    pub BrokerID: TThostFtdcBrokerIDType,
8975    /// 投资者代码
8976    pub InvestorID: TThostFtdcInvestorIDType,
8977    /// 合约代码
8978    pub InstrumentID: TThostFtdcInstrumentIDType,
8979    /// 报单引用
8980    pub OrderRef: TThostFtdcOrderRefType,
8981    /// 用户代码
8982    pub UserID: TThostFtdcUserIDType,
8983    /// 报单价格条件
8984    pub OrderPriceType: TThostFtdcOrderPriceTypeType,
8985    /// 买卖方向
8986    pub Direction: TThostFtdcDirectionType,
8987    /// 组合开平标志
8988    pub CombOffsetFlag: TThostFtdcCombOffsetFlagType,
8989    /// 组合投机套保标志
8990    pub CombHedgeFlag: TThostFtdcCombHedgeFlagType,
8991    /// 价格
8992    pub LimitPrice: TThostFtdcPriceType,
8993    /// 数量
8994    pub VolumeTotalOriginal: TThostFtdcVolumeType,
8995    /// 有效期类型
8996    pub TimeCondition: TThostFtdcTimeConditionType,
8997    /// GTD日期
8998    pub GTDDate: TThostFtdcDateType,
8999    /// 成交量类型
9000    pub VolumeCondition: TThostFtdcVolumeConditionType,
9001    /// 最小成交量
9002    pub MinVolume: TThostFtdcVolumeType,
9003    /// 触发条件
9004    pub ContingentCondition: TThostFtdcContingentConditionType,
9005    /// 止损价
9006    pub StopPrice: TThostFtdcPriceType,
9007    /// 强平原因
9008    pub ForceCloseReason: TThostFtdcForceCloseReasonType,
9009    /// 自动挂起标志
9010    pub IsAutoSuspend: TThostFtdcBoolType,
9011    /// 业务单元
9012    pub BusinessUnit: TThostFtdcBusinessUnitType,
9013    /// 请求编号
9014    pub RequestID: TThostFtdcRequestIDType,
9015    /// 本地报单编号
9016    pub OrderLocalID: TThostFtdcOrderLocalIDType,
9017    /// 交易所代码
9018    pub ExchangeID: TThostFtdcExchangeIDType,
9019    /// 会员代码
9020    pub ParticipantID: TThostFtdcParticipantIDType,
9021    /// 客户代码
9022    pub ClientID: TThostFtdcClientIDType,
9023    /// 合约在交易所的代码
9024    pub ExchangeInstID: TThostFtdcExchangeInstIDType,
9025    /// 交易所交易员代码
9026    pub TraderID: TThostFtdcTraderIDType,
9027    /// 安装编号
9028    pub InstallID: TThostFtdcInstallIDType,
9029    /// 报单提交状态
9030    pub OrderSubmitStatus: TThostFtdcOrderSubmitStatusType,
9031    /// 报单提示序号
9032    pub NotifySequence: TThostFtdcSequenceNoType,
9033    /// 交易日
9034    pub TradingDay: TThostFtdcDateType,
9035    /// 结算编号
9036    pub SettlementID: TThostFtdcSettlementIDType,
9037    /// 报单编号
9038    pub OrderSysID: TThostFtdcOrderSysIDType,
9039    /// 报单来源
9040    pub OrderSource: TThostFtdcOrderSourceType,
9041    /// 报单状态
9042    pub OrderStatus: TThostFtdcOrderStatusType,
9043    /// 报单类型
9044    pub OrderType: TThostFtdcOrderTypeType,
9045    /// 今成交数量
9046    pub VolumeTraded: TThostFtdcVolumeType,
9047    /// 剩余数量
9048    pub VolumeTotal: TThostFtdcVolumeType,
9049    /// 报单日期
9050    pub InsertDate: TThostFtdcDateType,
9051    /// 委托时间
9052    pub InsertTime: TThostFtdcTimeType,
9053    /// 激活时间
9054    pub ActiveTime: TThostFtdcTimeType,
9055    /// 挂起时间
9056    pub SuspendTime: TThostFtdcTimeType,
9057    /// 最后修改时间
9058    pub UpdateTime: TThostFtdcTimeType,
9059    /// 撤销时间
9060    pub CancelTime: TThostFtdcTimeType,
9061    /// 最后修改交易所交易员代码
9062    pub ActiveTraderID: TThostFtdcTraderIDType,
9063    /// 结算会员编号
9064    pub ClearingPartID: TThostFtdcParticipantIDType,
9065    /// 序号
9066    pub SequenceNo: TThostFtdcSequenceNoType,
9067    /// 前置编号
9068    pub FrontID: TThostFtdcFrontIDType,
9069    /// 会话编号
9070    pub SessionID: TThostFtdcSessionIDType,
9071    /// 用户端产品信息
9072    pub UserProductInfo: TThostFtdcProductInfoType,
9073    /// 状态信息
9074    pub StatusMsg: TThostFtdcErrorMsgType,
9075    /// 用户强评标志
9076    pub UserForceClose: TThostFtdcBoolType,
9077    /// 操作用户代码
9078    pub ActiveUserID: TThostFtdcUserIDType,
9079    /// 经纪公司报单编号
9080    pub BrokerOrderSeq: TThostFtdcSequenceNoType,
9081    /// 相关报单
9082    pub RelativeOrderSysID: TThostFtdcOrderSysIDType,
9083    /// 郑商所成交数量
9084    pub ZCETotalTradedVolume: TThostFtdcVolumeType,
9085    /// 互换单标志
9086    pub IsSwapOrder: TThostFtdcBoolType,
9087    /// 营业部编号
9088    pub BranchID: TThostFtdcBranchIDType,
9089    /// 投资单元代码
9090    pub InvestUnitID: TThostFtdcInvestUnitIDType,
9091    /// 资金账号
9092    pub AccountID: TThostFtdcAccountIDType,
9093    /// 币种代码
9094    pub CurrencyID: TThostFtdcCurrencyIDType,
9095    /// IP地址
9096    pub IPAddress: TThostFtdcIPAddressType,
9097    /// Mac地址
9098    pub MacAddress: TThostFtdcMacAddressType,
9099}
9100#[test]
9101fn bindgen_test_layout_CThostFtdcOrderField() {
9102    assert_eq!(::std::mem::size_of::<CThostFtdcOrderField>() , 656usize ,
9103               concat ! ( "Size of: " , stringify ! ( CThostFtdcOrderField )
9104               ));
9105    assert_eq! (::std::mem::align_of::<CThostFtdcOrderField>() , 8usize ,
9106                concat ! (
9107                "Alignment of " , stringify ! ( CThostFtdcOrderField ) ));
9108    assert_eq! (unsafe {
9109                & ( * ( 0 as * const CThostFtdcOrderField ) ) . BrokerID as *
9110                const _ as usize } , 0usize , concat ! (
9111                "Alignment of field: " , stringify ! ( CThostFtdcOrderField )
9112                , "::" , stringify ! ( BrokerID ) ));
9113    assert_eq! (unsafe {
9114                & ( * ( 0 as * const CThostFtdcOrderField ) ) . InvestorID as
9115                * const _ as usize } , 11usize , concat ! (
9116                "Alignment of field: " , stringify ! ( CThostFtdcOrderField )
9117                , "::" , stringify ! ( InvestorID ) ));
9118    assert_eq! (unsafe {
9119                & ( * ( 0 as * const CThostFtdcOrderField ) ) . InstrumentID
9120                as * const _ as usize } , 24usize , concat ! (
9121                "Alignment of field: " , stringify ! ( CThostFtdcOrderField )
9122                , "::" , stringify ! ( InstrumentID ) ));
9123    assert_eq! (unsafe {
9124                & ( * ( 0 as * const CThostFtdcOrderField ) ) . OrderRef as *
9125                const _ as usize } , 55usize , concat ! (
9126                "Alignment of field: " , stringify ! ( CThostFtdcOrderField )
9127                , "::" , stringify ! ( OrderRef ) ));
9128    assert_eq! (unsafe {
9129                & ( * ( 0 as * const CThostFtdcOrderField ) ) . UserID as *
9130                const _ as usize } , 68usize , concat ! (
9131                "Alignment of field: " , stringify ! ( CThostFtdcOrderField )
9132                , "::" , stringify ! ( UserID ) ));
9133    assert_eq! (unsafe {
9134                & ( * ( 0 as * const CThostFtdcOrderField ) ) . OrderPriceType
9135                as * const _ as usize } , 84usize , concat ! (
9136                "Alignment of field: " , stringify ! ( CThostFtdcOrderField )
9137                , "::" , stringify ! ( OrderPriceType ) ));
9138    assert_eq! (unsafe {
9139                & ( * ( 0 as * const CThostFtdcOrderField ) ) . Direction as *
9140                const _ as usize } , 85usize , concat ! (
9141                "Alignment of field: " , stringify ! ( CThostFtdcOrderField )
9142                , "::" , stringify ! ( Direction ) ));
9143    assert_eq! (unsafe {
9144                & ( * ( 0 as * const CThostFtdcOrderField ) ) . CombOffsetFlag
9145                as * const _ as usize } , 86usize , concat ! (
9146                "Alignment of field: " , stringify ! ( CThostFtdcOrderField )
9147                , "::" , stringify ! ( CombOffsetFlag ) ));
9148    assert_eq! (unsafe {
9149                & ( * ( 0 as * const CThostFtdcOrderField ) ) . CombHedgeFlag
9150                as * const _ as usize } , 91usize , concat ! (
9151                "Alignment of field: " , stringify ! ( CThostFtdcOrderField )
9152                , "::" , stringify ! ( CombHedgeFlag ) ));
9153    assert_eq! (unsafe {
9154                & ( * ( 0 as * const CThostFtdcOrderField ) ) . LimitPrice as
9155                * const _ as usize } , 96usize , concat ! (
9156                "Alignment of field: " , stringify ! ( CThostFtdcOrderField )
9157                , "::" , stringify ! ( LimitPrice ) ));
9158    assert_eq! (unsafe {
9159                & ( * ( 0 as * const CThostFtdcOrderField ) ) .
9160                VolumeTotalOriginal as * const _ as usize } , 104usize ,
9161                concat ! (
9162                "Alignment of field: " , stringify ! ( CThostFtdcOrderField )
9163                , "::" , stringify ! ( VolumeTotalOriginal ) ));
9164    assert_eq! (unsafe {
9165                & ( * ( 0 as * const CThostFtdcOrderField ) ) . TimeCondition
9166                as * const _ as usize } , 108usize , concat ! (
9167                "Alignment of field: " , stringify ! ( CThostFtdcOrderField )
9168                , "::" , stringify ! ( TimeCondition ) ));
9169    assert_eq! (unsafe {
9170                & ( * ( 0 as * const CThostFtdcOrderField ) ) . GTDDate as *
9171                const _ as usize } , 109usize , concat ! (
9172                "Alignment of field: " , stringify ! ( CThostFtdcOrderField )
9173                , "::" , stringify ! ( GTDDate ) ));
9174    assert_eq! (unsafe {
9175                & ( * ( 0 as * const CThostFtdcOrderField ) ) .
9176                VolumeCondition as * const _ as usize } , 118usize , concat !
9177                (
9178                "Alignment of field: " , stringify ! ( CThostFtdcOrderField )
9179                , "::" , stringify ! ( VolumeCondition ) ));
9180    assert_eq! (unsafe {
9181                & ( * ( 0 as * const CThostFtdcOrderField ) ) . MinVolume as *
9182                const _ as usize } , 120usize , concat ! (
9183                "Alignment of field: " , stringify ! ( CThostFtdcOrderField )
9184                , "::" , stringify ! ( MinVolume ) ));
9185    assert_eq! (unsafe {
9186                & ( * ( 0 as * const CThostFtdcOrderField ) ) .
9187                ContingentCondition as * const _ as usize } , 124usize ,
9188                concat ! (
9189                "Alignment of field: " , stringify ! ( CThostFtdcOrderField )
9190                , "::" , stringify ! ( ContingentCondition ) ));
9191    assert_eq! (unsafe {
9192                & ( * ( 0 as * const CThostFtdcOrderField ) ) . StopPrice as *
9193                const _ as usize } , 128usize , concat ! (
9194                "Alignment of field: " , stringify ! ( CThostFtdcOrderField )
9195                , "::" , stringify ! ( StopPrice ) ));
9196    assert_eq! (unsafe {
9197                & ( * ( 0 as * const CThostFtdcOrderField ) ) .
9198                ForceCloseReason as * const _ as usize } , 136usize , concat !
9199                (
9200                "Alignment of field: " , stringify ! ( CThostFtdcOrderField )
9201                , "::" , stringify ! ( ForceCloseReason ) ));
9202    assert_eq! (unsafe {
9203                & ( * ( 0 as * const CThostFtdcOrderField ) ) . IsAutoSuspend
9204                as * const _ as usize } , 140usize , concat ! (
9205                "Alignment of field: " , stringify ! ( CThostFtdcOrderField )
9206                , "::" , stringify ! ( IsAutoSuspend ) ));
9207    assert_eq! (unsafe {
9208                & ( * ( 0 as * const CThostFtdcOrderField ) ) . BusinessUnit
9209                as * const _ as usize } , 144usize , concat ! (
9210                "Alignment of field: " , stringify ! ( CThostFtdcOrderField )
9211                , "::" , stringify ! ( BusinessUnit ) ));
9212    assert_eq! (unsafe {
9213                & ( * ( 0 as * const CThostFtdcOrderField ) ) . RequestID as *
9214                const _ as usize } , 168usize , concat ! (
9215                "Alignment of field: " , stringify ! ( CThostFtdcOrderField )
9216                , "::" , stringify ! ( RequestID ) ));
9217    assert_eq! (unsafe {
9218                & ( * ( 0 as * const CThostFtdcOrderField ) ) . OrderLocalID
9219                as * const _ as usize } , 172usize , concat ! (
9220                "Alignment of field: " , stringify ! ( CThostFtdcOrderField )
9221                , "::" , stringify ! ( OrderLocalID ) ));
9222    assert_eq! (unsafe {
9223                & ( * ( 0 as * const CThostFtdcOrderField ) ) . ExchangeID as
9224                * const _ as usize } , 185usize , concat ! (
9225                "Alignment of field: " , stringify ! ( CThostFtdcOrderField )
9226                , "::" , stringify ! ( ExchangeID ) ));
9227    assert_eq! (unsafe {
9228                & ( * ( 0 as * const CThostFtdcOrderField ) ) . ParticipantID
9229                as * const _ as usize } , 194usize , concat ! (
9230                "Alignment of field: " , stringify ! ( CThostFtdcOrderField )
9231                , "::" , stringify ! ( ParticipantID ) ));
9232    assert_eq! (unsafe {
9233                & ( * ( 0 as * const CThostFtdcOrderField ) ) . ClientID as *
9234                const _ as usize } , 205usize , concat ! (
9235                "Alignment of field: " , stringify ! ( CThostFtdcOrderField )
9236                , "::" , stringify ! ( ClientID ) ));
9237    assert_eq! (unsafe {
9238                & ( * ( 0 as * const CThostFtdcOrderField ) ) . ExchangeInstID
9239                as * const _ as usize } , 216usize , concat ! (
9240                "Alignment of field: " , stringify ! ( CThostFtdcOrderField )
9241                , "::" , stringify ! ( ExchangeInstID ) ));
9242    assert_eq! (unsafe {
9243                & ( * ( 0 as * const CThostFtdcOrderField ) ) . TraderID as *
9244                const _ as usize } , 247usize , concat ! (
9245                "Alignment of field: " , stringify ! ( CThostFtdcOrderField )
9246                , "::" , stringify ! ( TraderID ) ));
9247    assert_eq! (unsafe {
9248                & ( * ( 0 as * const CThostFtdcOrderField ) ) . InstallID as *
9249                const _ as usize } , 268usize , concat ! (
9250                "Alignment of field: " , stringify ! ( CThostFtdcOrderField )
9251                , "::" , stringify ! ( InstallID ) ));
9252    assert_eq! (unsafe {
9253                & ( * ( 0 as * const CThostFtdcOrderField ) ) .
9254                OrderSubmitStatus as * const _ as usize } , 272usize , concat
9255                ! (
9256                "Alignment of field: " , stringify ! ( CThostFtdcOrderField )
9257                , "::" , stringify ! ( OrderSubmitStatus ) ));
9258    assert_eq! (unsafe {
9259                & ( * ( 0 as * const CThostFtdcOrderField ) ) . NotifySequence
9260                as * const _ as usize } , 276usize , concat ! (
9261                "Alignment of field: " , stringify ! ( CThostFtdcOrderField )
9262                , "::" , stringify ! ( NotifySequence ) ));
9263    assert_eq! (unsafe {
9264                & ( * ( 0 as * const CThostFtdcOrderField ) ) . TradingDay as
9265                * const _ as usize } , 280usize , concat ! (
9266                "Alignment of field: " , stringify ! ( CThostFtdcOrderField )
9267                , "::" , stringify ! ( TradingDay ) ));
9268    assert_eq! (unsafe {
9269                & ( * ( 0 as * const CThostFtdcOrderField ) ) . SettlementID
9270                as * const _ as usize } , 292usize , concat ! (
9271                "Alignment of field: " , stringify ! ( CThostFtdcOrderField )
9272                , "::" , stringify ! ( SettlementID ) ));
9273    assert_eq! (unsafe {
9274                & ( * ( 0 as * const CThostFtdcOrderField ) ) . OrderSysID as
9275                * const _ as usize } , 296usize , concat ! (
9276                "Alignment of field: " , stringify ! ( CThostFtdcOrderField )
9277                , "::" , stringify ! ( OrderSysID ) ));
9278    assert_eq! (unsafe {
9279                & ( * ( 0 as * const CThostFtdcOrderField ) ) . OrderSource as
9280                * const _ as usize } , 317usize , concat ! (
9281                "Alignment of field: " , stringify ! ( CThostFtdcOrderField )
9282                , "::" , stringify ! ( OrderSource ) ));
9283    assert_eq! (unsafe {
9284                & ( * ( 0 as * const CThostFtdcOrderField ) ) . OrderStatus as
9285                * const _ as usize } , 318usize , concat ! (
9286                "Alignment of field: " , stringify ! ( CThostFtdcOrderField )
9287                , "::" , stringify ! ( OrderStatus ) ));
9288    assert_eq! (unsafe {
9289                & ( * ( 0 as * const CThostFtdcOrderField ) ) . OrderType as *
9290                const _ as usize } , 319usize , concat ! (
9291                "Alignment of field: " , stringify ! ( CThostFtdcOrderField )
9292                , "::" , stringify ! ( OrderType ) ));
9293    assert_eq! (unsafe {
9294                & ( * ( 0 as * const CThostFtdcOrderField ) ) . VolumeTraded
9295                as * const _ as usize } , 320usize , concat ! (
9296                "Alignment of field: " , stringify ! ( CThostFtdcOrderField )
9297                , "::" , stringify ! ( VolumeTraded ) ));
9298    assert_eq! (unsafe {
9299                & ( * ( 0 as * const CThostFtdcOrderField ) ) . VolumeTotal as
9300                * const _ as usize } , 324usize , concat ! (
9301                "Alignment of field: " , stringify ! ( CThostFtdcOrderField )
9302                , "::" , stringify ! ( VolumeTotal ) ));
9303    assert_eq! (unsafe {
9304                & ( * ( 0 as * const CThostFtdcOrderField ) ) . InsertDate as
9305                * const _ as usize } , 328usize , concat ! (
9306                "Alignment of field: " , stringify ! ( CThostFtdcOrderField )
9307                , "::" , stringify ! ( InsertDate ) ));
9308    assert_eq! (unsafe {
9309                & ( * ( 0 as * const CThostFtdcOrderField ) ) . InsertTime as
9310                * const _ as usize } , 337usize , concat ! (
9311                "Alignment of field: " , stringify ! ( CThostFtdcOrderField )
9312                , "::" , stringify ! ( InsertTime ) ));
9313    assert_eq! (unsafe {
9314                & ( * ( 0 as * const CThostFtdcOrderField ) ) . ActiveTime as
9315                * const _ as usize } , 346usize , concat ! (
9316                "Alignment of field: " , stringify ! ( CThostFtdcOrderField )
9317                , "::" , stringify ! ( ActiveTime ) ));
9318    assert_eq! (unsafe {
9319                & ( * ( 0 as * const CThostFtdcOrderField ) ) . SuspendTime as
9320                * const _ as usize } , 355usize , concat ! (
9321                "Alignment of field: " , stringify ! ( CThostFtdcOrderField )
9322                , "::" , stringify ! ( SuspendTime ) ));
9323    assert_eq! (unsafe {
9324                & ( * ( 0 as * const CThostFtdcOrderField ) ) . UpdateTime as
9325                * const _ as usize } , 364usize , concat ! (
9326                "Alignment of field: " , stringify ! ( CThostFtdcOrderField )
9327                , "::" , stringify ! ( UpdateTime ) ));
9328    assert_eq! (unsafe {
9329                & ( * ( 0 as * const CThostFtdcOrderField ) ) . CancelTime as
9330                * const _ as usize } , 373usize , concat ! (
9331                "Alignment of field: " , stringify ! ( CThostFtdcOrderField )
9332                , "::" , stringify ! ( CancelTime ) ));
9333    assert_eq! (unsafe {
9334                & ( * ( 0 as * const CThostFtdcOrderField ) ) . ActiveTraderID
9335                as * const _ as usize } , 382usize , concat ! (
9336                "Alignment of field: " , stringify ! ( CThostFtdcOrderField )
9337                , "::" , stringify ! ( ActiveTraderID ) ));
9338    assert_eq! (unsafe {
9339                & ( * ( 0 as * const CThostFtdcOrderField ) ) . ClearingPartID
9340                as * const _ as usize } , 403usize , concat ! (
9341                "Alignment of field: " , stringify ! ( CThostFtdcOrderField )
9342                , "::" , stringify ! ( ClearingPartID ) ));
9343    assert_eq! (unsafe {
9344                & ( * ( 0 as * const CThostFtdcOrderField ) ) . SequenceNo as
9345                * const _ as usize } , 416usize , concat ! (
9346                "Alignment of field: " , stringify ! ( CThostFtdcOrderField )
9347                , "::" , stringify ! ( SequenceNo ) ));
9348    assert_eq! (unsafe {
9349                & ( * ( 0 as * const CThostFtdcOrderField ) ) . FrontID as *
9350                const _ as usize } , 420usize , concat ! (
9351                "Alignment of field: " , stringify ! ( CThostFtdcOrderField )
9352                , "::" , stringify ! ( FrontID ) ));
9353    assert_eq! (unsafe {
9354                & ( * ( 0 as * const CThostFtdcOrderField ) ) . SessionID as *
9355                const _ as usize } , 424usize , concat ! (
9356                "Alignment of field: " , stringify ! ( CThostFtdcOrderField )
9357                , "::" , stringify ! ( SessionID ) ));
9358    assert_eq! (unsafe {
9359                & ( * ( 0 as * const CThostFtdcOrderField ) ) .
9360                UserProductInfo as * const _ as usize } , 428usize , concat !
9361                (
9362                "Alignment of field: " , stringify ! ( CThostFtdcOrderField )
9363                , "::" , stringify ! ( UserProductInfo ) ));
9364    assert_eq! (unsafe {
9365                & ( * ( 0 as * const CThostFtdcOrderField ) ) . StatusMsg as *
9366                const _ as usize } , 439usize , concat ! (
9367                "Alignment of field: " , stringify ! ( CThostFtdcOrderField )
9368                , "::" , stringify ! ( StatusMsg ) ));
9369    assert_eq! (unsafe {
9370                & ( * ( 0 as * const CThostFtdcOrderField ) ) . UserForceClose
9371                as * const _ as usize } , 520usize , concat ! (
9372                "Alignment of field: " , stringify ! ( CThostFtdcOrderField )
9373                , "::" , stringify ! ( UserForceClose ) ));
9374    assert_eq! (unsafe {
9375                & ( * ( 0 as * const CThostFtdcOrderField ) ) . ActiveUserID
9376                as * const _ as usize } , 524usize , concat ! (
9377                "Alignment of field: " , stringify ! ( CThostFtdcOrderField )
9378                , "::" , stringify ! ( ActiveUserID ) ));
9379    assert_eq! (unsafe {
9380                & ( * ( 0 as * const CThostFtdcOrderField ) ) . BrokerOrderSeq
9381                as * const _ as usize } , 540usize , concat ! (
9382                "Alignment of field: " , stringify ! ( CThostFtdcOrderField )
9383                , "::" , stringify ! ( BrokerOrderSeq ) ));
9384    assert_eq! (unsafe {
9385                & ( * ( 0 as * const CThostFtdcOrderField ) ) .
9386                RelativeOrderSysID as * const _ as usize } , 544usize , concat
9387                ! (
9388                "Alignment of field: " , stringify ! ( CThostFtdcOrderField )
9389                , "::" , stringify ! ( RelativeOrderSysID ) ));
9390    assert_eq! (unsafe {
9391                & ( * ( 0 as * const CThostFtdcOrderField ) ) .
9392                ZCETotalTradedVolume as * const _ as usize } , 568usize ,
9393                concat ! (
9394                "Alignment of field: " , stringify ! ( CThostFtdcOrderField )
9395                , "::" , stringify ! ( ZCETotalTradedVolume ) ));
9396    assert_eq! (unsafe {
9397                & ( * ( 0 as * const CThostFtdcOrderField ) ) . IsSwapOrder as
9398                * const _ as usize } , 572usize , concat ! (
9399                "Alignment of field: " , stringify ! ( CThostFtdcOrderField )
9400                , "::" , stringify ! ( IsSwapOrder ) ));
9401    assert_eq! (unsafe {
9402                & ( * ( 0 as * const CThostFtdcOrderField ) ) . BranchID as *
9403                const _ as usize } , 576usize , concat ! (
9404                "Alignment of field: " , stringify ! ( CThostFtdcOrderField )
9405                , "::" , stringify ! ( BranchID ) ));
9406    assert_eq! (unsafe {
9407                & ( * ( 0 as * const CThostFtdcOrderField ) ) . InvestUnitID
9408                as * const _ as usize } , 585usize , concat ! (
9409                "Alignment of field: " , stringify ! ( CThostFtdcOrderField )
9410                , "::" , stringify ! ( InvestUnitID ) ));
9411    assert_eq! (unsafe {
9412                & ( * ( 0 as * const CThostFtdcOrderField ) ) . AccountID as *
9413                const _ as usize } , 602usize , concat ! (
9414                "Alignment of field: " , stringify ! ( CThostFtdcOrderField )
9415                , "::" , stringify ! ( AccountID ) ));
9416    assert_eq! (unsafe {
9417                & ( * ( 0 as * const CThostFtdcOrderField ) ) . CurrencyID as
9418                * const _ as usize } , 615usize , concat ! (
9419                "Alignment of field: " , stringify ! ( CThostFtdcOrderField )
9420                , "::" , stringify ! ( CurrencyID ) ));
9421    assert_eq! (unsafe {
9422                & ( * ( 0 as * const CThostFtdcOrderField ) ) . IPAddress as *
9423                const _ as usize } , 619usize , concat ! (
9424                "Alignment of field: " , stringify ! ( CThostFtdcOrderField )
9425                , "::" , stringify ! ( IPAddress ) ));
9426    assert_eq! (unsafe {
9427                & ( * ( 0 as * const CThostFtdcOrderField ) ) . MacAddress as
9428                * const _ as usize } , 635usize , concat ! (
9429                "Alignment of field: " , stringify ! ( CThostFtdcOrderField )
9430                , "::" , stringify ! ( MacAddress ) ));
9431}
9432impl Clone for CThostFtdcOrderField {
9433    fn clone(&self) -> Self { *self }
9434}
9435impl Default for CThostFtdcOrderField {
9436    fn default() -> Self { unsafe { ::std::mem::zeroed() } }
9437}
9438/// 交易所报单
9439#[repr(C)]
9440#[derive(Default, Copy)]
9441pub struct CThostFtdcExchangeOrderField {
9442    /// 报单价格条件
9443    pub OrderPriceType: TThostFtdcOrderPriceTypeType,
9444    /// 买卖方向
9445    pub Direction: TThostFtdcDirectionType,
9446    /// 组合开平标志
9447    pub CombOffsetFlag: TThostFtdcCombOffsetFlagType,
9448    /// 组合投机套保标志
9449    pub CombHedgeFlag: TThostFtdcCombHedgeFlagType,
9450    /// 价格
9451    pub LimitPrice: TThostFtdcPriceType,
9452    /// 数量
9453    pub VolumeTotalOriginal: TThostFtdcVolumeType,
9454    /// 有效期类型
9455    pub TimeCondition: TThostFtdcTimeConditionType,
9456    /// GTD日期
9457    pub GTDDate: TThostFtdcDateType,
9458    /// 成交量类型
9459    pub VolumeCondition: TThostFtdcVolumeConditionType,
9460    /// 最小成交量
9461    pub MinVolume: TThostFtdcVolumeType,
9462    /// 触发条件
9463    pub ContingentCondition: TThostFtdcContingentConditionType,
9464    /// 止损价
9465    pub StopPrice: TThostFtdcPriceType,
9466    /// 强平原因
9467    pub ForceCloseReason: TThostFtdcForceCloseReasonType,
9468    /// 自动挂起标志
9469    pub IsAutoSuspend: TThostFtdcBoolType,
9470    /// 业务单元
9471    pub BusinessUnit: TThostFtdcBusinessUnitType,
9472    /// 请求编号
9473    pub RequestID: TThostFtdcRequestIDType,
9474    /// 本地报单编号
9475    pub OrderLocalID: TThostFtdcOrderLocalIDType,
9476    /// 交易所代码
9477    pub ExchangeID: TThostFtdcExchangeIDType,
9478    /// 会员代码
9479    pub ParticipantID: TThostFtdcParticipantIDType,
9480    /// 客户代码
9481    pub ClientID: TThostFtdcClientIDType,
9482    /// 合约在交易所的代码
9483    pub ExchangeInstID: TThostFtdcExchangeInstIDType,
9484    /// 交易所交易员代码
9485    pub TraderID: TThostFtdcTraderIDType,
9486    /// 安装编号
9487    pub InstallID: TThostFtdcInstallIDType,
9488    /// 报单提交状态
9489    pub OrderSubmitStatus: TThostFtdcOrderSubmitStatusType,
9490    /// 报单提示序号
9491    pub NotifySequence: TThostFtdcSequenceNoType,
9492    /// 交易日
9493    pub TradingDay: TThostFtdcDateType,
9494    /// 结算编号
9495    pub SettlementID: TThostFtdcSettlementIDType,
9496    /// 报单编号
9497    pub OrderSysID: TThostFtdcOrderSysIDType,
9498    /// 报单来源
9499    pub OrderSource: TThostFtdcOrderSourceType,
9500    /// 报单状态
9501    pub OrderStatus: TThostFtdcOrderStatusType,
9502    /// 报单类型
9503    pub OrderType: TThostFtdcOrderTypeType,
9504    /// 今成交数量
9505    pub VolumeTraded: TThostFtdcVolumeType,
9506    /// 剩余数量
9507    pub VolumeTotal: TThostFtdcVolumeType,
9508    /// 报单日期
9509    pub InsertDate: TThostFtdcDateType,
9510    /// 委托时间
9511    pub InsertTime: TThostFtdcTimeType,
9512    /// 激活时间
9513    pub ActiveTime: TThostFtdcTimeType,
9514    /// 挂起时间
9515    pub SuspendTime: TThostFtdcTimeType,
9516    /// 最后修改时间
9517    pub UpdateTime: TThostFtdcTimeType,
9518    /// 撤销时间
9519    pub CancelTime: TThostFtdcTimeType,
9520    /// 最后修改交易所交易员代码
9521    pub ActiveTraderID: TThostFtdcTraderIDType,
9522    /// 结算会员编号
9523    pub ClearingPartID: TThostFtdcParticipantIDType,
9524    /// 序号
9525    pub SequenceNo: TThostFtdcSequenceNoType,
9526    /// 营业部编号
9527    pub BranchID: TThostFtdcBranchIDType,
9528    /// IP地址
9529    pub IPAddress: TThostFtdcIPAddressType,
9530    /// Mac地址
9531    pub MacAddress: TThostFtdcMacAddressType,
9532}
9533#[test]
9534fn bindgen_test_layout_CThostFtdcExchangeOrderField() {
9535    assert_eq!(::std::mem::size_of::<CThostFtdcExchangeOrderField>() ,
9536               392usize , concat ! (
9537               "Size of: " , stringify ! ( CThostFtdcExchangeOrderField ) ));
9538    assert_eq! (::std::mem::align_of::<CThostFtdcExchangeOrderField>() ,
9539                8usize , concat ! (
9540                "Alignment of " , stringify ! ( CThostFtdcExchangeOrderField )
9541                ));
9542    assert_eq! (unsafe {
9543                & ( * ( 0 as * const CThostFtdcExchangeOrderField ) ) .
9544                OrderPriceType as * const _ as usize } , 0usize , concat ! (
9545                "Alignment of field: " , stringify ! (
9546                CThostFtdcExchangeOrderField ) , "::" , stringify ! (
9547                OrderPriceType ) ));
9548    assert_eq! (unsafe {
9549                & ( * ( 0 as * const CThostFtdcExchangeOrderField ) ) .
9550                Direction as * const _ as usize } , 1usize , concat ! (
9551                "Alignment of field: " , stringify ! (
9552                CThostFtdcExchangeOrderField ) , "::" , stringify ! (
9553                Direction ) ));
9554    assert_eq! (unsafe {
9555                & ( * ( 0 as * const CThostFtdcExchangeOrderField ) ) .
9556                CombOffsetFlag as * const _ as usize } , 2usize , concat ! (
9557                "Alignment of field: " , stringify ! (
9558                CThostFtdcExchangeOrderField ) , "::" , stringify ! (
9559                CombOffsetFlag ) ));
9560    assert_eq! (unsafe {
9561                & ( * ( 0 as * const CThostFtdcExchangeOrderField ) ) .
9562                CombHedgeFlag as * const _ as usize } , 7usize , concat ! (
9563                "Alignment of field: " , stringify ! (
9564                CThostFtdcExchangeOrderField ) , "::" , stringify ! (
9565                CombHedgeFlag ) ));
9566    assert_eq! (unsafe {
9567                & ( * ( 0 as * const CThostFtdcExchangeOrderField ) ) .
9568                LimitPrice as * const _ as usize } , 16usize , concat ! (
9569                "Alignment of field: " , stringify ! (
9570                CThostFtdcExchangeOrderField ) , "::" , stringify ! (
9571                LimitPrice ) ));
9572    assert_eq! (unsafe {
9573                & ( * ( 0 as * const CThostFtdcExchangeOrderField ) ) .
9574                VolumeTotalOriginal as * const _ as usize } , 24usize , concat
9575                ! (
9576                "Alignment of field: " , stringify ! (
9577                CThostFtdcExchangeOrderField ) , "::" , stringify ! (
9578                VolumeTotalOriginal ) ));
9579    assert_eq! (unsafe {
9580                & ( * ( 0 as * const CThostFtdcExchangeOrderField ) ) .
9581                TimeCondition as * const _ as usize } , 28usize , concat ! (
9582                "Alignment of field: " , stringify ! (
9583                CThostFtdcExchangeOrderField ) , "::" , stringify ! (
9584                TimeCondition ) ));
9585    assert_eq! (unsafe {
9586                & ( * ( 0 as * const CThostFtdcExchangeOrderField ) ) .
9587                GTDDate as * const _ as usize } , 29usize , concat ! (
9588                "Alignment of field: " , stringify ! (
9589                CThostFtdcExchangeOrderField ) , "::" , stringify ! ( GTDDate
9590                ) ));
9591    assert_eq! (unsafe {
9592                & ( * ( 0 as * const CThostFtdcExchangeOrderField ) ) .
9593                VolumeCondition as * const _ as usize } , 38usize , concat ! (
9594                "Alignment of field: " , stringify ! (
9595                CThostFtdcExchangeOrderField ) , "::" , stringify ! (
9596                VolumeCondition ) ));
9597    assert_eq! (unsafe {
9598                & ( * ( 0 as * const CThostFtdcExchangeOrderField ) ) .
9599                MinVolume as * const _ as usize } , 40usize , concat ! (
9600                "Alignment of field: " , stringify ! (
9601                CThostFtdcExchangeOrderField ) , "::" , stringify ! (
9602                MinVolume ) ));
9603    assert_eq! (unsafe {
9604                & ( * ( 0 as * const CThostFtdcExchangeOrderField ) ) .
9605                ContingentCondition as * const _ as usize } , 44usize , concat
9606                ! (
9607                "Alignment of field: " , stringify ! (
9608                CThostFtdcExchangeOrderField ) , "::" , stringify ! (
9609                ContingentCondition ) ));
9610    assert_eq! (unsafe {
9611                & ( * ( 0 as * const CThostFtdcExchangeOrderField ) ) .
9612                StopPrice as * const _ as usize } , 48usize , concat ! (
9613                "Alignment of field: " , stringify ! (
9614                CThostFtdcExchangeOrderField ) , "::" , stringify ! (
9615                StopPrice ) ));
9616    assert_eq! (unsafe {
9617                & ( * ( 0 as * const CThostFtdcExchangeOrderField ) ) .
9618                ForceCloseReason as * const _ as usize } , 56usize , concat !
9619                (
9620                "Alignment of field: " , stringify ! (
9621                CThostFtdcExchangeOrderField ) , "::" , stringify ! (
9622                ForceCloseReason ) ));
9623    assert_eq! (unsafe {
9624                & ( * ( 0 as * const CThostFtdcExchangeOrderField ) ) .
9625                IsAutoSuspend as * const _ as usize } , 60usize , concat ! (
9626                "Alignment of field: " , stringify ! (
9627                CThostFtdcExchangeOrderField ) , "::" , stringify ! (
9628                IsAutoSuspend ) ));
9629    assert_eq! (unsafe {
9630                & ( * ( 0 as * const CThostFtdcExchangeOrderField ) ) .
9631                BusinessUnit as * const _ as usize } , 64usize , concat ! (
9632                "Alignment of field: " , stringify ! (
9633                CThostFtdcExchangeOrderField ) , "::" , stringify ! (
9634                BusinessUnit ) ));
9635    assert_eq! (unsafe {
9636                & ( * ( 0 as * const CThostFtdcExchangeOrderField ) ) .
9637                RequestID as * const _ as usize } , 88usize , concat ! (
9638                "Alignment of field: " , stringify ! (
9639                CThostFtdcExchangeOrderField ) , "::" , stringify ! (
9640                RequestID ) ));
9641    assert_eq! (unsafe {
9642                & ( * ( 0 as * const CThostFtdcExchangeOrderField ) ) .
9643                OrderLocalID as * const _ as usize } , 92usize , concat ! (
9644                "Alignment of field: " , stringify ! (
9645                CThostFtdcExchangeOrderField ) , "::" , stringify ! (
9646                OrderLocalID ) ));
9647    assert_eq! (unsafe {
9648                & ( * ( 0 as * const CThostFtdcExchangeOrderField ) ) .
9649                ExchangeID as * const _ as usize } , 105usize , concat ! (
9650                "Alignment of field: " , stringify ! (
9651                CThostFtdcExchangeOrderField ) , "::" , stringify ! (
9652                ExchangeID ) ));
9653    assert_eq! (unsafe {
9654                & ( * ( 0 as * const CThostFtdcExchangeOrderField ) ) .
9655                ParticipantID as * const _ as usize } , 114usize , concat ! (
9656                "Alignment of field: " , stringify ! (
9657                CThostFtdcExchangeOrderField ) , "::" , stringify ! (
9658                ParticipantID ) ));
9659    assert_eq! (unsafe {
9660                & ( * ( 0 as * const CThostFtdcExchangeOrderField ) ) .
9661                ClientID as * const _ as usize } , 125usize , concat ! (
9662                "Alignment of field: " , stringify ! (
9663                CThostFtdcExchangeOrderField ) , "::" , stringify ! ( ClientID
9664                ) ));
9665    assert_eq! (unsafe {
9666                & ( * ( 0 as * const CThostFtdcExchangeOrderField ) ) .
9667                ExchangeInstID as * const _ as usize } , 136usize , concat ! (
9668                "Alignment of field: " , stringify ! (
9669                CThostFtdcExchangeOrderField ) , "::" , stringify ! (
9670                ExchangeInstID ) ));
9671    assert_eq! (unsafe {
9672                & ( * ( 0 as * const CThostFtdcExchangeOrderField ) ) .
9673                TraderID as * const _ as usize } , 167usize , concat ! (
9674                "Alignment of field: " , stringify ! (
9675                CThostFtdcExchangeOrderField ) , "::" , stringify ! ( TraderID
9676                ) ));
9677    assert_eq! (unsafe {
9678                & ( * ( 0 as * const CThostFtdcExchangeOrderField ) ) .
9679                InstallID as * const _ as usize } , 188usize , concat ! (
9680                "Alignment of field: " , stringify ! (
9681                CThostFtdcExchangeOrderField ) , "::" , stringify ! (
9682                InstallID ) ));
9683    assert_eq! (unsafe {
9684                & ( * ( 0 as * const CThostFtdcExchangeOrderField ) ) .
9685                OrderSubmitStatus as * const _ as usize } , 192usize , concat
9686                ! (
9687                "Alignment of field: " , stringify ! (
9688                CThostFtdcExchangeOrderField ) , "::" , stringify ! (
9689                OrderSubmitStatus ) ));
9690    assert_eq! (unsafe {
9691                & ( * ( 0 as * const CThostFtdcExchangeOrderField ) ) .
9692                NotifySequence as * const _ as usize } , 196usize , concat ! (
9693                "Alignment of field: " , stringify ! (
9694                CThostFtdcExchangeOrderField ) , "::" , stringify ! (
9695                NotifySequence ) ));
9696    assert_eq! (unsafe {
9697                & ( * ( 0 as * const CThostFtdcExchangeOrderField ) ) .
9698                TradingDay as * const _ as usize } , 200usize , concat ! (
9699                "Alignment of field: " , stringify ! (
9700                CThostFtdcExchangeOrderField ) , "::" , stringify ! (
9701                TradingDay ) ));
9702    assert_eq! (unsafe {
9703                & ( * ( 0 as * const CThostFtdcExchangeOrderField ) ) .
9704                SettlementID as * const _ as usize } , 212usize , concat ! (
9705                "Alignment of field: " , stringify ! (
9706                CThostFtdcExchangeOrderField ) , "::" , stringify ! (
9707                SettlementID ) ));
9708    assert_eq! (unsafe {
9709                & ( * ( 0 as * const CThostFtdcExchangeOrderField ) ) .
9710                OrderSysID as * const _ as usize } , 216usize , concat ! (
9711                "Alignment of field: " , stringify ! (
9712                CThostFtdcExchangeOrderField ) , "::" , stringify ! (
9713                OrderSysID ) ));
9714    assert_eq! (unsafe {
9715                & ( * ( 0 as * const CThostFtdcExchangeOrderField ) ) .
9716                OrderSource as * const _ as usize } , 237usize , concat ! (
9717                "Alignment of field: " , stringify ! (
9718                CThostFtdcExchangeOrderField ) , "::" , stringify ! (
9719                OrderSource ) ));
9720    assert_eq! (unsafe {
9721                & ( * ( 0 as * const CThostFtdcExchangeOrderField ) ) .
9722                OrderStatus as * const _ as usize } , 238usize , concat ! (
9723                "Alignment of field: " , stringify ! (
9724                CThostFtdcExchangeOrderField ) , "::" , stringify ! (
9725                OrderStatus ) ));
9726    assert_eq! (unsafe {
9727                & ( * ( 0 as * const CThostFtdcExchangeOrderField ) ) .
9728                OrderType as * const _ as usize } , 239usize , concat ! (
9729                "Alignment of field: " , stringify ! (
9730                CThostFtdcExchangeOrderField ) , "::" , stringify ! (
9731                OrderType ) ));
9732    assert_eq! (unsafe {
9733                & ( * ( 0 as * const CThostFtdcExchangeOrderField ) ) .
9734                VolumeTraded as * const _ as usize } , 240usize , concat ! (
9735                "Alignment of field: " , stringify ! (
9736                CThostFtdcExchangeOrderField ) , "::" , stringify ! (
9737                VolumeTraded ) ));
9738    assert_eq! (unsafe {
9739                & ( * ( 0 as * const CThostFtdcExchangeOrderField ) ) .
9740                VolumeTotal as * const _ as usize } , 244usize , concat ! (
9741                "Alignment of field: " , stringify ! (
9742                CThostFtdcExchangeOrderField ) , "::" , stringify ! (
9743                VolumeTotal ) ));
9744    assert_eq! (unsafe {
9745                & ( * ( 0 as * const CThostFtdcExchangeOrderField ) ) .
9746                InsertDate as * const _ as usize } , 248usize , concat ! (
9747                "Alignment of field: " , stringify ! (
9748                CThostFtdcExchangeOrderField ) , "::" , stringify ! (
9749                InsertDate ) ));
9750    assert_eq! (unsafe {
9751                & ( * ( 0 as * const CThostFtdcExchangeOrderField ) ) .
9752                InsertTime as * const _ as usize } , 257usize , concat ! (
9753                "Alignment of field: " , stringify ! (
9754                CThostFtdcExchangeOrderField ) , "::" , stringify ! (
9755                InsertTime ) ));
9756    assert_eq! (unsafe {
9757                & ( * ( 0 as * const CThostFtdcExchangeOrderField ) ) .
9758                ActiveTime as * const _ as usize } , 266usize , concat ! (
9759                "Alignment of field: " , stringify ! (
9760                CThostFtdcExchangeOrderField ) , "::" , stringify ! (
9761                ActiveTime ) ));
9762    assert_eq! (unsafe {
9763                & ( * ( 0 as * const CThostFtdcExchangeOrderField ) ) .
9764                SuspendTime as * const _ as usize } , 275usize , concat ! (
9765                "Alignment of field: " , stringify ! (
9766                CThostFtdcExchangeOrderField ) , "::" , stringify ! (
9767                SuspendTime ) ));
9768    assert_eq! (unsafe {
9769                & ( * ( 0 as * const CThostFtdcExchangeOrderField ) ) .
9770                UpdateTime as * const _ as usize } , 284usize , concat ! (
9771                "Alignment of field: " , stringify ! (
9772                CThostFtdcExchangeOrderField ) , "::" , stringify ! (
9773                UpdateTime ) ));
9774    assert_eq! (unsafe {
9775                & ( * ( 0 as * const CThostFtdcExchangeOrderField ) ) .
9776                CancelTime as * const _ as usize } , 293usize , concat ! (
9777                "Alignment of field: " , stringify ! (
9778                CThostFtdcExchangeOrderField ) , "::" , stringify ! (
9779                CancelTime ) ));
9780    assert_eq! (unsafe {
9781                & ( * ( 0 as * const CThostFtdcExchangeOrderField ) ) .
9782                ActiveTraderID as * const _ as usize } , 302usize , concat ! (
9783                "Alignment of field: " , stringify ! (
9784                CThostFtdcExchangeOrderField ) , "::" , stringify ! (
9785                ActiveTraderID ) ));
9786    assert_eq! (unsafe {
9787                & ( * ( 0 as * const CThostFtdcExchangeOrderField ) ) .
9788                ClearingPartID as * const _ as usize } , 323usize , concat ! (
9789                "Alignment of field: " , stringify ! (
9790                CThostFtdcExchangeOrderField ) , "::" , stringify ! (
9791                ClearingPartID ) ));
9792    assert_eq! (unsafe {
9793                & ( * ( 0 as * const CThostFtdcExchangeOrderField ) ) .
9794                SequenceNo as * const _ as usize } , 336usize , concat ! (
9795                "Alignment of field: " , stringify ! (
9796                CThostFtdcExchangeOrderField ) , "::" , stringify ! (
9797                SequenceNo ) ));
9798    assert_eq! (unsafe {
9799                & ( * ( 0 as * const CThostFtdcExchangeOrderField ) ) .
9800                BranchID as * const _ as usize } , 340usize , concat ! (
9801                "Alignment of field: " , stringify ! (
9802                CThostFtdcExchangeOrderField ) , "::" , stringify ! ( BranchID
9803                ) ));
9804    assert_eq! (unsafe {
9805                & ( * ( 0 as * const CThostFtdcExchangeOrderField ) ) .
9806                IPAddress as * const _ as usize } , 349usize , concat ! (
9807                "Alignment of field: " , stringify ! (
9808                CThostFtdcExchangeOrderField ) , "::" , stringify ! (
9809                IPAddress ) ));
9810    assert_eq! (unsafe {
9811                & ( * ( 0 as * const CThostFtdcExchangeOrderField ) ) .
9812                MacAddress as * const _ as usize } , 365usize , concat ! (
9813                "Alignment of field: " , stringify ! (
9814                CThostFtdcExchangeOrderField ) , "::" , stringify ! (
9815                MacAddress ) ));
9816}
9817impl Clone for CThostFtdcExchangeOrderField {
9818    fn clone(&self) -> Self { *self }
9819}
9820/// 交易所报单插入失败
9821#[repr(C)]
9822#[derive(Copy)]
9823pub struct CThostFtdcExchangeOrderInsertErrorField {
9824    /// 交易所代码
9825    pub ExchangeID: TThostFtdcExchangeIDType,
9826    /// 会员代码
9827    pub ParticipantID: TThostFtdcParticipantIDType,
9828    /// 交易所交易员代码
9829    pub TraderID: TThostFtdcTraderIDType,
9830    /// 安装编号
9831    pub InstallID: TThostFtdcInstallIDType,
9832    /// 本地报单编号
9833    pub OrderLocalID: TThostFtdcOrderLocalIDType,
9834    /// 错误代码
9835    pub ErrorID: TThostFtdcErrorIDType,
9836    /// 错误信息
9837    pub ErrorMsg: TThostFtdcErrorMsgType,
9838}
9839#[test]
9840fn bindgen_test_layout_CThostFtdcExchangeOrderInsertErrorField() {
9841    assert_eq!(::std::mem::size_of::<CThostFtdcExchangeOrderInsertErrorField>()
9842               , 152usize , concat ! (
9843               "Size of: " , stringify ! (
9844               CThostFtdcExchangeOrderInsertErrorField ) ));
9845    assert_eq! (::std::mem::align_of::<CThostFtdcExchangeOrderInsertErrorField>()
9846                , 4usize , concat ! (
9847                "Alignment of " , stringify ! (
9848                CThostFtdcExchangeOrderInsertErrorField ) ));
9849    assert_eq! (unsafe {
9850                & ( * ( 0 as * const CThostFtdcExchangeOrderInsertErrorField )
9851                ) . ExchangeID as * const _ as usize } , 0usize , concat ! (
9852                "Alignment of field: " , stringify ! (
9853                CThostFtdcExchangeOrderInsertErrorField ) , "::" , stringify !
9854                ( ExchangeID ) ));
9855    assert_eq! (unsafe {
9856                & ( * ( 0 as * const CThostFtdcExchangeOrderInsertErrorField )
9857                ) . ParticipantID as * const _ as usize } , 9usize , concat !
9858                (
9859                "Alignment of field: " , stringify ! (
9860                CThostFtdcExchangeOrderInsertErrorField ) , "::" , stringify !
9861                ( ParticipantID ) ));
9862    assert_eq! (unsafe {
9863                & ( * ( 0 as * const CThostFtdcExchangeOrderInsertErrorField )
9864                ) . TraderID as * const _ as usize } , 20usize , concat ! (
9865                "Alignment of field: " , stringify ! (
9866                CThostFtdcExchangeOrderInsertErrorField ) , "::" , stringify !
9867                ( TraderID ) ));
9868    assert_eq! (unsafe {
9869                & ( * ( 0 as * const CThostFtdcExchangeOrderInsertErrorField )
9870                ) . InstallID as * const _ as usize } , 44usize , concat ! (
9871                "Alignment of field: " , stringify ! (
9872                CThostFtdcExchangeOrderInsertErrorField ) , "::" , stringify !
9873                ( InstallID ) ));
9874    assert_eq! (unsafe {
9875                & ( * ( 0 as * const CThostFtdcExchangeOrderInsertErrorField )
9876                ) . OrderLocalID as * const _ as usize } , 48usize , concat !
9877                (
9878                "Alignment of field: " , stringify ! (
9879                CThostFtdcExchangeOrderInsertErrorField ) , "::" , stringify !
9880                ( OrderLocalID ) ));
9881    assert_eq! (unsafe {
9882                & ( * ( 0 as * const CThostFtdcExchangeOrderInsertErrorField )
9883                ) . ErrorID as * const _ as usize } , 64usize , concat ! (
9884                "Alignment of field: " , stringify ! (
9885                CThostFtdcExchangeOrderInsertErrorField ) , "::" , stringify !
9886                ( ErrorID ) ));
9887    assert_eq! (unsafe {
9888                & ( * ( 0 as * const CThostFtdcExchangeOrderInsertErrorField )
9889                ) . ErrorMsg as * const _ as usize } , 68usize , concat ! (
9890                "Alignment of field: " , stringify ! (
9891                CThostFtdcExchangeOrderInsertErrorField ) , "::" , stringify !
9892                ( ErrorMsg ) ));
9893}
9894impl Clone for CThostFtdcExchangeOrderInsertErrorField {
9895    fn clone(&self) -> Self { *self }
9896}
9897impl Default for CThostFtdcExchangeOrderInsertErrorField {
9898    fn default() -> Self { unsafe { ::std::mem::zeroed() } }
9899}
9900/// 输入报单操作
9901#[repr(C)]
9902#[derive(Default, Copy)]
9903pub struct CThostFtdcInputOrderActionField {
9904    /// 经纪公司代码
9905    pub BrokerID: TThostFtdcBrokerIDType,
9906    /// 投资者代码
9907    pub InvestorID: TThostFtdcInvestorIDType,
9908    /// 报单操作引用
9909    pub OrderActionRef: TThostFtdcOrderActionRefType,
9910    /// 报单引用
9911    pub OrderRef: TThostFtdcOrderRefType,
9912    /// 请求编号
9913    pub RequestID: TThostFtdcRequestIDType,
9914    /// 前置编号
9915    pub FrontID: TThostFtdcFrontIDType,
9916    /// 会话编号
9917    pub SessionID: TThostFtdcSessionIDType,
9918    /// 交易所代码
9919    pub ExchangeID: TThostFtdcExchangeIDType,
9920    /// 报单编号
9921    pub OrderSysID: TThostFtdcOrderSysIDType,
9922    /// 操作标志
9923    pub ActionFlag: TThostFtdcActionFlagType,
9924    /// 价格
9925    pub LimitPrice: TThostFtdcPriceType,
9926    /// 数量变化
9927    pub VolumeChange: TThostFtdcVolumeType,
9928    /// 用户代码
9929    pub UserID: TThostFtdcUserIDType,
9930    /// 合约代码
9931    pub InstrumentID: TThostFtdcInstrumentIDType,
9932    /// 投资单元代码
9933    pub InvestUnitID: TThostFtdcInvestUnitIDType,
9934    /// IP地址
9935    pub IPAddress: TThostFtdcIPAddressType,
9936    /// Mac地址
9937    pub MacAddress: TThostFtdcMacAddressType,
9938}
9939#[test]
9940fn bindgen_test_layout_CThostFtdcInputOrderActionField() {
9941    assert_eq!(::std::mem::size_of::<CThostFtdcInputOrderActionField>() ,
9942               208usize , concat ! (
9943               "Size of: " , stringify ! ( CThostFtdcInputOrderActionField )
9944               ));
9945    assert_eq! (::std::mem::align_of::<CThostFtdcInputOrderActionField>() ,
9946                8usize , concat ! (
9947                "Alignment of " , stringify ! (
9948                CThostFtdcInputOrderActionField ) ));
9949    assert_eq! (unsafe {
9950                & ( * ( 0 as * const CThostFtdcInputOrderActionField ) ) .
9951                BrokerID as * const _ as usize } , 0usize , concat ! (
9952                "Alignment of field: " , stringify ! (
9953                CThostFtdcInputOrderActionField ) , "::" , stringify ! (
9954                BrokerID ) ));
9955    assert_eq! (unsafe {
9956                & ( * ( 0 as * const CThostFtdcInputOrderActionField ) ) .
9957                InvestorID as * const _ as usize } , 11usize , concat ! (
9958                "Alignment of field: " , stringify ! (
9959                CThostFtdcInputOrderActionField ) , "::" , stringify ! (
9960                InvestorID ) ));
9961    assert_eq! (unsafe {
9962                & ( * ( 0 as * const CThostFtdcInputOrderActionField ) ) .
9963                OrderActionRef as * const _ as usize } , 24usize , concat ! (
9964                "Alignment of field: " , stringify ! (
9965                CThostFtdcInputOrderActionField ) , "::" , stringify ! (
9966                OrderActionRef ) ));
9967    assert_eq! (unsafe {
9968                & ( * ( 0 as * const CThostFtdcInputOrderActionField ) ) .
9969                OrderRef as * const _ as usize } , 28usize , concat ! (
9970                "Alignment of field: " , stringify ! (
9971                CThostFtdcInputOrderActionField ) , "::" , stringify ! (
9972                OrderRef ) ));
9973    assert_eq! (unsafe {
9974                & ( * ( 0 as * const CThostFtdcInputOrderActionField ) ) .
9975                RequestID as * const _ as usize } , 44usize , concat ! (
9976                "Alignment of field: " , stringify ! (
9977                CThostFtdcInputOrderActionField ) , "::" , stringify ! (
9978                RequestID ) ));
9979    assert_eq! (unsafe {
9980                & ( * ( 0 as * const CThostFtdcInputOrderActionField ) ) .
9981                FrontID as * const _ as usize } , 48usize , concat ! (
9982                "Alignment of field: " , stringify ! (
9983                CThostFtdcInputOrderActionField ) , "::" , stringify ! (
9984                FrontID ) ));
9985    assert_eq! (unsafe {
9986                & ( * ( 0 as * const CThostFtdcInputOrderActionField ) ) .
9987                SessionID as * const _ as usize } , 52usize , concat ! (
9988                "Alignment of field: " , stringify ! (
9989                CThostFtdcInputOrderActionField ) , "::" , stringify ! (
9990                SessionID ) ));
9991    assert_eq! (unsafe {
9992                & ( * ( 0 as * const CThostFtdcInputOrderActionField ) ) .
9993                ExchangeID as * const _ as usize } , 56usize , concat ! (
9994                "Alignment of field: " , stringify ! (
9995                CThostFtdcInputOrderActionField ) , "::" , stringify ! (
9996                ExchangeID ) ));
9997    assert_eq! (unsafe {
9998                & ( * ( 0 as * const CThostFtdcInputOrderActionField ) ) .
9999                OrderSysID as * const _ as usize } , 65usize , concat ! (
10000                "Alignment of field: " , stringify ! (
10001                CThostFtdcInputOrderActionField ) , "::" , stringify ! (
10002                OrderSysID ) ));
10003    assert_eq! (unsafe {
10004                & ( * ( 0 as * const CThostFtdcInputOrderActionField ) ) .
10005                ActionFlag as * const _ as usize } , 86usize , concat ! (
10006                "Alignment of field: " , stringify ! (
10007                CThostFtdcInputOrderActionField ) , "::" , stringify ! (
10008                ActionFlag ) ));
10009    assert_eq! (unsafe {
10010                & ( * ( 0 as * const CThostFtdcInputOrderActionField ) ) .
10011                LimitPrice as * const _ as usize } , 88usize , concat ! (
10012                "Alignment of field: " , stringify ! (
10013                CThostFtdcInputOrderActionField ) , "::" , stringify ! (
10014                LimitPrice ) ));
10015    assert_eq! (unsafe {
10016                & ( * ( 0 as * const CThostFtdcInputOrderActionField ) ) .
10017                VolumeChange as * const _ as usize } , 96usize , concat ! (
10018                "Alignment of field: " , stringify ! (
10019                CThostFtdcInputOrderActionField ) , "::" , stringify ! (
10020                VolumeChange ) ));
10021    assert_eq! (unsafe {
10022                & ( * ( 0 as * const CThostFtdcInputOrderActionField ) ) .
10023                UserID as * const _ as usize } , 100usize , concat ! (
10024                "Alignment of field: " , stringify ! (
10025                CThostFtdcInputOrderActionField ) , "::" , stringify ! (
10026                UserID ) ));
10027    assert_eq! (unsafe {
10028                & ( * ( 0 as * const CThostFtdcInputOrderActionField ) ) .
10029                InstrumentID as * const _ as usize } , 116usize , concat ! (
10030                "Alignment of field: " , stringify ! (
10031                CThostFtdcInputOrderActionField ) , "::" , stringify ! (
10032                InstrumentID ) ));
10033    assert_eq! (unsafe {
10034                & ( * ( 0 as * const CThostFtdcInputOrderActionField ) ) .
10035                InvestUnitID as * const _ as usize } , 147usize , concat ! (
10036                "Alignment of field: " , stringify ! (
10037                CThostFtdcInputOrderActionField ) , "::" , stringify ! (
10038                InvestUnitID ) ));
10039    assert_eq! (unsafe {
10040                & ( * ( 0 as * const CThostFtdcInputOrderActionField ) ) .
10041                IPAddress as * const _ as usize } , 164usize , concat ! (
10042                "Alignment of field: " , stringify ! (
10043                CThostFtdcInputOrderActionField ) , "::" , stringify ! (
10044                IPAddress ) ));
10045    assert_eq! (unsafe {
10046                & ( * ( 0 as * const CThostFtdcInputOrderActionField ) ) .
10047                MacAddress as * const _ as usize } , 180usize , concat ! (
10048                "Alignment of field: " , stringify ! (
10049                CThostFtdcInputOrderActionField ) , "::" , stringify ! (
10050                MacAddress ) ));
10051}
10052impl Clone for CThostFtdcInputOrderActionField {
10053    fn clone(&self) -> Self { *self }
10054}
10055/// 报单操作
10056#[repr(C)]
10057#[derive(Copy)]
10058pub struct CThostFtdcOrderActionField {
10059    /// 经纪公司代码
10060    pub BrokerID: TThostFtdcBrokerIDType,
10061    /// 投资者代码
10062    pub InvestorID: TThostFtdcInvestorIDType,
10063    /// 报单操作引用
10064    pub OrderActionRef: TThostFtdcOrderActionRefType,
10065    /// 报单引用
10066    pub OrderRef: TThostFtdcOrderRefType,
10067    /// 请求编号
10068    pub RequestID: TThostFtdcRequestIDType,
10069    /// 前置编号
10070    pub FrontID: TThostFtdcFrontIDType,
10071    /// 会话编号
10072    pub SessionID: TThostFtdcSessionIDType,
10073    /// 交易所代码
10074    pub ExchangeID: TThostFtdcExchangeIDType,
10075    /// 报单编号
10076    pub OrderSysID: TThostFtdcOrderSysIDType,
10077    /// 操作标志
10078    pub ActionFlag: TThostFtdcActionFlagType,
10079    /// 价格
10080    pub LimitPrice: TThostFtdcPriceType,
10081    /// 数量变化
10082    pub VolumeChange: TThostFtdcVolumeType,
10083    /// 操作日期
10084    pub ActionDate: TThostFtdcDateType,
10085    /// 操作时间
10086    pub ActionTime: TThostFtdcTimeType,
10087    /// 交易所交易员代码
10088    pub TraderID: TThostFtdcTraderIDType,
10089    /// 安装编号
10090    pub InstallID: TThostFtdcInstallIDType,
10091    /// 本地报单编号
10092    pub OrderLocalID: TThostFtdcOrderLocalIDType,
10093    /// 操作本地编号
10094    pub ActionLocalID: TThostFtdcOrderLocalIDType,
10095    /// 会员代码
10096    pub ParticipantID: TThostFtdcParticipantIDType,
10097    /// 客户代码
10098    pub ClientID: TThostFtdcClientIDType,
10099    /// 业务单元
10100    pub BusinessUnit: TThostFtdcBusinessUnitType,
10101    /// 报单操作状态
10102    pub OrderActionStatus: TThostFtdcOrderActionStatusType,
10103    /// 用户代码
10104    pub UserID: TThostFtdcUserIDType,
10105    /// 状态信息
10106    pub StatusMsg: TThostFtdcErrorMsgType,
10107    /// 合约代码
10108    pub InstrumentID: TThostFtdcInstrumentIDType,
10109    /// 营业部编号
10110    pub BranchID: TThostFtdcBranchIDType,
10111    /// 投资单元代码
10112    pub InvestUnitID: TThostFtdcInvestUnitIDType,
10113    /// IP地址
10114    pub IPAddress: TThostFtdcIPAddressType,
10115    /// Mac地址
10116    pub MacAddress: TThostFtdcMacAddressType,
10117}
10118#[test]
10119fn bindgen_test_layout_CThostFtdcOrderActionField() {
10120    assert_eq!(::std::mem::size_of::<CThostFtdcOrderActionField>() , 408usize
10121               , concat ! (
10122               "Size of: " , stringify ! ( CThostFtdcOrderActionField ) ));
10123    assert_eq! (::std::mem::align_of::<CThostFtdcOrderActionField>() , 8usize
10124                , concat ! (
10125                "Alignment of " , stringify ! ( CThostFtdcOrderActionField )
10126                ));
10127    assert_eq! (unsafe {
10128                & ( * ( 0 as * const CThostFtdcOrderActionField ) ) . BrokerID
10129                as * const _ as usize } , 0usize , concat ! (
10130                "Alignment of field: " , stringify ! (
10131                CThostFtdcOrderActionField ) , "::" , stringify ! ( BrokerID )
10132                ));
10133    assert_eq! (unsafe {
10134                & ( * ( 0 as * const CThostFtdcOrderActionField ) ) .
10135                InvestorID as * const _ as usize } , 11usize , concat ! (
10136                "Alignment of field: " , stringify ! (
10137                CThostFtdcOrderActionField ) , "::" , stringify ! ( InvestorID
10138                ) ));
10139    assert_eq! (unsafe {
10140                & ( * ( 0 as * const CThostFtdcOrderActionField ) ) .
10141                OrderActionRef as * const _ as usize } , 24usize , concat ! (
10142                "Alignment of field: " , stringify ! (
10143                CThostFtdcOrderActionField ) , "::" , stringify ! (
10144                OrderActionRef ) ));
10145    assert_eq! (unsafe {
10146                & ( * ( 0 as * const CThostFtdcOrderActionField ) ) . OrderRef
10147                as * const _ as usize } , 28usize , concat ! (
10148                "Alignment of field: " , stringify ! (
10149                CThostFtdcOrderActionField ) , "::" , stringify ! ( OrderRef )
10150                ));
10151    assert_eq! (unsafe {
10152                & ( * ( 0 as * const CThostFtdcOrderActionField ) ) .
10153                RequestID as * const _ as usize } , 44usize , concat ! (
10154                "Alignment of field: " , stringify ! (
10155                CThostFtdcOrderActionField ) , "::" , stringify ! ( RequestID
10156                ) ));
10157    assert_eq! (unsafe {
10158                & ( * ( 0 as * const CThostFtdcOrderActionField ) ) . FrontID
10159                as * const _ as usize } , 48usize , concat ! (
10160                "Alignment of field: " , stringify ! (
10161                CThostFtdcOrderActionField ) , "::" , stringify ! ( FrontID )
10162                ));
10163    assert_eq! (unsafe {
10164                & ( * ( 0 as * const CThostFtdcOrderActionField ) ) .
10165                SessionID as * const _ as usize } , 52usize , concat ! (
10166                "Alignment of field: " , stringify ! (
10167                CThostFtdcOrderActionField ) , "::" , stringify ! ( SessionID
10168                ) ));
10169    assert_eq! (unsafe {
10170                & ( * ( 0 as * const CThostFtdcOrderActionField ) ) .
10171                ExchangeID as * const _ as usize } , 56usize , concat ! (
10172                "Alignment of field: " , stringify ! (
10173                CThostFtdcOrderActionField ) , "::" , stringify ! ( ExchangeID
10174                ) ));
10175    assert_eq! (unsafe {
10176                & ( * ( 0 as * const CThostFtdcOrderActionField ) ) .
10177                OrderSysID as * const _ as usize } , 65usize , concat ! (
10178                "Alignment of field: " , stringify ! (
10179                CThostFtdcOrderActionField ) , "::" , stringify ! ( OrderSysID
10180                ) ));
10181    assert_eq! (unsafe {
10182                & ( * ( 0 as * const CThostFtdcOrderActionField ) ) .
10183                ActionFlag as * const _ as usize } , 86usize , concat ! (
10184                "Alignment of field: " , stringify ! (
10185                CThostFtdcOrderActionField ) , "::" , stringify ! ( ActionFlag
10186                ) ));
10187    assert_eq! (unsafe {
10188                & ( * ( 0 as * const CThostFtdcOrderActionField ) ) .
10189                LimitPrice as * const _ as usize } , 88usize , concat ! (
10190                "Alignment of field: " , stringify ! (
10191                CThostFtdcOrderActionField ) , "::" , stringify ! ( LimitPrice
10192                ) ));
10193    assert_eq! (unsafe {
10194                & ( * ( 0 as * const CThostFtdcOrderActionField ) ) .
10195                VolumeChange as * const _ as usize } , 96usize , concat ! (
10196                "Alignment of field: " , stringify ! (
10197                CThostFtdcOrderActionField ) , "::" , stringify ! (
10198                VolumeChange ) ));
10199    assert_eq! (unsafe {
10200                & ( * ( 0 as * const CThostFtdcOrderActionField ) ) .
10201                ActionDate as * const _ as usize } , 100usize , concat ! (
10202                "Alignment of field: " , stringify ! (
10203                CThostFtdcOrderActionField ) , "::" , stringify ! ( ActionDate
10204                ) ));
10205    assert_eq! (unsafe {
10206                & ( * ( 0 as * const CThostFtdcOrderActionField ) ) .
10207                ActionTime as * const _ as usize } , 109usize , concat ! (
10208                "Alignment of field: " , stringify ! (
10209                CThostFtdcOrderActionField ) , "::" , stringify ! ( ActionTime
10210                ) ));
10211    assert_eq! (unsafe {
10212                & ( * ( 0 as * const CThostFtdcOrderActionField ) ) . TraderID
10213                as * const _ as usize } , 118usize , concat ! (
10214                "Alignment of field: " , stringify ! (
10215                CThostFtdcOrderActionField ) , "::" , stringify ! ( TraderID )
10216                ));
10217    assert_eq! (unsafe {
10218                & ( * ( 0 as * const CThostFtdcOrderActionField ) ) .
10219                InstallID as * const _ as usize } , 140usize , concat ! (
10220                "Alignment of field: " , stringify ! (
10221                CThostFtdcOrderActionField ) , "::" , stringify ! ( InstallID
10222                ) ));
10223    assert_eq! (unsafe {
10224                & ( * ( 0 as * const CThostFtdcOrderActionField ) ) .
10225                OrderLocalID as * const _ as usize } , 144usize , concat ! (
10226                "Alignment of field: " , stringify ! (
10227                CThostFtdcOrderActionField ) , "::" , stringify ! (
10228                OrderLocalID ) ));
10229    assert_eq! (unsafe {
10230                & ( * ( 0 as * const CThostFtdcOrderActionField ) ) .
10231                ActionLocalID as * const _ as usize } , 157usize , concat ! (
10232                "Alignment of field: " , stringify ! (
10233                CThostFtdcOrderActionField ) , "::" , stringify ! (
10234                ActionLocalID ) ));
10235    assert_eq! (unsafe {
10236                & ( * ( 0 as * const CThostFtdcOrderActionField ) ) .
10237                ParticipantID as * const _ as usize } , 170usize , concat ! (
10238                "Alignment of field: " , stringify ! (
10239                CThostFtdcOrderActionField ) , "::" , stringify ! (
10240                ParticipantID ) ));
10241    assert_eq! (unsafe {
10242                & ( * ( 0 as * const CThostFtdcOrderActionField ) ) . ClientID
10243                as * const _ as usize } , 181usize , concat ! (
10244                "Alignment of field: " , stringify ! (
10245                CThostFtdcOrderActionField ) , "::" , stringify ! ( ClientID )
10246                ));
10247    assert_eq! (unsafe {
10248                & ( * ( 0 as * const CThostFtdcOrderActionField ) ) .
10249                BusinessUnit as * const _ as usize } , 192usize , concat ! (
10250                "Alignment of field: " , stringify ! (
10251                CThostFtdcOrderActionField ) , "::" , stringify ! (
10252                BusinessUnit ) ));
10253    assert_eq! (unsafe {
10254                & ( * ( 0 as * const CThostFtdcOrderActionField ) ) .
10255                OrderActionStatus as * const _ as usize } , 213usize , concat
10256                ! (
10257                "Alignment of field: " , stringify ! (
10258                CThostFtdcOrderActionField ) , "::" , stringify ! (
10259                OrderActionStatus ) ));
10260    assert_eq! (unsafe {
10261                & ( * ( 0 as * const CThostFtdcOrderActionField ) ) . UserID
10262                as * const _ as usize } , 214usize , concat ! (
10263                "Alignment of field: " , stringify ! (
10264                CThostFtdcOrderActionField ) , "::" , stringify ! ( UserID )
10265                ));
10266    assert_eq! (unsafe {
10267                & ( * ( 0 as * const CThostFtdcOrderActionField ) ) .
10268                StatusMsg as * const _ as usize } , 230usize , concat ! (
10269                "Alignment of field: " , stringify ! (
10270                CThostFtdcOrderActionField ) , "::" , stringify ! ( StatusMsg
10271                ) ));
10272    assert_eq! (unsafe {
10273                & ( * ( 0 as * const CThostFtdcOrderActionField ) ) .
10274                InstrumentID as * const _ as usize } , 311usize , concat ! (
10275                "Alignment of field: " , stringify ! (
10276                CThostFtdcOrderActionField ) , "::" , stringify ! (
10277                InstrumentID ) ));
10278    assert_eq! (unsafe {
10279                & ( * ( 0 as * const CThostFtdcOrderActionField ) ) . BranchID
10280                as * const _ as usize } , 342usize , concat ! (
10281                "Alignment of field: " , stringify ! (
10282                CThostFtdcOrderActionField ) , "::" , stringify ! ( BranchID )
10283                ));
10284    assert_eq! (unsafe {
10285                & ( * ( 0 as * const CThostFtdcOrderActionField ) ) .
10286                InvestUnitID as * const _ as usize } , 351usize , concat ! (
10287                "Alignment of field: " , stringify ! (
10288                CThostFtdcOrderActionField ) , "::" , stringify ! (
10289                InvestUnitID ) ));
10290    assert_eq! (unsafe {
10291                & ( * ( 0 as * const CThostFtdcOrderActionField ) ) .
10292                IPAddress as * const _ as usize } , 368usize , concat ! (
10293                "Alignment of field: " , stringify ! (
10294                CThostFtdcOrderActionField ) , "::" , stringify ! ( IPAddress
10295                ) ));
10296    assert_eq! (unsafe {
10297                & ( * ( 0 as * const CThostFtdcOrderActionField ) ) .
10298                MacAddress as * const _ as usize } , 384usize , concat ! (
10299                "Alignment of field: " , stringify ! (
10300                CThostFtdcOrderActionField ) , "::" , stringify ! ( MacAddress
10301                ) ));
10302}
10303impl Clone for CThostFtdcOrderActionField {
10304    fn clone(&self) -> Self { *self }
10305}
10306impl Default for CThostFtdcOrderActionField {
10307    fn default() -> Self { unsafe { ::std::mem::zeroed() } }
10308}
10309/// 交易所报单操作
10310#[repr(C)]
10311#[derive(Default, Copy)]
10312pub struct CThostFtdcExchangeOrderActionField {
10313    /// 交易所代码
10314    pub ExchangeID: TThostFtdcExchangeIDType,
10315    /// 报单编号
10316    pub OrderSysID: TThostFtdcOrderSysIDType,
10317    /// 操作标志
10318    pub ActionFlag: TThostFtdcActionFlagType,
10319    /// 价格
10320    pub LimitPrice: TThostFtdcPriceType,
10321    /// 数量变化
10322    pub VolumeChange: TThostFtdcVolumeType,
10323    /// 操作日期
10324    pub ActionDate: TThostFtdcDateType,
10325    /// 操作时间
10326    pub ActionTime: TThostFtdcTimeType,
10327    /// 交易所交易员代码
10328    pub TraderID: TThostFtdcTraderIDType,
10329    /// 安装编号
10330    pub InstallID: TThostFtdcInstallIDType,
10331    /// 本地报单编号
10332    pub OrderLocalID: TThostFtdcOrderLocalIDType,
10333    /// 操作本地编号
10334    pub ActionLocalID: TThostFtdcOrderLocalIDType,
10335    /// 会员代码
10336    pub ParticipantID: TThostFtdcParticipantIDType,
10337    /// 客户代码
10338    pub ClientID: TThostFtdcClientIDType,
10339    /// 业务单元
10340    pub BusinessUnit: TThostFtdcBusinessUnitType,
10341    /// 报单操作状态
10342    pub OrderActionStatus: TThostFtdcOrderActionStatusType,
10343    /// 用户代码
10344    pub UserID: TThostFtdcUserIDType,
10345    /// 营业部编号
10346    pub BranchID: TThostFtdcBranchIDType,
10347    /// IP地址
10348    pub IPAddress: TThostFtdcIPAddressType,
10349    /// Mac地址
10350    pub MacAddress: TThostFtdcMacAddressType,
10351}
10352#[test]
10353fn bindgen_test_layout_CThostFtdcExchangeOrderActionField() {
10354    assert_eq!(::std::mem::size_of::<CThostFtdcExchangeOrderActionField>() ,
10355               224usize , concat ! (
10356               "Size of: " , stringify ! ( CThostFtdcExchangeOrderActionField
10357               ) ));
10358    assert_eq! (::std::mem::align_of::<CThostFtdcExchangeOrderActionField>() ,
10359                8usize , concat ! (
10360                "Alignment of " , stringify ! (
10361                CThostFtdcExchangeOrderActionField ) ));
10362    assert_eq! (unsafe {
10363                & ( * ( 0 as * const CThostFtdcExchangeOrderActionField ) ) .
10364                ExchangeID as * const _ as usize } , 0usize , concat ! (
10365                "Alignment of field: " , stringify ! (
10366                CThostFtdcExchangeOrderActionField ) , "::" , stringify ! (
10367                ExchangeID ) ));
10368    assert_eq! (unsafe {
10369                & ( * ( 0 as * const CThostFtdcExchangeOrderActionField ) ) .
10370                OrderSysID as * const _ as usize } , 9usize , concat ! (
10371                "Alignment of field: " , stringify ! (
10372                CThostFtdcExchangeOrderActionField ) , "::" , stringify ! (
10373                OrderSysID ) ));
10374    assert_eq! (unsafe {
10375                & ( * ( 0 as * const CThostFtdcExchangeOrderActionField ) ) .
10376                ActionFlag as * const _ as usize } , 30usize , concat ! (
10377                "Alignment of field: " , stringify ! (
10378                CThostFtdcExchangeOrderActionField ) , "::" , stringify ! (
10379                ActionFlag ) ));
10380    assert_eq! (unsafe {
10381                & ( * ( 0 as * const CThostFtdcExchangeOrderActionField ) ) .
10382                LimitPrice as * const _ as usize } , 32usize , concat ! (
10383                "Alignment of field: " , stringify ! (
10384                CThostFtdcExchangeOrderActionField ) , "::" , stringify ! (
10385                LimitPrice ) ));
10386    assert_eq! (unsafe {
10387                & ( * ( 0 as * const CThostFtdcExchangeOrderActionField ) ) .
10388                VolumeChange as * const _ as usize } , 40usize , concat ! (
10389                "Alignment of field: " , stringify ! (
10390                CThostFtdcExchangeOrderActionField ) , "::" , stringify ! (
10391                VolumeChange ) ));
10392    assert_eq! (unsafe {
10393                & ( * ( 0 as * const CThostFtdcExchangeOrderActionField ) ) .
10394                ActionDate as * const _ as usize } , 44usize , concat ! (
10395                "Alignment of field: " , stringify ! (
10396                CThostFtdcExchangeOrderActionField ) , "::" , stringify ! (
10397                ActionDate ) ));
10398    assert_eq! (unsafe {
10399                & ( * ( 0 as * const CThostFtdcExchangeOrderActionField ) ) .
10400                ActionTime as * const _ as usize } , 53usize , concat ! (
10401                "Alignment of field: " , stringify ! (
10402                CThostFtdcExchangeOrderActionField ) , "::" , stringify ! (
10403                ActionTime ) ));
10404    assert_eq! (unsafe {
10405                & ( * ( 0 as * const CThostFtdcExchangeOrderActionField ) ) .
10406                TraderID as * const _ as usize } , 62usize , concat ! (
10407                "Alignment of field: " , stringify ! (
10408                CThostFtdcExchangeOrderActionField ) , "::" , stringify ! (
10409                TraderID ) ));
10410    assert_eq! (unsafe {
10411                & ( * ( 0 as * const CThostFtdcExchangeOrderActionField ) ) .
10412                InstallID as * const _ as usize } , 84usize , concat ! (
10413                "Alignment of field: " , stringify ! (
10414                CThostFtdcExchangeOrderActionField ) , "::" , stringify ! (
10415                InstallID ) ));
10416    assert_eq! (unsafe {
10417                & ( * ( 0 as * const CThostFtdcExchangeOrderActionField ) ) .
10418                OrderLocalID as * const _ as usize } , 88usize , concat ! (
10419                "Alignment of field: " , stringify ! (
10420                CThostFtdcExchangeOrderActionField ) , "::" , stringify ! (
10421                OrderLocalID ) ));
10422    assert_eq! (unsafe {
10423                & ( * ( 0 as * const CThostFtdcExchangeOrderActionField ) ) .
10424                ActionLocalID as * const _ as usize } , 101usize , concat ! (
10425                "Alignment of field: " , stringify ! (
10426                CThostFtdcExchangeOrderActionField ) , "::" , stringify ! (
10427                ActionLocalID ) ));
10428    assert_eq! (unsafe {
10429                & ( * ( 0 as * const CThostFtdcExchangeOrderActionField ) ) .
10430                ParticipantID as * const _ as usize } , 114usize , concat ! (
10431                "Alignment of field: " , stringify ! (
10432                CThostFtdcExchangeOrderActionField ) , "::" , stringify ! (
10433                ParticipantID ) ));
10434    assert_eq! (unsafe {
10435                & ( * ( 0 as * const CThostFtdcExchangeOrderActionField ) ) .
10436                ClientID as * const _ as usize } , 125usize , concat ! (
10437                "Alignment of field: " , stringify ! (
10438                CThostFtdcExchangeOrderActionField ) , "::" , stringify ! (
10439                ClientID ) ));
10440    assert_eq! (unsafe {
10441                & ( * ( 0 as * const CThostFtdcExchangeOrderActionField ) ) .
10442                BusinessUnit as * const _ as usize } , 136usize , concat ! (
10443                "Alignment of field: " , stringify ! (
10444                CThostFtdcExchangeOrderActionField ) , "::" , stringify ! (
10445                BusinessUnit ) ));
10446    assert_eq! (unsafe {
10447                & ( * ( 0 as * const CThostFtdcExchangeOrderActionField ) ) .
10448                OrderActionStatus as * const _ as usize } , 157usize , concat
10449                ! (
10450                "Alignment of field: " , stringify ! (
10451                CThostFtdcExchangeOrderActionField ) , "::" , stringify ! (
10452                OrderActionStatus ) ));
10453    assert_eq! (unsafe {
10454                & ( * ( 0 as * const CThostFtdcExchangeOrderActionField ) ) .
10455                UserID as * const _ as usize } , 158usize , concat ! (
10456                "Alignment of field: " , stringify ! (
10457                CThostFtdcExchangeOrderActionField ) , "::" , stringify ! (
10458                UserID ) ));
10459    assert_eq! (unsafe {
10460                & ( * ( 0 as * const CThostFtdcExchangeOrderActionField ) ) .
10461                BranchID as * const _ as usize } , 174usize , concat ! (
10462                "Alignment of field: " , stringify ! (
10463                CThostFtdcExchangeOrderActionField ) , "::" , stringify ! (
10464                BranchID ) ));
10465    assert_eq! (unsafe {
10466                & ( * ( 0 as * const CThostFtdcExchangeOrderActionField ) ) .
10467                IPAddress as * const _ as usize } , 183usize , concat ! (
10468                "Alignment of field: " , stringify ! (
10469                CThostFtdcExchangeOrderActionField ) , "::" , stringify ! (
10470                IPAddress ) ));
10471    assert_eq! (unsafe {
10472                & ( * ( 0 as * const CThostFtdcExchangeOrderActionField ) ) .
10473                MacAddress as * const _ as usize } , 199usize , concat ! (
10474                "Alignment of field: " , stringify ! (
10475                CThostFtdcExchangeOrderActionField ) , "::" , stringify ! (
10476                MacAddress ) ));
10477}
10478impl Clone for CThostFtdcExchangeOrderActionField {
10479    fn clone(&self) -> Self { *self }
10480}
10481/// 交易所报单操作失败
10482#[repr(C)]
10483#[derive(Copy)]
10484pub struct CThostFtdcExchangeOrderActionErrorField {
10485    /// 交易所代码
10486    pub ExchangeID: TThostFtdcExchangeIDType,
10487    /// 报单编号
10488    pub OrderSysID: TThostFtdcOrderSysIDType,
10489    /// 交易所交易员代码
10490    pub TraderID: TThostFtdcTraderIDType,
10491    /// 安装编号
10492    pub InstallID: TThostFtdcInstallIDType,
10493    /// 本地报单编号
10494    pub OrderLocalID: TThostFtdcOrderLocalIDType,
10495    /// 操作本地编号
10496    pub ActionLocalID: TThostFtdcOrderLocalIDType,
10497    /// 错误代码
10498    pub ErrorID: TThostFtdcErrorIDType,
10499    /// 错误信息
10500    pub ErrorMsg: TThostFtdcErrorMsgType,
10501}
10502#[test]
10503fn bindgen_test_layout_CThostFtdcExchangeOrderActionErrorField() {
10504    assert_eq!(::std::mem::size_of::<CThostFtdcExchangeOrderActionErrorField>()
10505               , 172usize , concat ! (
10506               "Size of: " , stringify ! (
10507               CThostFtdcExchangeOrderActionErrorField ) ));
10508    assert_eq! (::std::mem::align_of::<CThostFtdcExchangeOrderActionErrorField>()
10509                , 4usize , concat ! (
10510                "Alignment of " , stringify ! (
10511                CThostFtdcExchangeOrderActionErrorField ) ));
10512    assert_eq! (unsafe {
10513                & ( * ( 0 as * const CThostFtdcExchangeOrderActionErrorField )
10514                ) . ExchangeID as * const _ as usize } , 0usize , concat ! (
10515                "Alignment of field: " , stringify ! (
10516                CThostFtdcExchangeOrderActionErrorField ) , "::" , stringify !
10517                ( ExchangeID ) ));
10518    assert_eq! (unsafe {
10519                & ( * ( 0 as * const CThostFtdcExchangeOrderActionErrorField )
10520                ) . OrderSysID as * const _ as usize } , 9usize , concat ! (
10521                "Alignment of field: " , stringify ! (
10522                CThostFtdcExchangeOrderActionErrorField ) , "::" , stringify !
10523                ( OrderSysID ) ));
10524    assert_eq! (unsafe {
10525                & ( * ( 0 as * const CThostFtdcExchangeOrderActionErrorField )
10526                ) . TraderID as * const _ as usize } , 30usize , concat ! (
10527                "Alignment of field: " , stringify ! (
10528                CThostFtdcExchangeOrderActionErrorField ) , "::" , stringify !
10529                ( TraderID ) ));
10530    assert_eq! (unsafe {
10531                & ( * ( 0 as * const CThostFtdcExchangeOrderActionErrorField )
10532                ) . InstallID as * const _ as usize } , 52usize , concat ! (
10533                "Alignment of field: " , stringify ! (
10534                CThostFtdcExchangeOrderActionErrorField ) , "::" , stringify !
10535                ( InstallID ) ));
10536    assert_eq! (unsafe {
10537                & ( * ( 0 as * const CThostFtdcExchangeOrderActionErrorField )
10538                ) . OrderLocalID as * const _ as usize } , 56usize , concat !
10539                (
10540                "Alignment of field: " , stringify ! (
10541                CThostFtdcExchangeOrderActionErrorField ) , "::" , stringify !
10542                ( OrderLocalID ) ));
10543    assert_eq! (unsafe {
10544                & ( * ( 0 as * const CThostFtdcExchangeOrderActionErrorField )
10545                ) . ActionLocalID as * const _ as usize } , 69usize , concat !
10546                (
10547                "Alignment of field: " , stringify ! (
10548                CThostFtdcExchangeOrderActionErrorField ) , "::" , stringify !
10549                ( ActionLocalID ) ));
10550    assert_eq! (unsafe {
10551                & ( * ( 0 as * const CThostFtdcExchangeOrderActionErrorField )
10552                ) . ErrorID as * const _ as usize } , 84usize , concat ! (
10553                "Alignment of field: " , stringify ! (
10554                CThostFtdcExchangeOrderActionErrorField ) , "::" , stringify !
10555                ( ErrorID ) ));
10556    assert_eq! (unsafe {
10557                & ( * ( 0 as * const CThostFtdcExchangeOrderActionErrorField )
10558                ) . ErrorMsg as * const _ as usize } , 88usize , concat ! (
10559                "Alignment of field: " , stringify ! (
10560                CThostFtdcExchangeOrderActionErrorField ) , "::" , stringify !
10561                ( ErrorMsg ) ));
10562}
10563impl Clone for CThostFtdcExchangeOrderActionErrorField {
10564    fn clone(&self) -> Self { *self }
10565}
10566impl Default for CThostFtdcExchangeOrderActionErrorField {
10567    fn default() -> Self { unsafe { ::std::mem::zeroed() } }
10568}
10569/// 交易所成交
10570#[repr(C)]
10571#[derive(Default, Copy)]
10572pub struct CThostFtdcExchangeTradeField {
10573    /// 交易所代码
10574    pub ExchangeID: TThostFtdcExchangeIDType,
10575    /// 成交编号
10576    pub TradeID: TThostFtdcTradeIDType,
10577    /// 买卖方向
10578    pub Direction: TThostFtdcDirectionType,
10579    /// 报单编号
10580    pub OrderSysID: TThostFtdcOrderSysIDType,
10581    /// 会员代码
10582    pub ParticipantID: TThostFtdcParticipantIDType,
10583    /// 客户代码
10584    pub ClientID: TThostFtdcClientIDType,
10585    /// 交易角色
10586    pub TradingRole: TThostFtdcTradingRoleType,
10587    /// 合约在交易所的代码
10588    pub ExchangeInstID: TThostFtdcExchangeInstIDType,
10589    /// 开平标志
10590    pub OffsetFlag: TThostFtdcOffsetFlagType,
10591    /// 投机套保标志
10592    pub HedgeFlag: TThostFtdcHedgeFlagType,
10593    /// 价格
10594    pub Price: TThostFtdcPriceType,
10595    /// 数量
10596    pub Volume: TThostFtdcVolumeType,
10597    /// 成交时期
10598    pub TradeDate: TThostFtdcDateType,
10599    /// 成交时间
10600    pub TradeTime: TThostFtdcTimeType,
10601    /// 成交类型
10602    pub TradeType: TThostFtdcTradeTypeType,
10603    /// 成交价来源
10604    pub PriceSource: TThostFtdcPriceSourceType,
10605    /// 交易所交易员代码
10606    pub TraderID: TThostFtdcTraderIDType,
10607    /// 本地报单编号
10608    pub OrderLocalID: TThostFtdcOrderLocalIDType,
10609    /// 结算会员编号
10610    pub ClearingPartID: TThostFtdcParticipantIDType,
10611    /// 业务单元
10612    pub BusinessUnit: TThostFtdcBusinessUnitType,
10613    /// 序号
10614    pub SequenceNo: TThostFtdcSequenceNoType,
10615    /// 成交来源
10616    pub TradeSource: TThostFtdcTradeSourceType,
10617}
10618#[test]
10619fn bindgen_test_layout_CThostFtdcExchangeTradeField() {
10620    assert_eq!(::std::mem::size_of::<CThostFtdcExchangeTradeField>() ,
10621               224usize , concat ! (
10622               "Size of: " , stringify ! ( CThostFtdcExchangeTradeField ) ));
10623    assert_eq! (::std::mem::align_of::<CThostFtdcExchangeTradeField>() ,
10624                8usize , concat ! (
10625                "Alignment of " , stringify ! ( CThostFtdcExchangeTradeField )
10626                ));
10627    assert_eq! (unsafe {
10628                & ( * ( 0 as * const CThostFtdcExchangeTradeField ) ) .
10629                ExchangeID as * const _ as usize } , 0usize , concat ! (
10630                "Alignment of field: " , stringify ! (
10631                CThostFtdcExchangeTradeField ) , "::" , stringify ! (
10632                ExchangeID ) ));
10633    assert_eq! (unsafe {
10634                & ( * ( 0 as * const CThostFtdcExchangeTradeField ) ) .
10635                TradeID as * const _ as usize } , 9usize , concat ! (
10636                "Alignment of field: " , stringify ! (
10637                CThostFtdcExchangeTradeField ) , "::" , stringify ! ( TradeID
10638                ) ));
10639    assert_eq! (unsafe {
10640                & ( * ( 0 as * const CThostFtdcExchangeTradeField ) ) .
10641                Direction as * const _ as usize } , 30usize , concat ! (
10642                "Alignment of field: " , stringify ! (
10643                CThostFtdcExchangeTradeField ) , "::" , stringify ! (
10644                Direction ) ));
10645    assert_eq! (unsafe {
10646                & ( * ( 0 as * const CThostFtdcExchangeTradeField ) ) .
10647                OrderSysID as * const _ as usize } , 31usize , concat ! (
10648                "Alignment of field: " , stringify ! (
10649                CThostFtdcExchangeTradeField ) , "::" , stringify ! (
10650                OrderSysID ) ));
10651    assert_eq! (unsafe {
10652                & ( * ( 0 as * const CThostFtdcExchangeTradeField ) ) .
10653                ParticipantID as * const _ as usize } , 52usize , concat ! (
10654                "Alignment of field: " , stringify ! (
10655                CThostFtdcExchangeTradeField ) , "::" , stringify ! (
10656                ParticipantID ) ));
10657    assert_eq! (unsafe {
10658                & ( * ( 0 as * const CThostFtdcExchangeTradeField ) ) .
10659                ClientID as * const _ as usize } , 63usize , concat ! (
10660                "Alignment of field: " , stringify ! (
10661                CThostFtdcExchangeTradeField ) , "::" , stringify ! ( ClientID
10662                ) ));
10663    assert_eq! (unsafe {
10664                & ( * ( 0 as * const CThostFtdcExchangeTradeField ) ) .
10665                TradingRole as * const _ as usize } , 74usize , concat ! (
10666                "Alignment of field: " , stringify ! (
10667                CThostFtdcExchangeTradeField ) , "::" , stringify ! (
10668                TradingRole ) ));
10669    assert_eq! (unsafe {
10670                & ( * ( 0 as * const CThostFtdcExchangeTradeField ) ) .
10671                ExchangeInstID as * const _ as usize } , 75usize , concat ! (
10672                "Alignment of field: " , stringify ! (
10673                CThostFtdcExchangeTradeField ) , "::" , stringify ! (
10674                ExchangeInstID ) ));
10675    assert_eq! (unsafe {
10676                & ( * ( 0 as * const CThostFtdcExchangeTradeField ) ) .
10677                OffsetFlag as * const _ as usize } , 106usize , concat ! (
10678                "Alignment of field: " , stringify ! (
10679                CThostFtdcExchangeTradeField ) , "::" , stringify ! (
10680                OffsetFlag ) ));
10681    assert_eq! (unsafe {
10682                & ( * ( 0 as * const CThostFtdcExchangeTradeField ) ) .
10683                HedgeFlag as * const _ as usize } , 107usize , concat ! (
10684                "Alignment of field: " , stringify ! (
10685                CThostFtdcExchangeTradeField ) , "::" , stringify ! (
10686                HedgeFlag ) ));
10687    assert_eq! (unsafe {
10688                & ( * ( 0 as * const CThostFtdcExchangeTradeField ) ) . Price
10689                as * const _ as usize } , 112usize , concat ! (
10690                "Alignment of field: " , stringify ! (
10691                CThostFtdcExchangeTradeField ) , "::" , stringify ! ( Price )
10692                ));
10693    assert_eq! (unsafe {
10694                & ( * ( 0 as * const CThostFtdcExchangeTradeField ) ) . Volume
10695                as * const _ as usize } , 120usize , concat ! (
10696                "Alignment of field: " , stringify ! (
10697                CThostFtdcExchangeTradeField ) , "::" , stringify ! ( Volume )
10698                ));
10699    assert_eq! (unsafe {
10700                & ( * ( 0 as * const CThostFtdcExchangeTradeField ) ) .
10701                TradeDate as * const _ as usize } , 124usize , concat ! (
10702                "Alignment of field: " , stringify ! (
10703                CThostFtdcExchangeTradeField ) , "::" , stringify ! (
10704                TradeDate ) ));
10705    assert_eq! (unsafe {
10706                & ( * ( 0 as * const CThostFtdcExchangeTradeField ) ) .
10707                TradeTime as * const _ as usize } , 133usize , concat ! (
10708                "Alignment of field: " , stringify ! (
10709                CThostFtdcExchangeTradeField ) , "::" , stringify ! (
10710                TradeTime ) ));
10711    assert_eq! (unsafe {
10712                & ( * ( 0 as * const CThostFtdcExchangeTradeField ) ) .
10713                TradeType as * const _ as usize } , 142usize , concat ! (
10714                "Alignment of field: " , stringify ! (
10715                CThostFtdcExchangeTradeField ) , "::" , stringify ! (
10716                TradeType ) ));
10717    assert_eq! (unsafe {
10718                & ( * ( 0 as * const CThostFtdcExchangeTradeField ) ) .
10719                PriceSource as * const _ as usize } , 143usize , concat ! (
10720                "Alignment of field: " , stringify ! (
10721                CThostFtdcExchangeTradeField ) , "::" , stringify ! (
10722                PriceSource ) ));
10723    assert_eq! (unsafe {
10724                & ( * ( 0 as * const CThostFtdcExchangeTradeField ) ) .
10725                TraderID as * const _ as usize } , 144usize , concat ! (
10726                "Alignment of field: " , stringify ! (
10727                CThostFtdcExchangeTradeField ) , "::" , stringify ! ( TraderID
10728                ) ));
10729    assert_eq! (unsafe {
10730                & ( * ( 0 as * const CThostFtdcExchangeTradeField ) ) .
10731                OrderLocalID as * const _ as usize } , 165usize , concat ! (
10732                "Alignment of field: " , stringify ! (
10733                CThostFtdcExchangeTradeField ) , "::" , stringify ! (
10734                OrderLocalID ) ));
10735    assert_eq! (unsafe {
10736                & ( * ( 0 as * const CThostFtdcExchangeTradeField ) ) .
10737                ClearingPartID as * const _ as usize } , 178usize , concat ! (
10738                "Alignment of field: " , stringify ! (
10739                CThostFtdcExchangeTradeField ) , "::" , stringify ! (
10740                ClearingPartID ) ));
10741    assert_eq! (unsafe {
10742                & ( * ( 0 as * const CThostFtdcExchangeTradeField ) ) .
10743                BusinessUnit as * const _ as usize } , 189usize , concat ! (
10744                "Alignment of field: " , stringify ! (
10745                CThostFtdcExchangeTradeField ) , "::" , stringify ! (
10746                BusinessUnit ) ));
10747    assert_eq! (unsafe {
10748                & ( * ( 0 as * const CThostFtdcExchangeTradeField ) ) .
10749                SequenceNo as * const _ as usize } , 212usize , concat ! (
10750                "Alignment of field: " , stringify ! (
10751                CThostFtdcExchangeTradeField ) , "::" , stringify ! (
10752                SequenceNo ) ));
10753    assert_eq! (unsafe {
10754                & ( * ( 0 as * const CThostFtdcExchangeTradeField ) ) .
10755                TradeSource as * const _ as usize } , 216usize , concat ! (
10756                "Alignment of field: " , stringify ! (
10757                CThostFtdcExchangeTradeField ) , "::" , stringify ! (
10758                TradeSource ) ));
10759}
10760impl Clone for CThostFtdcExchangeTradeField {
10761    fn clone(&self) -> Self { *self }
10762}
10763/// 成交
10764#[repr(C)]
10765#[derive(Default, Copy)]
10766pub struct CThostFtdcTradeField {
10767    /// 经纪公司代码
10768    pub BrokerID: TThostFtdcBrokerIDType,
10769    /// 投资者代码
10770    pub InvestorID: TThostFtdcInvestorIDType,
10771    /// 合约代码
10772    pub InstrumentID: TThostFtdcInstrumentIDType,
10773    /// 报单引用
10774    pub OrderRef: TThostFtdcOrderRefType,
10775    /// 用户代码
10776    pub UserID: TThostFtdcUserIDType,
10777    /// 交易所代码
10778    pub ExchangeID: TThostFtdcExchangeIDType,
10779    /// 成交编号
10780    pub TradeID: TThostFtdcTradeIDType,
10781    /// 买卖方向
10782    pub Direction: TThostFtdcDirectionType,
10783    /// 报单编号
10784    pub OrderSysID: TThostFtdcOrderSysIDType,
10785    /// 会员代码
10786    pub ParticipantID: TThostFtdcParticipantIDType,
10787    /// 客户代码
10788    pub ClientID: TThostFtdcClientIDType,
10789    /// 交易角色
10790    pub TradingRole: TThostFtdcTradingRoleType,
10791    /// 合约在交易所的代码
10792    pub ExchangeInstID: TThostFtdcExchangeInstIDType,
10793    /// 开平标志
10794    pub OffsetFlag: TThostFtdcOffsetFlagType,
10795    /// 投机套保标志
10796    pub HedgeFlag: TThostFtdcHedgeFlagType,
10797    /// 价格
10798    pub Price: TThostFtdcPriceType,
10799    /// 数量
10800    pub Volume: TThostFtdcVolumeType,
10801    /// 成交时期
10802    pub TradeDate: TThostFtdcDateType,
10803    /// 成交时间
10804    pub TradeTime: TThostFtdcTimeType,
10805    /// 成交类型
10806    pub TradeType: TThostFtdcTradeTypeType,
10807    /// 成交价来源
10808    pub PriceSource: TThostFtdcPriceSourceType,
10809    /// 交易所交易员代码
10810    pub TraderID: TThostFtdcTraderIDType,
10811    /// 本地报单编号
10812    pub OrderLocalID: TThostFtdcOrderLocalIDType,
10813    /// 结算会员编号
10814    pub ClearingPartID: TThostFtdcParticipantIDType,
10815    /// 业务单元
10816    pub BusinessUnit: TThostFtdcBusinessUnitType,
10817    /// 序号
10818    pub SequenceNo: TThostFtdcSequenceNoType,
10819    /// 交易日
10820    pub TradingDay: TThostFtdcDateType,
10821    /// 结算编号
10822    pub SettlementID: TThostFtdcSettlementIDType,
10823    /// 经纪公司报单编号
10824    pub BrokerOrderSeq: TThostFtdcSequenceNoType,
10825    /// 成交来源
10826    pub TradeSource: TThostFtdcTradeSourceType,
10827    /// 投资单元代码
10828    pub InvestUnitID: TThostFtdcInvestUnitIDType,
10829}
10830#[test]
10831fn bindgen_test_layout_CThostFtdcTradeField() {
10832    assert_eq!(::std::mem::size_of::<CThostFtdcTradeField>() , 336usize ,
10833               concat ! ( "Size of: " , stringify ! ( CThostFtdcTradeField )
10834               ));
10835    assert_eq! (::std::mem::align_of::<CThostFtdcTradeField>() , 8usize ,
10836                concat ! (
10837                "Alignment of " , stringify ! ( CThostFtdcTradeField ) ));
10838    assert_eq! (unsafe {
10839                & ( * ( 0 as * const CThostFtdcTradeField ) ) . BrokerID as *
10840                const _ as usize } , 0usize , concat ! (
10841                "Alignment of field: " , stringify ! ( CThostFtdcTradeField )
10842                , "::" , stringify ! ( BrokerID ) ));
10843    assert_eq! (unsafe {
10844                & ( * ( 0 as * const CThostFtdcTradeField ) ) . InvestorID as
10845                * const _ as usize } , 11usize , concat ! (
10846                "Alignment of field: " , stringify ! ( CThostFtdcTradeField )
10847                , "::" , stringify ! ( InvestorID ) ));
10848    assert_eq! (unsafe {
10849                & ( * ( 0 as * const CThostFtdcTradeField ) ) . InstrumentID
10850                as * const _ as usize } , 24usize , concat ! (
10851                "Alignment of field: " , stringify ! ( CThostFtdcTradeField )
10852                , "::" , stringify ! ( InstrumentID ) ));
10853    assert_eq! (unsafe {
10854                & ( * ( 0 as * const CThostFtdcTradeField ) ) . OrderRef as *
10855                const _ as usize } , 55usize , concat ! (
10856                "Alignment of field: " , stringify ! ( CThostFtdcTradeField )
10857                , "::" , stringify ! ( OrderRef ) ));
10858    assert_eq! (unsafe {
10859                & ( * ( 0 as * const CThostFtdcTradeField ) ) . UserID as *
10860                const _ as usize } , 68usize , concat ! (
10861                "Alignment of field: " , stringify ! ( CThostFtdcTradeField )
10862                , "::" , stringify ! ( UserID ) ));
10863    assert_eq! (unsafe {
10864                & ( * ( 0 as * const CThostFtdcTradeField ) ) . ExchangeID as
10865                * const _ as usize } , 84usize , concat ! (
10866                "Alignment of field: " , stringify ! ( CThostFtdcTradeField )
10867                , "::" , stringify ! ( ExchangeID ) ));
10868    assert_eq! (unsafe {
10869                & ( * ( 0 as * const CThostFtdcTradeField ) ) . TradeID as *
10870                const _ as usize } , 93usize , concat ! (
10871                "Alignment of field: " , stringify ! ( CThostFtdcTradeField )
10872                , "::" , stringify ! ( TradeID ) ));
10873    assert_eq! (unsafe {
10874                & ( * ( 0 as * const CThostFtdcTradeField ) ) . Direction as *
10875                const _ as usize } , 114usize , concat ! (
10876                "Alignment of field: " , stringify ! ( CThostFtdcTradeField )
10877                , "::" , stringify ! ( Direction ) ));
10878    assert_eq! (unsafe {
10879                & ( * ( 0 as * const CThostFtdcTradeField ) ) . OrderSysID as
10880                * const _ as usize } , 115usize , concat ! (
10881                "Alignment of field: " , stringify ! ( CThostFtdcTradeField )
10882                , "::" , stringify ! ( OrderSysID ) ));
10883    assert_eq! (unsafe {
10884                & ( * ( 0 as * const CThostFtdcTradeField ) ) . ParticipantID
10885                as * const _ as usize } , 136usize , concat ! (
10886                "Alignment of field: " , stringify ! ( CThostFtdcTradeField )
10887                , "::" , stringify ! ( ParticipantID ) ));
10888    assert_eq! (unsafe {
10889                & ( * ( 0 as * const CThostFtdcTradeField ) ) . ClientID as *
10890                const _ as usize } , 147usize , concat ! (
10891                "Alignment of field: " , stringify ! ( CThostFtdcTradeField )
10892                , "::" , stringify ! ( ClientID ) ));
10893    assert_eq! (unsafe {
10894                & ( * ( 0 as * const CThostFtdcTradeField ) ) . TradingRole as
10895                * const _ as usize } , 158usize , concat ! (
10896                "Alignment of field: " , stringify ! ( CThostFtdcTradeField )
10897                , "::" , stringify ! ( TradingRole ) ));
10898    assert_eq! (unsafe {
10899                & ( * ( 0 as * const CThostFtdcTradeField ) ) . ExchangeInstID
10900                as * const _ as usize } , 159usize , concat ! (
10901                "Alignment of field: " , stringify ! ( CThostFtdcTradeField )
10902                , "::" , stringify ! ( ExchangeInstID ) ));
10903    assert_eq! (unsafe {
10904                & ( * ( 0 as * const CThostFtdcTradeField ) ) . OffsetFlag as
10905                * const _ as usize } , 190usize , concat ! (
10906                "Alignment of field: " , stringify ! ( CThostFtdcTradeField )
10907                , "::" , stringify ! ( OffsetFlag ) ));
10908    assert_eq! (unsafe {
10909                & ( * ( 0 as * const CThostFtdcTradeField ) ) . HedgeFlag as *
10910                const _ as usize } , 191usize , concat ! (
10911                "Alignment of field: " , stringify ! ( CThostFtdcTradeField )
10912                , "::" , stringify ! ( HedgeFlag ) ));
10913    assert_eq! (unsafe {
10914                & ( * ( 0 as * const CThostFtdcTradeField ) ) . Price as *
10915                const _ as usize } , 192usize , concat ! (
10916                "Alignment of field: " , stringify ! ( CThostFtdcTradeField )
10917                , "::" , stringify ! ( Price ) ));
10918    assert_eq! (unsafe {
10919                & ( * ( 0 as * const CThostFtdcTradeField ) ) . Volume as *
10920                const _ as usize } , 200usize , concat ! (
10921                "Alignment of field: " , stringify ! ( CThostFtdcTradeField )
10922                , "::" , stringify ! ( Volume ) ));
10923    assert_eq! (unsafe {
10924                & ( * ( 0 as * const CThostFtdcTradeField ) ) . TradeDate as *
10925                const _ as usize } , 204usize , concat ! (
10926                "Alignment of field: " , stringify ! ( CThostFtdcTradeField )
10927                , "::" , stringify ! ( TradeDate ) ));
10928    assert_eq! (unsafe {
10929                & ( * ( 0 as * const CThostFtdcTradeField ) ) . TradeTime as *
10930                const _ as usize } , 213usize , concat ! (
10931                "Alignment of field: " , stringify ! ( CThostFtdcTradeField )
10932                , "::" , stringify ! ( TradeTime ) ));
10933    assert_eq! (unsafe {
10934                & ( * ( 0 as * const CThostFtdcTradeField ) ) . TradeType as *
10935                const _ as usize } , 222usize , concat ! (
10936                "Alignment of field: " , stringify ! ( CThostFtdcTradeField )
10937                , "::" , stringify ! ( TradeType ) ));
10938    assert_eq! (unsafe {
10939                & ( * ( 0 as * const CThostFtdcTradeField ) ) . PriceSource as
10940                * const _ as usize } , 223usize , concat ! (
10941                "Alignment of field: " , stringify ! ( CThostFtdcTradeField )
10942                , "::" , stringify ! ( PriceSource ) ));
10943    assert_eq! (unsafe {
10944                & ( * ( 0 as * const CThostFtdcTradeField ) ) . TraderID as *
10945                const _ as usize } , 224usize , concat ! (
10946                "Alignment of field: " , stringify ! ( CThostFtdcTradeField )
10947                , "::" , stringify ! ( TraderID ) ));
10948    assert_eq! (unsafe {
10949                & ( * ( 0 as * const CThostFtdcTradeField ) ) . OrderLocalID
10950                as * const _ as usize } , 245usize , concat ! (
10951                "Alignment of field: " , stringify ! ( CThostFtdcTradeField )
10952                , "::" , stringify ! ( OrderLocalID ) ));
10953    assert_eq! (unsafe {
10954                & ( * ( 0 as * const CThostFtdcTradeField ) ) . ClearingPartID
10955                as * const _ as usize } , 258usize , concat ! (
10956                "Alignment of field: " , stringify ! ( CThostFtdcTradeField )
10957                , "::" , stringify ! ( ClearingPartID ) ));
10958    assert_eq! (unsafe {
10959                & ( * ( 0 as * const CThostFtdcTradeField ) ) . BusinessUnit
10960                as * const _ as usize } , 269usize , concat ! (
10961                "Alignment of field: " , stringify ! ( CThostFtdcTradeField )
10962                , "::" , stringify ! ( BusinessUnit ) ));
10963    assert_eq! (unsafe {
10964                & ( * ( 0 as * const CThostFtdcTradeField ) ) . SequenceNo as
10965                * const _ as usize } , 292usize , concat ! (
10966                "Alignment of field: " , stringify ! ( CThostFtdcTradeField )
10967                , "::" , stringify ! ( SequenceNo ) ));
10968    assert_eq! (unsafe {
10969                & ( * ( 0 as * const CThostFtdcTradeField ) ) . TradingDay as
10970                * const _ as usize } , 296usize , concat ! (
10971                "Alignment of field: " , stringify ! ( CThostFtdcTradeField )
10972                , "::" , stringify ! ( TradingDay ) ));
10973    assert_eq! (unsafe {
10974                & ( * ( 0 as * const CThostFtdcTradeField ) ) . SettlementID
10975                as * const _ as usize } , 308usize , concat ! (
10976                "Alignment of field: " , stringify ! ( CThostFtdcTradeField )
10977                , "::" , stringify ! ( SettlementID ) ));
10978    assert_eq! (unsafe {
10979                & ( * ( 0 as * const CThostFtdcTradeField ) ) . BrokerOrderSeq
10980                as * const _ as usize } , 312usize , concat ! (
10981                "Alignment of field: " , stringify ! ( CThostFtdcTradeField )
10982                , "::" , stringify ! ( BrokerOrderSeq ) ));
10983    assert_eq! (unsafe {
10984                & ( * ( 0 as * const CThostFtdcTradeField ) ) . TradeSource as
10985                * const _ as usize } , 316usize , concat ! (
10986                "Alignment of field: " , stringify ! ( CThostFtdcTradeField )
10987                , "::" , stringify ! ( TradeSource ) ));
10988    assert_eq! (unsafe {
10989                & ( * ( 0 as * const CThostFtdcTradeField ) ) . InvestUnitID
10990                as * const _ as usize } , 317usize , concat ! (
10991                "Alignment of field: " , stringify ! ( CThostFtdcTradeField )
10992                , "::" , stringify ! ( InvestUnitID ) ));
10993}
10994impl Clone for CThostFtdcTradeField {
10995    fn clone(&self) -> Self { *self }
10996}
10997/// 用户会话
10998#[repr(C)]
10999#[derive(Copy)]
11000pub struct CThostFtdcUserSessionField {
11001    /// 前置编号
11002    pub FrontID: TThostFtdcFrontIDType,
11003    /// 会话编号
11004    pub SessionID: TThostFtdcSessionIDType,
11005    /// 经纪公司代码
11006    pub BrokerID: TThostFtdcBrokerIDType,
11007    /// 用户代码
11008    pub UserID: TThostFtdcUserIDType,
11009    /// 登录日期
11010    pub LoginDate: TThostFtdcDateType,
11011    /// 登录时间
11012    pub LoginTime: TThostFtdcTimeType,
11013    /// IP地址
11014    pub IPAddress: TThostFtdcIPAddressType,
11015    /// 用户端产品信息
11016    pub UserProductInfo: TThostFtdcProductInfoType,
11017    /// 接口端产品信息
11018    pub InterfaceProductInfo: TThostFtdcProductInfoType,
11019    /// 协议信息
11020    pub ProtocolInfo: TThostFtdcProtocolInfoType,
11021    /// Mac地址
11022    pub MacAddress: TThostFtdcMacAddressType,
11023    /// 登录备注
11024    pub LoginRemark: TThostFtdcLoginRemarkType,
11025}
11026#[test]
11027fn bindgen_test_layout_CThostFtdcUserSessionField() {
11028    assert_eq!(::std::mem::size_of::<CThostFtdcUserSessionField>() , 160usize
11029               , concat ! (
11030               "Size of: " , stringify ! ( CThostFtdcUserSessionField ) ));
11031    assert_eq! (::std::mem::align_of::<CThostFtdcUserSessionField>() , 4usize
11032                , concat ! (
11033                "Alignment of " , stringify ! ( CThostFtdcUserSessionField )
11034                ));
11035    assert_eq! (unsafe {
11036                & ( * ( 0 as * const CThostFtdcUserSessionField ) ) . FrontID
11037                as * const _ as usize } , 0usize , concat ! (
11038                "Alignment of field: " , stringify ! (
11039                CThostFtdcUserSessionField ) , "::" , stringify ! ( FrontID )
11040                ));
11041    assert_eq! (unsafe {
11042                & ( * ( 0 as * const CThostFtdcUserSessionField ) ) .
11043                SessionID as * const _ as usize } , 4usize , concat ! (
11044                "Alignment of field: " , stringify ! (
11045                CThostFtdcUserSessionField ) , "::" , stringify ! ( SessionID
11046                ) ));
11047    assert_eq! (unsafe {
11048                & ( * ( 0 as * const CThostFtdcUserSessionField ) ) . BrokerID
11049                as * const _ as usize } , 8usize , concat ! (
11050                "Alignment of field: " , stringify ! (
11051                CThostFtdcUserSessionField ) , "::" , stringify ! ( BrokerID )
11052                ));
11053    assert_eq! (unsafe {
11054                & ( * ( 0 as * const CThostFtdcUserSessionField ) ) . UserID
11055                as * const _ as usize } , 19usize , concat ! (
11056                "Alignment of field: " , stringify ! (
11057                CThostFtdcUserSessionField ) , "::" , stringify ! ( UserID )
11058                ));
11059    assert_eq! (unsafe {
11060                & ( * ( 0 as * const CThostFtdcUserSessionField ) ) .
11061                LoginDate as * const _ as usize } , 35usize , concat ! (
11062                "Alignment of field: " , stringify ! (
11063                CThostFtdcUserSessionField ) , "::" , stringify ! ( LoginDate
11064                ) ));
11065    assert_eq! (unsafe {
11066                & ( * ( 0 as * const CThostFtdcUserSessionField ) ) .
11067                LoginTime as * const _ as usize } , 44usize , concat ! (
11068                "Alignment of field: " , stringify ! (
11069                CThostFtdcUserSessionField ) , "::" , stringify ! ( LoginTime
11070                ) ));
11071    assert_eq! (unsafe {
11072                & ( * ( 0 as * const CThostFtdcUserSessionField ) ) .
11073                IPAddress as * const _ as usize } , 53usize , concat ! (
11074                "Alignment of field: " , stringify ! (
11075                CThostFtdcUserSessionField ) , "::" , stringify ! ( IPAddress
11076                ) ));
11077    assert_eq! (unsafe {
11078                & ( * ( 0 as * const CThostFtdcUserSessionField ) ) .
11079                UserProductInfo as * const _ as usize } , 69usize , concat ! (
11080                "Alignment of field: " , stringify ! (
11081                CThostFtdcUserSessionField ) , "::" , stringify ! (
11082                UserProductInfo ) ));
11083    assert_eq! (unsafe {
11084                & ( * ( 0 as * const CThostFtdcUserSessionField ) ) .
11085                InterfaceProductInfo as * const _ as usize } , 80usize ,
11086                concat ! (
11087                "Alignment of field: " , stringify ! (
11088                CThostFtdcUserSessionField ) , "::" , stringify ! (
11089                InterfaceProductInfo ) ));
11090    assert_eq! (unsafe {
11091                & ( * ( 0 as * const CThostFtdcUserSessionField ) ) .
11092                ProtocolInfo as * const _ as usize } , 91usize , concat ! (
11093                "Alignment of field: " , stringify ! (
11094                CThostFtdcUserSessionField ) , "::" , stringify ! (
11095                ProtocolInfo ) ));
11096    assert_eq! (unsafe {
11097                & ( * ( 0 as * const CThostFtdcUserSessionField ) ) .
11098                MacAddress as * const _ as usize } , 102usize , concat ! (
11099                "Alignment of field: " , stringify ! (
11100                CThostFtdcUserSessionField ) , "::" , stringify ! ( MacAddress
11101                ) ));
11102    assert_eq! (unsafe {
11103                & ( * ( 0 as * const CThostFtdcUserSessionField ) ) .
11104                LoginRemark as * const _ as usize } , 123usize , concat ! (
11105                "Alignment of field: " , stringify ! (
11106                CThostFtdcUserSessionField ) , "::" , stringify ! (
11107                LoginRemark ) ));
11108}
11109impl Clone for CThostFtdcUserSessionField {
11110    fn clone(&self) -> Self { *self }
11111}
11112impl Default for CThostFtdcUserSessionField {
11113    fn default() -> Self { unsafe { ::std::mem::zeroed() } }
11114}
11115/// 查询最大报单数量
11116#[repr(C)]
11117#[derive(Default, Copy)]
11118pub struct CThostFtdcQueryMaxOrderVolumeField {
11119    /// 经纪公司代码
11120    pub BrokerID: TThostFtdcBrokerIDType,
11121    /// 投资者代码
11122    pub InvestorID: TThostFtdcInvestorIDType,
11123    /// 合约代码
11124    pub InstrumentID: TThostFtdcInstrumentIDType,
11125    /// 买卖方向
11126    pub Direction: TThostFtdcDirectionType,
11127    /// 开平标志
11128    pub OffsetFlag: TThostFtdcOffsetFlagType,
11129    /// 投机套保标志
11130    pub HedgeFlag: TThostFtdcHedgeFlagType,
11131    /// 最大允许报单数量
11132    pub MaxVolume: TThostFtdcVolumeType,
11133    /// 交易所代码
11134    pub ExchangeID: TThostFtdcExchangeIDType,
11135    /// 投资单元代码
11136    pub InvestUnitID: TThostFtdcInvestUnitIDType,
11137}
11138#[test]
11139fn bindgen_test_layout_CThostFtdcQueryMaxOrderVolumeField() {
11140    assert_eq!(::std::mem::size_of::<CThostFtdcQueryMaxOrderVolumeField>() ,
11141               92usize , concat ! (
11142               "Size of: " , stringify ! ( CThostFtdcQueryMaxOrderVolumeField
11143               ) ));
11144    assert_eq! (::std::mem::align_of::<CThostFtdcQueryMaxOrderVolumeField>() ,
11145                4usize , concat ! (
11146                "Alignment of " , stringify ! (
11147                CThostFtdcQueryMaxOrderVolumeField ) ));
11148    assert_eq! (unsafe {
11149                & ( * ( 0 as * const CThostFtdcQueryMaxOrderVolumeField ) ) .
11150                BrokerID as * const _ as usize } , 0usize , concat ! (
11151                "Alignment of field: " , stringify ! (
11152                CThostFtdcQueryMaxOrderVolumeField ) , "::" , stringify ! (
11153                BrokerID ) ));
11154    assert_eq! (unsafe {
11155                & ( * ( 0 as * const CThostFtdcQueryMaxOrderVolumeField ) ) .
11156                InvestorID as * const _ as usize } , 11usize , concat ! (
11157                "Alignment of field: " , stringify ! (
11158                CThostFtdcQueryMaxOrderVolumeField ) , "::" , stringify ! (
11159                InvestorID ) ));
11160    assert_eq! (unsafe {
11161                & ( * ( 0 as * const CThostFtdcQueryMaxOrderVolumeField ) ) .
11162                InstrumentID as * const _ as usize } , 24usize , concat ! (
11163                "Alignment of field: " , stringify ! (
11164                CThostFtdcQueryMaxOrderVolumeField ) , "::" , stringify ! (
11165                InstrumentID ) ));
11166    assert_eq! (unsafe {
11167                & ( * ( 0 as * const CThostFtdcQueryMaxOrderVolumeField ) ) .
11168                Direction as * const _ as usize } , 55usize , concat ! (
11169                "Alignment of field: " , stringify ! (
11170                CThostFtdcQueryMaxOrderVolumeField ) , "::" , stringify ! (
11171                Direction ) ));
11172    assert_eq! (unsafe {
11173                & ( * ( 0 as * const CThostFtdcQueryMaxOrderVolumeField ) ) .
11174                OffsetFlag as * const _ as usize } , 56usize , concat ! (
11175                "Alignment of field: " , stringify ! (
11176                CThostFtdcQueryMaxOrderVolumeField ) , "::" , stringify ! (
11177                OffsetFlag ) ));
11178    assert_eq! (unsafe {
11179                & ( * ( 0 as * const CThostFtdcQueryMaxOrderVolumeField ) ) .
11180                HedgeFlag as * const _ as usize } , 57usize , concat ! (
11181                "Alignment of field: " , stringify ! (
11182                CThostFtdcQueryMaxOrderVolumeField ) , "::" , stringify ! (
11183                HedgeFlag ) ));
11184    assert_eq! (unsafe {
11185                & ( * ( 0 as * const CThostFtdcQueryMaxOrderVolumeField ) ) .
11186                MaxVolume as * const _ as usize } , 60usize , concat ! (
11187                "Alignment of field: " , stringify ! (
11188                CThostFtdcQueryMaxOrderVolumeField ) , "::" , stringify ! (
11189                MaxVolume ) ));
11190    assert_eq! (unsafe {
11191                & ( * ( 0 as * const CThostFtdcQueryMaxOrderVolumeField ) ) .
11192                ExchangeID as * const _ as usize } , 64usize , concat ! (
11193                "Alignment of field: " , stringify ! (
11194                CThostFtdcQueryMaxOrderVolumeField ) , "::" , stringify ! (
11195                ExchangeID ) ));
11196    assert_eq! (unsafe {
11197                & ( * ( 0 as * const CThostFtdcQueryMaxOrderVolumeField ) ) .
11198                InvestUnitID as * const _ as usize } , 73usize , concat ! (
11199                "Alignment of field: " , stringify ! (
11200                CThostFtdcQueryMaxOrderVolumeField ) , "::" , stringify ! (
11201                InvestUnitID ) ));
11202}
11203impl Clone for CThostFtdcQueryMaxOrderVolumeField {
11204    fn clone(&self) -> Self { *self }
11205}
11206/// 投资者结算结果确认信息
11207#[repr(C)]
11208#[derive(Default, Copy)]
11209pub struct CThostFtdcSettlementInfoConfirmField {
11210    /// 经纪公司代码
11211    pub BrokerID: TThostFtdcBrokerIDType,
11212    /// 投资者代码
11213    pub InvestorID: TThostFtdcInvestorIDType,
11214    /// 确认日期
11215    pub ConfirmDate: TThostFtdcDateType,
11216    /// 确认时间
11217    pub ConfirmTime: TThostFtdcTimeType,
11218    /// 结算编号
11219    pub SettlementID: TThostFtdcSettlementIDType,
11220    /// 投资者帐号
11221    pub AccountID: TThostFtdcAccountIDType,
11222    /// 币种代码
11223    pub CurrencyID: TThostFtdcCurrencyIDType,
11224}
11225#[test]
11226fn bindgen_test_layout_CThostFtdcSettlementInfoConfirmField() {
11227    assert_eq!(::std::mem::size_of::<CThostFtdcSettlementInfoConfirmField>() ,
11228               68usize , concat ! (
11229               "Size of: " , stringify ! (
11230               CThostFtdcSettlementInfoConfirmField ) ));
11231    assert_eq! (::std::mem::align_of::<CThostFtdcSettlementInfoConfirmField>()
11232                , 4usize , concat ! (
11233                "Alignment of " , stringify ! (
11234                CThostFtdcSettlementInfoConfirmField ) ));
11235    assert_eq! (unsafe {
11236                & ( * ( 0 as * const CThostFtdcSettlementInfoConfirmField ) )
11237                . BrokerID as * const _ as usize } , 0usize , concat ! (
11238                "Alignment of field: " , stringify ! (
11239                CThostFtdcSettlementInfoConfirmField ) , "::" , stringify ! (
11240                BrokerID ) ));
11241    assert_eq! (unsafe {
11242                & ( * ( 0 as * const CThostFtdcSettlementInfoConfirmField ) )
11243                . InvestorID as * const _ as usize } , 11usize , concat ! (
11244                "Alignment of field: " , stringify ! (
11245                CThostFtdcSettlementInfoConfirmField ) , "::" , stringify ! (
11246                InvestorID ) ));
11247    assert_eq! (unsafe {
11248                & ( * ( 0 as * const CThostFtdcSettlementInfoConfirmField ) )
11249                . ConfirmDate as * const _ as usize } , 24usize , concat ! (
11250                "Alignment of field: " , stringify ! (
11251                CThostFtdcSettlementInfoConfirmField ) , "::" , stringify ! (
11252                ConfirmDate ) ));
11253    assert_eq! (unsafe {
11254                & ( * ( 0 as * const CThostFtdcSettlementInfoConfirmField ) )
11255                . ConfirmTime as * const _ as usize } , 33usize , concat ! (
11256                "Alignment of field: " , stringify ! (
11257                CThostFtdcSettlementInfoConfirmField ) , "::" , stringify ! (
11258                ConfirmTime ) ));
11259    assert_eq! (unsafe {
11260                & ( * ( 0 as * const CThostFtdcSettlementInfoConfirmField ) )
11261                . SettlementID as * const _ as usize } , 44usize , concat ! (
11262                "Alignment of field: " , stringify ! (
11263                CThostFtdcSettlementInfoConfirmField ) , "::" , stringify ! (
11264                SettlementID ) ));
11265    assert_eq! (unsafe {
11266                & ( * ( 0 as * const CThostFtdcSettlementInfoConfirmField ) )
11267                . AccountID as * const _ as usize } , 48usize , concat ! (
11268                "Alignment of field: " , stringify ! (
11269                CThostFtdcSettlementInfoConfirmField ) , "::" , stringify ! (
11270                AccountID ) ));
11271    assert_eq! (unsafe {
11272                & ( * ( 0 as * const CThostFtdcSettlementInfoConfirmField ) )
11273                . CurrencyID as * const _ as usize } , 61usize , concat ! (
11274                "Alignment of field: " , stringify ! (
11275                CThostFtdcSettlementInfoConfirmField ) , "::" , stringify ! (
11276                CurrencyID ) ));
11277}
11278impl Clone for CThostFtdcSettlementInfoConfirmField {
11279    fn clone(&self) -> Self { *self }
11280}
11281/// 出入金同步
11282#[repr(C)]
11283#[derive(Default, Copy)]
11284pub struct CThostFtdcSyncDepositField {
11285    /// 出入金流水号
11286    pub DepositSeqNo: TThostFtdcDepositSeqNoType,
11287    /// 经纪公司代码
11288    pub BrokerID: TThostFtdcBrokerIDType,
11289    /// 投资者代码
11290    pub InvestorID: TThostFtdcInvestorIDType,
11291    /// 入金金额
11292    pub Deposit: TThostFtdcMoneyType,
11293    /// 是否强制进行
11294    pub IsForce: TThostFtdcBoolType,
11295    /// 币种代码
11296    pub CurrencyID: TThostFtdcCurrencyIDType,
11297}
11298#[test]
11299fn bindgen_test_layout_CThostFtdcSyncDepositField() {
11300    assert_eq!(::std::mem::size_of::<CThostFtdcSyncDepositField>() , 56usize ,
11301               concat ! (
11302               "Size of: " , stringify ! ( CThostFtdcSyncDepositField ) ));
11303    assert_eq! (::std::mem::align_of::<CThostFtdcSyncDepositField>() , 8usize
11304                , concat ! (
11305                "Alignment of " , stringify ! ( CThostFtdcSyncDepositField )
11306                ));
11307    assert_eq! (unsafe {
11308                & ( * ( 0 as * const CThostFtdcSyncDepositField ) ) .
11309                DepositSeqNo as * const _ as usize } , 0usize , concat ! (
11310                "Alignment of field: " , stringify ! (
11311                CThostFtdcSyncDepositField ) , "::" , stringify ! (
11312                DepositSeqNo ) ));
11313    assert_eq! (unsafe {
11314                & ( * ( 0 as * const CThostFtdcSyncDepositField ) ) . BrokerID
11315                as * const _ as usize } , 15usize , concat ! (
11316                "Alignment of field: " , stringify ! (
11317                CThostFtdcSyncDepositField ) , "::" , stringify ! ( BrokerID )
11318                ));
11319    assert_eq! (unsafe {
11320                & ( * ( 0 as * const CThostFtdcSyncDepositField ) ) .
11321                InvestorID as * const _ as usize } , 26usize , concat ! (
11322                "Alignment of field: " , stringify ! (
11323                CThostFtdcSyncDepositField ) , "::" , stringify ! ( InvestorID
11324                ) ));
11325    assert_eq! (unsafe {
11326                & ( * ( 0 as * const CThostFtdcSyncDepositField ) ) . Deposit
11327                as * const _ as usize } , 40usize , concat ! (
11328                "Alignment of field: " , stringify ! (
11329                CThostFtdcSyncDepositField ) , "::" , stringify ! ( Deposit )
11330                ));
11331    assert_eq! (unsafe {
11332                & ( * ( 0 as * const CThostFtdcSyncDepositField ) ) . IsForce
11333                as * const _ as usize } , 48usize , concat ! (
11334                "Alignment of field: " , stringify ! (
11335                CThostFtdcSyncDepositField ) , "::" , stringify ! ( IsForce )
11336                ));
11337    assert_eq! (unsafe {
11338                & ( * ( 0 as * const CThostFtdcSyncDepositField ) ) .
11339                CurrencyID as * const _ as usize } , 52usize , concat ! (
11340                "Alignment of field: " , stringify ! (
11341                CThostFtdcSyncDepositField ) , "::" , stringify ! ( CurrencyID
11342                ) ));
11343}
11344impl Clone for CThostFtdcSyncDepositField {
11345    fn clone(&self) -> Self { *self }
11346}
11347/// 货币质押同步
11348#[repr(C)]
11349#[derive(Default, Copy)]
11350pub struct CThostFtdcSyncFundMortgageField {
11351    /// 货币质押流水号
11352    pub MortgageSeqNo: TThostFtdcDepositSeqNoType,
11353    /// 经纪公司代码
11354    pub BrokerID: TThostFtdcBrokerIDType,
11355    /// 投资者代码
11356    pub InvestorID: TThostFtdcInvestorIDType,
11357    /// 源币种
11358    pub FromCurrencyID: TThostFtdcCurrencyIDType,
11359    /// 质押金额
11360    pub MortgageAmount: TThostFtdcMoneyType,
11361    /// 目标币种
11362    pub ToCurrencyID: TThostFtdcCurrencyIDType,
11363}
11364#[test]
11365fn bindgen_test_layout_CThostFtdcSyncFundMortgageField() {
11366    assert_eq!(::std::mem::size_of::<CThostFtdcSyncFundMortgageField>() ,
11367               64usize , concat ! (
11368               "Size of: " , stringify ! ( CThostFtdcSyncFundMortgageField )
11369               ));
11370    assert_eq! (::std::mem::align_of::<CThostFtdcSyncFundMortgageField>() ,
11371                8usize , concat ! (
11372                "Alignment of " , stringify ! (
11373                CThostFtdcSyncFundMortgageField ) ));
11374    assert_eq! (unsafe {
11375                & ( * ( 0 as * const CThostFtdcSyncFundMortgageField ) ) .
11376                MortgageSeqNo as * const _ as usize } , 0usize , concat ! (
11377                "Alignment of field: " , stringify ! (
11378                CThostFtdcSyncFundMortgageField ) , "::" , stringify ! (
11379                MortgageSeqNo ) ));
11380    assert_eq! (unsafe {
11381                & ( * ( 0 as * const CThostFtdcSyncFundMortgageField ) ) .
11382                BrokerID as * const _ as usize } , 15usize , concat ! (
11383                "Alignment of field: " , stringify ! (
11384                CThostFtdcSyncFundMortgageField ) , "::" , stringify ! (
11385                BrokerID ) ));
11386    assert_eq! (unsafe {
11387                & ( * ( 0 as * const CThostFtdcSyncFundMortgageField ) ) .
11388                InvestorID as * const _ as usize } , 26usize , concat ! (
11389                "Alignment of field: " , stringify ! (
11390                CThostFtdcSyncFundMortgageField ) , "::" , stringify ! (
11391                InvestorID ) ));
11392    assert_eq! (unsafe {
11393                & ( * ( 0 as * const CThostFtdcSyncFundMortgageField ) ) .
11394                FromCurrencyID as * const _ as usize } , 39usize , concat ! (
11395                "Alignment of field: " , stringify ! (
11396                CThostFtdcSyncFundMortgageField ) , "::" , stringify ! (
11397                FromCurrencyID ) ));
11398    assert_eq! (unsafe {
11399                & ( * ( 0 as * const CThostFtdcSyncFundMortgageField ) ) .
11400                MortgageAmount as * const _ as usize } , 48usize , concat ! (
11401                "Alignment of field: " , stringify ! (
11402                CThostFtdcSyncFundMortgageField ) , "::" , stringify ! (
11403                MortgageAmount ) ));
11404    assert_eq! (unsafe {
11405                & ( * ( 0 as * const CThostFtdcSyncFundMortgageField ) ) .
11406                ToCurrencyID as * const _ as usize } , 56usize , concat ! (
11407                "Alignment of field: " , stringify ! (
11408                CThostFtdcSyncFundMortgageField ) , "::" , stringify ! (
11409                ToCurrencyID ) ));
11410}
11411impl Clone for CThostFtdcSyncFundMortgageField {
11412    fn clone(&self) -> Self { *self }
11413}
11414/// 经纪公司同步
11415#[repr(C)]
11416#[derive(Default, Copy)]
11417pub struct CThostFtdcBrokerSyncField {
11418    /// 经纪公司代码
11419    pub BrokerID: TThostFtdcBrokerIDType,
11420}
11421#[test]
11422fn bindgen_test_layout_CThostFtdcBrokerSyncField() {
11423    assert_eq!(::std::mem::size_of::<CThostFtdcBrokerSyncField>() , 11usize ,
11424               concat ! (
11425               "Size of: " , stringify ! ( CThostFtdcBrokerSyncField ) ));
11426    assert_eq! (::std::mem::align_of::<CThostFtdcBrokerSyncField>() , 1usize ,
11427                concat ! (
11428                "Alignment of " , stringify ! ( CThostFtdcBrokerSyncField )
11429                ));
11430    assert_eq! (unsafe {
11431                & ( * ( 0 as * const CThostFtdcBrokerSyncField ) ) . BrokerID
11432                as * const _ as usize } , 0usize , concat ! (
11433                "Alignment of field: " , stringify ! (
11434                CThostFtdcBrokerSyncField ) , "::" , stringify ! ( BrokerID )
11435                ));
11436}
11437impl Clone for CThostFtdcBrokerSyncField {
11438    fn clone(&self) -> Self { *self }
11439}
11440/// 正在同步中的投资者
11441#[repr(C)]
11442#[derive(Copy)]
11443pub struct CThostFtdcSyncingInvestorField {
11444    /// 投资者代码
11445    pub InvestorID: TThostFtdcInvestorIDType,
11446    /// 经纪公司代码
11447    pub BrokerID: TThostFtdcBrokerIDType,
11448    /// 投资者分组代码
11449    pub InvestorGroupID: TThostFtdcInvestorIDType,
11450    /// 投资者名称
11451    pub InvestorName: TThostFtdcPartyNameType,
11452    /// 证件类型
11453    pub IdentifiedCardType: TThostFtdcIdCardTypeType,
11454    /// 证件号码
11455    pub IdentifiedCardNo: TThostFtdcIdentifiedCardNoType,
11456    /// 是否活跃
11457    pub IsActive: TThostFtdcBoolType,
11458    /// 联系电话
11459    pub Telephone: TThostFtdcTelephoneType,
11460    /// 通讯地址
11461    pub Address: TThostFtdcAddressType,
11462    /// 开户日期
11463    pub OpenDate: TThostFtdcDateType,
11464    /// 手机
11465    pub Mobile: TThostFtdcMobileType,
11466    /// 手续费率模板代码
11467    pub CommModelID: TThostFtdcInvestorIDType,
11468    /// 保证金率模板代码
11469    pub MarginModelID: TThostFtdcInvestorIDType,
11470}
11471#[test]
11472fn bindgen_test_layout_CThostFtdcSyncingInvestorField() {
11473    assert_eq!(::std::mem::size_of::<CThostFtdcSyncingInvestorField>() ,
11474               396usize , concat ! (
11475               "Size of: " , stringify ! ( CThostFtdcSyncingInvestorField )
11476               ));
11477    assert_eq! (::std::mem::align_of::<CThostFtdcSyncingInvestorField>() ,
11478                4usize , concat ! (
11479                "Alignment of " , stringify ! ( CThostFtdcSyncingInvestorField
11480                ) ));
11481    assert_eq! (unsafe {
11482                & ( * ( 0 as * const CThostFtdcSyncingInvestorField ) ) .
11483                InvestorID as * const _ as usize } , 0usize , concat ! (
11484                "Alignment of field: " , stringify ! (
11485                CThostFtdcSyncingInvestorField ) , "::" , stringify ! (
11486                InvestorID ) ));
11487    assert_eq! (unsafe {
11488                & ( * ( 0 as * const CThostFtdcSyncingInvestorField ) ) .
11489                BrokerID as * const _ as usize } , 13usize , concat ! (
11490                "Alignment of field: " , stringify ! (
11491                CThostFtdcSyncingInvestorField ) , "::" , stringify ! (
11492                BrokerID ) ));
11493    assert_eq! (unsafe {
11494                & ( * ( 0 as * const CThostFtdcSyncingInvestorField ) ) .
11495                InvestorGroupID as * const _ as usize } , 24usize , concat ! (
11496                "Alignment of field: " , stringify ! (
11497                CThostFtdcSyncingInvestorField ) , "::" , stringify ! (
11498                InvestorGroupID ) ));
11499    assert_eq! (unsafe {
11500                & ( * ( 0 as * const CThostFtdcSyncingInvestorField ) ) .
11501                InvestorName as * const _ as usize } , 37usize , concat ! (
11502                "Alignment of field: " , stringify ! (
11503                CThostFtdcSyncingInvestorField ) , "::" , stringify ! (
11504                InvestorName ) ));
11505    assert_eq! (unsafe {
11506                & ( * ( 0 as * const CThostFtdcSyncingInvestorField ) ) .
11507                IdentifiedCardType as * const _ as usize } , 118usize , concat
11508                ! (
11509                "Alignment of field: " , stringify ! (
11510                CThostFtdcSyncingInvestorField ) , "::" , stringify ! (
11511                IdentifiedCardType ) ));
11512    assert_eq! (unsafe {
11513                & ( * ( 0 as * const CThostFtdcSyncingInvestorField ) ) .
11514                IdentifiedCardNo as * const _ as usize } , 119usize , concat !
11515                (
11516                "Alignment of field: " , stringify ! (
11517                CThostFtdcSyncingInvestorField ) , "::" , stringify ! (
11518                IdentifiedCardNo ) ));
11519    assert_eq! (unsafe {
11520                & ( * ( 0 as * const CThostFtdcSyncingInvestorField ) ) .
11521                IsActive as * const _ as usize } , 172usize , concat ! (
11522                "Alignment of field: " , stringify ! (
11523                CThostFtdcSyncingInvestorField ) , "::" , stringify ! (
11524                IsActive ) ));
11525    assert_eq! (unsafe {
11526                & ( * ( 0 as * const CThostFtdcSyncingInvestorField ) ) .
11527                Telephone as * const _ as usize } , 176usize , concat ! (
11528                "Alignment of field: " , stringify ! (
11529                CThostFtdcSyncingInvestorField ) , "::" , stringify ! (
11530                Telephone ) ));
11531    assert_eq! (unsafe {
11532                & ( * ( 0 as * const CThostFtdcSyncingInvestorField ) ) .
11533                Address as * const _ as usize } , 217usize , concat ! (
11534                "Alignment of field: " , stringify ! (
11535                CThostFtdcSyncingInvestorField ) , "::" , stringify ! (
11536                Address ) ));
11537    assert_eq! (unsafe {
11538                & ( * ( 0 as * const CThostFtdcSyncingInvestorField ) ) .
11539                OpenDate as * const _ as usize } , 318usize , concat ! (
11540                "Alignment of field: " , stringify ! (
11541                CThostFtdcSyncingInvestorField ) , "::" , stringify ! (
11542                OpenDate ) ));
11543    assert_eq! (unsafe {
11544                & ( * ( 0 as * const CThostFtdcSyncingInvestorField ) ) .
11545                Mobile as * const _ as usize } , 327usize , concat ! (
11546                "Alignment of field: " , stringify ! (
11547                CThostFtdcSyncingInvestorField ) , "::" , stringify ! ( Mobile
11548                ) ));
11549    assert_eq! (unsafe {
11550                & ( * ( 0 as * const CThostFtdcSyncingInvestorField ) ) .
11551                CommModelID as * const _ as usize } , 368usize , concat ! (
11552                "Alignment of field: " , stringify ! (
11553                CThostFtdcSyncingInvestorField ) , "::" , stringify ! (
11554                CommModelID ) ));
11555    assert_eq! (unsafe {
11556                & ( * ( 0 as * const CThostFtdcSyncingInvestorField ) ) .
11557                MarginModelID as * const _ as usize } , 381usize , concat ! (
11558                "Alignment of field: " , stringify ! (
11559                CThostFtdcSyncingInvestorField ) , "::" , stringify ! (
11560                MarginModelID ) ));
11561}
11562impl Clone for CThostFtdcSyncingInvestorField {
11563    fn clone(&self) -> Self { *self }
11564}
11565impl Default for CThostFtdcSyncingInvestorField {
11566    fn default() -> Self { unsafe { ::std::mem::zeroed() } }
11567}
11568/// 正在同步中的交易代码
11569#[repr(C)]
11570#[derive(Default, Copy)]
11571pub struct CThostFtdcSyncingTradingCodeField {
11572    /// 投资者代码
11573    pub InvestorID: TThostFtdcInvestorIDType,
11574    /// 经纪公司代码
11575    pub BrokerID: TThostFtdcBrokerIDType,
11576    /// 交易所代码
11577    pub ExchangeID: TThostFtdcExchangeIDType,
11578    /// 客户代码
11579    pub ClientID: TThostFtdcClientIDType,
11580    /// 是否活跃
11581    pub IsActive: TThostFtdcBoolType,
11582    /// 交易编码类型
11583    pub ClientIDType: TThostFtdcClientIDTypeType,
11584}
11585#[test]
11586fn bindgen_test_layout_CThostFtdcSyncingTradingCodeField() {
11587    assert_eq!(::std::mem::size_of::<CThostFtdcSyncingTradingCodeField>() ,
11588               52usize , concat ! (
11589               "Size of: " , stringify ! ( CThostFtdcSyncingTradingCodeField )
11590               ));
11591    assert_eq! (::std::mem::align_of::<CThostFtdcSyncingTradingCodeField>() ,
11592                4usize , concat ! (
11593                "Alignment of " , stringify ! (
11594                CThostFtdcSyncingTradingCodeField ) ));
11595    assert_eq! (unsafe {
11596                & ( * ( 0 as * const CThostFtdcSyncingTradingCodeField ) ) .
11597                InvestorID as * const _ as usize } , 0usize , concat ! (
11598                "Alignment of field: " , stringify ! (
11599                CThostFtdcSyncingTradingCodeField ) , "::" , stringify ! (
11600                InvestorID ) ));
11601    assert_eq! (unsafe {
11602                & ( * ( 0 as * const CThostFtdcSyncingTradingCodeField ) ) .
11603                BrokerID as * const _ as usize } , 13usize , concat ! (
11604                "Alignment of field: " , stringify ! (
11605                CThostFtdcSyncingTradingCodeField ) , "::" , stringify ! (
11606                BrokerID ) ));
11607    assert_eq! (unsafe {
11608                & ( * ( 0 as * const CThostFtdcSyncingTradingCodeField ) ) .
11609                ExchangeID as * const _ as usize } , 24usize , concat ! (
11610                "Alignment of field: " , stringify ! (
11611                CThostFtdcSyncingTradingCodeField ) , "::" , stringify ! (
11612                ExchangeID ) ));
11613    assert_eq! (unsafe {
11614                & ( * ( 0 as * const CThostFtdcSyncingTradingCodeField ) ) .
11615                ClientID as * const _ as usize } , 33usize , concat ! (
11616                "Alignment of field: " , stringify ! (
11617                CThostFtdcSyncingTradingCodeField ) , "::" , stringify ! (
11618                ClientID ) ));
11619    assert_eq! (unsafe {
11620                & ( * ( 0 as * const CThostFtdcSyncingTradingCodeField ) ) .
11621                IsActive as * const _ as usize } , 44usize , concat ! (
11622                "Alignment of field: " , stringify ! (
11623                CThostFtdcSyncingTradingCodeField ) , "::" , stringify ! (
11624                IsActive ) ));
11625    assert_eq! (unsafe {
11626                & ( * ( 0 as * const CThostFtdcSyncingTradingCodeField ) ) .
11627                ClientIDType as * const _ as usize } , 48usize , concat ! (
11628                "Alignment of field: " , stringify ! (
11629                CThostFtdcSyncingTradingCodeField ) , "::" , stringify ! (
11630                ClientIDType ) ));
11631}
11632impl Clone for CThostFtdcSyncingTradingCodeField {
11633    fn clone(&self) -> Self { *self }
11634}
11635/// 正在同步中的投资者分组
11636#[repr(C)]
11637#[derive(Copy)]
11638pub struct CThostFtdcSyncingInvestorGroupField {
11639    /// 经纪公司代码
11640    pub BrokerID: TThostFtdcBrokerIDType,
11641    /// 投资者分组代码
11642    pub InvestorGroupID: TThostFtdcInvestorIDType,
11643    /// 投资者分组名称
11644    pub InvestorGroupName: TThostFtdcInvestorGroupNameType,
11645}
11646#[test]
11647fn bindgen_test_layout_CThostFtdcSyncingInvestorGroupField() {
11648    assert_eq!(::std::mem::size_of::<CThostFtdcSyncingInvestorGroupField>() ,
11649               65usize , concat ! (
11650               "Size of: " , stringify ! ( CThostFtdcSyncingInvestorGroupField
11651               ) ));
11652    assert_eq! (::std::mem::align_of::<CThostFtdcSyncingInvestorGroupField>()
11653                , 1usize , concat ! (
11654                "Alignment of " , stringify ! (
11655                CThostFtdcSyncingInvestorGroupField ) ));
11656    assert_eq! (unsafe {
11657                & ( * ( 0 as * const CThostFtdcSyncingInvestorGroupField ) ) .
11658                BrokerID as * const _ as usize } , 0usize , concat ! (
11659                "Alignment of field: " , stringify ! (
11660                CThostFtdcSyncingInvestorGroupField ) , "::" , stringify ! (
11661                BrokerID ) ));
11662    assert_eq! (unsafe {
11663                & ( * ( 0 as * const CThostFtdcSyncingInvestorGroupField ) ) .
11664                InvestorGroupID as * const _ as usize } , 11usize , concat ! (
11665                "Alignment of field: " , stringify ! (
11666                CThostFtdcSyncingInvestorGroupField ) , "::" , stringify ! (
11667                InvestorGroupID ) ));
11668    assert_eq! (unsafe {
11669                & ( * ( 0 as * const CThostFtdcSyncingInvestorGroupField ) ) .
11670                InvestorGroupName as * const _ as usize } , 24usize , concat !
11671                (
11672                "Alignment of field: " , stringify ! (
11673                CThostFtdcSyncingInvestorGroupField ) , "::" , stringify ! (
11674                InvestorGroupName ) ));
11675}
11676impl Clone for CThostFtdcSyncingInvestorGroupField {
11677    fn clone(&self) -> Self { *self }
11678}
11679impl Default for CThostFtdcSyncingInvestorGroupField {
11680    fn default() -> Self { unsafe { ::std::mem::zeroed() } }
11681}
11682/// 正在同步中的交易账号
11683#[repr(C)]
11684#[derive(Default, Copy)]
11685pub struct CThostFtdcSyncingTradingAccountField {
11686    /// 经纪公司代码
11687    pub BrokerID: TThostFtdcBrokerIDType,
11688    /// 投资者帐号
11689    pub AccountID: TThostFtdcAccountIDType,
11690    /// 上次质押金额
11691    pub PreMortgage: TThostFtdcMoneyType,
11692    /// 上次信用额度
11693    pub PreCredit: TThostFtdcMoneyType,
11694    /// 上次存款额
11695    pub PreDeposit: TThostFtdcMoneyType,
11696    /// 上次结算准备金
11697    pub PreBalance: TThostFtdcMoneyType,
11698    /// 上次占用的保证金
11699    pub PreMargin: TThostFtdcMoneyType,
11700    /// 利息基数
11701    pub InterestBase: TThostFtdcMoneyType,
11702    /// 利息收入
11703    pub Interest: TThostFtdcMoneyType,
11704    /// 入金金额
11705    pub Deposit: TThostFtdcMoneyType,
11706    /// 出金金额
11707    pub Withdraw: TThostFtdcMoneyType,
11708    /// 冻结的保证金
11709    pub FrozenMargin: TThostFtdcMoneyType,
11710    /// 冻结的资金
11711    pub FrozenCash: TThostFtdcMoneyType,
11712    /// 冻结的手续费
11713    pub FrozenCommission: TThostFtdcMoneyType,
11714    /// 当前保证金总额
11715    pub CurrMargin: TThostFtdcMoneyType,
11716    /// 资金差额
11717    pub CashIn: TThostFtdcMoneyType,
11718    /// 手续费
11719    pub Commission: TThostFtdcMoneyType,
11720    /// 平仓盈亏
11721    pub CloseProfit: TThostFtdcMoneyType,
11722    /// 持仓盈亏
11723    pub PositionProfit: TThostFtdcMoneyType,
11724    /// 期货结算准备金
11725    pub Balance: TThostFtdcMoneyType,
11726    /// 可用资金
11727    pub Available: TThostFtdcMoneyType,
11728    /// 可取资金
11729    pub WithdrawQuota: TThostFtdcMoneyType,
11730    /// 基本准备金
11731    pub Reserve: TThostFtdcMoneyType,
11732    /// 交易日
11733    pub TradingDay: TThostFtdcDateType,
11734    /// 结算编号
11735    pub SettlementID: TThostFtdcSettlementIDType,
11736    /// 信用额度
11737    pub Credit: TThostFtdcMoneyType,
11738    /// 质押金额
11739    pub Mortgage: TThostFtdcMoneyType,
11740    /// 交易所保证金
11741    pub ExchangeMargin: TThostFtdcMoneyType,
11742    /// 投资者交割保证金
11743    pub DeliveryMargin: TThostFtdcMoneyType,
11744    /// 交易所交割保证金
11745    pub ExchangeDeliveryMargin: TThostFtdcMoneyType,
11746    /// 保底期货结算准备金
11747    pub ReserveBalance: TThostFtdcMoneyType,
11748    /// 币种代码
11749    pub CurrencyID: TThostFtdcCurrencyIDType,
11750    /// 上次货币质入金额
11751    pub PreFundMortgageIn: TThostFtdcMoneyType,
11752    /// 上次货币质出金额
11753    pub PreFundMortgageOut: TThostFtdcMoneyType,
11754    /// 货币质入金额
11755    pub FundMortgageIn: TThostFtdcMoneyType,
11756    /// 货币质出金额
11757    pub FundMortgageOut: TThostFtdcMoneyType,
11758    /// 货币质押余额
11759    pub FundMortgageAvailable: TThostFtdcMoneyType,
11760    /// 可质押货币金额
11761    pub MortgageableFund: TThostFtdcMoneyType,
11762    /// 特殊产品占用保证金
11763    pub SpecProductMargin: TThostFtdcMoneyType,
11764    /// 特殊产品冻结保证金
11765    pub SpecProductFrozenMargin: TThostFtdcMoneyType,
11766    /// 特殊产品手续费
11767    pub SpecProductCommission: TThostFtdcMoneyType,
11768    /// 特殊产品冻结手续费
11769    pub SpecProductFrozenCommission: TThostFtdcMoneyType,
11770    /// 特殊产品持仓盈亏
11771    pub SpecProductPositionProfit: TThostFtdcMoneyType,
11772    /// 特殊产品平仓盈亏
11773    pub SpecProductCloseProfit: TThostFtdcMoneyType,
11774    /// 根据持仓盈亏算法计算的特殊产品持仓盈亏
11775    pub SpecProductPositionProfitByAlg: TThostFtdcMoneyType,
11776    /// 特殊产品交易所保证金
11777    pub SpecProductExchangeMargin: TThostFtdcMoneyType,
11778    /// 延时换汇冻结金额
11779    pub FrozenSwap: TThostFtdcMoneyType,
11780    /// 剩余换汇额度
11781    pub RemainSwap: TThostFtdcMoneyType,
11782}
11783#[test]
11784fn bindgen_test_layout_CThostFtdcSyncingTradingAccountField() {
11785    assert_eq!(::std::mem::size_of::<CThostFtdcSyncingTradingAccountField>() ,
11786               392usize , concat ! (
11787               "Size of: " , stringify ! (
11788               CThostFtdcSyncingTradingAccountField ) ));
11789    assert_eq! (::std::mem::align_of::<CThostFtdcSyncingTradingAccountField>()
11790                , 8usize , concat ! (
11791                "Alignment of " , stringify ! (
11792                CThostFtdcSyncingTradingAccountField ) ));
11793    assert_eq! (unsafe {
11794                & ( * ( 0 as * const CThostFtdcSyncingTradingAccountField ) )
11795                . BrokerID as * const _ as usize } , 0usize , concat ! (
11796                "Alignment of field: " , stringify ! (
11797                CThostFtdcSyncingTradingAccountField ) , "::" , stringify ! (
11798                BrokerID ) ));
11799    assert_eq! (unsafe {
11800                & ( * ( 0 as * const CThostFtdcSyncingTradingAccountField ) )
11801                . AccountID as * const _ as usize } , 11usize , concat ! (
11802                "Alignment of field: " , stringify ! (
11803                CThostFtdcSyncingTradingAccountField ) , "::" , stringify ! (
11804                AccountID ) ));
11805    assert_eq! (unsafe {
11806                & ( * ( 0 as * const CThostFtdcSyncingTradingAccountField ) )
11807                . PreMortgage as * const _ as usize } , 24usize , concat ! (
11808                "Alignment of field: " , stringify ! (
11809                CThostFtdcSyncingTradingAccountField ) , "::" , stringify ! (
11810                PreMortgage ) ));
11811    assert_eq! (unsafe {
11812                & ( * ( 0 as * const CThostFtdcSyncingTradingAccountField ) )
11813                . PreCredit as * const _ as usize } , 32usize , concat ! (
11814                "Alignment of field: " , stringify ! (
11815                CThostFtdcSyncingTradingAccountField ) , "::" , stringify ! (
11816                PreCredit ) ));
11817    assert_eq! (unsafe {
11818                & ( * ( 0 as * const CThostFtdcSyncingTradingAccountField ) )
11819                . PreDeposit as * const _ as usize } , 40usize , concat ! (
11820                "Alignment of field: " , stringify ! (
11821                CThostFtdcSyncingTradingAccountField ) , "::" , stringify ! (
11822                PreDeposit ) ));
11823    assert_eq! (unsafe {
11824                & ( * ( 0 as * const CThostFtdcSyncingTradingAccountField ) )
11825                . PreBalance as * const _ as usize } , 48usize , concat ! (
11826                "Alignment of field: " , stringify ! (
11827                CThostFtdcSyncingTradingAccountField ) , "::" , stringify ! (
11828                PreBalance ) ));
11829    assert_eq! (unsafe {
11830                & ( * ( 0 as * const CThostFtdcSyncingTradingAccountField ) )
11831                . PreMargin as * const _ as usize } , 56usize , concat ! (
11832                "Alignment of field: " , stringify ! (
11833                CThostFtdcSyncingTradingAccountField ) , "::" , stringify ! (
11834                PreMargin ) ));
11835    assert_eq! (unsafe {
11836                & ( * ( 0 as * const CThostFtdcSyncingTradingAccountField ) )
11837                . InterestBase as * const _ as usize } , 64usize , concat ! (
11838                "Alignment of field: " , stringify ! (
11839                CThostFtdcSyncingTradingAccountField ) , "::" , stringify ! (
11840                InterestBase ) ));
11841    assert_eq! (unsafe {
11842                & ( * ( 0 as * const CThostFtdcSyncingTradingAccountField ) )
11843                . Interest as * const _ as usize } , 72usize , concat ! (
11844                "Alignment of field: " , stringify ! (
11845                CThostFtdcSyncingTradingAccountField ) , "::" , stringify ! (
11846                Interest ) ));
11847    assert_eq! (unsafe {
11848                & ( * ( 0 as * const CThostFtdcSyncingTradingAccountField ) )
11849                . Deposit as * const _ as usize } , 80usize , concat ! (
11850                "Alignment of field: " , stringify ! (
11851                CThostFtdcSyncingTradingAccountField ) , "::" , stringify ! (
11852                Deposit ) ));
11853    assert_eq! (unsafe {
11854                & ( * ( 0 as * const CThostFtdcSyncingTradingAccountField ) )
11855                . Withdraw as * const _ as usize } , 88usize , concat ! (
11856                "Alignment of field: " , stringify ! (
11857                CThostFtdcSyncingTradingAccountField ) , "::" , stringify ! (
11858                Withdraw ) ));
11859    assert_eq! (unsafe {
11860                & ( * ( 0 as * const CThostFtdcSyncingTradingAccountField ) )
11861                . FrozenMargin as * const _ as usize } , 96usize , concat ! (
11862                "Alignment of field: " , stringify ! (
11863                CThostFtdcSyncingTradingAccountField ) , "::" , stringify ! (
11864                FrozenMargin ) ));
11865    assert_eq! (unsafe {
11866                & ( * ( 0 as * const CThostFtdcSyncingTradingAccountField ) )
11867                . FrozenCash as * const _ as usize } , 104usize , concat ! (
11868                "Alignment of field: " , stringify ! (
11869                CThostFtdcSyncingTradingAccountField ) , "::" , stringify ! (
11870                FrozenCash ) ));
11871    assert_eq! (unsafe {
11872                & ( * ( 0 as * const CThostFtdcSyncingTradingAccountField ) )
11873                . FrozenCommission as * const _ as usize } , 112usize , concat
11874                ! (
11875                "Alignment of field: " , stringify ! (
11876                CThostFtdcSyncingTradingAccountField ) , "::" , stringify ! (
11877                FrozenCommission ) ));
11878    assert_eq! (unsafe {
11879                & ( * ( 0 as * const CThostFtdcSyncingTradingAccountField ) )
11880                . CurrMargin as * const _ as usize } , 120usize , concat ! (
11881                "Alignment of field: " , stringify ! (
11882                CThostFtdcSyncingTradingAccountField ) , "::" , stringify ! (
11883                CurrMargin ) ));
11884    assert_eq! (unsafe {
11885                & ( * ( 0 as * const CThostFtdcSyncingTradingAccountField ) )
11886                . CashIn as * const _ as usize } , 128usize , concat ! (
11887                "Alignment of field: " , stringify ! (
11888                CThostFtdcSyncingTradingAccountField ) , "::" , stringify ! (
11889                CashIn ) ));
11890    assert_eq! (unsafe {
11891                & ( * ( 0 as * const CThostFtdcSyncingTradingAccountField ) )
11892                . Commission as * const _ as usize } , 136usize , concat ! (
11893                "Alignment of field: " , stringify ! (
11894                CThostFtdcSyncingTradingAccountField ) , "::" , stringify ! (
11895                Commission ) ));
11896    assert_eq! (unsafe {
11897                & ( * ( 0 as * const CThostFtdcSyncingTradingAccountField ) )
11898                . CloseProfit as * const _ as usize } , 144usize , concat ! (
11899                "Alignment of field: " , stringify ! (
11900                CThostFtdcSyncingTradingAccountField ) , "::" , stringify ! (
11901                CloseProfit ) ));
11902    assert_eq! (unsafe {
11903                & ( * ( 0 as * const CThostFtdcSyncingTradingAccountField ) )
11904                . PositionProfit as * const _ as usize } , 152usize , concat !
11905                (
11906                "Alignment of field: " , stringify ! (
11907                CThostFtdcSyncingTradingAccountField ) , "::" , stringify ! (
11908                PositionProfit ) ));
11909    assert_eq! (unsafe {
11910                & ( * ( 0 as * const CThostFtdcSyncingTradingAccountField ) )
11911                . Balance as * const _ as usize } , 160usize , concat ! (
11912                "Alignment of field: " , stringify ! (
11913                CThostFtdcSyncingTradingAccountField ) , "::" , stringify ! (
11914                Balance ) ));
11915    assert_eq! (unsafe {
11916                & ( * ( 0 as * const CThostFtdcSyncingTradingAccountField ) )
11917                . Available as * const _ as usize } , 168usize , concat ! (
11918                "Alignment of field: " , stringify ! (
11919                CThostFtdcSyncingTradingAccountField ) , "::" , stringify ! (
11920                Available ) ));
11921    assert_eq! (unsafe {
11922                & ( * ( 0 as * const CThostFtdcSyncingTradingAccountField ) )
11923                . WithdrawQuota as * const _ as usize } , 176usize , concat !
11924                (
11925                "Alignment of field: " , stringify ! (
11926                CThostFtdcSyncingTradingAccountField ) , "::" , stringify ! (
11927                WithdrawQuota ) ));
11928    assert_eq! (unsafe {
11929                & ( * ( 0 as * const CThostFtdcSyncingTradingAccountField ) )
11930                . Reserve as * const _ as usize } , 184usize , concat ! (
11931                "Alignment of field: " , stringify ! (
11932                CThostFtdcSyncingTradingAccountField ) , "::" , stringify ! (
11933                Reserve ) ));
11934    assert_eq! (unsafe {
11935                & ( * ( 0 as * const CThostFtdcSyncingTradingAccountField ) )
11936                . TradingDay as * const _ as usize } , 192usize , concat ! (
11937                "Alignment of field: " , stringify ! (
11938                CThostFtdcSyncingTradingAccountField ) , "::" , stringify ! (
11939                TradingDay ) ));
11940    assert_eq! (unsafe {
11941                & ( * ( 0 as * const CThostFtdcSyncingTradingAccountField ) )
11942                . SettlementID as * const _ as usize } , 204usize , concat ! (
11943                "Alignment of field: " , stringify ! (
11944                CThostFtdcSyncingTradingAccountField ) , "::" , stringify ! (
11945                SettlementID ) ));
11946    assert_eq! (unsafe {
11947                & ( * ( 0 as * const CThostFtdcSyncingTradingAccountField ) )
11948                . Credit as * const _ as usize } , 208usize , concat ! (
11949                "Alignment of field: " , stringify ! (
11950                CThostFtdcSyncingTradingAccountField ) , "::" , stringify ! (
11951                Credit ) ));
11952    assert_eq! (unsafe {
11953                & ( * ( 0 as * const CThostFtdcSyncingTradingAccountField ) )
11954                . Mortgage as * const _ as usize } , 216usize , concat ! (
11955                "Alignment of field: " , stringify ! (
11956                CThostFtdcSyncingTradingAccountField ) , "::" , stringify ! (
11957                Mortgage ) ));
11958    assert_eq! (unsafe {
11959                & ( * ( 0 as * const CThostFtdcSyncingTradingAccountField ) )
11960                . ExchangeMargin as * const _ as usize } , 224usize , concat !
11961                (
11962                "Alignment of field: " , stringify ! (
11963                CThostFtdcSyncingTradingAccountField ) , "::" , stringify ! (
11964                ExchangeMargin ) ));
11965    assert_eq! (unsafe {
11966                & ( * ( 0 as * const CThostFtdcSyncingTradingAccountField ) )
11967                . DeliveryMargin as * const _ as usize } , 232usize , concat !
11968                (
11969                "Alignment of field: " , stringify ! (
11970                CThostFtdcSyncingTradingAccountField ) , "::" , stringify ! (
11971                DeliveryMargin ) ));
11972    assert_eq! (unsafe {
11973                & ( * ( 0 as * const CThostFtdcSyncingTradingAccountField ) )
11974                . ExchangeDeliveryMargin as * const _ as usize } , 240usize ,
11975                concat ! (
11976                "Alignment of field: " , stringify ! (
11977                CThostFtdcSyncingTradingAccountField ) , "::" , stringify ! (
11978                ExchangeDeliveryMargin ) ));
11979    assert_eq! (unsafe {
11980                & ( * ( 0 as * const CThostFtdcSyncingTradingAccountField ) )
11981                . ReserveBalance as * const _ as usize } , 248usize , concat !
11982                (
11983                "Alignment of field: " , stringify ! (
11984                CThostFtdcSyncingTradingAccountField ) , "::" , stringify ! (
11985                ReserveBalance ) ));
11986    assert_eq! (unsafe {
11987                & ( * ( 0 as * const CThostFtdcSyncingTradingAccountField ) )
11988                . CurrencyID as * const _ as usize } , 256usize , concat ! (
11989                "Alignment of field: " , stringify ! (
11990                CThostFtdcSyncingTradingAccountField ) , "::" , stringify ! (
11991                CurrencyID ) ));
11992    assert_eq! (unsafe {
11993                & ( * ( 0 as * const CThostFtdcSyncingTradingAccountField ) )
11994                . PreFundMortgageIn as * const _ as usize } , 264usize ,
11995                concat ! (
11996                "Alignment of field: " , stringify ! (
11997                CThostFtdcSyncingTradingAccountField ) , "::" , stringify ! (
11998                PreFundMortgageIn ) ));
11999    assert_eq! (unsafe {
12000                & ( * ( 0 as * const CThostFtdcSyncingTradingAccountField ) )
12001                . PreFundMortgageOut as * const _ as usize } , 272usize ,
12002                concat ! (
12003                "Alignment of field: " , stringify ! (
12004                CThostFtdcSyncingTradingAccountField ) , "::" , stringify ! (
12005                PreFundMortgageOut ) ));
12006    assert_eq! (unsafe {
12007                & ( * ( 0 as * const CThostFtdcSyncingTradingAccountField ) )
12008                . FundMortgageIn as * const _ as usize } , 280usize , concat !
12009                (
12010                "Alignment of field: " , stringify ! (
12011                CThostFtdcSyncingTradingAccountField ) , "::" , stringify ! (
12012                FundMortgageIn ) ));
12013    assert_eq! (unsafe {
12014                & ( * ( 0 as * const CThostFtdcSyncingTradingAccountField ) )
12015                . FundMortgageOut as * const _ as usize } , 288usize , concat
12016                ! (
12017                "Alignment of field: " , stringify ! (
12018                CThostFtdcSyncingTradingAccountField ) , "::" , stringify ! (
12019                FundMortgageOut ) ));
12020    assert_eq! (unsafe {
12021                & ( * ( 0 as * const CThostFtdcSyncingTradingAccountField ) )
12022                . FundMortgageAvailable as * const _ as usize } , 296usize ,
12023                concat ! (
12024                "Alignment of field: " , stringify ! (
12025                CThostFtdcSyncingTradingAccountField ) , "::" , stringify ! (
12026                FundMortgageAvailable ) ));
12027    assert_eq! (unsafe {
12028                & ( * ( 0 as * const CThostFtdcSyncingTradingAccountField ) )
12029                . MortgageableFund as * const _ as usize } , 304usize , concat
12030                ! (
12031                "Alignment of field: " , stringify ! (
12032                CThostFtdcSyncingTradingAccountField ) , "::" , stringify ! (
12033                MortgageableFund ) ));
12034    assert_eq! (unsafe {
12035                & ( * ( 0 as * const CThostFtdcSyncingTradingAccountField ) )
12036                . SpecProductMargin as * const _ as usize } , 312usize ,
12037                concat ! (
12038                "Alignment of field: " , stringify ! (
12039                CThostFtdcSyncingTradingAccountField ) , "::" , stringify ! (
12040                SpecProductMargin ) ));
12041    assert_eq! (unsafe {
12042                & ( * ( 0 as * const CThostFtdcSyncingTradingAccountField ) )
12043                . SpecProductFrozenMargin as * const _ as usize } , 320usize ,
12044                concat ! (
12045                "Alignment of field: " , stringify ! (
12046                CThostFtdcSyncingTradingAccountField ) , "::" , stringify ! (
12047                SpecProductFrozenMargin ) ));
12048    assert_eq! (unsafe {
12049                & ( * ( 0 as * const CThostFtdcSyncingTradingAccountField ) )
12050                . SpecProductCommission as * const _ as usize } , 328usize ,
12051                concat ! (
12052                "Alignment of field: " , stringify ! (
12053                CThostFtdcSyncingTradingAccountField ) , "::" , stringify ! (
12054                SpecProductCommission ) ));
12055    assert_eq! (unsafe {
12056                & ( * ( 0 as * const CThostFtdcSyncingTradingAccountField ) )
12057                . SpecProductFrozenCommission as * const _ as usize } ,
12058                336usize , concat ! (
12059                "Alignment of field: " , stringify ! (
12060                CThostFtdcSyncingTradingAccountField ) , "::" , stringify ! (
12061                SpecProductFrozenCommission ) ));
12062    assert_eq! (unsafe {
12063                & ( * ( 0 as * const CThostFtdcSyncingTradingAccountField ) )
12064                . SpecProductPositionProfit as * const _ as usize } , 344usize
12065                , concat ! (
12066                "Alignment of field: " , stringify ! (
12067                CThostFtdcSyncingTradingAccountField ) , "::" , stringify ! (
12068                SpecProductPositionProfit ) ));
12069    assert_eq! (unsafe {
12070                & ( * ( 0 as * const CThostFtdcSyncingTradingAccountField ) )
12071                . SpecProductCloseProfit as * const _ as usize } , 352usize ,
12072                concat ! (
12073                "Alignment of field: " , stringify ! (
12074                CThostFtdcSyncingTradingAccountField ) , "::" , stringify ! (
12075                SpecProductCloseProfit ) ));
12076    assert_eq! (unsafe {
12077                & ( * ( 0 as * const CThostFtdcSyncingTradingAccountField ) )
12078                . SpecProductPositionProfitByAlg as * const _ as usize } ,
12079                360usize , concat ! (
12080                "Alignment of field: " , stringify ! (
12081                CThostFtdcSyncingTradingAccountField ) , "::" , stringify ! (
12082                SpecProductPositionProfitByAlg ) ));
12083    assert_eq! (unsafe {
12084                & ( * ( 0 as * const CThostFtdcSyncingTradingAccountField ) )
12085                . SpecProductExchangeMargin as * const _ as usize } , 368usize
12086                , concat ! (
12087                "Alignment of field: " , stringify ! (
12088                CThostFtdcSyncingTradingAccountField ) , "::" , stringify ! (
12089                SpecProductExchangeMargin ) ));
12090    assert_eq! (unsafe {
12091                & ( * ( 0 as * const CThostFtdcSyncingTradingAccountField ) )
12092                . FrozenSwap as * const _ as usize } , 376usize , concat ! (
12093                "Alignment of field: " , stringify ! (
12094                CThostFtdcSyncingTradingAccountField ) , "::" , stringify ! (
12095                FrozenSwap ) ));
12096    assert_eq! (unsafe {
12097                & ( * ( 0 as * const CThostFtdcSyncingTradingAccountField ) )
12098                . RemainSwap as * const _ as usize } , 384usize , concat ! (
12099                "Alignment of field: " , stringify ! (
12100                CThostFtdcSyncingTradingAccountField ) , "::" , stringify ! (
12101                RemainSwap ) ));
12102}
12103impl Clone for CThostFtdcSyncingTradingAccountField {
12104    fn clone(&self) -> Self { *self }
12105}
12106/// 正在同步中的投资者持仓
12107#[repr(C)]
12108#[derive(Default, Copy)]
12109pub struct CThostFtdcSyncingInvestorPositionField {
12110    /// 合约代码
12111    pub InstrumentID: TThostFtdcInstrumentIDType,
12112    /// 经纪公司代码
12113    pub BrokerID: TThostFtdcBrokerIDType,
12114    /// 投资者代码
12115    pub InvestorID: TThostFtdcInvestorIDType,
12116    /// 持仓多空方向
12117    pub PosiDirection: TThostFtdcPosiDirectionType,
12118    /// 投机套保标志
12119    pub HedgeFlag: TThostFtdcHedgeFlagType,
12120    /// 持仓日期
12121    pub PositionDate: TThostFtdcPositionDateType,
12122    /// 上日持仓
12123    pub YdPosition: TThostFtdcVolumeType,
12124    /// 今日持仓
12125    pub Position: TThostFtdcVolumeType,
12126    /// 多头冻结
12127    pub LongFrozen: TThostFtdcVolumeType,
12128    /// 空头冻结
12129    pub ShortFrozen: TThostFtdcVolumeType,
12130    /// 开仓冻结金额
12131    pub LongFrozenAmount: TThostFtdcMoneyType,
12132    /// 开仓冻结金额
12133    pub ShortFrozenAmount: TThostFtdcMoneyType,
12134    /// 开仓量
12135    pub OpenVolume: TThostFtdcVolumeType,
12136    /// 平仓量
12137    pub CloseVolume: TThostFtdcVolumeType,
12138    /// 开仓金额
12139    pub OpenAmount: TThostFtdcMoneyType,
12140    /// 平仓金额
12141    pub CloseAmount: TThostFtdcMoneyType,
12142    /// 持仓成本
12143    pub PositionCost: TThostFtdcMoneyType,
12144    /// 上次占用的保证金
12145    pub PreMargin: TThostFtdcMoneyType,
12146    /// 占用的保证金
12147    pub UseMargin: TThostFtdcMoneyType,
12148    /// 冻结的保证金
12149    pub FrozenMargin: TThostFtdcMoneyType,
12150    /// 冻结的资金
12151    pub FrozenCash: TThostFtdcMoneyType,
12152    /// 冻结的手续费
12153    pub FrozenCommission: TThostFtdcMoneyType,
12154    /// 资金差额
12155    pub CashIn: TThostFtdcMoneyType,
12156    /// 手续费
12157    pub Commission: TThostFtdcMoneyType,
12158    /// 平仓盈亏
12159    pub CloseProfit: TThostFtdcMoneyType,
12160    /// 持仓盈亏
12161    pub PositionProfit: TThostFtdcMoneyType,
12162    /// 上次结算价
12163    pub PreSettlementPrice: TThostFtdcPriceType,
12164    /// 本次结算价
12165    pub SettlementPrice: TThostFtdcPriceType,
12166    /// 交易日
12167    pub TradingDay: TThostFtdcDateType,
12168    /// 结算编号
12169    pub SettlementID: TThostFtdcSettlementIDType,
12170    /// 开仓成本
12171    pub OpenCost: TThostFtdcMoneyType,
12172    /// 交易所保证金
12173    pub ExchangeMargin: TThostFtdcMoneyType,
12174    /// 组合成交形成的持仓
12175    pub CombPosition: TThostFtdcVolumeType,
12176    /// 组合多头冻结
12177    pub CombLongFrozen: TThostFtdcVolumeType,
12178    /// 组合空头冻结
12179    pub CombShortFrozen: TThostFtdcVolumeType,
12180    /// 逐日盯市平仓盈亏
12181    pub CloseProfitByDate: TThostFtdcMoneyType,
12182    /// 逐笔对冲平仓盈亏
12183    pub CloseProfitByTrade: TThostFtdcMoneyType,
12184    /// 今日持仓
12185    pub TodayPosition: TThostFtdcVolumeType,
12186    /// 保证金率
12187    pub MarginRateByMoney: TThostFtdcRatioType,
12188    /// 保证金率(按手数)
12189    pub MarginRateByVolume: TThostFtdcRatioType,
12190    /// 执行冻结
12191    pub StrikeFrozen: TThostFtdcVolumeType,
12192    /// 执行冻结金额
12193    pub StrikeFrozenAmount: TThostFtdcMoneyType,
12194    /// 放弃执行冻结
12195    pub AbandonFrozen: TThostFtdcVolumeType,
12196    /// 交易所代码
12197    pub ExchangeID: TThostFtdcExchangeIDType,
12198    /// 执行冻结的昨仓
12199    pub YdStrikeFrozen: TThostFtdcVolumeType,
12200    /// 投资单元代码
12201    pub InvestUnitID: TThostFtdcInvestUnitIDType,
12202    /// 大商所持仓成本差值,只有大商所使用
12203    pub PositionCostOffset: TThostFtdcMoneyType,
12204}
12205#[test]
12206fn bindgen_test_layout_CThostFtdcSyncingInvestorPositionField() {
12207    assert_eq!(::std::mem::size_of::<CThostFtdcSyncingInvestorPositionField>()
12208               , 368usize , concat ! (
12209               "Size of: " , stringify ! (
12210               CThostFtdcSyncingInvestorPositionField ) ));
12211    assert_eq! (::std::mem::align_of::<CThostFtdcSyncingInvestorPositionField>()
12212                , 8usize , concat ! (
12213                "Alignment of " , stringify ! (
12214                CThostFtdcSyncingInvestorPositionField ) ));
12215    assert_eq! (unsafe {
12216                & ( * ( 0 as * const CThostFtdcSyncingInvestorPositionField )
12217                ) . InstrumentID as * const _ as usize } , 0usize , concat ! (
12218                "Alignment of field: " , stringify ! (
12219                CThostFtdcSyncingInvestorPositionField ) , "::" , stringify !
12220                ( InstrumentID ) ));
12221    assert_eq! (unsafe {
12222                & ( * ( 0 as * const CThostFtdcSyncingInvestorPositionField )
12223                ) . BrokerID as * const _ as usize } , 31usize , concat ! (
12224                "Alignment of field: " , stringify ! (
12225                CThostFtdcSyncingInvestorPositionField ) , "::" , stringify !
12226                ( BrokerID ) ));
12227    assert_eq! (unsafe {
12228                & ( * ( 0 as * const CThostFtdcSyncingInvestorPositionField )
12229                ) . InvestorID as * const _ as usize } , 42usize , concat ! (
12230                "Alignment of field: " , stringify ! (
12231                CThostFtdcSyncingInvestorPositionField ) , "::" , stringify !
12232                ( InvestorID ) ));
12233    assert_eq! (unsafe {
12234                & ( * ( 0 as * const CThostFtdcSyncingInvestorPositionField )
12235                ) . PosiDirection as * const _ as usize } , 55usize , concat !
12236                (
12237                "Alignment of field: " , stringify ! (
12238                CThostFtdcSyncingInvestorPositionField ) , "::" , stringify !
12239                ( PosiDirection ) ));
12240    assert_eq! (unsafe {
12241                & ( * ( 0 as * const CThostFtdcSyncingInvestorPositionField )
12242                ) . HedgeFlag as * const _ as usize } , 56usize , concat ! (
12243                "Alignment of field: " , stringify ! (
12244                CThostFtdcSyncingInvestorPositionField ) , "::" , stringify !
12245                ( HedgeFlag ) ));
12246    assert_eq! (unsafe {
12247                & ( * ( 0 as * const CThostFtdcSyncingInvestorPositionField )
12248                ) . PositionDate as * const _ as usize } , 57usize , concat !
12249                (
12250                "Alignment of field: " , stringify ! (
12251                CThostFtdcSyncingInvestorPositionField ) , "::" , stringify !
12252                ( PositionDate ) ));
12253    assert_eq! (unsafe {
12254                & ( * ( 0 as * const CThostFtdcSyncingInvestorPositionField )
12255                ) . YdPosition as * const _ as usize } , 60usize , concat ! (
12256                "Alignment of field: " , stringify ! (
12257                CThostFtdcSyncingInvestorPositionField ) , "::" , stringify !
12258                ( YdPosition ) ));
12259    assert_eq! (unsafe {
12260                & ( * ( 0 as * const CThostFtdcSyncingInvestorPositionField )
12261                ) . Position as * const _ as usize } , 64usize , concat ! (
12262                "Alignment of field: " , stringify ! (
12263                CThostFtdcSyncingInvestorPositionField ) , "::" , stringify !
12264                ( Position ) ));
12265    assert_eq! (unsafe {
12266                & ( * ( 0 as * const CThostFtdcSyncingInvestorPositionField )
12267                ) . LongFrozen as * const _ as usize } , 68usize , concat ! (
12268                "Alignment of field: " , stringify ! (
12269                CThostFtdcSyncingInvestorPositionField ) , "::" , stringify !
12270                ( LongFrozen ) ));
12271    assert_eq! (unsafe {
12272                & ( * ( 0 as * const CThostFtdcSyncingInvestorPositionField )
12273                ) . ShortFrozen as * const _ as usize } , 72usize , concat ! (
12274                "Alignment of field: " , stringify ! (
12275                CThostFtdcSyncingInvestorPositionField ) , "::" , stringify !
12276                ( ShortFrozen ) ));
12277    assert_eq! (unsafe {
12278                & ( * ( 0 as * const CThostFtdcSyncingInvestorPositionField )
12279                ) . LongFrozenAmount as * const _ as usize } , 80usize ,
12280                concat ! (
12281                "Alignment of field: " , stringify ! (
12282                CThostFtdcSyncingInvestorPositionField ) , "::" , stringify !
12283                ( LongFrozenAmount ) ));
12284    assert_eq! (unsafe {
12285                & ( * ( 0 as * const CThostFtdcSyncingInvestorPositionField )
12286                ) . ShortFrozenAmount as * const _ as usize } , 88usize ,
12287                concat ! (
12288                "Alignment of field: " , stringify ! (
12289                CThostFtdcSyncingInvestorPositionField ) , "::" , stringify !
12290                ( ShortFrozenAmount ) ));
12291    assert_eq! (unsafe {
12292                & ( * ( 0 as * const CThostFtdcSyncingInvestorPositionField )
12293                ) . OpenVolume as * const _ as usize } , 96usize , concat ! (
12294                "Alignment of field: " , stringify ! (
12295                CThostFtdcSyncingInvestorPositionField ) , "::" , stringify !
12296                ( OpenVolume ) ));
12297    assert_eq! (unsafe {
12298                & ( * ( 0 as * const CThostFtdcSyncingInvestorPositionField )
12299                ) . CloseVolume as * const _ as usize } , 100usize , concat !
12300                (
12301                "Alignment of field: " , stringify ! (
12302                CThostFtdcSyncingInvestorPositionField ) , "::" , stringify !
12303                ( CloseVolume ) ));
12304    assert_eq! (unsafe {
12305                & ( * ( 0 as * const CThostFtdcSyncingInvestorPositionField )
12306                ) . OpenAmount as * const _ as usize } , 104usize , concat ! (
12307                "Alignment of field: " , stringify ! (
12308                CThostFtdcSyncingInvestorPositionField ) , "::" , stringify !
12309                ( OpenAmount ) ));
12310    assert_eq! (unsafe {
12311                & ( * ( 0 as * const CThostFtdcSyncingInvestorPositionField )
12312                ) . CloseAmount as * const _ as usize } , 112usize , concat !
12313                (
12314                "Alignment of field: " , stringify ! (
12315                CThostFtdcSyncingInvestorPositionField ) , "::" , stringify !
12316                ( CloseAmount ) ));
12317    assert_eq! (unsafe {
12318                & ( * ( 0 as * const CThostFtdcSyncingInvestorPositionField )
12319                ) . PositionCost as * const _ as usize } , 120usize , concat !
12320                (
12321                "Alignment of field: " , stringify ! (
12322                CThostFtdcSyncingInvestorPositionField ) , "::" , stringify !
12323                ( PositionCost ) ));
12324    assert_eq! (unsafe {
12325                & ( * ( 0 as * const CThostFtdcSyncingInvestorPositionField )
12326                ) . PreMargin as * const _ as usize } , 128usize , concat ! (
12327                "Alignment of field: " , stringify ! (
12328                CThostFtdcSyncingInvestorPositionField ) , "::" , stringify !
12329                ( PreMargin ) ));
12330    assert_eq! (unsafe {
12331                & ( * ( 0 as * const CThostFtdcSyncingInvestorPositionField )
12332                ) . UseMargin as * const _ as usize } , 136usize , concat ! (
12333                "Alignment of field: " , stringify ! (
12334                CThostFtdcSyncingInvestorPositionField ) , "::" , stringify !
12335                ( UseMargin ) ));
12336    assert_eq! (unsafe {
12337                & ( * ( 0 as * const CThostFtdcSyncingInvestorPositionField )
12338                ) . FrozenMargin as * const _ as usize } , 144usize , concat !
12339                (
12340                "Alignment of field: " , stringify ! (
12341                CThostFtdcSyncingInvestorPositionField ) , "::" , stringify !
12342                ( FrozenMargin ) ));
12343    assert_eq! (unsafe {
12344                & ( * ( 0 as * const CThostFtdcSyncingInvestorPositionField )
12345                ) . FrozenCash as * const _ as usize } , 152usize , concat ! (
12346                "Alignment of field: " , stringify ! (
12347                CThostFtdcSyncingInvestorPositionField ) , "::" , stringify !
12348                ( FrozenCash ) ));
12349    assert_eq! (unsafe {
12350                & ( * ( 0 as * const CThostFtdcSyncingInvestorPositionField )
12351                ) . FrozenCommission as * const _ as usize } , 160usize ,
12352                concat ! (
12353                "Alignment of field: " , stringify ! (
12354                CThostFtdcSyncingInvestorPositionField ) , "::" , stringify !
12355                ( FrozenCommission ) ));
12356    assert_eq! (unsafe {
12357                & ( * ( 0 as * const CThostFtdcSyncingInvestorPositionField )
12358                ) . CashIn as * const _ as usize } , 168usize , concat ! (
12359                "Alignment of field: " , stringify ! (
12360                CThostFtdcSyncingInvestorPositionField ) , "::" , stringify !
12361                ( CashIn ) ));
12362    assert_eq! (unsafe {
12363                & ( * ( 0 as * const CThostFtdcSyncingInvestorPositionField )
12364                ) . Commission as * const _ as usize } , 176usize , concat ! (
12365                "Alignment of field: " , stringify ! (
12366                CThostFtdcSyncingInvestorPositionField ) , "::" , stringify !
12367                ( Commission ) ));
12368    assert_eq! (unsafe {
12369                & ( * ( 0 as * const CThostFtdcSyncingInvestorPositionField )
12370                ) . CloseProfit as * const _ as usize } , 184usize , concat !
12371                (
12372                "Alignment of field: " , stringify ! (
12373                CThostFtdcSyncingInvestorPositionField ) , "::" , stringify !
12374                ( CloseProfit ) ));
12375    assert_eq! (unsafe {
12376                & ( * ( 0 as * const CThostFtdcSyncingInvestorPositionField )
12377                ) . PositionProfit as * const _ as usize } , 192usize , concat
12378                ! (
12379                "Alignment of field: " , stringify ! (
12380                CThostFtdcSyncingInvestorPositionField ) , "::" , stringify !
12381                ( PositionProfit ) ));
12382    assert_eq! (unsafe {
12383                & ( * ( 0 as * const CThostFtdcSyncingInvestorPositionField )
12384                ) . PreSettlementPrice as * const _ as usize } , 200usize ,
12385                concat ! (
12386                "Alignment of field: " , stringify ! (
12387                CThostFtdcSyncingInvestorPositionField ) , "::" , stringify !
12388                ( PreSettlementPrice ) ));
12389    assert_eq! (unsafe {
12390                & ( * ( 0 as * const CThostFtdcSyncingInvestorPositionField )
12391                ) . SettlementPrice as * const _ as usize } , 208usize ,
12392                concat ! (
12393                "Alignment of field: " , stringify ! (
12394                CThostFtdcSyncingInvestorPositionField ) , "::" , stringify !
12395                ( SettlementPrice ) ));
12396    assert_eq! (unsafe {
12397                & ( * ( 0 as * const CThostFtdcSyncingInvestorPositionField )
12398                ) . TradingDay as * const _ as usize } , 216usize , concat ! (
12399                "Alignment of field: " , stringify ! (
12400                CThostFtdcSyncingInvestorPositionField ) , "::" , stringify !
12401                ( TradingDay ) ));
12402    assert_eq! (unsafe {
12403                & ( * ( 0 as * const CThostFtdcSyncingInvestorPositionField )
12404                ) . SettlementID as * const _ as usize } , 228usize , concat !
12405                (
12406                "Alignment of field: " , stringify ! (
12407                CThostFtdcSyncingInvestorPositionField ) , "::" , stringify !
12408                ( SettlementID ) ));
12409    assert_eq! (unsafe {
12410                & ( * ( 0 as * const CThostFtdcSyncingInvestorPositionField )
12411                ) . OpenCost as * const _ as usize } , 232usize , concat ! (
12412                "Alignment of field: " , stringify ! (
12413                CThostFtdcSyncingInvestorPositionField ) , "::" , stringify !
12414                ( OpenCost ) ));
12415    assert_eq! (unsafe {
12416                & ( * ( 0 as * const CThostFtdcSyncingInvestorPositionField )
12417                ) . ExchangeMargin as * const _ as usize } , 240usize , concat
12418                ! (
12419                "Alignment of field: " , stringify ! (
12420                CThostFtdcSyncingInvestorPositionField ) , "::" , stringify !
12421                ( ExchangeMargin ) ));
12422    assert_eq! (unsafe {
12423                & ( * ( 0 as * const CThostFtdcSyncingInvestorPositionField )
12424                ) . CombPosition as * const _ as usize } , 248usize , concat !
12425                (
12426                "Alignment of field: " , stringify ! (
12427                CThostFtdcSyncingInvestorPositionField ) , "::" , stringify !
12428                ( CombPosition ) ));
12429    assert_eq! (unsafe {
12430                & ( * ( 0 as * const CThostFtdcSyncingInvestorPositionField )
12431                ) . CombLongFrozen as * const _ as usize } , 252usize , concat
12432                ! (
12433                "Alignment of field: " , stringify ! (
12434                CThostFtdcSyncingInvestorPositionField ) , "::" , stringify !
12435                ( CombLongFrozen ) ));
12436    assert_eq! (unsafe {
12437                & ( * ( 0 as * const CThostFtdcSyncingInvestorPositionField )
12438                ) . CombShortFrozen as * const _ as usize } , 256usize ,
12439                concat ! (
12440                "Alignment of field: " , stringify ! (
12441                CThostFtdcSyncingInvestorPositionField ) , "::" , stringify !
12442                ( CombShortFrozen ) ));
12443    assert_eq! (unsafe {
12444                & ( * ( 0 as * const CThostFtdcSyncingInvestorPositionField )
12445                ) . CloseProfitByDate as * const _ as usize } , 264usize ,
12446                concat ! (
12447                "Alignment of field: " , stringify ! (
12448                CThostFtdcSyncingInvestorPositionField ) , "::" , stringify !
12449                ( CloseProfitByDate ) ));
12450    assert_eq! (unsafe {
12451                & ( * ( 0 as * const CThostFtdcSyncingInvestorPositionField )
12452                ) . CloseProfitByTrade as * const _ as usize } , 272usize ,
12453                concat ! (
12454                "Alignment of field: " , stringify ! (
12455                CThostFtdcSyncingInvestorPositionField ) , "::" , stringify !
12456                ( CloseProfitByTrade ) ));
12457    assert_eq! (unsafe {
12458                & ( * ( 0 as * const CThostFtdcSyncingInvestorPositionField )
12459                ) . TodayPosition as * const _ as usize } , 280usize , concat
12460                ! (
12461                "Alignment of field: " , stringify ! (
12462                CThostFtdcSyncingInvestorPositionField ) , "::" , stringify !
12463                ( TodayPosition ) ));
12464    assert_eq! (unsafe {
12465                & ( * ( 0 as * const CThostFtdcSyncingInvestorPositionField )
12466                ) . MarginRateByMoney as * const _ as usize } , 288usize ,
12467                concat ! (
12468                "Alignment of field: " , stringify ! (
12469                CThostFtdcSyncingInvestorPositionField ) , "::" , stringify !
12470                ( MarginRateByMoney ) ));
12471    assert_eq! (unsafe {
12472                & ( * ( 0 as * const CThostFtdcSyncingInvestorPositionField )
12473                ) . MarginRateByVolume as * const _ as usize } , 296usize ,
12474                concat ! (
12475                "Alignment of field: " , stringify ! (
12476                CThostFtdcSyncingInvestorPositionField ) , "::" , stringify !
12477                ( MarginRateByVolume ) ));
12478    assert_eq! (unsafe {
12479                & ( * ( 0 as * const CThostFtdcSyncingInvestorPositionField )
12480                ) . StrikeFrozen as * const _ as usize } , 304usize , concat !
12481                (
12482                "Alignment of field: " , stringify ! (
12483                CThostFtdcSyncingInvestorPositionField ) , "::" , stringify !
12484                ( StrikeFrozen ) ));
12485    assert_eq! (unsafe {
12486                & ( * ( 0 as * const CThostFtdcSyncingInvestorPositionField )
12487                ) . StrikeFrozenAmount as * const _ as usize } , 312usize ,
12488                concat ! (
12489                "Alignment of field: " , stringify ! (
12490                CThostFtdcSyncingInvestorPositionField ) , "::" , stringify !
12491                ( StrikeFrozenAmount ) ));
12492    assert_eq! (unsafe {
12493                & ( * ( 0 as * const CThostFtdcSyncingInvestorPositionField )
12494                ) . AbandonFrozen as * const _ as usize } , 320usize , concat
12495                ! (
12496                "Alignment of field: " , stringify ! (
12497                CThostFtdcSyncingInvestorPositionField ) , "::" , stringify !
12498                ( AbandonFrozen ) ));
12499    assert_eq! (unsafe {
12500                & ( * ( 0 as * const CThostFtdcSyncingInvestorPositionField )
12501                ) . ExchangeID as * const _ as usize } , 324usize , concat ! (
12502                "Alignment of field: " , stringify ! (
12503                CThostFtdcSyncingInvestorPositionField ) , "::" , stringify !
12504                ( ExchangeID ) ));
12505    assert_eq! (unsafe {
12506                & ( * ( 0 as * const CThostFtdcSyncingInvestorPositionField )
12507                ) . YdStrikeFrozen as * const _ as usize } , 336usize , concat
12508                ! (
12509                "Alignment of field: " , stringify ! (
12510                CThostFtdcSyncingInvestorPositionField ) , "::" , stringify !
12511                ( YdStrikeFrozen ) ));
12512    assert_eq! (unsafe {
12513                & ( * ( 0 as * const CThostFtdcSyncingInvestorPositionField )
12514                ) . InvestUnitID as * const _ as usize } , 340usize , concat !
12515                (
12516                "Alignment of field: " , stringify ! (
12517                CThostFtdcSyncingInvestorPositionField ) , "::" , stringify !
12518                ( InvestUnitID ) ));
12519    assert_eq! (unsafe {
12520                & ( * ( 0 as * const CThostFtdcSyncingInvestorPositionField )
12521                ) . PositionCostOffset as * const _ as usize } , 360usize ,
12522                concat ! (
12523                "Alignment of field: " , stringify ! (
12524                CThostFtdcSyncingInvestorPositionField ) , "::" , stringify !
12525                ( PositionCostOffset ) ));
12526}
12527impl Clone for CThostFtdcSyncingInvestorPositionField {
12528    fn clone(&self) -> Self { *self }
12529}
12530/// 正在同步中的合约保证金率
12531#[repr(C)]
12532#[derive(Default, Copy)]
12533pub struct CThostFtdcSyncingInstrumentMarginRateField {
12534    /// 合约代码
12535    pub InstrumentID: TThostFtdcInstrumentIDType,
12536    /// 投资者范围
12537    pub InvestorRange: TThostFtdcInvestorRangeType,
12538    /// 经纪公司代码
12539    pub BrokerID: TThostFtdcBrokerIDType,
12540    /// 投资者代码
12541    pub InvestorID: TThostFtdcInvestorIDType,
12542    /// 投机套保标志
12543    pub HedgeFlag: TThostFtdcHedgeFlagType,
12544    /// 多头保证金率
12545    pub LongMarginRatioByMoney: TThostFtdcRatioType,
12546    /// 多头保证金费
12547    pub LongMarginRatioByVolume: TThostFtdcMoneyType,
12548    /// 空头保证金率
12549    pub ShortMarginRatioByMoney: TThostFtdcRatioType,
12550    /// 空头保证金费
12551    pub ShortMarginRatioByVolume: TThostFtdcMoneyType,
12552    /// 是否相对交易所收取
12553    pub IsRelative: TThostFtdcBoolType,
12554}
12555#[test]
12556fn bindgen_test_layout_CThostFtdcSyncingInstrumentMarginRateField() {
12557    assert_eq!(::std::mem::size_of::<CThostFtdcSyncingInstrumentMarginRateField>()
12558               , 104usize , concat ! (
12559               "Size of: " , stringify ! (
12560               CThostFtdcSyncingInstrumentMarginRateField ) ));
12561    assert_eq! (::std::mem::align_of::<CThostFtdcSyncingInstrumentMarginRateField>()
12562                , 8usize , concat ! (
12563                "Alignment of " , stringify ! (
12564                CThostFtdcSyncingInstrumentMarginRateField ) ));
12565    assert_eq! (unsafe {
12566                & (
12567                * ( 0 as * const CThostFtdcSyncingInstrumentMarginRateField )
12568                ) . InstrumentID as * const _ as usize } , 0usize , concat ! (
12569                "Alignment of field: " , stringify ! (
12570                CThostFtdcSyncingInstrumentMarginRateField ) , "::" ,
12571                stringify ! ( InstrumentID ) ));
12572    assert_eq! (unsafe {
12573                & (
12574                * ( 0 as * const CThostFtdcSyncingInstrumentMarginRateField )
12575                ) . InvestorRange as * const _ as usize } , 31usize , concat !
12576                (
12577                "Alignment of field: " , stringify ! (
12578                CThostFtdcSyncingInstrumentMarginRateField ) , "::" ,
12579                stringify ! ( InvestorRange ) ));
12580    assert_eq! (unsafe {
12581                & (
12582                * ( 0 as * const CThostFtdcSyncingInstrumentMarginRateField )
12583                ) . BrokerID as * const _ as usize } , 32usize , concat ! (
12584                "Alignment of field: " , stringify ! (
12585                CThostFtdcSyncingInstrumentMarginRateField ) , "::" ,
12586                stringify ! ( BrokerID ) ));
12587    assert_eq! (unsafe {
12588                & (
12589                * ( 0 as * const CThostFtdcSyncingInstrumentMarginRateField )
12590                ) . InvestorID as * const _ as usize } , 43usize , concat ! (
12591                "Alignment of field: " , stringify ! (
12592                CThostFtdcSyncingInstrumentMarginRateField ) , "::" ,
12593                stringify ! ( InvestorID ) ));
12594    assert_eq! (unsafe {
12595                & (
12596                * ( 0 as * const CThostFtdcSyncingInstrumentMarginRateField )
12597                ) . HedgeFlag as * const _ as usize } , 56usize , concat ! (
12598                "Alignment of field: " , stringify ! (
12599                CThostFtdcSyncingInstrumentMarginRateField ) , "::" ,
12600                stringify ! ( HedgeFlag ) ));
12601    assert_eq! (unsafe {
12602                & (
12603                * ( 0 as * const CThostFtdcSyncingInstrumentMarginRateField )
12604                ) . LongMarginRatioByMoney as * const _ as usize } , 64usize ,
12605                concat ! (
12606                "Alignment of field: " , stringify ! (
12607                CThostFtdcSyncingInstrumentMarginRateField ) , "::" ,
12608                stringify ! ( LongMarginRatioByMoney ) ));
12609    assert_eq! (unsafe {
12610                & (
12611                * ( 0 as * const CThostFtdcSyncingInstrumentMarginRateField )
12612                ) . LongMarginRatioByVolume as * const _ as usize } , 72usize
12613                , concat ! (
12614                "Alignment of field: " , stringify ! (
12615                CThostFtdcSyncingInstrumentMarginRateField ) , "::" ,
12616                stringify ! ( LongMarginRatioByVolume ) ));
12617    assert_eq! (unsafe {
12618                & (
12619                * ( 0 as * const CThostFtdcSyncingInstrumentMarginRateField )
12620                ) . ShortMarginRatioByMoney as * const _ as usize } , 80usize
12621                , concat ! (
12622                "Alignment of field: " , stringify ! (
12623                CThostFtdcSyncingInstrumentMarginRateField ) , "::" ,
12624                stringify ! ( ShortMarginRatioByMoney ) ));
12625    assert_eq! (unsafe {
12626                & (
12627                * ( 0 as * const CThostFtdcSyncingInstrumentMarginRateField )
12628                ) . ShortMarginRatioByVolume as * const _ as usize } , 88usize
12629                , concat ! (
12630                "Alignment of field: " , stringify ! (
12631                CThostFtdcSyncingInstrumentMarginRateField ) , "::" ,
12632                stringify ! ( ShortMarginRatioByVolume ) ));
12633    assert_eq! (unsafe {
12634                & (
12635                * ( 0 as * const CThostFtdcSyncingInstrumentMarginRateField )
12636                ) . IsRelative as * const _ as usize } , 96usize , concat ! (
12637                "Alignment of field: " , stringify ! (
12638                CThostFtdcSyncingInstrumentMarginRateField ) , "::" ,
12639                stringify ! ( IsRelative ) ));
12640}
12641impl Clone for CThostFtdcSyncingInstrumentMarginRateField {
12642    fn clone(&self) -> Self { *self }
12643}
12644/// 正在同步中的合约手续费率
12645#[repr(C)]
12646#[derive(Default, Copy)]
12647pub struct CThostFtdcSyncingInstrumentCommissionRateField {
12648    /// 合约代码
12649    pub InstrumentID: TThostFtdcInstrumentIDType,
12650    /// 投资者范围
12651    pub InvestorRange: TThostFtdcInvestorRangeType,
12652    /// 经纪公司代码
12653    pub BrokerID: TThostFtdcBrokerIDType,
12654    /// 投资者代码
12655    pub InvestorID: TThostFtdcInvestorIDType,
12656    /// 开仓手续费率
12657    pub OpenRatioByMoney: TThostFtdcRatioType,
12658    /// 开仓手续费
12659    pub OpenRatioByVolume: TThostFtdcRatioType,
12660    /// 平仓手续费率
12661    pub CloseRatioByMoney: TThostFtdcRatioType,
12662    /// 平仓手续费
12663    pub CloseRatioByVolume: TThostFtdcRatioType,
12664    /// 平今手续费率
12665    pub CloseTodayRatioByMoney: TThostFtdcRatioType,
12666    /// 平今手续费
12667    pub CloseTodayRatioByVolume: TThostFtdcRatioType,
12668}
12669#[test]
12670fn bindgen_test_layout_CThostFtdcSyncingInstrumentCommissionRateField() {
12671    assert_eq!(::std::mem::size_of::<CThostFtdcSyncingInstrumentCommissionRateField>()
12672               , 104usize , concat ! (
12673               "Size of: " , stringify ! (
12674               CThostFtdcSyncingInstrumentCommissionRateField ) ));
12675    assert_eq! (::std::mem::align_of::<CThostFtdcSyncingInstrumentCommissionRateField>()
12676                , 8usize , concat ! (
12677                "Alignment of " , stringify ! (
12678                CThostFtdcSyncingInstrumentCommissionRateField ) ));
12679    assert_eq! (unsafe {
12680                & (
12681                * (
12682                0 as * const CThostFtdcSyncingInstrumentCommissionRateField )
12683                ) . InstrumentID as * const _ as usize } , 0usize , concat ! (
12684                "Alignment of field: " , stringify ! (
12685                CThostFtdcSyncingInstrumentCommissionRateField ) , "::" ,
12686                stringify ! ( InstrumentID ) ));
12687    assert_eq! (unsafe {
12688                & (
12689                * (
12690                0 as * const CThostFtdcSyncingInstrumentCommissionRateField )
12691                ) . InvestorRange as * const _ as usize } , 31usize , concat !
12692                (
12693                "Alignment of field: " , stringify ! (
12694                CThostFtdcSyncingInstrumentCommissionRateField ) , "::" ,
12695                stringify ! ( InvestorRange ) ));
12696    assert_eq! (unsafe {
12697                & (
12698                * (
12699                0 as * const CThostFtdcSyncingInstrumentCommissionRateField )
12700                ) . BrokerID as * const _ as usize } , 32usize , concat ! (
12701                "Alignment of field: " , stringify ! (
12702                CThostFtdcSyncingInstrumentCommissionRateField ) , "::" ,
12703                stringify ! ( BrokerID ) ));
12704    assert_eq! (unsafe {
12705                & (
12706                * (
12707                0 as * const CThostFtdcSyncingInstrumentCommissionRateField )
12708                ) . InvestorID as * const _ as usize } , 43usize , concat ! (
12709                "Alignment of field: " , stringify ! (
12710                CThostFtdcSyncingInstrumentCommissionRateField ) , "::" ,
12711                stringify ! ( InvestorID ) ));
12712    assert_eq! (unsafe {
12713                & (
12714                * (
12715                0 as * const CThostFtdcSyncingInstrumentCommissionRateField )
12716                ) . OpenRatioByMoney as * const _ as usize } , 56usize ,
12717                concat ! (
12718                "Alignment of field: " , stringify ! (
12719                CThostFtdcSyncingInstrumentCommissionRateField ) , "::" ,
12720                stringify ! ( OpenRatioByMoney ) ));
12721    assert_eq! (unsafe {
12722                & (
12723                * (
12724                0 as * const CThostFtdcSyncingInstrumentCommissionRateField )
12725                ) . OpenRatioByVolume as * const _ as usize } , 64usize ,
12726                concat ! (
12727                "Alignment of field: " , stringify ! (
12728                CThostFtdcSyncingInstrumentCommissionRateField ) , "::" ,
12729                stringify ! ( OpenRatioByVolume ) ));
12730    assert_eq! (unsafe {
12731                & (
12732                * (
12733                0 as * const CThostFtdcSyncingInstrumentCommissionRateField )
12734                ) . CloseRatioByMoney as * const _ as usize } , 72usize ,
12735                concat ! (
12736                "Alignment of field: " , stringify ! (
12737                CThostFtdcSyncingInstrumentCommissionRateField ) , "::" ,
12738                stringify ! ( CloseRatioByMoney ) ));
12739    assert_eq! (unsafe {
12740                & (
12741                * (
12742                0 as * const CThostFtdcSyncingInstrumentCommissionRateField )
12743                ) . CloseRatioByVolume as * const _ as usize } , 80usize ,
12744                concat ! (
12745                "Alignment of field: " , stringify ! (
12746                CThostFtdcSyncingInstrumentCommissionRateField ) , "::" ,
12747                stringify ! ( CloseRatioByVolume ) ));
12748    assert_eq! (unsafe {
12749                & (
12750                * (
12751                0 as * const CThostFtdcSyncingInstrumentCommissionRateField )
12752                ) . CloseTodayRatioByMoney as * const _ as usize } , 88usize ,
12753                concat ! (
12754                "Alignment of field: " , stringify ! (
12755                CThostFtdcSyncingInstrumentCommissionRateField ) , "::" ,
12756                stringify ! ( CloseTodayRatioByMoney ) ));
12757    assert_eq! (unsafe {
12758                & (
12759                * (
12760                0 as * const CThostFtdcSyncingInstrumentCommissionRateField )
12761                ) . CloseTodayRatioByVolume as * const _ as usize } , 96usize
12762                , concat ! (
12763                "Alignment of field: " , stringify ! (
12764                CThostFtdcSyncingInstrumentCommissionRateField ) , "::" ,
12765                stringify ! ( CloseTodayRatioByVolume ) ));
12766}
12767impl Clone for CThostFtdcSyncingInstrumentCommissionRateField {
12768    fn clone(&self) -> Self { *self }
12769}
12770/// 正在同步中的合约交易权限
12771#[repr(C)]
12772#[derive(Default, Copy)]
12773pub struct CThostFtdcSyncingInstrumentTradingRightField {
12774    /// 合约代码
12775    pub InstrumentID: TThostFtdcInstrumentIDType,
12776    /// 投资者范围
12777    pub InvestorRange: TThostFtdcInvestorRangeType,
12778    /// 经纪公司代码
12779    pub BrokerID: TThostFtdcBrokerIDType,
12780    /// 投资者代码
12781    pub InvestorID: TThostFtdcInvestorIDType,
12782    /// 交易权限
12783    pub TradingRight: TThostFtdcTradingRightType,
12784}
12785#[test]
12786fn bindgen_test_layout_CThostFtdcSyncingInstrumentTradingRightField() {
12787    assert_eq!(::std::mem::size_of::<CThostFtdcSyncingInstrumentTradingRightField>()
12788               , 57usize , concat ! (
12789               "Size of: " , stringify ! (
12790               CThostFtdcSyncingInstrumentTradingRightField ) ));
12791    assert_eq! (::std::mem::align_of::<CThostFtdcSyncingInstrumentTradingRightField>()
12792                , 1usize , concat ! (
12793                "Alignment of " , stringify ! (
12794                CThostFtdcSyncingInstrumentTradingRightField ) ));
12795    assert_eq! (unsafe {
12796                & (
12797                * ( 0 as * const CThostFtdcSyncingInstrumentTradingRightField
12798                ) ) . InstrumentID as * const _ as usize } , 0usize , concat !
12799                (
12800                "Alignment of field: " , stringify ! (
12801                CThostFtdcSyncingInstrumentTradingRightField ) , "::" ,
12802                stringify ! ( InstrumentID ) ));
12803    assert_eq! (unsafe {
12804                & (
12805                * ( 0 as * const CThostFtdcSyncingInstrumentTradingRightField
12806                ) ) . InvestorRange as * const _ as usize } , 31usize , concat
12807                ! (
12808                "Alignment of field: " , stringify ! (
12809                CThostFtdcSyncingInstrumentTradingRightField ) , "::" ,
12810                stringify ! ( InvestorRange ) ));
12811    assert_eq! (unsafe {
12812                & (
12813                * ( 0 as * const CThostFtdcSyncingInstrumentTradingRightField
12814                ) ) . BrokerID as * const _ as usize } , 32usize , concat ! (
12815                "Alignment of field: " , stringify ! (
12816                CThostFtdcSyncingInstrumentTradingRightField ) , "::" ,
12817                stringify ! ( BrokerID ) ));
12818    assert_eq! (unsafe {
12819                & (
12820                * ( 0 as * const CThostFtdcSyncingInstrumentTradingRightField
12821                ) ) . InvestorID as * const _ as usize } , 43usize , concat !
12822                (
12823                "Alignment of field: " , stringify ! (
12824                CThostFtdcSyncingInstrumentTradingRightField ) , "::" ,
12825                stringify ! ( InvestorID ) ));
12826    assert_eq! (unsafe {
12827                & (
12828                * ( 0 as * const CThostFtdcSyncingInstrumentTradingRightField
12829                ) ) . TradingRight as * const _ as usize } , 56usize , concat
12830                ! (
12831                "Alignment of field: " , stringify ! (
12832                CThostFtdcSyncingInstrumentTradingRightField ) , "::" ,
12833                stringify ! ( TradingRight ) ));
12834}
12835impl Clone for CThostFtdcSyncingInstrumentTradingRightField {
12836    fn clone(&self) -> Self { *self }
12837}
12838/// 查询报单
12839#[repr(C)]
12840#[derive(Default, Copy)]
12841pub struct CThostFtdcQryOrderField {
12842    /// 经纪公司代码
12843    pub BrokerID: TThostFtdcBrokerIDType,
12844    /// 投资者代码
12845    pub InvestorID: TThostFtdcInvestorIDType,
12846    /// 合约代码
12847    pub InstrumentID: TThostFtdcInstrumentIDType,
12848    /// 交易所代码
12849    pub ExchangeID: TThostFtdcExchangeIDType,
12850    /// 报单编号
12851    pub OrderSysID: TThostFtdcOrderSysIDType,
12852    /// 开始时间
12853    pub InsertTimeStart: TThostFtdcTimeType,
12854    /// 结束时间
12855    pub InsertTimeEnd: TThostFtdcTimeType,
12856    /// 投资单元代码
12857    pub InvestUnitID: TThostFtdcInvestUnitIDType,
12858}
12859#[test]
12860fn bindgen_test_layout_CThostFtdcQryOrderField() {
12861    assert_eq!(::std::mem::size_of::<CThostFtdcQryOrderField>() , 120usize ,
12862               concat ! (
12863               "Size of: " , stringify ! ( CThostFtdcQryOrderField ) ));
12864    assert_eq! (::std::mem::align_of::<CThostFtdcQryOrderField>() , 1usize ,
12865                concat ! (
12866                "Alignment of " , stringify ! ( CThostFtdcQryOrderField ) ));
12867    assert_eq! (unsafe {
12868                & ( * ( 0 as * const CThostFtdcQryOrderField ) ) . BrokerID as
12869                * const _ as usize } , 0usize , concat ! (
12870                "Alignment of field: " , stringify ! ( CThostFtdcQryOrderField
12871                ) , "::" , stringify ! ( BrokerID ) ));
12872    assert_eq! (unsafe {
12873                & ( * ( 0 as * const CThostFtdcQryOrderField ) ) . InvestorID
12874                as * const _ as usize } , 11usize , concat ! (
12875                "Alignment of field: " , stringify ! ( CThostFtdcQryOrderField
12876                ) , "::" , stringify ! ( InvestorID ) ));
12877    assert_eq! (unsafe {
12878                & ( * ( 0 as * const CThostFtdcQryOrderField ) ) .
12879                InstrumentID as * const _ as usize } , 24usize , concat ! (
12880                "Alignment of field: " , stringify ! ( CThostFtdcQryOrderField
12881                ) , "::" , stringify ! ( InstrumentID ) ));
12882    assert_eq! (unsafe {
12883                & ( * ( 0 as * const CThostFtdcQryOrderField ) ) . ExchangeID
12884                as * const _ as usize } , 55usize , concat ! (
12885                "Alignment of field: " , stringify ! ( CThostFtdcQryOrderField
12886                ) , "::" , stringify ! ( ExchangeID ) ));
12887    assert_eq! (unsafe {
12888                & ( * ( 0 as * const CThostFtdcQryOrderField ) ) . OrderSysID
12889                as * const _ as usize } , 64usize , concat ! (
12890                "Alignment of field: " , stringify ! ( CThostFtdcQryOrderField
12891                ) , "::" , stringify ! ( OrderSysID ) ));
12892    assert_eq! (unsafe {
12893                & ( * ( 0 as * const CThostFtdcQryOrderField ) ) .
12894                InsertTimeStart as * const _ as usize } , 85usize , concat ! (
12895                "Alignment of field: " , stringify ! ( CThostFtdcQryOrderField
12896                ) , "::" , stringify ! ( InsertTimeStart ) ));
12897    assert_eq! (unsafe {
12898                & ( * ( 0 as * const CThostFtdcQryOrderField ) ) .
12899                InsertTimeEnd as * const _ as usize } , 94usize , concat ! (
12900                "Alignment of field: " , stringify ! ( CThostFtdcQryOrderField
12901                ) , "::" , stringify ! ( InsertTimeEnd ) ));
12902    assert_eq! (unsafe {
12903                & ( * ( 0 as * const CThostFtdcQryOrderField ) ) .
12904                InvestUnitID as * const _ as usize } , 103usize , concat ! (
12905                "Alignment of field: " , stringify ! ( CThostFtdcQryOrderField
12906                ) , "::" , stringify ! ( InvestUnitID ) ));
12907}
12908impl Clone for CThostFtdcQryOrderField {
12909    fn clone(&self) -> Self { *self }
12910}
12911/// 查询成交
12912#[repr(C)]
12913#[derive(Default, Copy)]
12914pub struct CThostFtdcQryTradeField {
12915    /// 经纪公司代码
12916    pub BrokerID: TThostFtdcBrokerIDType,
12917    /// 投资者代码
12918    pub InvestorID: TThostFtdcInvestorIDType,
12919    /// 合约代码
12920    pub InstrumentID: TThostFtdcInstrumentIDType,
12921    /// 交易所代码
12922    pub ExchangeID: TThostFtdcExchangeIDType,
12923    /// 成交编号
12924    pub TradeID: TThostFtdcTradeIDType,
12925    /// 开始时间
12926    pub TradeTimeStart: TThostFtdcTimeType,
12927    /// 结束时间
12928    pub TradeTimeEnd: TThostFtdcTimeType,
12929    /// 投资单元代码
12930    pub InvestUnitID: TThostFtdcInvestUnitIDType,
12931}
12932#[test]
12933fn bindgen_test_layout_CThostFtdcQryTradeField() {
12934    assert_eq!(::std::mem::size_of::<CThostFtdcQryTradeField>() , 120usize ,
12935               concat ! (
12936               "Size of: " , stringify ! ( CThostFtdcQryTradeField ) ));
12937    assert_eq! (::std::mem::align_of::<CThostFtdcQryTradeField>() , 1usize ,
12938                concat ! (
12939                "Alignment of " , stringify ! ( CThostFtdcQryTradeField ) ));
12940    assert_eq! (unsafe {
12941                & ( * ( 0 as * const CThostFtdcQryTradeField ) ) . BrokerID as
12942                * const _ as usize } , 0usize , concat ! (
12943                "Alignment of field: " , stringify ! ( CThostFtdcQryTradeField
12944                ) , "::" , stringify ! ( BrokerID ) ));
12945    assert_eq! (unsafe {
12946                & ( * ( 0 as * const CThostFtdcQryTradeField ) ) . InvestorID
12947                as * const _ as usize } , 11usize , concat ! (
12948                "Alignment of field: " , stringify ! ( CThostFtdcQryTradeField
12949                ) , "::" , stringify ! ( InvestorID ) ));
12950    assert_eq! (unsafe {
12951                & ( * ( 0 as * const CThostFtdcQryTradeField ) ) .
12952                InstrumentID as * const _ as usize } , 24usize , concat ! (
12953                "Alignment of field: " , stringify ! ( CThostFtdcQryTradeField
12954                ) , "::" , stringify ! ( InstrumentID ) ));
12955    assert_eq! (unsafe {
12956                & ( * ( 0 as * const CThostFtdcQryTradeField ) ) . ExchangeID
12957                as * const _ as usize } , 55usize , concat ! (
12958                "Alignment of field: " , stringify ! ( CThostFtdcQryTradeField
12959                ) , "::" , stringify ! ( ExchangeID ) ));
12960    assert_eq! (unsafe {
12961                & ( * ( 0 as * const CThostFtdcQryTradeField ) ) . TradeID as
12962                * const _ as usize } , 64usize , concat ! (
12963                "Alignment of field: " , stringify ! ( CThostFtdcQryTradeField
12964                ) , "::" , stringify ! ( TradeID ) ));
12965    assert_eq! (unsafe {
12966                & ( * ( 0 as * const CThostFtdcQryTradeField ) ) .
12967                TradeTimeStart as * const _ as usize } , 85usize , concat ! (
12968                "Alignment of field: " , stringify ! ( CThostFtdcQryTradeField
12969                ) , "::" , stringify ! ( TradeTimeStart ) ));
12970    assert_eq! (unsafe {
12971                & ( * ( 0 as * const CThostFtdcQryTradeField ) ) .
12972                TradeTimeEnd as * const _ as usize } , 94usize , concat ! (
12973                "Alignment of field: " , stringify ! ( CThostFtdcQryTradeField
12974                ) , "::" , stringify ! ( TradeTimeEnd ) ));
12975    assert_eq! (unsafe {
12976                & ( * ( 0 as * const CThostFtdcQryTradeField ) ) .
12977                InvestUnitID as * const _ as usize } , 103usize , concat ! (
12978                "Alignment of field: " , stringify ! ( CThostFtdcQryTradeField
12979                ) , "::" , stringify ! ( InvestUnitID ) ));
12980}
12981impl Clone for CThostFtdcQryTradeField {
12982    fn clone(&self) -> Self { *self }
12983}
12984/// 查询投资者持仓
12985#[repr(C)]
12986#[derive(Default, Copy)]
12987pub struct CThostFtdcQryInvestorPositionField {
12988    /// 经纪公司代码
12989    pub BrokerID: TThostFtdcBrokerIDType,
12990    /// 投资者代码
12991    pub InvestorID: TThostFtdcInvestorIDType,
12992    /// 合约代码
12993    pub InstrumentID: TThostFtdcInstrumentIDType,
12994    /// 交易所代码
12995    pub ExchangeID: TThostFtdcExchangeIDType,
12996    /// 投资单元代码
12997    pub InvestUnitID: TThostFtdcInvestUnitIDType,
12998}
12999#[test]
13000fn bindgen_test_layout_CThostFtdcQryInvestorPositionField() {
13001    assert_eq!(::std::mem::size_of::<CThostFtdcQryInvestorPositionField>() ,
13002               81usize , concat ! (
13003               "Size of: " , stringify ! ( CThostFtdcQryInvestorPositionField
13004               ) ));
13005    assert_eq! (::std::mem::align_of::<CThostFtdcQryInvestorPositionField>() ,
13006                1usize , concat ! (
13007                "Alignment of " , stringify ! (
13008                CThostFtdcQryInvestorPositionField ) ));
13009    assert_eq! (unsafe {
13010                & ( * ( 0 as * const CThostFtdcQryInvestorPositionField ) ) .
13011                BrokerID as * const _ as usize } , 0usize , concat ! (
13012                "Alignment of field: " , stringify ! (
13013                CThostFtdcQryInvestorPositionField ) , "::" , stringify ! (
13014                BrokerID ) ));
13015    assert_eq! (unsafe {
13016                & ( * ( 0 as * const CThostFtdcQryInvestorPositionField ) ) .
13017                InvestorID as * const _ as usize } , 11usize , concat ! (
13018                "Alignment of field: " , stringify ! (
13019                CThostFtdcQryInvestorPositionField ) , "::" , stringify ! (
13020                InvestorID ) ));
13021    assert_eq! (unsafe {
13022                & ( * ( 0 as * const CThostFtdcQryInvestorPositionField ) ) .
13023                InstrumentID as * const _ as usize } , 24usize , concat ! (
13024                "Alignment of field: " , stringify ! (
13025                CThostFtdcQryInvestorPositionField ) , "::" , stringify ! (
13026                InstrumentID ) ));
13027    assert_eq! (unsafe {
13028                & ( * ( 0 as * const CThostFtdcQryInvestorPositionField ) ) .
13029                ExchangeID as * const _ as usize } , 55usize , concat ! (
13030                "Alignment of field: " , stringify ! (
13031                CThostFtdcQryInvestorPositionField ) , "::" , stringify ! (
13032                ExchangeID ) ));
13033    assert_eq! (unsafe {
13034                & ( * ( 0 as * const CThostFtdcQryInvestorPositionField ) ) .
13035                InvestUnitID as * const _ as usize } , 64usize , concat ! (
13036                "Alignment of field: " , stringify ! (
13037                CThostFtdcQryInvestorPositionField ) , "::" , stringify ! (
13038                InvestUnitID ) ));
13039}
13040impl Clone for CThostFtdcQryInvestorPositionField {
13041    fn clone(&self) -> Self { *self }
13042}
13043/// 查询资金账户
13044#[repr(C)]
13045#[derive(Default, Copy)]
13046pub struct CThostFtdcQryTradingAccountField {
13047    /// 经纪公司代码
13048    pub BrokerID: TThostFtdcBrokerIDType,
13049    /// 投资者代码
13050    pub InvestorID: TThostFtdcInvestorIDType,
13051    /// 币种代码
13052    pub CurrencyID: TThostFtdcCurrencyIDType,
13053    /// 业务类型
13054    pub BizType: TThostFtdcBizTypeType,
13055    /// 投资者帐号
13056    pub AccountID: TThostFtdcAccountIDType,
13057}
13058#[test]
13059fn bindgen_test_layout_CThostFtdcQryTradingAccountField() {
13060    assert_eq!(::std::mem::size_of::<CThostFtdcQryTradingAccountField>() ,
13061               42usize , concat ! (
13062               "Size of: " , stringify ! ( CThostFtdcQryTradingAccountField )
13063               ));
13064    assert_eq! (::std::mem::align_of::<CThostFtdcQryTradingAccountField>() ,
13065                1usize , concat ! (
13066                "Alignment of " , stringify ! (
13067                CThostFtdcQryTradingAccountField ) ));
13068    assert_eq! (unsafe {
13069                & ( * ( 0 as * const CThostFtdcQryTradingAccountField ) ) .
13070                BrokerID as * const _ as usize } , 0usize , concat ! (
13071                "Alignment of field: " , stringify ! (
13072                CThostFtdcQryTradingAccountField ) , "::" , stringify ! (
13073                BrokerID ) ));
13074    assert_eq! (unsafe {
13075                & ( * ( 0 as * const CThostFtdcQryTradingAccountField ) ) .
13076                InvestorID as * const _ as usize } , 11usize , concat ! (
13077                "Alignment of field: " , stringify ! (
13078                CThostFtdcQryTradingAccountField ) , "::" , stringify ! (
13079                InvestorID ) ));
13080    assert_eq! (unsafe {
13081                & ( * ( 0 as * const CThostFtdcQryTradingAccountField ) ) .
13082                CurrencyID as * const _ as usize } , 24usize , concat ! (
13083                "Alignment of field: " , stringify ! (
13084                CThostFtdcQryTradingAccountField ) , "::" , stringify ! (
13085                CurrencyID ) ));
13086    assert_eq! (unsafe {
13087                & ( * ( 0 as * const CThostFtdcQryTradingAccountField ) ) .
13088                BizType as * const _ as usize } , 28usize , concat ! (
13089                "Alignment of field: " , stringify ! (
13090                CThostFtdcQryTradingAccountField ) , "::" , stringify ! (
13091                BizType ) ));
13092    assert_eq! (unsafe {
13093                & ( * ( 0 as * const CThostFtdcQryTradingAccountField ) ) .
13094                AccountID as * const _ as usize } , 29usize , concat ! (
13095                "Alignment of field: " , stringify ! (
13096                CThostFtdcQryTradingAccountField ) , "::" , stringify ! (
13097                AccountID ) ));
13098}
13099impl Clone for CThostFtdcQryTradingAccountField {
13100    fn clone(&self) -> Self { *self }
13101}
13102/// 查询投资者
13103#[repr(C)]
13104#[derive(Default, Copy)]
13105pub struct CThostFtdcQryInvestorField {
13106    /// 经纪公司代码
13107    pub BrokerID: TThostFtdcBrokerIDType,
13108    /// 投资者代码
13109    pub InvestorID: TThostFtdcInvestorIDType,
13110}
13111#[test]
13112fn bindgen_test_layout_CThostFtdcQryInvestorField() {
13113    assert_eq!(::std::mem::size_of::<CThostFtdcQryInvestorField>() , 24usize ,
13114               concat ! (
13115               "Size of: " , stringify ! ( CThostFtdcQryInvestorField ) ));
13116    assert_eq! (::std::mem::align_of::<CThostFtdcQryInvestorField>() , 1usize
13117                , concat ! (
13118                "Alignment of " , stringify ! ( CThostFtdcQryInvestorField )
13119                ));
13120    assert_eq! (unsafe {
13121                & ( * ( 0 as * const CThostFtdcQryInvestorField ) ) . BrokerID
13122                as * const _ as usize } , 0usize , concat ! (
13123                "Alignment of field: " , stringify ! (
13124                CThostFtdcQryInvestorField ) , "::" , stringify ! ( BrokerID )
13125                ));
13126    assert_eq! (unsafe {
13127                & ( * ( 0 as * const CThostFtdcQryInvestorField ) ) .
13128                InvestorID as * const _ as usize } , 11usize , concat ! (
13129                "Alignment of field: " , stringify ! (
13130                CThostFtdcQryInvestorField ) , "::" , stringify ! ( InvestorID
13131                ) ));
13132}
13133impl Clone for CThostFtdcQryInvestorField {
13134    fn clone(&self) -> Self { *self }
13135}
13136/// 查询交易编码
13137#[repr(C)]
13138#[derive(Default, Copy)]
13139pub struct CThostFtdcQryTradingCodeField {
13140    /// 经纪公司代码
13141    pub BrokerID: TThostFtdcBrokerIDType,
13142    /// 投资者代码
13143    pub InvestorID: TThostFtdcInvestorIDType,
13144    /// 交易所代码
13145    pub ExchangeID: TThostFtdcExchangeIDType,
13146    /// 客户代码
13147    pub ClientID: TThostFtdcClientIDType,
13148    /// 交易编码类型
13149    pub ClientIDType: TThostFtdcClientIDTypeType,
13150    /// 投资单元代码
13151    pub InvestUnitID: TThostFtdcInvestUnitIDType,
13152}
13153#[test]
13154fn bindgen_test_layout_CThostFtdcQryTradingCodeField() {
13155    assert_eq!(::std::mem::size_of::<CThostFtdcQryTradingCodeField>() ,
13156               62usize , concat ! (
13157               "Size of: " , stringify ! ( CThostFtdcQryTradingCodeField ) ));
13158    assert_eq! (::std::mem::align_of::<CThostFtdcQryTradingCodeField>() ,
13159                1usize , concat ! (
13160                "Alignment of " , stringify ! ( CThostFtdcQryTradingCodeField
13161                ) ));
13162    assert_eq! (unsafe {
13163                & ( * ( 0 as * const CThostFtdcQryTradingCodeField ) ) .
13164                BrokerID as * const _ as usize } , 0usize , concat ! (
13165                "Alignment of field: " , stringify ! (
13166                CThostFtdcQryTradingCodeField ) , "::" , stringify ! (
13167                BrokerID ) ));
13168    assert_eq! (unsafe {
13169                & ( * ( 0 as * const CThostFtdcQryTradingCodeField ) ) .
13170                InvestorID as * const _ as usize } , 11usize , concat ! (
13171                "Alignment of field: " , stringify ! (
13172                CThostFtdcQryTradingCodeField ) , "::" , stringify ! (
13173                InvestorID ) ));
13174    assert_eq! (unsafe {
13175                & ( * ( 0 as * const CThostFtdcQryTradingCodeField ) ) .
13176                ExchangeID as * const _ as usize } , 24usize , concat ! (
13177                "Alignment of field: " , stringify ! (
13178                CThostFtdcQryTradingCodeField ) , "::" , stringify ! (
13179                ExchangeID ) ));
13180    assert_eq! (unsafe {
13181                & ( * ( 0 as * const CThostFtdcQryTradingCodeField ) ) .
13182                ClientID as * const _ as usize } , 33usize , concat ! (
13183                "Alignment of field: " , stringify ! (
13184                CThostFtdcQryTradingCodeField ) , "::" , stringify ! (
13185                ClientID ) ));
13186    assert_eq! (unsafe {
13187                & ( * ( 0 as * const CThostFtdcQryTradingCodeField ) ) .
13188                ClientIDType as * const _ as usize } , 44usize , concat ! (
13189                "Alignment of field: " , stringify ! (
13190                CThostFtdcQryTradingCodeField ) , "::" , stringify ! (
13191                ClientIDType ) ));
13192    assert_eq! (unsafe {
13193                & ( * ( 0 as * const CThostFtdcQryTradingCodeField ) ) .
13194                InvestUnitID as * const _ as usize } , 45usize , concat ! (
13195                "Alignment of field: " , stringify ! (
13196                CThostFtdcQryTradingCodeField ) , "::" , stringify ! (
13197                InvestUnitID ) ));
13198}
13199impl Clone for CThostFtdcQryTradingCodeField {
13200    fn clone(&self) -> Self { *self }
13201}
13202/// 查询投资者组
13203#[repr(C)]
13204#[derive(Default, Copy)]
13205pub struct CThostFtdcQryInvestorGroupField {
13206    /// 经纪公司代码
13207    pub BrokerID: TThostFtdcBrokerIDType,
13208}
13209#[test]
13210fn bindgen_test_layout_CThostFtdcQryInvestorGroupField() {
13211    assert_eq!(::std::mem::size_of::<CThostFtdcQryInvestorGroupField>() ,
13212               11usize , concat ! (
13213               "Size of: " , stringify ! ( CThostFtdcQryInvestorGroupField )
13214               ));
13215    assert_eq! (::std::mem::align_of::<CThostFtdcQryInvestorGroupField>() ,
13216                1usize , concat ! (
13217                "Alignment of " , stringify ! (
13218                CThostFtdcQryInvestorGroupField ) ));
13219    assert_eq! (unsafe {
13220                & ( * ( 0 as * const CThostFtdcQryInvestorGroupField ) ) .
13221                BrokerID as * const _ as usize } , 0usize , concat ! (
13222                "Alignment of field: " , stringify ! (
13223                CThostFtdcQryInvestorGroupField ) , "::" , stringify ! (
13224                BrokerID ) ));
13225}
13226impl Clone for CThostFtdcQryInvestorGroupField {
13227    fn clone(&self) -> Self { *self }
13228}
13229/// 查询合约保证金率
13230#[repr(C)]
13231#[derive(Default, Copy)]
13232pub struct CThostFtdcQryInstrumentMarginRateField {
13233    /// 经纪公司代码
13234    pub BrokerID: TThostFtdcBrokerIDType,
13235    /// 投资者代码
13236    pub InvestorID: TThostFtdcInvestorIDType,
13237    /// 合约代码
13238    pub InstrumentID: TThostFtdcInstrumentIDType,
13239    /// 投机套保标志
13240    pub HedgeFlag: TThostFtdcHedgeFlagType,
13241    /// 交易所代码
13242    pub ExchangeID: TThostFtdcExchangeIDType,
13243    /// 投资单元代码
13244    pub InvestUnitID: TThostFtdcInvestUnitIDType,
13245}
13246#[test]
13247fn bindgen_test_layout_CThostFtdcQryInstrumentMarginRateField() {
13248    assert_eq!(::std::mem::size_of::<CThostFtdcQryInstrumentMarginRateField>()
13249               , 82usize , concat ! (
13250               "Size of: " , stringify ! (
13251               CThostFtdcQryInstrumentMarginRateField ) ));
13252    assert_eq! (::std::mem::align_of::<CThostFtdcQryInstrumentMarginRateField>()
13253                , 1usize , concat ! (
13254                "Alignment of " , stringify ! (
13255                CThostFtdcQryInstrumentMarginRateField ) ));
13256    assert_eq! (unsafe {
13257                & ( * ( 0 as * const CThostFtdcQryInstrumentMarginRateField )
13258                ) . BrokerID as * const _ as usize } , 0usize , concat ! (
13259                "Alignment of field: " , stringify ! (
13260                CThostFtdcQryInstrumentMarginRateField ) , "::" , stringify !
13261                ( BrokerID ) ));
13262    assert_eq! (unsafe {
13263                & ( * ( 0 as * const CThostFtdcQryInstrumentMarginRateField )
13264                ) . InvestorID as * const _ as usize } , 11usize , concat ! (
13265                "Alignment of field: " , stringify ! (
13266                CThostFtdcQryInstrumentMarginRateField ) , "::" , stringify !
13267                ( InvestorID ) ));
13268    assert_eq! (unsafe {
13269                & ( * ( 0 as * const CThostFtdcQryInstrumentMarginRateField )
13270                ) . InstrumentID as * const _ as usize } , 24usize , concat !
13271                (
13272                "Alignment of field: " , stringify ! (
13273                CThostFtdcQryInstrumentMarginRateField ) , "::" , stringify !
13274                ( InstrumentID ) ));
13275    assert_eq! (unsafe {
13276                & ( * ( 0 as * const CThostFtdcQryInstrumentMarginRateField )
13277                ) . HedgeFlag as * const _ as usize } , 55usize , concat ! (
13278                "Alignment of field: " , stringify ! (
13279                CThostFtdcQryInstrumentMarginRateField ) , "::" , stringify !
13280                ( HedgeFlag ) ));
13281    assert_eq! (unsafe {
13282                & ( * ( 0 as * const CThostFtdcQryInstrumentMarginRateField )
13283                ) . ExchangeID as * const _ as usize } , 56usize , concat ! (
13284                "Alignment of field: " , stringify ! (
13285                CThostFtdcQryInstrumentMarginRateField ) , "::" , stringify !
13286                ( ExchangeID ) ));
13287    assert_eq! (unsafe {
13288                & ( * ( 0 as * const CThostFtdcQryInstrumentMarginRateField )
13289                ) . InvestUnitID as * const _ as usize } , 65usize , concat !
13290                (
13291                "Alignment of field: " , stringify ! (
13292                CThostFtdcQryInstrumentMarginRateField ) , "::" , stringify !
13293                ( InvestUnitID ) ));
13294}
13295impl Clone for CThostFtdcQryInstrumentMarginRateField {
13296    fn clone(&self) -> Self { *self }
13297}
13298/// 查询手续费率
13299#[repr(C)]
13300#[derive(Default, Copy)]
13301pub struct CThostFtdcQryInstrumentCommissionRateField {
13302    /// 经纪公司代码
13303    pub BrokerID: TThostFtdcBrokerIDType,
13304    /// 投资者代码
13305    pub InvestorID: TThostFtdcInvestorIDType,
13306    /// 合约代码
13307    pub InstrumentID: TThostFtdcInstrumentIDType,
13308    /// 交易所代码
13309    pub ExchangeID: TThostFtdcExchangeIDType,
13310    /// 投资单元代码
13311    pub InvestUnitID: TThostFtdcInvestUnitIDType,
13312}
13313#[test]
13314fn bindgen_test_layout_CThostFtdcQryInstrumentCommissionRateField() {
13315    assert_eq!(::std::mem::size_of::<CThostFtdcQryInstrumentCommissionRateField>()
13316               , 81usize , concat ! (
13317               "Size of: " , stringify ! (
13318               CThostFtdcQryInstrumentCommissionRateField ) ));
13319    assert_eq! (::std::mem::align_of::<CThostFtdcQryInstrumentCommissionRateField>()
13320                , 1usize , concat ! (
13321                "Alignment of " , stringify ! (
13322                CThostFtdcQryInstrumentCommissionRateField ) ));
13323    assert_eq! (unsafe {
13324                & (
13325                * ( 0 as * const CThostFtdcQryInstrumentCommissionRateField )
13326                ) . BrokerID as * const _ as usize } , 0usize , concat ! (
13327                "Alignment of field: " , stringify ! (
13328                CThostFtdcQryInstrumentCommissionRateField ) , "::" ,
13329                stringify ! ( BrokerID ) ));
13330    assert_eq! (unsafe {
13331                & (
13332                * ( 0 as * const CThostFtdcQryInstrumentCommissionRateField )
13333                ) . InvestorID as * const _ as usize } , 11usize , concat ! (
13334                "Alignment of field: " , stringify ! (
13335                CThostFtdcQryInstrumentCommissionRateField ) , "::" ,
13336                stringify ! ( InvestorID ) ));
13337    assert_eq! (unsafe {
13338                & (
13339                * ( 0 as * const CThostFtdcQryInstrumentCommissionRateField )
13340                ) . InstrumentID as * const _ as usize } , 24usize , concat !
13341                (
13342                "Alignment of field: " , stringify ! (
13343                CThostFtdcQryInstrumentCommissionRateField ) , "::" ,
13344                stringify ! ( InstrumentID ) ));
13345    assert_eq! (unsafe {
13346                & (
13347                * ( 0 as * const CThostFtdcQryInstrumentCommissionRateField )
13348                ) . ExchangeID as * const _ as usize } , 55usize , concat ! (
13349                "Alignment of field: " , stringify ! (
13350                CThostFtdcQryInstrumentCommissionRateField ) , "::" ,
13351                stringify ! ( ExchangeID ) ));
13352    assert_eq! (unsafe {
13353                & (
13354                * ( 0 as * const CThostFtdcQryInstrumentCommissionRateField )
13355                ) . InvestUnitID as * const _ as usize } , 64usize , concat !
13356                (
13357                "Alignment of field: " , stringify ! (
13358                CThostFtdcQryInstrumentCommissionRateField ) , "::" ,
13359                stringify ! ( InvestUnitID ) ));
13360}
13361impl Clone for CThostFtdcQryInstrumentCommissionRateField {
13362    fn clone(&self) -> Self { *self }
13363}
13364/// 查询合约交易权限
13365#[repr(C)]
13366#[derive(Default, Copy)]
13367pub struct CThostFtdcQryInstrumentTradingRightField {
13368    /// 经纪公司代码
13369    pub BrokerID: TThostFtdcBrokerIDType,
13370    /// 投资者代码
13371    pub InvestorID: TThostFtdcInvestorIDType,
13372    /// 合约代码
13373    pub InstrumentID: TThostFtdcInstrumentIDType,
13374}
13375#[test]
13376fn bindgen_test_layout_CThostFtdcQryInstrumentTradingRightField() {
13377    assert_eq!(::std::mem::size_of::<CThostFtdcQryInstrumentTradingRightField>()
13378               , 55usize , concat ! (
13379               "Size of: " , stringify ! (
13380               CThostFtdcQryInstrumentTradingRightField ) ));
13381    assert_eq! (::std::mem::align_of::<CThostFtdcQryInstrumentTradingRightField>()
13382                , 1usize , concat ! (
13383                "Alignment of " , stringify ! (
13384                CThostFtdcQryInstrumentTradingRightField ) ));
13385    assert_eq! (unsafe {
13386                & (
13387                * ( 0 as * const CThostFtdcQryInstrumentTradingRightField ) )
13388                . BrokerID as * const _ as usize } , 0usize , concat ! (
13389                "Alignment of field: " , stringify ! (
13390                CThostFtdcQryInstrumentTradingRightField ) , "::" , stringify
13391                ! ( BrokerID ) ));
13392    assert_eq! (unsafe {
13393                & (
13394                * ( 0 as * const CThostFtdcQryInstrumentTradingRightField ) )
13395                . InvestorID as * const _ as usize } , 11usize , concat ! (
13396                "Alignment of field: " , stringify ! (
13397                CThostFtdcQryInstrumentTradingRightField ) , "::" , stringify
13398                ! ( InvestorID ) ));
13399    assert_eq! (unsafe {
13400                & (
13401                * ( 0 as * const CThostFtdcQryInstrumentTradingRightField ) )
13402                . InstrumentID as * const _ as usize } , 24usize , concat ! (
13403                "Alignment of field: " , stringify ! (
13404                CThostFtdcQryInstrumentTradingRightField ) , "::" , stringify
13405                ! ( InstrumentID ) ));
13406}
13407impl Clone for CThostFtdcQryInstrumentTradingRightField {
13408    fn clone(&self) -> Self { *self }
13409}
13410/// 查询经纪公司
13411#[repr(C)]
13412#[derive(Default, Copy)]
13413pub struct CThostFtdcQryBrokerField {
13414    /// 经纪公司代码
13415    pub BrokerID: TThostFtdcBrokerIDType,
13416}
13417#[test]
13418fn bindgen_test_layout_CThostFtdcQryBrokerField() {
13419    assert_eq!(::std::mem::size_of::<CThostFtdcQryBrokerField>() , 11usize ,
13420               concat ! (
13421               "Size of: " , stringify ! ( CThostFtdcQryBrokerField ) ));
13422    assert_eq! (::std::mem::align_of::<CThostFtdcQryBrokerField>() , 1usize ,
13423                concat ! (
13424                "Alignment of " , stringify ! ( CThostFtdcQryBrokerField ) ));
13425    assert_eq! (unsafe {
13426                & ( * ( 0 as * const CThostFtdcQryBrokerField ) ) . BrokerID
13427                as * const _ as usize } , 0usize , concat ! (
13428                "Alignment of field: " , stringify ! (
13429                CThostFtdcQryBrokerField ) , "::" , stringify ! ( BrokerID )
13430                ));
13431}
13432impl Clone for CThostFtdcQryBrokerField {
13433    fn clone(&self) -> Self { *self }
13434}
13435/// 查询交易员
13436#[repr(C)]
13437#[derive(Default, Copy)]
13438pub struct CThostFtdcQryTraderField {
13439    /// 交易所代码
13440    pub ExchangeID: TThostFtdcExchangeIDType,
13441    /// 会员代码
13442    pub ParticipantID: TThostFtdcParticipantIDType,
13443    /// 交易所交易员代码
13444    pub TraderID: TThostFtdcTraderIDType,
13445}
13446#[test]
13447fn bindgen_test_layout_CThostFtdcQryTraderField() {
13448    assert_eq!(::std::mem::size_of::<CThostFtdcQryTraderField>() , 41usize ,
13449               concat ! (
13450               "Size of: " , stringify ! ( CThostFtdcQryTraderField ) ));
13451    assert_eq! (::std::mem::align_of::<CThostFtdcQryTraderField>() , 1usize ,
13452                concat ! (
13453                "Alignment of " , stringify ! ( CThostFtdcQryTraderField ) ));
13454    assert_eq! (unsafe {
13455                & ( * ( 0 as * const CThostFtdcQryTraderField ) ) . ExchangeID
13456                as * const _ as usize } , 0usize , concat ! (
13457                "Alignment of field: " , stringify ! (
13458                CThostFtdcQryTraderField ) , "::" , stringify ! ( ExchangeID )
13459                ));
13460    assert_eq! (unsafe {
13461                & ( * ( 0 as * const CThostFtdcQryTraderField ) ) .
13462                ParticipantID as * const _ as usize } , 9usize , concat ! (
13463                "Alignment of field: " , stringify ! (
13464                CThostFtdcQryTraderField ) , "::" , stringify ! (
13465                ParticipantID ) ));
13466    assert_eq! (unsafe {
13467                & ( * ( 0 as * const CThostFtdcQryTraderField ) ) . TraderID
13468                as * const _ as usize } , 20usize , concat ! (
13469                "Alignment of field: " , stringify ! (
13470                CThostFtdcQryTraderField ) , "::" , stringify ! ( TraderID )
13471                ));
13472}
13473impl Clone for CThostFtdcQryTraderField {
13474    fn clone(&self) -> Self { *self }
13475}
13476/// 查询管理用户功能权限
13477#[repr(C)]
13478#[derive(Default, Copy)]
13479pub struct CThostFtdcQrySuperUserFunctionField {
13480    /// 用户代码
13481    pub UserID: TThostFtdcUserIDType,
13482}
13483#[test]
13484fn bindgen_test_layout_CThostFtdcQrySuperUserFunctionField() {
13485    assert_eq!(::std::mem::size_of::<CThostFtdcQrySuperUserFunctionField>() ,
13486               16usize , concat ! (
13487               "Size of: " , stringify ! ( CThostFtdcQrySuperUserFunctionField
13488               ) ));
13489    assert_eq! (::std::mem::align_of::<CThostFtdcQrySuperUserFunctionField>()
13490                , 1usize , concat ! (
13491                "Alignment of " , stringify ! (
13492                CThostFtdcQrySuperUserFunctionField ) ));
13493    assert_eq! (unsafe {
13494                & ( * ( 0 as * const CThostFtdcQrySuperUserFunctionField ) ) .
13495                UserID as * const _ as usize } , 0usize , concat ! (
13496                "Alignment of field: " , stringify ! (
13497                CThostFtdcQrySuperUserFunctionField ) , "::" , stringify ! (
13498                UserID ) ));
13499}
13500impl Clone for CThostFtdcQrySuperUserFunctionField {
13501    fn clone(&self) -> Self { *self }
13502}
13503/// 查询用户会话
13504#[repr(C)]
13505#[derive(Default, Copy)]
13506pub struct CThostFtdcQryUserSessionField {
13507    /// 前置编号
13508    pub FrontID: TThostFtdcFrontIDType,
13509    /// 会话编号
13510    pub SessionID: TThostFtdcSessionIDType,
13511    /// 经纪公司代码
13512    pub BrokerID: TThostFtdcBrokerIDType,
13513    /// 用户代码
13514    pub UserID: TThostFtdcUserIDType,
13515}
13516#[test]
13517fn bindgen_test_layout_CThostFtdcQryUserSessionField() {
13518    assert_eq!(::std::mem::size_of::<CThostFtdcQryUserSessionField>() ,
13519               36usize , concat ! (
13520               "Size of: " , stringify ! ( CThostFtdcQryUserSessionField ) ));
13521    assert_eq! (::std::mem::align_of::<CThostFtdcQryUserSessionField>() ,
13522                4usize , concat ! (
13523                "Alignment of " , stringify ! ( CThostFtdcQryUserSessionField
13524                ) ));
13525    assert_eq! (unsafe {
13526                & ( * ( 0 as * const CThostFtdcQryUserSessionField ) ) .
13527                FrontID as * const _ as usize } , 0usize , concat ! (
13528                "Alignment of field: " , stringify ! (
13529                CThostFtdcQryUserSessionField ) , "::" , stringify ! ( FrontID
13530                ) ));
13531    assert_eq! (unsafe {
13532                & ( * ( 0 as * const CThostFtdcQryUserSessionField ) ) .
13533                SessionID as * const _ as usize } , 4usize , concat ! (
13534                "Alignment of field: " , stringify ! (
13535                CThostFtdcQryUserSessionField ) , "::" , stringify ! (
13536                SessionID ) ));
13537    assert_eq! (unsafe {
13538                & ( * ( 0 as * const CThostFtdcQryUserSessionField ) ) .
13539                BrokerID as * const _ as usize } , 8usize , concat ! (
13540                "Alignment of field: " , stringify ! (
13541                CThostFtdcQryUserSessionField ) , "::" , stringify ! (
13542                BrokerID ) ));
13543    assert_eq! (unsafe {
13544                & ( * ( 0 as * const CThostFtdcQryUserSessionField ) ) .
13545                UserID as * const _ as usize } , 19usize , concat ! (
13546                "Alignment of field: " , stringify ! (
13547                CThostFtdcQryUserSessionField ) , "::" , stringify ! ( UserID
13548                ) ));
13549}
13550impl Clone for CThostFtdcQryUserSessionField {
13551    fn clone(&self) -> Self { *self }
13552}
13553/// 查询经纪公司会员代码
13554#[repr(C)]
13555#[derive(Default, Copy)]
13556pub struct CThostFtdcQryPartBrokerField {
13557    /// 交易所代码
13558    pub ExchangeID: TThostFtdcExchangeIDType,
13559    /// 经纪公司代码
13560    pub BrokerID: TThostFtdcBrokerIDType,
13561    /// 会员代码
13562    pub ParticipantID: TThostFtdcParticipantIDType,
13563}
13564#[test]
13565fn bindgen_test_layout_CThostFtdcQryPartBrokerField() {
13566    assert_eq!(::std::mem::size_of::<CThostFtdcQryPartBrokerField>() , 31usize
13567               , concat ! (
13568               "Size of: " , stringify ! ( CThostFtdcQryPartBrokerField ) ));
13569    assert_eq! (::std::mem::align_of::<CThostFtdcQryPartBrokerField>() ,
13570                1usize , concat ! (
13571                "Alignment of " , stringify ! ( CThostFtdcQryPartBrokerField )
13572                ));
13573    assert_eq! (unsafe {
13574                & ( * ( 0 as * const CThostFtdcQryPartBrokerField ) ) .
13575                ExchangeID as * const _ as usize } , 0usize , concat ! (
13576                "Alignment of field: " , stringify ! (
13577                CThostFtdcQryPartBrokerField ) , "::" , stringify ! (
13578                ExchangeID ) ));
13579    assert_eq! (unsafe {
13580                & ( * ( 0 as * const CThostFtdcQryPartBrokerField ) ) .
13581                BrokerID as * const _ as usize } , 9usize , concat ! (
13582                "Alignment of field: " , stringify ! (
13583                CThostFtdcQryPartBrokerField ) , "::" , stringify ! ( BrokerID
13584                ) ));
13585    assert_eq! (unsafe {
13586                & ( * ( 0 as * const CThostFtdcQryPartBrokerField ) ) .
13587                ParticipantID as * const _ as usize } , 20usize , concat ! (
13588                "Alignment of field: " , stringify ! (
13589                CThostFtdcQryPartBrokerField ) , "::" , stringify ! (
13590                ParticipantID ) ));
13591}
13592impl Clone for CThostFtdcQryPartBrokerField {
13593    fn clone(&self) -> Self { *self }
13594}
13595/// 查询前置状态
13596#[repr(C)]
13597#[derive(Default, Copy)]
13598pub struct CThostFtdcQryFrontStatusField {
13599    /// 前置编号
13600    pub FrontID: TThostFtdcFrontIDType,
13601}
13602#[test]
13603fn bindgen_test_layout_CThostFtdcQryFrontStatusField() {
13604    assert_eq!(::std::mem::size_of::<CThostFtdcQryFrontStatusField>() , 4usize
13605               , concat ! (
13606               "Size of: " , stringify ! ( CThostFtdcQryFrontStatusField ) ));
13607    assert_eq! (::std::mem::align_of::<CThostFtdcQryFrontStatusField>() ,
13608                4usize , concat ! (
13609                "Alignment of " , stringify ! ( CThostFtdcQryFrontStatusField
13610                ) ));
13611    assert_eq! (unsafe {
13612                & ( * ( 0 as * const CThostFtdcQryFrontStatusField ) ) .
13613                FrontID as * const _ as usize } , 0usize , concat ! (
13614                "Alignment of field: " , stringify ! (
13615                CThostFtdcQryFrontStatusField ) , "::" , stringify ! ( FrontID
13616                ) ));
13617}
13618impl Clone for CThostFtdcQryFrontStatusField {
13619    fn clone(&self) -> Self { *self }
13620}
13621/// 查询交易所报单
13622#[repr(C)]
13623#[derive(Default, Copy)]
13624pub struct CThostFtdcQryExchangeOrderField {
13625    /// 会员代码
13626    pub ParticipantID: TThostFtdcParticipantIDType,
13627    /// 客户代码
13628    pub ClientID: TThostFtdcClientIDType,
13629    /// 合约在交易所的代码
13630    pub ExchangeInstID: TThostFtdcExchangeInstIDType,
13631    /// 交易所代码
13632    pub ExchangeID: TThostFtdcExchangeIDType,
13633    /// 交易所交易员代码
13634    pub TraderID: TThostFtdcTraderIDType,
13635}
13636#[test]
13637fn bindgen_test_layout_CThostFtdcQryExchangeOrderField() {
13638    assert_eq!(::std::mem::size_of::<CThostFtdcQryExchangeOrderField>() ,
13639               83usize , concat ! (
13640               "Size of: " , stringify ! ( CThostFtdcQryExchangeOrderField )
13641               ));
13642    assert_eq! (::std::mem::align_of::<CThostFtdcQryExchangeOrderField>() ,
13643                1usize , concat ! (
13644                "Alignment of " , stringify ! (
13645                CThostFtdcQryExchangeOrderField ) ));
13646    assert_eq! (unsafe {
13647                & ( * ( 0 as * const CThostFtdcQryExchangeOrderField ) ) .
13648                ParticipantID as * const _ as usize } , 0usize , concat ! (
13649                "Alignment of field: " , stringify ! (
13650                CThostFtdcQryExchangeOrderField ) , "::" , stringify ! (
13651                ParticipantID ) ));
13652    assert_eq! (unsafe {
13653                & ( * ( 0 as * const CThostFtdcQryExchangeOrderField ) ) .
13654                ClientID as * const _ as usize } , 11usize , concat ! (
13655                "Alignment of field: " , stringify ! (
13656                CThostFtdcQryExchangeOrderField ) , "::" , stringify ! (
13657                ClientID ) ));
13658    assert_eq! (unsafe {
13659                & ( * ( 0 as * const CThostFtdcQryExchangeOrderField ) ) .
13660                ExchangeInstID as * const _ as usize } , 22usize , concat ! (
13661                "Alignment of field: " , stringify ! (
13662                CThostFtdcQryExchangeOrderField ) , "::" , stringify ! (
13663                ExchangeInstID ) ));
13664    assert_eq! (unsafe {
13665                & ( * ( 0 as * const CThostFtdcQryExchangeOrderField ) ) .
13666                ExchangeID as * const _ as usize } , 53usize , concat ! (
13667                "Alignment of field: " , stringify ! (
13668                CThostFtdcQryExchangeOrderField ) , "::" , stringify ! (
13669                ExchangeID ) ));
13670    assert_eq! (unsafe {
13671                & ( * ( 0 as * const CThostFtdcQryExchangeOrderField ) ) .
13672                TraderID as * const _ as usize } , 62usize , concat ! (
13673                "Alignment of field: " , stringify ! (
13674                CThostFtdcQryExchangeOrderField ) , "::" , stringify ! (
13675                TraderID ) ));
13676}
13677impl Clone for CThostFtdcQryExchangeOrderField {
13678    fn clone(&self) -> Self { *self }
13679}
13680/// 查询报单操作
13681#[repr(C)]
13682#[derive(Default, Copy)]
13683pub struct CThostFtdcQryOrderActionField {
13684    /// 经纪公司代码
13685    pub BrokerID: TThostFtdcBrokerIDType,
13686    /// 投资者代码
13687    pub InvestorID: TThostFtdcInvestorIDType,
13688    /// 交易所代码
13689    pub ExchangeID: TThostFtdcExchangeIDType,
13690}
13691#[test]
13692fn bindgen_test_layout_CThostFtdcQryOrderActionField() {
13693    assert_eq!(::std::mem::size_of::<CThostFtdcQryOrderActionField>() ,
13694               33usize , concat ! (
13695               "Size of: " , stringify ! ( CThostFtdcQryOrderActionField ) ));
13696    assert_eq! (::std::mem::align_of::<CThostFtdcQryOrderActionField>() ,
13697                1usize , concat ! (
13698                "Alignment of " , stringify ! ( CThostFtdcQryOrderActionField
13699                ) ));
13700    assert_eq! (unsafe {
13701                & ( * ( 0 as * const CThostFtdcQryOrderActionField ) ) .
13702                BrokerID as * const _ as usize } , 0usize , concat ! (
13703                "Alignment of field: " , stringify ! (
13704                CThostFtdcQryOrderActionField ) , "::" , stringify ! (
13705                BrokerID ) ));
13706    assert_eq! (unsafe {
13707                & ( * ( 0 as * const CThostFtdcQryOrderActionField ) ) .
13708                InvestorID as * const _ as usize } , 11usize , concat ! (
13709                "Alignment of field: " , stringify ! (
13710                CThostFtdcQryOrderActionField ) , "::" , stringify ! (
13711                InvestorID ) ));
13712    assert_eq! (unsafe {
13713                & ( * ( 0 as * const CThostFtdcQryOrderActionField ) ) .
13714                ExchangeID as * const _ as usize } , 24usize , concat ! (
13715                "Alignment of field: " , stringify ! (
13716                CThostFtdcQryOrderActionField ) , "::" , stringify ! (
13717                ExchangeID ) ));
13718}
13719impl Clone for CThostFtdcQryOrderActionField {
13720    fn clone(&self) -> Self { *self }
13721}
13722/// 查询交易所报单操作
13723#[repr(C)]
13724#[derive(Default, Copy)]
13725pub struct CThostFtdcQryExchangeOrderActionField {
13726    /// 会员代码
13727    pub ParticipantID: TThostFtdcParticipantIDType,
13728    /// 客户代码
13729    pub ClientID: TThostFtdcClientIDType,
13730    /// 交易所代码
13731    pub ExchangeID: TThostFtdcExchangeIDType,
13732    /// 交易所交易员代码
13733    pub TraderID: TThostFtdcTraderIDType,
13734}
13735#[test]
13736fn bindgen_test_layout_CThostFtdcQryExchangeOrderActionField() {
13737    assert_eq!(::std::mem::size_of::<CThostFtdcQryExchangeOrderActionField>()
13738               , 52usize , concat ! (
13739               "Size of: " , stringify ! (
13740               CThostFtdcQryExchangeOrderActionField ) ));
13741    assert_eq! (::std::mem::align_of::<CThostFtdcQryExchangeOrderActionField>()
13742                , 1usize , concat ! (
13743                "Alignment of " , stringify ! (
13744                CThostFtdcQryExchangeOrderActionField ) ));
13745    assert_eq! (unsafe {
13746                & ( * ( 0 as * const CThostFtdcQryExchangeOrderActionField ) )
13747                . ParticipantID as * const _ as usize } , 0usize , concat ! (
13748                "Alignment of field: " , stringify ! (
13749                CThostFtdcQryExchangeOrderActionField ) , "::" , stringify ! (
13750                ParticipantID ) ));
13751    assert_eq! (unsafe {
13752                & ( * ( 0 as * const CThostFtdcQryExchangeOrderActionField ) )
13753                . ClientID as * const _ as usize } , 11usize , concat ! (
13754                "Alignment of field: " , stringify ! (
13755                CThostFtdcQryExchangeOrderActionField ) , "::" , stringify ! (
13756                ClientID ) ));
13757    assert_eq! (unsafe {
13758                & ( * ( 0 as * const CThostFtdcQryExchangeOrderActionField ) )
13759                . ExchangeID as * const _ as usize } , 22usize , concat ! (
13760                "Alignment of field: " , stringify ! (
13761                CThostFtdcQryExchangeOrderActionField ) , "::" , stringify ! (
13762                ExchangeID ) ));
13763    assert_eq! (unsafe {
13764                & ( * ( 0 as * const CThostFtdcQryExchangeOrderActionField ) )
13765                . TraderID as * const _ as usize } , 31usize , concat ! (
13766                "Alignment of field: " , stringify ! (
13767                CThostFtdcQryExchangeOrderActionField ) , "::" , stringify ! (
13768                TraderID ) ));
13769}
13770impl Clone for CThostFtdcQryExchangeOrderActionField {
13771    fn clone(&self) -> Self { *self }
13772}
13773/// 查询管理用户
13774#[repr(C)]
13775#[derive(Default, Copy)]
13776pub struct CThostFtdcQrySuperUserField {
13777    /// 用户代码
13778    pub UserID: TThostFtdcUserIDType,
13779}
13780#[test]
13781fn bindgen_test_layout_CThostFtdcQrySuperUserField() {
13782    assert_eq!(::std::mem::size_of::<CThostFtdcQrySuperUserField>() , 16usize
13783               , concat ! (
13784               "Size of: " , stringify ! ( CThostFtdcQrySuperUserField ) ));
13785    assert_eq! (::std::mem::align_of::<CThostFtdcQrySuperUserField>() , 1usize
13786                , concat ! (
13787                "Alignment of " , stringify ! ( CThostFtdcQrySuperUserField )
13788                ));
13789    assert_eq! (unsafe {
13790                & ( * ( 0 as * const CThostFtdcQrySuperUserField ) ) . UserID
13791                as * const _ as usize } , 0usize , concat ! (
13792                "Alignment of field: " , stringify ! (
13793                CThostFtdcQrySuperUserField ) , "::" , stringify ! ( UserID )
13794                ));
13795}
13796impl Clone for CThostFtdcQrySuperUserField {
13797    fn clone(&self) -> Self { *self }
13798}
13799/// 查询交易所
13800#[repr(C)]
13801#[derive(Default, Copy)]
13802pub struct CThostFtdcQryExchangeField {
13803    /// 交易所代码
13804    pub ExchangeID: TThostFtdcExchangeIDType,
13805}
13806#[test]
13807fn bindgen_test_layout_CThostFtdcQryExchangeField() {
13808    assert_eq!(::std::mem::size_of::<CThostFtdcQryExchangeField>() , 9usize ,
13809               concat ! (
13810               "Size of: " , stringify ! ( CThostFtdcQryExchangeField ) ));
13811    assert_eq! (::std::mem::align_of::<CThostFtdcQryExchangeField>() , 1usize
13812                , concat ! (
13813                "Alignment of " , stringify ! ( CThostFtdcQryExchangeField )
13814                ));
13815    assert_eq! (unsafe {
13816                & ( * ( 0 as * const CThostFtdcQryExchangeField ) ) .
13817                ExchangeID as * const _ as usize } , 0usize , concat ! (
13818                "Alignment of field: " , stringify ! (
13819                CThostFtdcQryExchangeField ) , "::" , stringify ! ( ExchangeID
13820                ) ));
13821}
13822impl Clone for CThostFtdcQryExchangeField {
13823    fn clone(&self) -> Self { *self }
13824}
13825/// 查询产品
13826#[repr(C)]
13827#[derive(Default, Copy)]
13828pub struct CThostFtdcQryProductField {
13829    /// 产品代码
13830    pub ProductID: TThostFtdcInstrumentIDType,
13831    /// 产品类型
13832    pub ProductClass: TThostFtdcProductClassType,
13833    /// 交易所代码
13834    pub ExchangeID: TThostFtdcExchangeIDType,
13835}
13836#[test]
13837fn bindgen_test_layout_CThostFtdcQryProductField() {
13838    assert_eq!(::std::mem::size_of::<CThostFtdcQryProductField>() , 41usize ,
13839               concat ! (
13840               "Size of: " , stringify ! ( CThostFtdcQryProductField ) ));
13841    assert_eq! (::std::mem::align_of::<CThostFtdcQryProductField>() , 1usize ,
13842                concat ! (
13843                "Alignment of " , stringify ! ( CThostFtdcQryProductField )
13844                ));
13845    assert_eq! (unsafe {
13846                & ( * ( 0 as * const CThostFtdcQryProductField ) ) . ProductID
13847                as * const _ as usize } , 0usize , concat ! (
13848                "Alignment of field: " , stringify ! (
13849                CThostFtdcQryProductField ) , "::" , stringify ! ( ProductID )
13850                ));
13851    assert_eq! (unsafe {
13852                & ( * ( 0 as * const CThostFtdcQryProductField ) ) .
13853                ProductClass as * const _ as usize } , 31usize , concat ! (
13854                "Alignment of field: " , stringify ! (
13855                CThostFtdcQryProductField ) , "::" , stringify ! (
13856                ProductClass ) ));
13857    assert_eq! (unsafe {
13858                & ( * ( 0 as * const CThostFtdcQryProductField ) ) .
13859                ExchangeID as * const _ as usize } , 32usize , concat ! (
13860                "Alignment of field: " , stringify ! (
13861                CThostFtdcQryProductField ) , "::" , stringify ! ( ExchangeID
13862                ) ));
13863}
13864impl Clone for CThostFtdcQryProductField {
13865    fn clone(&self) -> Self { *self }
13866}
13867/// 查询合约
13868#[repr(C)]
13869#[derive(Default, Copy)]
13870pub struct CThostFtdcQryInstrumentField {
13871    /// 合约代码
13872    pub InstrumentID: TThostFtdcInstrumentIDType,
13873    /// 交易所代码
13874    pub ExchangeID: TThostFtdcExchangeIDType,
13875    /// 合约在交易所的代码
13876    pub ExchangeInstID: TThostFtdcExchangeInstIDType,
13877    /// 产品代码
13878    pub ProductID: TThostFtdcInstrumentIDType,
13879}
13880#[test]
13881fn bindgen_test_layout_CThostFtdcQryInstrumentField() {
13882    assert_eq!(::std::mem::size_of::<CThostFtdcQryInstrumentField>() ,
13883               102usize , concat ! (
13884               "Size of: " , stringify ! ( CThostFtdcQryInstrumentField ) ));
13885    assert_eq! (::std::mem::align_of::<CThostFtdcQryInstrumentField>() ,
13886                1usize , concat ! (
13887                "Alignment of " , stringify ! ( CThostFtdcQryInstrumentField )
13888                ));
13889    assert_eq! (unsafe {
13890                & ( * ( 0 as * const CThostFtdcQryInstrumentField ) ) .
13891                InstrumentID as * const _ as usize } , 0usize , concat ! (
13892                "Alignment of field: " , stringify ! (
13893                CThostFtdcQryInstrumentField ) , "::" , stringify ! (
13894                InstrumentID ) ));
13895    assert_eq! (unsafe {
13896                & ( * ( 0 as * const CThostFtdcQryInstrumentField ) ) .
13897                ExchangeID as * const _ as usize } , 31usize , concat ! (
13898                "Alignment of field: " , stringify ! (
13899                CThostFtdcQryInstrumentField ) , "::" , stringify ! (
13900                ExchangeID ) ));
13901    assert_eq! (unsafe {
13902                & ( * ( 0 as * const CThostFtdcQryInstrumentField ) ) .
13903                ExchangeInstID as * const _ as usize } , 40usize , concat ! (
13904                "Alignment of field: " , stringify ! (
13905                CThostFtdcQryInstrumentField ) , "::" , stringify ! (
13906                ExchangeInstID ) ));
13907    assert_eq! (unsafe {
13908                & ( * ( 0 as * const CThostFtdcQryInstrumentField ) ) .
13909                ProductID as * const _ as usize } , 71usize , concat ! (
13910                "Alignment of field: " , stringify ! (
13911                CThostFtdcQryInstrumentField ) , "::" , stringify ! (
13912                ProductID ) ));
13913}
13914impl Clone for CThostFtdcQryInstrumentField {
13915    fn clone(&self) -> Self { *self }
13916}
13917/// 查询行情
13918#[repr(C)]
13919#[derive(Default, Copy)]
13920pub struct CThostFtdcQryDepthMarketDataField {
13921    /// 合约代码
13922    pub InstrumentID: TThostFtdcInstrumentIDType,
13923    /// 交易所代码
13924    pub ExchangeID: TThostFtdcExchangeIDType,
13925}
13926#[test]
13927fn bindgen_test_layout_CThostFtdcQryDepthMarketDataField() {
13928    assert_eq!(::std::mem::size_of::<CThostFtdcQryDepthMarketDataField>() ,
13929               40usize , concat ! (
13930               "Size of: " , stringify ! ( CThostFtdcQryDepthMarketDataField )
13931               ));
13932    assert_eq! (::std::mem::align_of::<CThostFtdcQryDepthMarketDataField>() ,
13933                1usize , concat ! (
13934                "Alignment of " , stringify ! (
13935                CThostFtdcQryDepthMarketDataField ) ));
13936    assert_eq! (unsafe {
13937                & ( * ( 0 as * const CThostFtdcQryDepthMarketDataField ) ) .
13938                InstrumentID as * const _ as usize } , 0usize , concat ! (
13939                "Alignment of field: " , stringify ! (
13940                CThostFtdcQryDepthMarketDataField ) , "::" , stringify ! (
13941                InstrumentID ) ));
13942    assert_eq! (unsafe {
13943                & ( * ( 0 as * const CThostFtdcQryDepthMarketDataField ) ) .
13944                ExchangeID as * const _ as usize } , 31usize , concat ! (
13945                "Alignment of field: " , stringify ! (
13946                CThostFtdcQryDepthMarketDataField ) , "::" , stringify ! (
13947                ExchangeID ) ));
13948}
13949impl Clone for CThostFtdcQryDepthMarketDataField {
13950    fn clone(&self) -> Self { *self }
13951}
13952/// 查询经纪公司用户
13953#[repr(C)]
13954#[derive(Default, Copy)]
13955pub struct CThostFtdcQryBrokerUserField {
13956    /// 经纪公司代码
13957    pub BrokerID: TThostFtdcBrokerIDType,
13958    /// 用户代码
13959    pub UserID: TThostFtdcUserIDType,
13960}
13961#[test]
13962fn bindgen_test_layout_CThostFtdcQryBrokerUserField() {
13963    assert_eq!(::std::mem::size_of::<CThostFtdcQryBrokerUserField>() , 27usize
13964               , concat ! (
13965               "Size of: " , stringify ! ( CThostFtdcQryBrokerUserField ) ));
13966    assert_eq! (::std::mem::align_of::<CThostFtdcQryBrokerUserField>() ,
13967                1usize , concat ! (
13968                "Alignment of " , stringify ! ( CThostFtdcQryBrokerUserField )
13969                ));
13970    assert_eq! (unsafe {
13971                & ( * ( 0 as * const CThostFtdcQryBrokerUserField ) ) .
13972                BrokerID as * const _ as usize } , 0usize , concat ! (
13973                "Alignment of field: " , stringify ! (
13974                CThostFtdcQryBrokerUserField ) , "::" , stringify ! ( BrokerID
13975                ) ));
13976    assert_eq! (unsafe {
13977                & ( * ( 0 as * const CThostFtdcQryBrokerUserField ) ) . UserID
13978                as * const _ as usize } , 11usize , concat ! (
13979                "Alignment of field: " , stringify ! (
13980                CThostFtdcQryBrokerUserField ) , "::" , stringify ! ( UserID )
13981                ));
13982}
13983impl Clone for CThostFtdcQryBrokerUserField {
13984    fn clone(&self) -> Self { *self }
13985}
13986/// 查询经纪公司用户权限
13987#[repr(C)]
13988#[derive(Default, Copy)]
13989pub struct CThostFtdcQryBrokerUserFunctionField {
13990    /// 经纪公司代码
13991    pub BrokerID: TThostFtdcBrokerIDType,
13992    /// 用户代码
13993    pub UserID: TThostFtdcUserIDType,
13994}
13995#[test]
13996fn bindgen_test_layout_CThostFtdcQryBrokerUserFunctionField() {
13997    assert_eq!(::std::mem::size_of::<CThostFtdcQryBrokerUserFunctionField>() ,
13998               27usize , concat ! (
13999               "Size of: " , stringify ! (
14000               CThostFtdcQryBrokerUserFunctionField ) ));
14001    assert_eq! (::std::mem::align_of::<CThostFtdcQryBrokerUserFunctionField>()
14002                , 1usize , concat ! (
14003                "Alignment of " , stringify ! (
14004                CThostFtdcQryBrokerUserFunctionField ) ));
14005    assert_eq! (unsafe {
14006                & ( * ( 0 as * const CThostFtdcQryBrokerUserFunctionField ) )
14007                . BrokerID as * const _ as usize } , 0usize , concat ! (
14008                "Alignment of field: " , stringify ! (
14009                CThostFtdcQryBrokerUserFunctionField ) , "::" , stringify ! (
14010                BrokerID ) ));
14011    assert_eq! (unsafe {
14012                & ( * ( 0 as * const CThostFtdcQryBrokerUserFunctionField ) )
14013                . UserID as * const _ as usize } , 11usize , concat ! (
14014                "Alignment of field: " , stringify ! (
14015                CThostFtdcQryBrokerUserFunctionField ) , "::" , stringify ! (
14016                UserID ) ));
14017}
14018impl Clone for CThostFtdcQryBrokerUserFunctionField {
14019    fn clone(&self) -> Self { *self }
14020}
14021/// 查询交易员报盘机
14022#[repr(C)]
14023#[derive(Default, Copy)]
14024pub struct CThostFtdcQryTraderOfferField {
14025    /// 交易所代码
14026    pub ExchangeID: TThostFtdcExchangeIDType,
14027    /// 会员代码
14028    pub ParticipantID: TThostFtdcParticipantIDType,
14029    /// 交易所交易员代码
14030    pub TraderID: TThostFtdcTraderIDType,
14031}
14032#[test]
14033fn bindgen_test_layout_CThostFtdcQryTraderOfferField() {
14034    assert_eq!(::std::mem::size_of::<CThostFtdcQryTraderOfferField>() ,
14035               41usize , concat ! (
14036               "Size of: " , stringify ! ( CThostFtdcQryTraderOfferField ) ));
14037    assert_eq! (::std::mem::align_of::<CThostFtdcQryTraderOfferField>() ,
14038                1usize , concat ! (
14039                "Alignment of " , stringify ! ( CThostFtdcQryTraderOfferField
14040                ) ));
14041    assert_eq! (unsafe {
14042                & ( * ( 0 as * const CThostFtdcQryTraderOfferField ) ) .
14043                ExchangeID as * const _ as usize } , 0usize , concat ! (
14044                "Alignment of field: " , stringify ! (
14045                CThostFtdcQryTraderOfferField ) , "::" , stringify ! (
14046                ExchangeID ) ));
14047    assert_eq! (unsafe {
14048                & ( * ( 0 as * const CThostFtdcQryTraderOfferField ) ) .
14049                ParticipantID as * const _ as usize } , 9usize , concat ! (
14050                "Alignment of field: " , stringify ! (
14051                CThostFtdcQryTraderOfferField ) , "::" , stringify ! (
14052                ParticipantID ) ));
14053    assert_eq! (unsafe {
14054                & ( * ( 0 as * const CThostFtdcQryTraderOfferField ) ) .
14055                TraderID as * const _ as usize } , 20usize , concat ! (
14056                "Alignment of field: " , stringify ! (
14057                CThostFtdcQryTraderOfferField ) , "::" , stringify ! (
14058                TraderID ) ));
14059}
14060impl Clone for CThostFtdcQryTraderOfferField {
14061    fn clone(&self) -> Self { *self }
14062}
14063/// 查询出入金流水
14064#[repr(C)]
14065#[derive(Default, Copy)]
14066pub struct CThostFtdcQrySyncDepositField {
14067    /// 经纪公司代码
14068    pub BrokerID: TThostFtdcBrokerIDType,
14069    /// 出入金流水号
14070    pub DepositSeqNo: TThostFtdcDepositSeqNoType,
14071}
14072#[test]
14073fn bindgen_test_layout_CThostFtdcQrySyncDepositField() {
14074    assert_eq!(::std::mem::size_of::<CThostFtdcQrySyncDepositField>() ,
14075               26usize , concat ! (
14076               "Size of: " , stringify ! ( CThostFtdcQrySyncDepositField ) ));
14077    assert_eq! (::std::mem::align_of::<CThostFtdcQrySyncDepositField>() ,
14078                1usize , concat ! (
14079                "Alignment of " , stringify ! ( CThostFtdcQrySyncDepositField
14080                ) ));
14081    assert_eq! (unsafe {
14082                & ( * ( 0 as * const CThostFtdcQrySyncDepositField ) ) .
14083                BrokerID as * const _ as usize } , 0usize , concat ! (
14084                "Alignment of field: " , stringify ! (
14085                CThostFtdcQrySyncDepositField ) , "::" , stringify ! (
14086                BrokerID ) ));
14087    assert_eq! (unsafe {
14088                & ( * ( 0 as * const CThostFtdcQrySyncDepositField ) ) .
14089                DepositSeqNo as * const _ as usize } , 11usize , concat ! (
14090                "Alignment of field: " , stringify ! (
14091                CThostFtdcQrySyncDepositField ) , "::" , stringify ! (
14092                DepositSeqNo ) ));
14093}
14094impl Clone for CThostFtdcQrySyncDepositField {
14095    fn clone(&self) -> Self { *self }
14096}
14097/// 查询投资者结算结果
14098#[repr(C)]
14099#[derive(Default, Copy)]
14100pub struct CThostFtdcQrySettlementInfoField {
14101    /// 经纪公司代码
14102    pub BrokerID: TThostFtdcBrokerIDType,
14103    /// 投资者代码
14104    pub InvestorID: TThostFtdcInvestorIDType,
14105    /// 交易日
14106    pub TradingDay: TThostFtdcDateType,
14107    /// 投资者帐号
14108    pub AccountID: TThostFtdcAccountIDType,
14109    /// 币种代码
14110    pub CurrencyID: TThostFtdcCurrencyIDType,
14111}
14112#[test]
14113fn bindgen_test_layout_CThostFtdcQrySettlementInfoField() {
14114    assert_eq!(::std::mem::size_of::<CThostFtdcQrySettlementInfoField>() ,
14115               50usize , concat ! (
14116               "Size of: " , stringify ! ( CThostFtdcQrySettlementInfoField )
14117               ));
14118    assert_eq! (::std::mem::align_of::<CThostFtdcQrySettlementInfoField>() ,
14119                1usize , concat ! (
14120                "Alignment of " , stringify ! (
14121                CThostFtdcQrySettlementInfoField ) ));
14122    assert_eq! (unsafe {
14123                & ( * ( 0 as * const CThostFtdcQrySettlementInfoField ) ) .
14124                BrokerID as * const _ as usize } , 0usize , concat ! (
14125                "Alignment of field: " , stringify ! (
14126                CThostFtdcQrySettlementInfoField ) , "::" , stringify ! (
14127                BrokerID ) ));
14128    assert_eq! (unsafe {
14129                & ( * ( 0 as * const CThostFtdcQrySettlementInfoField ) ) .
14130                InvestorID as * const _ as usize } , 11usize , concat ! (
14131                "Alignment of field: " , stringify ! (
14132                CThostFtdcQrySettlementInfoField ) , "::" , stringify ! (
14133                InvestorID ) ));
14134    assert_eq! (unsafe {
14135                & ( * ( 0 as * const CThostFtdcQrySettlementInfoField ) ) .
14136                TradingDay as * const _ as usize } , 24usize , concat ! (
14137                "Alignment of field: " , stringify ! (
14138                CThostFtdcQrySettlementInfoField ) , "::" , stringify ! (
14139                TradingDay ) ));
14140    assert_eq! (unsafe {
14141                & ( * ( 0 as * const CThostFtdcQrySettlementInfoField ) ) .
14142                AccountID as * const _ as usize } , 33usize , concat ! (
14143                "Alignment of field: " , stringify ! (
14144                CThostFtdcQrySettlementInfoField ) , "::" , stringify ! (
14145                AccountID ) ));
14146    assert_eq! (unsafe {
14147                & ( * ( 0 as * const CThostFtdcQrySettlementInfoField ) ) .
14148                CurrencyID as * const _ as usize } , 46usize , concat ! (
14149                "Alignment of field: " , stringify ! (
14150                CThostFtdcQrySettlementInfoField ) , "::" , stringify ! (
14151                CurrencyID ) ));
14152}
14153impl Clone for CThostFtdcQrySettlementInfoField {
14154    fn clone(&self) -> Self { *self }
14155}
14156/// 查询交易所保证金率
14157#[repr(C)]
14158#[derive(Default, Copy)]
14159pub struct CThostFtdcQryExchangeMarginRateField {
14160    /// 经纪公司代码
14161    pub BrokerID: TThostFtdcBrokerIDType,
14162    /// 合约代码
14163    pub InstrumentID: TThostFtdcInstrumentIDType,
14164    /// 投机套保标志
14165    pub HedgeFlag: TThostFtdcHedgeFlagType,
14166    /// 交易所代码
14167    pub ExchangeID: TThostFtdcExchangeIDType,
14168}
14169#[test]
14170fn bindgen_test_layout_CThostFtdcQryExchangeMarginRateField() {
14171    assert_eq!(::std::mem::size_of::<CThostFtdcQryExchangeMarginRateField>() ,
14172               52usize , concat ! (
14173               "Size of: " , stringify ! (
14174               CThostFtdcQryExchangeMarginRateField ) ));
14175    assert_eq! (::std::mem::align_of::<CThostFtdcQryExchangeMarginRateField>()
14176                , 1usize , concat ! (
14177                "Alignment of " , stringify ! (
14178                CThostFtdcQryExchangeMarginRateField ) ));
14179    assert_eq! (unsafe {
14180                & ( * ( 0 as * const CThostFtdcQryExchangeMarginRateField ) )
14181                . BrokerID as * const _ as usize } , 0usize , concat ! (
14182                "Alignment of field: " , stringify ! (
14183                CThostFtdcQryExchangeMarginRateField ) , "::" , stringify ! (
14184                BrokerID ) ));
14185    assert_eq! (unsafe {
14186                & ( * ( 0 as * const CThostFtdcQryExchangeMarginRateField ) )
14187                . InstrumentID as * const _ as usize } , 11usize , concat ! (
14188                "Alignment of field: " , stringify ! (
14189                CThostFtdcQryExchangeMarginRateField ) , "::" , stringify ! (
14190                InstrumentID ) ));
14191    assert_eq! (unsafe {
14192                & ( * ( 0 as * const CThostFtdcQryExchangeMarginRateField ) )
14193                . HedgeFlag as * const _ as usize } , 42usize , concat ! (
14194                "Alignment of field: " , stringify ! (
14195                CThostFtdcQryExchangeMarginRateField ) , "::" , stringify ! (
14196                HedgeFlag ) ));
14197    assert_eq! (unsafe {
14198                & ( * ( 0 as * const CThostFtdcQryExchangeMarginRateField ) )
14199                . ExchangeID as * const _ as usize } , 43usize , concat ! (
14200                "Alignment of field: " , stringify ! (
14201                CThostFtdcQryExchangeMarginRateField ) , "::" , stringify ! (
14202                ExchangeID ) ));
14203}
14204impl Clone for CThostFtdcQryExchangeMarginRateField {
14205    fn clone(&self) -> Self { *self }
14206}
14207/// 查询交易所调整保证金率
14208#[repr(C)]
14209#[derive(Default, Copy)]
14210pub struct CThostFtdcQryExchangeMarginRateAdjustField {
14211    /// 经纪公司代码
14212    pub BrokerID: TThostFtdcBrokerIDType,
14213    /// 合约代码
14214    pub InstrumentID: TThostFtdcInstrumentIDType,
14215    /// 投机套保标志
14216    pub HedgeFlag: TThostFtdcHedgeFlagType,
14217}
14218#[test]
14219fn bindgen_test_layout_CThostFtdcQryExchangeMarginRateAdjustField() {
14220    assert_eq!(::std::mem::size_of::<CThostFtdcQryExchangeMarginRateAdjustField>()
14221               , 43usize , concat ! (
14222               "Size of: " , stringify ! (
14223               CThostFtdcQryExchangeMarginRateAdjustField ) ));
14224    assert_eq! (::std::mem::align_of::<CThostFtdcQryExchangeMarginRateAdjustField>()
14225                , 1usize , concat ! (
14226                "Alignment of " , stringify ! (
14227                CThostFtdcQryExchangeMarginRateAdjustField ) ));
14228    assert_eq! (unsafe {
14229                & (
14230                * ( 0 as * const CThostFtdcQryExchangeMarginRateAdjustField )
14231                ) . BrokerID as * const _ as usize } , 0usize , concat ! (
14232                "Alignment of field: " , stringify ! (
14233                CThostFtdcQryExchangeMarginRateAdjustField ) , "::" ,
14234                stringify ! ( BrokerID ) ));
14235    assert_eq! (unsafe {
14236                & (
14237                * ( 0 as * const CThostFtdcQryExchangeMarginRateAdjustField )
14238                ) . InstrumentID as * const _ as usize } , 11usize , concat !
14239                (
14240                "Alignment of field: " , stringify ! (
14241                CThostFtdcQryExchangeMarginRateAdjustField ) , "::" ,
14242                stringify ! ( InstrumentID ) ));
14243    assert_eq! (unsafe {
14244                & (
14245                * ( 0 as * const CThostFtdcQryExchangeMarginRateAdjustField )
14246                ) . HedgeFlag as * const _ as usize } , 42usize , concat ! (
14247                "Alignment of field: " , stringify ! (
14248                CThostFtdcQryExchangeMarginRateAdjustField ) , "::" ,
14249                stringify ! ( HedgeFlag ) ));
14250}
14251impl Clone for CThostFtdcQryExchangeMarginRateAdjustField {
14252    fn clone(&self) -> Self { *self }
14253}
14254/// 查询汇率
14255#[repr(C)]
14256#[derive(Default, Copy)]
14257pub struct CThostFtdcQryExchangeRateField {
14258    /// 经纪公司代码
14259    pub BrokerID: TThostFtdcBrokerIDType,
14260    /// 源币种
14261    pub FromCurrencyID: TThostFtdcCurrencyIDType,
14262    /// 目标币种
14263    pub ToCurrencyID: TThostFtdcCurrencyIDType,
14264}
14265#[test]
14266fn bindgen_test_layout_CThostFtdcQryExchangeRateField() {
14267    assert_eq!(::std::mem::size_of::<CThostFtdcQryExchangeRateField>() ,
14268               19usize , concat ! (
14269               "Size of: " , stringify ! ( CThostFtdcQryExchangeRateField )
14270               ));
14271    assert_eq! (::std::mem::align_of::<CThostFtdcQryExchangeRateField>() ,
14272                1usize , concat ! (
14273                "Alignment of " , stringify ! ( CThostFtdcQryExchangeRateField
14274                ) ));
14275    assert_eq! (unsafe {
14276                & ( * ( 0 as * const CThostFtdcQryExchangeRateField ) ) .
14277                BrokerID as * const _ as usize } , 0usize , concat ! (
14278                "Alignment of field: " , stringify ! (
14279                CThostFtdcQryExchangeRateField ) , "::" , stringify ! (
14280                BrokerID ) ));
14281    assert_eq! (unsafe {
14282                & ( * ( 0 as * const CThostFtdcQryExchangeRateField ) ) .
14283                FromCurrencyID as * const _ as usize } , 11usize , concat ! (
14284                "Alignment of field: " , stringify ! (
14285                CThostFtdcQryExchangeRateField ) , "::" , stringify ! (
14286                FromCurrencyID ) ));
14287    assert_eq! (unsafe {
14288                & ( * ( 0 as * const CThostFtdcQryExchangeRateField ) ) .
14289                ToCurrencyID as * const _ as usize } , 15usize , concat ! (
14290                "Alignment of field: " , stringify ! (
14291                CThostFtdcQryExchangeRateField ) , "::" , stringify ! (
14292                ToCurrencyID ) ));
14293}
14294impl Clone for CThostFtdcQryExchangeRateField {
14295    fn clone(&self) -> Self { *self }
14296}
14297/// 查询货币质押流水
14298#[repr(C)]
14299#[derive(Default, Copy)]
14300pub struct CThostFtdcQrySyncFundMortgageField {
14301    /// 经纪公司代码
14302    pub BrokerID: TThostFtdcBrokerIDType,
14303    /// 货币质押流水号
14304    pub MortgageSeqNo: TThostFtdcDepositSeqNoType,
14305}
14306#[test]
14307fn bindgen_test_layout_CThostFtdcQrySyncFundMortgageField() {
14308    assert_eq!(::std::mem::size_of::<CThostFtdcQrySyncFundMortgageField>() ,
14309               26usize , concat ! (
14310               "Size of: " , stringify ! ( CThostFtdcQrySyncFundMortgageField
14311               ) ));
14312    assert_eq! (::std::mem::align_of::<CThostFtdcQrySyncFundMortgageField>() ,
14313                1usize , concat ! (
14314                "Alignment of " , stringify ! (
14315                CThostFtdcQrySyncFundMortgageField ) ));
14316    assert_eq! (unsafe {
14317                & ( * ( 0 as * const CThostFtdcQrySyncFundMortgageField ) ) .
14318                BrokerID as * const _ as usize } , 0usize , concat ! (
14319                "Alignment of field: " , stringify ! (
14320                CThostFtdcQrySyncFundMortgageField ) , "::" , stringify ! (
14321                BrokerID ) ));
14322    assert_eq! (unsafe {
14323                & ( * ( 0 as * const CThostFtdcQrySyncFundMortgageField ) ) .
14324                MortgageSeqNo as * const _ as usize } , 11usize , concat ! (
14325                "Alignment of field: " , stringify ! (
14326                CThostFtdcQrySyncFundMortgageField ) , "::" , stringify ! (
14327                MortgageSeqNo ) ));
14328}
14329impl Clone for CThostFtdcQrySyncFundMortgageField {
14330    fn clone(&self) -> Self { *self }
14331}
14332/// 查询报单
14333#[repr(C)]
14334#[derive(Default, Copy)]
14335pub struct CThostFtdcQryHisOrderField {
14336    /// 经纪公司代码
14337    pub BrokerID: TThostFtdcBrokerIDType,
14338    /// 投资者代码
14339    pub InvestorID: TThostFtdcInvestorIDType,
14340    /// 合约代码
14341    pub InstrumentID: TThostFtdcInstrumentIDType,
14342    /// 交易所代码
14343    pub ExchangeID: TThostFtdcExchangeIDType,
14344    /// 报单编号
14345    pub OrderSysID: TThostFtdcOrderSysIDType,
14346    /// 开始时间
14347    pub InsertTimeStart: TThostFtdcTimeType,
14348    /// 结束时间
14349    pub InsertTimeEnd: TThostFtdcTimeType,
14350    /// 交易日
14351    pub TradingDay: TThostFtdcDateType,
14352    /// 结算编号
14353    pub SettlementID: TThostFtdcSettlementIDType,
14354}
14355#[test]
14356fn bindgen_test_layout_CThostFtdcQryHisOrderField() {
14357    assert_eq!(::std::mem::size_of::<CThostFtdcQryHisOrderField>() , 116usize
14358               , concat ! (
14359               "Size of: " , stringify ! ( CThostFtdcQryHisOrderField ) ));
14360    assert_eq! (::std::mem::align_of::<CThostFtdcQryHisOrderField>() , 4usize
14361                , concat ! (
14362                "Alignment of " , stringify ! ( CThostFtdcQryHisOrderField )
14363                ));
14364    assert_eq! (unsafe {
14365                & ( * ( 0 as * const CThostFtdcQryHisOrderField ) ) . BrokerID
14366                as * const _ as usize } , 0usize , concat ! (
14367                "Alignment of field: " , stringify ! (
14368                CThostFtdcQryHisOrderField ) , "::" , stringify ! ( BrokerID )
14369                ));
14370    assert_eq! (unsafe {
14371                & ( * ( 0 as * const CThostFtdcQryHisOrderField ) ) .
14372                InvestorID as * const _ as usize } , 11usize , concat ! (
14373                "Alignment of field: " , stringify ! (
14374                CThostFtdcQryHisOrderField ) , "::" , stringify ! ( InvestorID
14375                ) ));
14376    assert_eq! (unsafe {
14377                & ( * ( 0 as * const CThostFtdcQryHisOrderField ) ) .
14378                InstrumentID as * const _ as usize } , 24usize , concat ! (
14379                "Alignment of field: " , stringify ! (
14380                CThostFtdcQryHisOrderField ) , "::" , stringify ! (
14381                InstrumentID ) ));
14382    assert_eq! (unsafe {
14383                & ( * ( 0 as * const CThostFtdcQryHisOrderField ) ) .
14384                ExchangeID as * const _ as usize } , 55usize , concat ! (
14385                "Alignment of field: " , stringify ! (
14386                CThostFtdcQryHisOrderField ) , "::" , stringify ! ( ExchangeID
14387                ) ));
14388    assert_eq! (unsafe {
14389                & ( * ( 0 as * const CThostFtdcQryHisOrderField ) ) .
14390                OrderSysID as * const _ as usize } , 64usize , concat ! (
14391                "Alignment of field: " , stringify ! (
14392                CThostFtdcQryHisOrderField ) , "::" , stringify ! ( OrderSysID
14393                ) ));
14394    assert_eq! (unsafe {
14395                & ( * ( 0 as * const CThostFtdcQryHisOrderField ) ) .
14396                InsertTimeStart as * const _ as usize } , 85usize , concat ! (
14397                "Alignment of field: " , stringify ! (
14398                CThostFtdcQryHisOrderField ) , "::" , stringify ! (
14399                InsertTimeStart ) ));
14400    assert_eq! (unsafe {
14401                & ( * ( 0 as * const CThostFtdcQryHisOrderField ) ) .
14402                InsertTimeEnd as * const _ as usize } , 94usize , concat ! (
14403                "Alignment of field: " , stringify ! (
14404                CThostFtdcQryHisOrderField ) , "::" , stringify ! (
14405                InsertTimeEnd ) ));
14406    assert_eq! (unsafe {
14407                & ( * ( 0 as * const CThostFtdcQryHisOrderField ) ) .
14408                TradingDay as * const _ as usize } , 103usize , concat ! (
14409                "Alignment of field: " , stringify ! (
14410                CThostFtdcQryHisOrderField ) , "::" , stringify ! ( TradingDay
14411                ) ));
14412    assert_eq! (unsafe {
14413                & ( * ( 0 as * const CThostFtdcQryHisOrderField ) ) .
14414                SettlementID as * const _ as usize } , 112usize , concat ! (
14415                "Alignment of field: " , stringify ! (
14416                CThostFtdcQryHisOrderField ) , "::" , stringify ! (
14417                SettlementID ) ));
14418}
14419impl Clone for CThostFtdcQryHisOrderField {
14420    fn clone(&self) -> Self { *self }
14421}
14422/// 当前期权合约最小保证金
14423#[repr(C)]
14424#[derive(Default, Copy)]
14425pub struct CThostFtdcOptionInstrMiniMarginField {
14426    /// 合约代码
14427    pub InstrumentID: TThostFtdcInstrumentIDType,
14428    /// 投资者范围
14429    pub InvestorRange: TThostFtdcInvestorRangeType,
14430    /// 经纪公司代码
14431    pub BrokerID: TThostFtdcBrokerIDType,
14432    /// 投资者代码
14433    pub InvestorID: TThostFtdcInvestorIDType,
14434    /// 单位(手)期权合约最小保证金
14435    pub MinMargin: TThostFtdcMoneyType,
14436    /// 取值方式
14437    pub ValueMethod: TThostFtdcValueMethodType,
14438    /// 是否跟随交易所收取
14439    pub IsRelative: TThostFtdcBoolType,
14440}
14441#[test]
14442fn bindgen_test_layout_CThostFtdcOptionInstrMiniMarginField() {
14443    assert_eq!(::std::mem::size_of::<CThostFtdcOptionInstrMiniMarginField>() ,
14444               72usize , concat ! (
14445               "Size of: " , stringify ! (
14446               CThostFtdcOptionInstrMiniMarginField ) ));
14447    assert_eq! (::std::mem::align_of::<CThostFtdcOptionInstrMiniMarginField>()
14448                , 8usize , concat ! (
14449                "Alignment of " , stringify ! (
14450                CThostFtdcOptionInstrMiniMarginField ) ));
14451    assert_eq! (unsafe {
14452                & ( * ( 0 as * const CThostFtdcOptionInstrMiniMarginField ) )
14453                . InstrumentID as * const _ as usize } , 0usize , concat ! (
14454                "Alignment of field: " , stringify ! (
14455                CThostFtdcOptionInstrMiniMarginField ) , "::" , stringify ! (
14456                InstrumentID ) ));
14457    assert_eq! (unsafe {
14458                & ( * ( 0 as * const CThostFtdcOptionInstrMiniMarginField ) )
14459                . InvestorRange as * const _ as usize } , 31usize , concat ! (
14460                "Alignment of field: " , stringify ! (
14461                CThostFtdcOptionInstrMiniMarginField ) , "::" , stringify ! (
14462                InvestorRange ) ));
14463    assert_eq! (unsafe {
14464                & ( * ( 0 as * const CThostFtdcOptionInstrMiniMarginField ) )
14465                . BrokerID as * const _ as usize } , 32usize , concat ! (
14466                "Alignment of field: " , stringify ! (
14467                CThostFtdcOptionInstrMiniMarginField ) , "::" , stringify ! (
14468                BrokerID ) ));
14469    assert_eq! (unsafe {
14470                & ( * ( 0 as * const CThostFtdcOptionInstrMiniMarginField ) )
14471                . InvestorID as * const _ as usize } , 43usize , concat ! (
14472                "Alignment of field: " , stringify ! (
14473                CThostFtdcOptionInstrMiniMarginField ) , "::" , stringify ! (
14474                InvestorID ) ));
14475    assert_eq! (unsafe {
14476                & ( * ( 0 as * const CThostFtdcOptionInstrMiniMarginField ) )
14477                . MinMargin as * const _ as usize } , 56usize , concat ! (
14478                "Alignment of field: " , stringify ! (
14479                CThostFtdcOptionInstrMiniMarginField ) , "::" , stringify ! (
14480                MinMargin ) ));
14481    assert_eq! (unsafe {
14482                & ( * ( 0 as * const CThostFtdcOptionInstrMiniMarginField ) )
14483                . ValueMethod as * const _ as usize } , 64usize , concat ! (
14484                "Alignment of field: " , stringify ! (
14485                CThostFtdcOptionInstrMiniMarginField ) , "::" , stringify ! (
14486                ValueMethod ) ));
14487    assert_eq! (unsafe {
14488                & ( * ( 0 as * const CThostFtdcOptionInstrMiniMarginField ) )
14489                . IsRelative as * const _ as usize } , 68usize , concat ! (
14490                "Alignment of field: " , stringify ! (
14491                CThostFtdcOptionInstrMiniMarginField ) , "::" , stringify ! (
14492                IsRelative ) ));
14493}
14494impl Clone for CThostFtdcOptionInstrMiniMarginField {
14495    fn clone(&self) -> Self { *self }
14496}
14497/// 当前期权合约保证金调整系数
14498#[repr(C)]
14499#[derive(Default, Copy)]
14500pub struct CThostFtdcOptionInstrMarginAdjustField {
14501    /// 合约代码
14502    pub InstrumentID: TThostFtdcInstrumentIDType,
14503    /// 投资者范围
14504    pub InvestorRange: TThostFtdcInvestorRangeType,
14505    /// 经纪公司代码
14506    pub BrokerID: TThostFtdcBrokerIDType,
14507    /// 投资者代码
14508    pub InvestorID: TThostFtdcInvestorIDType,
14509    /// 投机空头保证金调整系数
14510    pub SShortMarginRatioByMoney: TThostFtdcRatioType,
14511    /// 投机空头保证金调整系数
14512    pub SShortMarginRatioByVolume: TThostFtdcMoneyType,
14513    /// 保值空头保证金调整系数
14514    pub HShortMarginRatioByMoney: TThostFtdcRatioType,
14515    /// 保值空头保证金调整系数
14516    pub HShortMarginRatioByVolume: TThostFtdcMoneyType,
14517    /// 套利空头保证金调整系数
14518    pub AShortMarginRatioByMoney: TThostFtdcRatioType,
14519    /// 套利空头保证金调整系数
14520    pub AShortMarginRatioByVolume: TThostFtdcMoneyType,
14521    /// 是否跟随交易所收取
14522    pub IsRelative: TThostFtdcBoolType,
14523    /// 做市商空头保证金调整系数
14524    pub MShortMarginRatioByMoney: TThostFtdcRatioType,
14525    /// 做市商空头保证金调整系数
14526    pub MShortMarginRatioByVolume: TThostFtdcMoneyType,
14527}
14528#[test]
14529fn bindgen_test_layout_CThostFtdcOptionInstrMarginAdjustField() {
14530    assert_eq!(::std::mem::size_of::<CThostFtdcOptionInstrMarginAdjustField>()
14531               , 128usize , concat ! (
14532               "Size of: " , stringify ! (
14533               CThostFtdcOptionInstrMarginAdjustField ) ));
14534    assert_eq! (::std::mem::align_of::<CThostFtdcOptionInstrMarginAdjustField>()
14535                , 8usize , concat ! (
14536                "Alignment of " , stringify ! (
14537                CThostFtdcOptionInstrMarginAdjustField ) ));
14538    assert_eq! (unsafe {
14539                & ( * ( 0 as * const CThostFtdcOptionInstrMarginAdjustField )
14540                ) . InstrumentID as * const _ as usize } , 0usize , concat ! (
14541                "Alignment of field: " , stringify ! (
14542                CThostFtdcOptionInstrMarginAdjustField ) , "::" , stringify !
14543                ( InstrumentID ) ));
14544    assert_eq! (unsafe {
14545                & ( * ( 0 as * const CThostFtdcOptionInstrMarginAdjustField )
14546                ) . InvestorRange as * const _ as usize } , 31usize , concat !
14547                (
14548                "Alignment of field: " , stringify ! (
14549                CThostFtdcOptionInstrMarginAdjustField ) , "::" , stringify !
14550                ( InvestorRange ) ));
14551    assert_eq! (unsafe {
14552                & ( * ( 0 as * const CThostFtdcOptionInstrMarginAdjustField )
14553                ) . BrokerID as * const _ as usize } , 32usize , concat ! (
14554                "Alignment of field: " , stringify ! (
14555                CThostFtdcOptionInstrMarginAdjustField ) , "::" , stringify !
14556                ( BrokerID ) ));
14557    assert_eq! (unsafe {
14558                & ( * ( 0 as * const CThostFtdcOptionInstrMarginAdjustField )
14559                ) . InvestorID as * const _ as usize } , 43usize , concat ! (
14560                "Alignment of field: " , stringify ! (
14561                CThostFtdcOptionInstrMarginAdjustField ) , "::" , stringify !
14562                ( InvestorID ) ));
14563    assert_eq! (unsafe {
14564                & ( * ( 0 as * const CThostFtdcOptionInstrMarginAdjustField )
14565                ) . SShortMarginRatioByMoney as * const _ as usize } , 56usize
14566                , concat ! (
14567                "Alignment of field: " , stringify ! (
14568                CThostFtdcOptionInstrMarginAdjustField ) , "::" , stringify !
14569                ( SShortMarginRatioByMoney ) ));
14570    assert_eq! (unsafe {
14571                & ( * ( 0 as * const CThostFtdcOptionInstrMarginAdjustField )
14572                ) . SShortMarginRatioByVolume as * const _ as usize } ,
14573                64usize , concat ! (
14574                "Alignment of field: " , stringify ! (
14575                CThostFtdcOptionInstrMarginAdjustField ) , "::" , stringify !
14576                ( SShortMarginRatioByVolume ) ));
14577    assert_eq! (unsafe {
14578                & ( * ( 0 as * const CThostFtdcOptionInstrMarginAdjustField )
14579                ) . HShortMarginRatioByMoney as * const _ as usize } , 72usize
14580                , concat ! (
14581                "Alignment of field: " , stringify ! (
14582                CThostFtdcOptionInstrMarginAdjustField ) , "::" , stringify !
14583                ( HShortMarginRatioByMoney ) ));
14584    assert_eq! (unsafe {
14585                & ( * ( 0 as * const CThostFtdcOptionInstrMarginAdjustField )
14586                ) . HShortMarginRatioByVolume as * const _ as usize } ,
14587                80usize , concat ! (
14588                "Alignment of field: " , stringify ! (
14589                CThostFtdcOptionInstrMarginAdjustField ) , "::" , stringify !
14590                ( HShortMarginRatioByVolume ) ));
14591    assert_eq! (unsafe {
14592                & ( * ( 0 as * const CThostFtdcOptionInstrMarginAdjustField )
14593                ) . AShortMarginRatioByMoney as * const _ as usize } , 88usize
14594                , concat ! (
14595                "Alignment of field: " , stringify ! (
14596                CThostFtdcOptionInstrMarginAdjustField ) , "::" , stringify !
14597                ( AShortMarginRatioByMoney ) ));
14598    assert_eq! (unsafe {
14599                & ( * ( 0 as * const CThostFtdcOptionInstrMarginAdjustField )
14600                ) . AShortMarginRatioByVolume as * const _ as usize } ,
14601                96usize , concat ! (
14602                "Alignment of field: " , stringify ! (
14603                CThostFtdcOptionInstrMarginAdjustField ) , "::" , stringify !
14604                ( AShortMarginRatioByVolume ) ));
14605    assert_eq! (unsafe {
14606                & ( * ( 0 as * const CThostFtdcOptionInstrMarginAdjustField )
14607                ) . IsRelative as * const _ as usize } , 104usize , concat ! (
14608                "Alignment of field: " , stringify ! (
14609                CThostFtdcOptionInstrMarginAdjustField ) , "::" , stringify !
14610                ( IsRelative ) ));
14611    assert_eq! (unsafe {
14612                & ( * ( 0 as * const CThostFtdcOptionInstrMarginAdjustField )
14613                ) . MShortMarginRatioByMoney as * const _ as usize } ,
14614                112usize , concat ! (
14615                "Alignment of field: " , stringify ! (
14616                CThostFtdcOptionInstrMarginAdjustField ) , "::" , stringify !
14617                ( MShortMarginRatioByMoney ) ));
14618    assert_eq! (unsafe {
14619                & ( * ( 0 as * const CThostFtdcOptionInstrMarginAdjustField )
14620                ) . MShortMarginRatioByVolume as * const _ as usize } ,
14621                120usize , concat ! (
14622                "Alignment of field: " , stringify ! (
14623                CThostFtdcOptionInstrMarginAdjustField ) , "::" , stringify !
14624                ( MShortMarginRatioByVolume ) ));
14625}
14626impl Clone for CThostFtdcOptionInstrMarginAdjustField {
14627    fn clone(&self) -> Self { *self }
14628}
14629/// 当前期权合约手续费的详细内容
14630#[repr(C)]
14631#[derive(Default, Copy)]
14632pub struct CThostFtdcOptionInstrCommRateField {
14633    /// 合约代码
14634    pub InstrumentID: TThostFtdcInstrumentIDType,
14635    /// 投资者范围
14636    pub InvestorRange: TThostFtdcInvestorRangeType,
14637    /// 经纪公司代码
14638    pub BrokerID: TThostFtdcBrokerIDType,
14639    /// 投资者代码
14640    pub InvestorID: TThostFtdcInvestorIDType,
14641    /// 开仓手续费率
14642    pub OpenRatioByMoney: TThostFtdcRatioType,
14643    /// 开仓手续费
14644    pub OpenRatioByVolume: TThostFtdcRatioType,
14645    /// 平仓手续费率
14646    pub CloseRatioByMoney: TThostFtdcRatioType,
14647    /// 平仓手续费
14648    pub CloseRatioByVolume: TThostFtdcRatioType,
14649    /// 平今手续费率
14650    pub CloseTodayRatioByMoney: TThostFtdcRatioType,
14651    /// 平今手续费
14652    pub CloseTodayRatioByVolume: TThostFtdcRatioType,
14653    /// 执行手续费率
14654    pub StrikeRatioByMoney: TThostFtdcRatioType,
14655    /// 执行手续费
14656    pub StrikeRatioByVolume: TThostFtdcRatioType,
14657    /// 交易所代码
14658    pub ExchangeID: TThostFtdcExchangeIDType,
14659    /// 投资单元代码
14660    pub InvestUnitID: TThostFtdcInvestUnitIDType,
14661}
14662#[test]
14663fn bindgen_test_layout_CThostFtdcOptionInstrCommRateField() {
14664    assert_eq!(::std::mem::size_of::<CThostFtdcOptionInstrCommRateField>() ,
14665               152usize , concat ! (
14666               "Size of: " , stringify ! ( CThostFtdcOptionInstrCommRateField
14667               ) ));
14668    assert_eq! (::std::mem::align_of::<CThostFtdcOptionInstrCommRateField>() ,
14669                8usize , concat ! (
14670                "Alignment of " , stringify ! (
14671                CThostFtdcOptionInstrCommRateField ) ));
14672    assert_eq! (unsafe {
14673                & ( * ( 0 as * const CThostFtdcOptionInstrCommRateField ) ) .
14674                InstrumentID as * const _ as usize } , 0usize , concat ! (
14675                "Alignment of field: " , stringify ! (
14676                CThostFtdcOptionInstrCommRateField ) , "::" , stringify ! (
14677                InstrumentID ) ));
14678    assert_eq! (unsafe {
14679                & ( * ( 0 as * const CThostFtdcOptionInstrCommRateField ) ) .
14680                InvestorRange as * const _ as usize } , 31usize , concat ! (
14681                "Alignment of field: " , stringify ! (
14682                CThostFtdcOptionInstrCommRateField ) , "::" , stringify ! (
14683                InvestorRange ) ));
14684    assert_eq! (unsafe {
14685                & ( * ( 0 as * const CThostFtdcOptionInstrCommRateField ) ) .
14686                BrokerID as * const _ as usize } , 32usize , concat ! (
14687                "Alignment of field: " , stringify ! (
14688                CThostFtdcOptionInstrCommRateField ) , "::" , stringify ! (
14689                BrokerID ) ));
14690    assert_eq! (unsafe {
14691                & ( * ( 0 as * const CThostFtdcOptionInstrCommRateField ) ) .
14692                InvestorID as * const _ as usize } , 43usize , concat ! (
14693                "Alignment of field: " , stringify ! (
14694                CThostFtdcOptionInstrCommRateField ) , "::" , stringify ! (
14695                InvestorID ) ));
14696    assert_eq! (unsafe {
14697                & ( * ( 0 as * const CThostFtdcOptionInstrCommRateField ) ) .
14698                OpenRatioByMoney as * const _ as usize } , 56usize , concat !
14699                (
14700                "Alignment of field: " , stringify ! (
14701                CThostFtdcOptionInstrCommRateField ) , "::" , stringify ! (
14702                OpenRatioByMoney ) ));
14703    assert_eq! (unsafe {
14704                & ( * ( 0 as * const CThostFtdcOptionInstrCommRateField ) ) .
14705                OpenRatioByVolume as * const _ as usize } , 64usize , concat !
14706                (
14707                "Alignment of field: " , stringify ! (
14708                CThostFtdcOptionInstrCommRateField ) , "::" , stringify ! (
14709                OpenRatioByVolume ) ));
14710    assert_eq! (unsafe {
14711                & ( * ( 0 as * const CThostFtdcOptionInstrCommRateField ) ) .
14712                CloseRatioByMoney as * const _ as usize } , 72usize , concat !
14713                (
14714                "Alignment of field: " , stringify ! (
14715                CThostFtdcOptionInstrCommRateField ) , "::" , stringify ! (
14716                CloseRatioByMoney ) ));
14717    assert_eq! (unsafe {
14718                & ( * ( 0 as * const CThostFtdcOptionInstrCommRateField ) ) .
14719                CloseRatioByVolume as * const _ as usize } , 80usize , concat
14720                ! (
14721                "Alignment of field: " , stringify ! (
14722                CThostFtdcOptionInstrCommRateField ) , "::" , stringify ! (
14723                CloseRatioByVolume ) ));
14724    assert_eq! (unsafe {
14725                & ( * ( 0 as * const CThostFtdcOptionInstrCommRateField ) ) .
14726                CloseTodayRatioByMoney as * const _ as usize } , 88usize ,
14727                concat ! (
14728                "Alignment of field: " , stringify ! (
14729                CThostFtdcOptionInstrCommRateField ) , "::" , stringify ! (
14730                CloseTodayRatioByMoney ) ));
14731    assert_eq! (unsafe {
14732                & ( * ( 0 as * const CThostFtdcOptionInstrCommRateField ) ) .
14733                CloseTodayRatioByVolume as * const _ as usize } , 96usize ,
14734                concat ! (
14735                "Alignment of field: " , stringify ! (
14736                CThostFtdcOptionInstrCommRateField ) , "::" , stringify ! (
14737                CloseTodayRatioByVolume ) ));
14738    assert_eq! (unsafe {
14739                & ( * ( 0 as * const CThostFtdcOptionInstrCommRateField ) ) .
14740                StrikeRatioByMoney as * const _ as usize } , 104usize , concat
14741                ! (
14742                "Alignment of field: " , stringify ! (
14743                CThostFtdcOptionInstrCommRateField ) , "::" , stringify ! (
14744                StrikeRatioByMoney ) ));
14745    assert_eq! (unsafe {
14746                & ( * ( 0 as * const CThostFtdcOptionInstrCommRateField ) ) .
14747                StrikeRatioByVolume as * const _ as usize } , 112usize ,
14748                concat ! (
14749                "Alignment of field: " , stringify ! (
14750                CThostFtdcOptionInstrCommRateField ) , "::" , stringify ! (
14751                StrikeRatioByVolume ) ));
14752    assert_eq! (unsafe {
14753                & ( * ( 0 as * const CThostFtdcOptionInstrCommRateField ) ) .
14754                ExchangeID as * const _ as usize } , 120usize , concat ! (
14755                "Alignment of field: " , stringify ! (
14756                CThostFtdcOptionInstrCommRateField ) , "::" , stringify ! (
14757                ExchangeID ) ));
14758    assert_eq! (unsafe {
14759                & ( * ( 0 as * const CThostFtdcOptionInstrCommRateField ) ) .
14760                InvestUnitID as * const _ as usize } , 129usize , concat ! (
14761                "Alignment of field: " , stringify ! (
14762                CThostFtdcOptionInstrCommRateField ) , "::" , stringify ! (
14763                InvestUnitID ) ));
14764}
14765impl Clone for CThostFtdcOptionInstrCommRateField {
14766    fn clone(&self) -> Self { *self }
14767}
14768/// 期权交易成本
14769#[repr(C)]
14770#[derive(Default, Copy)]
14771pub struct CThostFtdcOptionInstrTradeCostField {
14772    /// 经纪公司代码
14773    pub BrokerID: TThostFtdcBrokerIDType,
14774    /// 投资者代码
14775    pub InvestorID: TThostFtdcInvestorIDType,
14776    /// 合约代码
14777    pub InstrumentID: TThostFtdcInstrumentIDType,
14778    /// 投机套保标志
14779    pub HedgeFlag: TThostFtdcHedgeFlagType,
14780    /// 期权合约保证金不变部分
14781    pub FixedMargin: TThostFtdcMoneyType,
14782    /// 期权合约最小保证金
14783    pub MiniMargin: TThostFtdcMoneyType,
14784    /// 期权合约权利金
14785    pub Royalty: TThostFtdcMoneyType,
14786    /// 交易所期权合约保证金不变部分
14787    pub ExchFixedMargin: TThostFtdcMoneyType,
14788    /// 交易所期权合约最小保证金
14789    pub ExchMiniMargin: TThostFtdcMoneyType,
14790    /// 交易所代码
14791    pub ExchangeID: TThostFtdcExchangeIDType,
14792    /// 投资单元代码
14793    pub InvestUnitID: TThostFtdcInvestUnitIDType,
14794}
14795#[test]
14796fn bindgen_test_layout_CThostFtdcOptionInstrTradeCostField() {
14797    assert_eq!(::std::mem::size_of::<CThostFtdcOptionInstrTradeCostField>() ,
14798               128usize , concat ! (
14799               "Size of: " , stringify ! ( CThostFtdcOptionInstrTradeCostField
14800               ) ));
14801    assert_eq! (::std::mem::align_of::<CThostFtdcOptionInstrTradeCostField>()
14802                , 8usize , concat ! (
14803                "Alignment of " , stringify ! (
14804                CThostFtdcOptionInstrTradeCostField ) ));
14805    assert_eq! (unsafe {
14806                & ( * ( 0 as * const CThostFtdcOptionInstrTradeCostField ) ) .
14807                BrokerID as * const _ as usize } , 0usize , concat ! (
14808                "Alignment of field: " , stringify ! (
14809                CThostFtdcOptionInstrTradeCostField ) , "::" , stringify ! (
14810                BrokerID ) ));
14811    assert_eq! (unsafe {
14812                & ( * ( 0 as * const CThostFtdcOptionInstrTradeCostField ) ) .
14813                InvestorID as * const _ as usize } , 11usize , concat ! (
14814                "Alignment of field: " , stringify ! (
14815                CThostFtdcOptionInstrTradeCostField ) , "::" , stringify ! (
14816                InvestorID ) ));
14817    assert_eq! (unsafe {
14818                & ( * ( 0 as * const CThostFtdcOptionInstrTradeCostField ) ) .
14819                InstrumentID as * const _ as usize } , 24usize , concat ! (
14820                "Alignment of field: " , stringify ! (
14821                CThostFtdcOptionInstrTradeCostField ) , "::" , stringify ! (
14822                InstrumentID ) ));
14823    assert_eq! (unsafe {
14824                & ( * ( 0 as * const CThostFtdcOptionInstrTradeCostField ) ) .
14825                HedgeFlag as * const _ as usize } , 55usize , concat ! (
14826                "Alignment of field: " , stringify ! (
14827                CThostFtdcOptionInstrTradeCostField ) , "::" , stringify ! (
14828                HedgeFlag ) ));
14829    assert_eq! (unsafe {
14830                & ( * ( 0 as * const CThostFtdcOptionInstrTradeCostField ) ) .
14831                FixedMargin as * const _ as usize } , 56usize , concat ! (
14832                "Alignment of field: " , stringify ! (
14833                CThostFtdcOptionInstrTradeCostField ) , "::" , stringify ! (
14834                FixedMargin ) ));
14835    assert_eq! (unsafe {
14836                & ( * ( 0 as * const CThostFtdcOptionInstrTradeCostField ) ) .
14837                MiniMargin as * const _ as usize } , 64usize , concat ! (
14838                "Alignment of field: " , stringify ! (
14839                CThostFtdcOptionInstrTradeCostField ) , "::" , stringify ! (
14840                MiniMargin ) ));
14841    assert_eq! (unsafe {
14842                & ( * ( 0 as * const CThostFtdcOptionInstrTradeCostField ) ) .
14843                Royalty as * const _ as usize } , 72usize , concat ! (
14844                "Alignment of field: " , stringify ! (
14845                CThostFtdcOptionInstrTradeCostField ) , "::" , stringify ! (
14846                Royalty ) ));
14847    assert_eq! (unsafe {
14848                & ( * ( 0 as * const CThostFtdcOptionInstrTradeCostField ) ) .
14849                ExchFixedMargin as * const _ as usize } , 80usize , concat ! (
14850                "Alignment of field: " , stringify ! (
14851                CThostFtdcOptionInstrTradeCostField ) , "::" , stringify ! (
14852                ExchFixedMargin ) ));
14853    assert_eq! (unsafe {
14854                & ( * ( 0 as * const CThostFtdcOptionInstrTradeCostField ) ) .
14855                ExchMiniMargin as * const _ as usize } , 88usize , concat ! (
14856                "Alignment of field: " , stringify ! (
14857                CThostFtdcOptionInstrTradeCostField ) , "::" , stringify ! (
14858                ExchMiniMargin ) ));
14859    assert_eq! (unsafe {
14860                & ( * ( 0 as * const CThostFtdcOptionInstrTradeCostField ) ) .
14861                ExchangeID as * const _ as usize } , 96usize , concat ! (
14862                "Alignment of field: " , stringify ! (
14863                CThostFtdcOptionInstrTradeCostField ) , "::" , stringify ! (
14864                ExchangeID ) ));
14865    assert_eq! (unsafe {
14866                & ( * ( 0 as * const CThostFtdcOptionInstrTradeCostField ) ) .
14867                InvestUnitID as * const _ as usize } , 105usize , concat ! (
14868                "Alignment of field: " , stringify ! (
14869                CThostFtdcOptionInstrTradeCostField ) , "::" , stringify ! (
14870                InvestUnitID ) ));
14871}
14872impl Clone for CThostFtdcOptionInstrTradeCostField {
14873    fn clone(&self) -> Self { *self }
14874}
14875/// 期权交易成本查询
14876#[repr(C)]
14877#[derive(Default, Copy)]
14878pub struct CThostFtdcQryOptionInstrTradeCostField {
14879    /// 经纪公司代码
14880    pub BrokerID: TThostFtdcBrokerIDType,
14881    /// 投资者代码
14882    pub InvestorID: TThostFtdcInvestorIDType,
14883    /// 合约代码
14884    pub InstrumentID: TThostFtdcInstrumentIDType,
14885    /// 投机套保标志
14886    pub HedgeFlag: TThostFtdcHedgeFlagType,
14887    /// 期权合约报价
14888    pub InputPrice: TThostFtdcPriceType,
14889    /// 标的价格,填0则用昨结算价
14890    pub UnderlyingPrice: TThostFtdcPriceType,
14891    /// 交易所代码
14892    pub ExchangeID: TThostFtdcExchangeIDType,
14893    /// 投资单元代码
14894    pub InvestUnitID: TThostFtdcInvestUnitIDType,
14895}
14896#[test]
14897fn bindgen_test_layout_CThostFtdcQryOptionInstrTradeCostField() {
14898    assert_eq!(::std::mem::size_of::<CThostFtdcQryOptionInstrTradeCostField>()
14899               , 104usize , concat ! (
14900               "Size of: " , stringify ! (
14901               CThostFtdcQryOptionInstrTradeCostField ) ));
14902    assert_eq! (::std::mem::align_of::<CThostFtdcQryOptionInstrTradeCostField>()
14903                , 8usize , concat ! (
14904                "Alignment of " , stringify ! (
14905                CThostFtdcQryOptionInstrTradeCostField ) ));
14906    assert_eq! (unsafe {
14907                & ( * ( 0 as * const CThostFtdcQryOptionInstrTradeCostField )
14908                ) . BrokerID as * const _ as usize } , 0usize , concat ! (
14909                "Alignment of field: " , stringify ! (
14910                CThostFtdcQryOptionInstrTradeCostField ) , "::" , stringify !
14911                ( BrokerID ) ));
14912    assert_eq! (unsafe {
14913                & ( * ( 0 as * const CThostFtdcQryOptionInstrTradeCostField )
14914                ) . InvestorID as * const _ as usize } , 11usize , concat ! (
14915                "Alignment of field: " , stringify ! (
14916                CThostFtdcQryOptionInstrTradeCostField ) , "::" , stringify !
14917                ( InvestorID ) ));
14918    assert_eq! (unsafe {
14919                & ( * ( 0 as * const CThostFtdcQryOptionInstrTradeCostField )
14920                ) . InstrumentID as * const _ as usize } , 24usize , concat !
14921                (
14922                "Alignment of field: " , stringify ! (
14923                CThostFtdcQryOptionInstrTradeCostField ) , "::" , stringify !
14924                ( InstrumentID ) ));
14925    assert_eq! (unsafe {
14926                & ( * ( 0 as * const CThostFtdcQryOptionInstrTradeCostField )
14927                ) . HedgeFlag as * const _ as usize } , 55usize , concat ! (
14928                "Alignment of field: " , stringify ! (
14929                CThostFtdcQryOptionInstrTradeCostField ) , "::" , stringify !
14930                ( HedgeFlag ) ));
14931    assert_eq! (unsafe {
14932                & ( * ( 0 as * const CThostFtdcQryOptionInstrTradeCostField )
14933                ) . InputPrice as * const _ as usize } , 56usize , concat ! (
14934                "Alignment of field: " , stringify ! (
14935                CThostFtdcQryOptionInstrTradeCostField ) , "::" , stringify !
14936                ( InputPrice ) ));
14937    assert_eq! (unsafe {
14938                & ( * ( 0 as * const CThostFtdcQryOptionInstrTradeCostField )
14939                ) . UnderlyingPrice as * const _ as usize } , 64usize , concat
14940                ! (
14941                "Alignment of field: " , stringify ! (
14942                CThostFtdcQryOptionInstrTradeCostField ) , "::" , stringify !
14943                ( UnderlyingPrice ) ));
14944    assert_eq! (unsafe {
14945                & ( * ( 0 as * const CThostFtdcQryOptionInstrTradeCostField )
14946                ) . ExchangeID as * const _ as usize } , 72usize , concat ! (
14947                "Alignment of field: " , stringify ! (
14948                CThostFtdcQryOptionInstrTradeCostField ) , "::" , stringify !
14949                ( ExchangeID ) ));
14950    assert_eq! (unsafe {
14951                & ( * ( 0 as * const CThostFtdcQryOptionInstrTradeCostField )
14952                ) . InvestUnitID as * const _ as usize } , 81usize , concat !
14953                (
14954                "Alignment of field: " , stringify ! (
14955                CThostFtdcQryOptionInstrTradeCostField ) , "::" , stringify !
14956                ( InvestUnitID ) ));
14957}
14958impl Clone for CThostFtdcQryOptionInstrTradeCostField {
14959    fn clone(&self) -> Self { *self }
14960}
14961/// 期权手续费率查询
14962#[repr(C)]
14963#[derive(Default, Copy)]
14964pub struct CThostFtdcQryOptionInstrCommRateField {
14965    /// 经纪公司代码
14966    pub BrokerID: TThostFtdcBrokerIDType,
14967    /// 投资者代码
14968    pub InvestorID: TThostFtdcInvestorIDType,
14969    /// 合约代码
14970    pub InstrumentID: TThostFtdcInstrumentIDType,
14971    /// 交易所代码
14972    pub ExchangeID: TThostFtdcExchangeIDType,
14973    /// 投资单元代码
14974    pub InvestUnitID: TThostFtdcInvestUnitIDType,
14975}
14976#[test]
14977fn bindgen_test_layout_CThostFtdcQryOptionInstrCommRateField() {
14978    assert_eq!(::std::mem::size_of::<CThostFtdcQryOptionInstrCommRateField>()
14979               , 81usize , concat ! (
14980               "Size of: " , stringify ! (
14981               CThostFtdcQryOptionInstrCommRateField ) ));
14982    assert_eq! (::std::mem::align_of::<CThostFtdcQryOptionInstrCommRateField>()
14983                , 1usize , concat ! (
14984                "Alignment of " , stringify ! (
14985                CThostFtdcQryOptionInstrCommRateField ) ));
14986    assert_eq! (unsafe {
14987                & ( * ( 0 as * const CThostFtdcQryOptionInstrCommRateField ) )
14988                . BrokerID as * const _ as usize } , 0usize , concat ! (
14989                "Alignment of field: " , stringify ! (
14990                CThostFtdcQryOptionInstrCommRateField ) , "::" , stringify ! (
14991                BrokerID ) ));
14992    assert_eq! (unsafe {
14993                & ( * ( 0 as * const CThostFtdcQryOptionInstrCommRateField ) )
14994                . InvestorID as * const _ as usize } , 11usize , concat ! (
14995                "Alignment of field: " , stringify ! (
14996                CThostFtdcQryOptionInstrCommRateField ) , "::" , stringify ! (
14997                InvestorID ) ));
14998    assert_eq! (unsafe {
14999                & ( * ( 0 as * const CThostFtdcQryOptionInstrCommRateField ) )
15000                . InstrumentID as * const _ as usize } , 24usize , concat ! (
15001                "Alignment of field: " , stringify ! (
15002                CThostFtdcQryOptionInstrCommRateField ) , "::" , stringify ! (
15003                InstrumentID ) ));
15004    assert_eq! (unsafe {
15005                & ( * ( 0 as * const CThostFtdcQryOptionInstrCommRateField ) )
15006                . ExchangeID as * const _ as usize } , 55usize , concat ! (
15007                "Alignment of field: " , stringify ! (
15008                CThostFtdcQryOptionInstrCommRateField ) , "::" , stringify ! (
15009                ExchangeID ) ));
15010    assert_eq! (unsafe {
15011                & ( * ( 0 as * const CThostFtdcQryOptionInstrCommRateField ) )
15012                . InvestUnitID as * const _ as usize } , 64usize , concat ! (
15013                "Alignment of field: " , stringify ! (
15014                CThostFtdcQryOptionInstrCommRateField ) , "::" , stringify ! (
15015                InvestUnitID ) ));
15016}
15017impl Clone for CThostFtdcQryOptionInstrCommRateField {
15018    fn clone(&self) -> Self { *self }
15019}
15020/// 股指现货指数
15021#[repr(C)]
15022#[derive(Default, Copy)]
15023pub struct CThostFtdcIndexPriceField {
15024    /// 经纪公司代码
15025    pub BrokerID: TThostFtdcBrokerIDType,
15026    /// 合约代码
15027    pub InstrumentID: TThostFtdcInstrumentIDType,
15028    /// 指数现货收盘价
15029    pub ClosePrice: TThostFtdcPriceType,
15030}
15031#[test]
15032fn bindgen_test_layout_CThostFtdcIndexPriceField() {
15033    assert_eq!(::std::mem::size_of::<CThostFtdcIndexPriceField>() , 56usize ,
15034               concat ! (
15035               "Size of: " , stringify ! ( CThostFtdcIndexPriceField ) ));
15036    assert_eq! (::std::mem::align_of::<CThostFtdcIndexPriceField>() , 8usize ,
15037                concat ! (
15038                "Alignment of " , stringify ! ( CThostFtdcIndexPriceField )
15039                ));
15040    assert_eq! (unsafe {
15041                & ( * ( 0 as * const CThostFtdcIndexPriceField ) ) . BrokerID
15042                as * const _ as usize } , 0usize , concat ! (
15043                "Alignment of field: " , stringify ! (
15044                CThostFtdcIndexPriceField ) , "::" , stringify ! ( BrokerID )
15045                ));
15046    assert_eq! (unsafe {
15047                & ( * ( 0 as * const CThostFtdcIndexPriceField ) ) .
15048                InstrumentID as * const _ as usize } , 11usize , concat ! (
15049                "Alignment of field: " , stringify ! (
15050                CThostFtdcIndexPriceField ) , "::" , stringify ! (
15051                InstrumentID ) ));
15052    assert_eq! (unsafe {
15053                & ( * ( 0 as * const CThostFtdcIndexPriceField ) ) .
15054                ClosePrice as * const _ as usize } , 48usize , concat ! (
15055                "Alignment of field: " , stringify ! (
15056                CThostFtdcIndexPriceField ) , "::" , stringify ! ( ClosePrice
15057                ) ));
15058}
15059impl Clone for CThostFtdcIndexPriceField {
15060    fn clone(&self) -> Self { *self }
15061}
15062/// 输入的执行宣告
15063#[repr(C)]
15064#[derive(Default, Copy)]
15065pub struct CThostFtdcInputExecOrderField {
15066    /// 经纪公司代码
15067    pub BrokerID: TThostFtdcBrokerIDType,
15068    /// 投资者代码
15069    pub InvestorID: TThostFtdcInvestorIDType,
15070    /// 合约代码
15071    pub InstrumentID: TThostFtdcInstrumentIDType,
15072    /// 执行宣告引用
15073    pub ExecOrderRef: TThostFtdcOrderRefType,
15074    /// 用户代码
15075    pub UserID: TThostFtdcUserIDType,
15076    /// 数量
15077    pub Volume: TThostFtdcVolumeType,
15078    /// 请求编号
15079    pub RequestID: TThostFtdcRequestIDType,
15080    /// 业务单元
15081    pub BusinessUnit: TThostFtdcBusinessUnitType,
15082    /// 开平标志
15083    pub OffsetFlag: TThostFtdcOffsetFlagType,
15084    /// 投机套保标志
15085    pub HedgeFlag: TThostFtdcHedgeFlagType,
15086    /// 执行类型
15087    pub ActionType: TThostFtdcActionTypeType,
15088    /// 保留头寸申请的持仓方向
15089    pub PosiDirection: TThostFtdcPosiDirectionType,
15090    /// 期权行权后是否保留期货头寸的标记,该字段已废弃
15091    pub ReservePositionFlag: TThostFtdcExecOrderPositionFlagType,
15092    /// 期权行权后生成的头寸是否自动平仓
15093    pub CloseFlag: TThostFtdcExecOrderCloseFlagType,
15094    /// 交易所代码
15095    pub ExchangeID: TThostFtdcExchangeIDType,
15096    /// 投资单元代码
15097    pub InvestUnitID: TThostFtdcInvestUnitIDType,
15098    /// 资金账号
15099    pub AccountID: TThostFtdcAccountIDType,
15100    /// 币种代码
15101    pub CurrencyID: TThostFtdcCurrencyIDType,
15102    /// 交易编码
15103    pub ClientID: TThostFtdcClientIDType,
15104    /// IP地址
15105    pub IPAddress: TThostFtdcIPAddressType,
15106    /// Mac地址
15107    pub MacAddress: TThostFtdcMacAddressType,
15108}
15109#[test]
15110fn bindgen_test_layout_CThostFtdcInputExecOrderField() {
15111    assert_eq!(::std::mem::size_of::<CThostFtdcInputExecOrderField>() ,
15112               212usize , concat ! (
15113               "Size of: " , stringify ! ( CThostFtdcInputExecOrderField ) ));
15114    assert_eq! (::std::mem::align_of::<CThostFtdcInputExecOrderField>() ,
15115                4usize , concat ! (
15116                "Alignment of " , stringify ! ( CThostFtdcInputExecOrderField
15117                ) ));
15118    assert_eq! (unsafe {
15119                & ( * ( 0 as * const CThostFtdcInputExecOrderField ) ) .
15120                BrokerID as * const _ as usize } , 0usize , concat ! (
15121                "Alignment of field: " , stringify ! (
15122                CThostFtdcInputExecOrderField ) , "::" , stringify ! (
15123                BrokerID ) ));
15124    assert_eq! (unsafe {
15125                & ( * ( 0 as * const CThostFtdcInputExecOrderField ) ) .
15126                InvestorID as * const _ as usize } , 11usize , concat ! (
15127                "Alignment of field: " , stringify ! (
15128                CThostFtdcInputExecOrderField ) , "::" , stringify ! (
15129                InvestorID ) ));
15130    assert_eq! (unsafe {
15131                & ( * ( 0 as * const CThostFtdcInputExecOrderField ) ) .
15132                InstrumentID as * const _ as usize } , 24usize , concat ! (
15133                "Alignment of field: " , stringify ! (
15134                CThostFtdcInputExecOrderField ) , "::" , stringify ! (
15135                InstrumentID ) ));
15136    assert_eq! (unsafe {
15137                & ( * ( 0 as * const CThostFtdcInputExecOrderField ) ) .
15138                ExecOrderRef as * const _ as usize } , 55usize , concat ! (
15139                "Alignment of field: " , stringify ! (
15140                CThostFtdcInputExecOrderField ) , "::" , stringify ! (
15141                ExecOrderRef ) ));
15142    assert_eq! (unsafe {
15143                & ( * ( 0 as * const CThostFtdcInputExecOrderField ) ) .
15144                UserID as * const _ as usize } , 68usize , concat ! (
15145                "Alignment of field: " , stringify ! (
15146                CThostFtdcInputExecOrderField ) , "::" , stringify ! ( UserID
15147                ) ));
15148    assert_eq! (unsafe {
15149                & ( * ( 0 as * const CThostFtdcInputExecOrderField ) ) .
15150                Volume as * const _ as usize } , 84usize , concat ! (
15151                "Alignment of field: " , stringify ! (
15152                CThostFtdcInputExecOrderField ) , "::" , stringify ! ( Volume
15153                ) ));
15154    assert_eq! (unsafe {
15155                & ( * ( 0 as * const CThostFtdcInputExecOrderField ) ) .
15156                RequestID as * const _ as usize } , 88usize , concat ! (
15157                "Alignment of field: " , stringify ! (
15158                CThostFtdcInputExecOrderField ) , "::" , stringify ! (
15159                RequestID ) ));
15160    assert_eq! (unsafe {
15161                & ( * ( 0 as * const CThostFtdcInputExecOrderField ) ) .
15162                BusinessUnit as * const _ as usize } , 92usize , concat ! (
15163                "Alignment of field: " , stringify ! (
15164                CThostFtdcInputExecOrderField ) , "::" , stringify ! (
15165                BusinessUnit ) ));
15166    assert_eq! (unsafe {
15167                & ( * ( 0 as * const CThostFtdcInputExecOrderField ) ) .
15168                OffsetFlag as * const _ as usize } , 113usize , concat ! (
15169                "Alignment of field: " , stringify ! (
15170                CThostFtdcInputExecOrderField ) , "::" , stringify ! (
15171                OffsetFlag ) ));
15172    assert_eq! (unsafe {
15173                & ( * ( 0 as * const CThostFtdcInputExecOrderField ) ) .
15174                HedgeFlag as * const _ as usize } , 114usize , concat ! (
15175                "Alignment of field: " , stringify ! (
15176                CThostFtdcInputExecOrderField ) , "::" , stringify ! (
15177                HedgeFlag ) ));
15178    assert_eq! (unsafe {
15179                & ( * ( 0 as * const CThostFtdcInputExecOrderField ) ) .
15180                ActionType as * const _ as usize } , 115usize , concat ! (
15181                "Alignment of field: " , stringify ! (
15182                CThostFtdcInputExecOrderField ) , "::" , stringify ! (
15183                ActionType ) ));
15184    assert_eq! (unsafe {
15185                & ( * ( 0 as * const CThostFtdcInputExecOrderField ) ) .
15186                PosiDirection as * const _ as usize } , 116usize , concat ! (
15187                "Alignment of field: " , stringify ! (
15188                CThostFtdcInputExecOrderField ) , "::" , stringify ! (
15189                PosiDirection ) ));
15190    assert_eq! (unsafe {
15191                & ( * ( 0 as * const CThostFtdcInputExecOrderField ) ) .
15192                ReservePositionFlag as * const _ as usize } , 117usize ,
15193                concat ! (
15194                "Alignment of field: " , stringify ! (
15195                CThostFtdcInputExecOrderField ) , "::" , stringify ! (
15196                ReservePositionFlag ) ));
15197    assert_eq! (unsafe {
15198                & ( * ( 0 as * const CThostFtdcInputExecOrderField ) ) .
15199                CloseFlag as * const _ as usize } , 118usize , concat ! (
15200                "Alignment of field: " , stringify ! (
15201                CThostFtdcInputExecOrderField ) , "::" , stringify ! (
15202                CloseFlag ) ));
15203    assert_eq! (unsafe {
15204                & ( * ( 0 as * const CThostFtdcInputExecOrderField ) ) .
15205                ExchangeID as * const _ as usize } , 119usize , concat ! (
15206                "Alignment of field: " , stringify ! (
15207                CThostFtdcInputExecOrderField ) , "::" , stringify ! (
15208                ExchangeID ) ));
15209    assert_eq! (unsafe {
15210                & ( * ( 0 as * const CThostFtdcInputExecOrderField ) ) .
15211                InvestUnitID as * const _ as usize } , 128usize , concat ! (
15212                "Alignment of field: " , stringify ! (
15213                CThostFtdcInputExecOrderField ) , "::" , stringify ! (
15214                InvestUnitID ) ));
15215    assert_eq! (unsafe {
15216                & ( * ( 0 as * const CThostFtdcInputExecOrderField ) ) .
15217                AccountID as * const _ as usize } , 145usize , concat ! (
15218                "Alignment of field: " , stringify ! (
15219                CThostFtdcInputExecOrderField ) , "::" , stringify ! (
15220                AccountID ) ));
15221    assert_eq! (unsafe {
15222                & ( * ( 0 as * const CThostFtdcInputExecOrderField ) ) .
15223                CurrencyID as * const _ as usize } , 158usize , concat ! (
15224                "Alignment of field: " , stringify ! (
15225                CThostFtdcInputExecOrderField ) , "::" , stringify ! (
15226                CurrencyID ) ));
15227    assert_eq! (unsafe {
15228                & ( * ( 0 as * const CThostFtdcInputExecOrderField ) ) .
15229                ClientID as * const _ as usize } , 162usize , concat ! (
15230                "Alignment of field: " , stringify ! (
15231                CThostFtdcInputExecOrderField ) , "::" , stringify ! (
15232                ClientID ) ));
15233    assert_eq! (unsafe {
15234                & ( * ( 0 as * const CThostFtdcInputExecOrderField ) ) .
15235                IPAddress as * const _ as usize } , 173usize , concat ! (
15236                "Alignment of field: " , stringify ! (
15237                CThostFtdcInputExecOrderField ) , "::" , stringify ! (
15238                IPAddress ) ));
15239    assert_eq! (unsafe {
15240                & ( * ( 0 as * const CThostFtdcInputExecOrderField ) ) .
15241                MacAddress as * const _ as usize } , 189usize , concat ! (
15242                "Alignment of field: " , stringify ! (
15243                CThostFtdcInputExecOrderField ) , "::" , stringify ! (
15244                MacAddress ) ));
15245}
15246impl Clone for CThostFtdcInputExecOrderField {
15247    fn clone(&self) -> Self { *self }
15248}
15249/// 输入执行宣告操作
15250#[repr(C)]
15251#[derive(Default, Copy)]
15252pub struct CThostFtdcInputExecOrderActionField {
15253    /// 经纪公司代码
15254    pub BrokerID: TThostFtdcBrokerIDType,
15255    /// 投资者代码
15256    pub InvestorID: TThostFtdcInvestorIDType,
15257    /// 执行宣告操作引用
15258    pub ExecOrderActionRef: TThostFtdcOrderActionRefType,
15259    /// 执行宣告引用
15260    pub ExecOrderRef: TThostFtdcOrderRefType,
15261    /// 请求编号
15262    pub RequestID: TThostFtdcRequestIDType,
15263    /// 前置编号
15264    pub FrontID: TThostFtdcFrontIDType,
15265    /// 会话编号
15266    pub SessionID: TThostFtdcSessionIDType,
15267    /// 交易所代码
15268    pub ExchangeID: TThostFtdcExchangeIDType,
15269    /// 执行宣告操作编号
15270    pub ExecOrderSysID: TThostFtdcExecOrderSysIDType,
15271    /// 操作标志
15272    pub ActionFlag: TThostFtdcActionFlagType,
15273    /// 用户代码
15274    pub UserID: TThostFtdcUserIDType,
15275    /// 合约代码
15276    pub InstrumentID: TThostFtdcInstrumentIDType,
15277    /// 投资单元代码
15278    pub InvestUnitID: TThostFtdcInvestUnitIDType,
15279    /// IP地址
15280    pub IPAddress: TThostFtdcIPAddressType,
15281    /// Mac地址
15282    pub MacAddress: TThostFtdcMacAddressType,
15283}
15284#[test]
15285fn bindgen_test_layout_CThostFtdcInputExecOrderActionField() {
15286    assert_eq!(::std::mem::size_of::<CThostFtdcInputExecOrderActionField>() ,
15287               188usize , concat ! (
15288               "Size of: " , stringify ! ( CThostFtdcInputExecOrderActionField
15289               ) ));
15290    assert_eq! (::std::mem::align_of::<CThostFtdcInputExecOrderActionField>()
15291                , 4usize , concat ! (
15292                "Alignment of " , stringify ! (
15293                CThostFtdcInputExecOrderActionField ) ));
15294    assert_eq! (unsafe {
15295                & ( * ( 0 as * const CThostFtdcInputExecOrderActionField ) ) .
15296                BrokerID as * const _ as usize } , 0usize , concat ! (
15297                "Alignment of field: " , stringify ! (
15298                CThostFtdcInputExecOrderActionField ) , "::" , stringify ! (
15299                BrokerID ) ));
15300    assert_eq! (unsafe {
15301                & ( * ( 0 as * const CThostFtdcInputExecOrderActionField ) ) .
15302                InvestorID as * const _ as usize } , 11usize , concat ! (
15303                "Alignment of field: " , stringify ! (
15304                CThostFtdcInputExecOrderActionField ) , "::" , stringify ! (
15305                InvestorID ) ));
15306    assert_eq! (unsafe {
15307                & ( * ( 0 as * const CThostFtdcInputExecOrderActionField ) ) .
15308                ExecOrderActionRef as * const _ as usize } , 24usize , concat
15309                ! (
15310                "Alignment of field: " , stringify ! (
15311                CThostFtdcInputExecOrderActionField ) , "::" , stringify ! (
15312                ExecOrderActionRef ) ));
15313    assert_eq! (unsafe {
15314                & ( * ( 0 as * const CThostFtdcInputExecOrderActionField ) ) .
15315                ExecOrderRef as * const _ as usize } , 28usize , concat ! (
15316                "Alignment of field: " , stringify ! (
15317                CThostFtdcInputExecOrderActionField ) , "::" , stringify ! (
15318                ExecOrderRef ) ));
15319    assert_eq! (unsafe {
15320                & ( * ( 0 as * const CThostFtdcInputExecOrderActionField ) ) .
15321                RequestID as * const _ as usize } , 44usize , concat ! (
15322                "Alignment of field: " , stringify ! (
15323                CThostFtdcInputExecOrderActionField ) , "::" , stringify ! (
15324                RequestID ) ));
15325    assert_eq! (unsafe {
15326                & ( * ( 0 as * const CThostFtdcInputExecOrderActionField ) ) .
15327                FrontID as * const _ as usize } , 48usize , concat ! (
15328                "Alignment of field: " , stringify ! (
15329                CThostFtdcInputExecOrderActionField ) , "::" , stringify ! (
15330                FrontID ) ));
15331    assert_eq! (unsafe {
15332                & ( * ( 0 as * const CThostFtdcInputExecOrderActionField ) ) .
15333                SessionID as * const _ as usize } , 52usize , concat ! (
15334                "Alignment of field: " , stringify ! (
15335                CThostFtdcInputExecOrderActionField ) , "::" , stringify ! (
15336                SessionID ) ));
15337    assert_eq! (unsafe {
15338                & ( * ( 0 as * const CThostFtdcInputExecOrderActionField ) ) .
15339                ExchangeID as * const _ as usize } , 56usize , concat ! (
15340                "Alignment of field: " , stringify ! (
15341                CThostFtdcInputExecOrderActionField ) , "::" , stringify ! (
15342                ExchangeID ) ));
15343    assert_eq! (unsafe {
15344                & ( * ( 0 as * const CThostFtdcInputExecOrderActionField ) ) .
15345                ExecOrderSysID as * const _ as usize } , 65usize , concat ! (
15346                "Alignment of field: " , stringify ! (
15347                CThostFtdcInputExecOrderActionField ) , "::" , stringify ! (
15348                ExecOrderSysID ) ));
15349    assert_eq! (unsafe {
15350                & ( * ( 0 as * const CThostFtdcInputExecOrderActionField ) ) .
15351                ActionFlag as * const _ as usize } , 86usize , concat ! (
15352                "Alignment of field: " , stringify ! (
15353                CThostFtdcInputExecOrderActionField ) , "::" , stringify ! (
15354                ActionFlag ) ));
15355    assert_eq! (unsafe {
15356                & ( * ( 0 as * const CThostFtdcInputExecOrderActionField ) ) .
15357                UserID as * const _ as usize } , 87usize , concat ! (
15358                "Alignment of field: " , stringify ! (
15359                CThostFtdcInputExecOrderActionField ) , "::" , stringify ! (
15360                UserID ) ));
15361    assert_eq! (unsafe {
15362                & ( * ( 0 as * const CThostFtdcInputExecOrderActionField ) ) .
15363                InstrumentID as * const _ as usize } , 103usize , concat ! (
15364                "Alignment of field: " , stringify ! (
15365                CThostFtdcInputExecOrderActionField ) , "::" , stringify ! (
15366                InstrumentID ) ));
15367    assert_eq! (unsafe {
15368                & ( * ( 0 as * const CThostFtdcInputExecOrderActionField ) ) .
15369                InvestUnitID as * const _ as usize } , 134usize , concat ! (
15370                "Alignment of field: " , stringify ! (
15371                CThostFtdcInputExecOrderActionField ) , "::" , stringify ! (
15372                InvestUnitID ) ));
15373    assert_eq! (unsafe {
15374                & ( * ( 0 as * const CThostFtdcInputExecOrderActionField ) ) .
15375                IPAddress as * const _ as usize } , 151usize , concat ! (
15376                "Alignment of field: " , stringify ! (
15377                CThostFtdcInputExecOrderActionField ) , "::" , stringify ! (
15378                IPAddress ) ));
15379    assert_eq! (unsafe {
15380                & ( * ( 0 as * const CThostFtdcInputExecOrderActionField ) ) .
15381                MacAddress as * const _ as usize } , 167usize , concat ! (
15382                "Alignment of field: " , stringify ! (
15383                CThostFtdcInputExecOrderActionField ) , "::" , stringify ! (
15384                MacAddress ) ));
15385}
15386impl Clone for CThostFtdcInputExecOrderActionField {
15387    fn clone(&self) -> Self { *self }
15388}
15389/// 执行宣告
15390#[repr(C)]
15391#[derive(Copy)]
15392pub struct CThostFtdcExecOrderField {
15393    /// 经纪公司代码
15394    pub BrokerID: TThostFtdcBrokerIDType,
15395    /// 投资者代码
15396    pub InvestorID: TThostFtdcInvestorIDType,
15397    /// 合约代码
15398    pub InstrumentID: TThostFtdcInstrumentIDType,
15399    /// 执行宣告引用
15400    pub ExecOrderRef: TThostFtdcOrderRefType,
15401    /// 用户代码
15402    pub UserID: TThostFtdcUserIDType,
15403    /// 数量
15404    pub Volume: TThostFtdcVolumeType,
15405    /// 请求编号
15406    pub RequestID: TThostFtdcRequestIDType,
15407    /// 业务单元
15408    pub BusinessUnit: TThostFtdcBusinessUnitType,
15409    /// 开平标志
15410    pub OffsetFlag: TThostFtdcOffsetFlagType,
15411    /// 投机套保标志
15412    pub HedgeFlag: TThostFtdcHedgeFlagType,
15413    /// 执行类型
15414    pub ActionType: TThostFtdcActionTypeType,
15415    /// 保留头寸申请的持仓方向
15416    pub PosiDirection: TThostFtdcPosiDirectionType,
15417    /// 期权行权后是否保留期货头寸的标记,该字段已废弃
15418    pub ReservePositionFlag: TThostFtdcExecOrderPositionFlagType,
15419    /// 期权行权后生成的头寸是否自动平仓
15420    pub CloseFlag: TThostFtdcExecOrderCloseFlagType,
15421    /// 本地执行宣告编号
15422    pub ExecOrderLocalID: TThostFtdcOrderLocalIDType,
15423    /// 交易所代码
15424    pub ExchangeID: TThostFtdcExchangeIDType,
15425    /// 会员代码
15426    pub ParticipantID: TThostFtdcParticipantIDType,
15427    /// 客户代码
15428    pub ClientID: TThostFtdcClientIDType,
15429    /// 合约在交易所的代码
15430    pub ExchangeInstID: TThostFtdcExchangeInstIDType,
15431    /// 交易所交易员代码
15432    pub TraderID: TThostFtdcTraderIDType,
15433    /// 安装编号
15434    pub InstallID: TThostFtdcInstallIDType,
15435    /// 执行宣告提交状态
15436    pub OrderSubmitStatus: TThostFtdcOrderSubmitStatusType,
15437    /// 报单提示序号
15438    pub NotifySequence: TThostFtdcSequenceNoType,
15439    /// 交易日
15440    pub TradingDay: TThostFtdcDateType,
15441    /// 结算编号
15442    pub SettlementID: TThostFtdcSettlementIDType,
15443    /// 执行宣告编号
15444    pub ExecOrderSysID: TThostFtdcExecOrderSysIDType,
15445    /// 报单日期
15446    pub InsertDate: TThostFtdcDateType,
15447    /// 插入时间
15448    pub InsertTime: TThostFtdcTimeType,
15449    /// 撤销时间
15450    pub CancelTime: TThostFtdcTimeType,
15451    /// 执行结果
15452    pub ExecResult: TThostFtdcExecResultType,
15453    /// 结算会员编号
15454    pub ClearingPartID: TThostFtdcParticipantIDType,
15455    /// 序号
15456    pub SequenceNo: TThostFtdcSequenceNoType,
15457    /// 前置编号
15458    pub FrontID: TThostFtdcFrontIDType,
15459    /// 会话编号
15460    pub SessionID: TThostFtdcSessionIDType,
15461    /// 用户端产品信息
15462    pub UserProductInfo: TThostFtdcProductInfoType,
15463    /// 状态信息
15464    pub StatusMsg: TThostFtdcErrorMsgType,
15465    /// 操作用户代码
15466    pub ActiveUserID: TThostFtdcUserIDType,
15467    /// 经纪公司报单编号
15468    pub BrokerExecOrderSeq: TThostFtdcSequenceNoType,
15469    /// 营业部编号
15470    pub BranchID: TThostFtdcBranchIDType,
15471    /// 投资单元代码
15472    pub InvestUnitID: TThostFtdcInvestUnitIDType,
15473    /// 资金账号
15474    pub AccountID: TThostFtdcAccountIDType,
15475    /// 币种代码
15476    pub CurrencyID: TThostFtdcCurrencyIDType,
15477    /// IP地址
15478    pub IPAddress: TThostFtdcIPAddressType,
15479    /// Mac地址
15480    pub MacAddress: TThostFtdcMacAddressType,
15481}
15482#[test]
15483fn bindgen_test_layout_CThostFtdcExecOrderField() {
15484    assert_eq!(::std::mem::size_of::<CThostFtdcExecOrderField>() , 508usize ,
15485               concat ! (
15486               "Size of: " , stringify ! ( CThostFtdcExecOrderField ) ));
15487    assert_eq! (::std::mem::align_of::<CThostFtdcExecOrderField>() , 4usize ,
15488                concat ! (
15489                "Alignment of " , stringify ! ( CThostFtdcExecOrderField ) ));
15490    assert_eq! (unsafe {
15491                & ( * ( 0 as * const CThostFtdcExecOrderField ) ) . BrokerID
15492                as * const _ as usize } , 0usize , concat ! (
15493                "Alignment of field: " , stringify ! (
15494                CThostFtdcExecOrderField ) , "::" , stringify ! ( BrokerID )
15495                ));
15496    assert_eq! (unsafe {
15497                & ( * ( 0 as * const CThostFtdcExecOrderField ) ) . InvestorID
15498                as * const _ as usize } , 11usize , concat ! (
15499                "Alignment of field: " , stringify ! (
15500                CThostFtdcExecOrderField ) , "::" , stringify ! ( InvestorID )
15501                ));
15502    assert_eq! (unsafe {
15503                & ( * ( 0 as * const CThostFtdcExecOrderField ) ) .
15504                InstrumentID as * const _ as usize } , 24usize , concat ! (
15505                "Alignment of field: " , stringify ! (
15506                CThostFtdcExecOrderField ) , "::" , stringify ! ( InstrumentID
15507                ) ));
15508    assert_eq! (unsafe {
15509                & ( * ( 0 as * const CThostFtdcExecOrderField ) ) .
15510                ExecOrderRef as * const _ as usize } , 55usize , concat ! (
15511                "Alignment of field: " , stringify ! (
15512                CThostFtdcExecOrderField ) , "::" , stringify ! ( ExecOrderRef
15513                ) ));
15514    assert_eq! (unsafe {
15515                & ( * ( 0 as * const CThostFtdcExecOrderField ) ) . UserID as
15516                * const _ as usize } , 68usize , concat ! (
15517                "Alignment of field: " , stringify ! (
15518                CThostFtdcExecOrderField ) , "::" , stringify ! ( UserID ) ));
15519    assert_eq! (unsafe {
15520                & ( * ( 0 as * const CThostFtdcExecOrderField ) ) . Volume as
15521                * const _ as usize } , 84usize , concat ! (
15522                "Alignment of field: " , stringify ! (
15523                CThostFtdcExecOrderField ) , "::" , stringify ! ( Volume ) ));
15524    assert_eq! (unsafe {
15525                & ( * ( 0 as * const CThostFtdcExecOrderField ) ) . RequestID
15526                as * const _ as usize } , 88usize , concat ! (
15527                "Alignment of field: " , stringify ! (
15528                CThostFtdcExecOrderField ) , "::" , stringify ! ( RequestID )
15529                ));
15530    assert_eq! (unsafe {
15531                & ( * ( 0 as * const CThostFtdcExecOrderField ) ) .
15532                BusinessUnit as * const _ as usize } , 92usize , concat ! (
15533                "Alignment of field: " , stringify ! (
15534                CThostFtdcExecOrderField ) , "::" , stringify ! ( BusinessUnit
15535                ) ));
15536    assert_eq! (unsafe {
15537                & ( * ( 0 as * const CThostFtdcExecOrderField ) ) . OffsetFlag
15538                as * const _ as usize } , 113usize , concat ! (
15539                "Alignment of field: " , stringify ! (
15540                CThostFtdcExecOrderField ) , "::" , stringify ! ( OffsetFlag )
15541                ));
15542    assert_eq! (unsafe {
15543                & ( * ( 0 as * const CThostFtdcExecOrderField ) ) . HedgeFlag
15544                as * const _ as usize } , 114usize , concat ! (
15545                "Alignment of field: " , stringify ! (
15546                CThostFtdcExecOrderField ) , "::" , stringify ! ( HedgeFlag )
15547                ));
15548    assert_eq! (unsafe {
15549                & ( * ( 0 as * const CThostFtdcExecOrderField ) ) . ActionType
15550                as * const _ as usize } , 115usize , concat ! (
15551                "Alignment of field: " , stringify ! (
15552                CThostFtdcExecOrderField ) , "::" , stringify ! ( ActionType )
15553                ));
15554    assert_eq! (unsafe {
15555                & ( * ( 0 as * const CThostFtdcExecOrderField ) ) .
15556                PosiDirection as * const _ as usize } , 116usize , concat ! (
15557                "Alignment of field: " , stringify ! (
15558                CThostFtdcExecOrderField ) , "::" , stringify ! (
15559                PosiDirection ) ));
15560    assert_eq! (unsafe {
15561                & ( * ( 0 as * const CThostFtdcExecOrderField ) ) .
15562                ReservePositionFlag as * const _ as usize } , 117usize ,
15563                concat ! (
15564                "Alignment of field: " , stringify ! (
15565                CThostFtdcExecOrderField ) , "::" , stringify ! (
15566                ReservePositionFlag ) ));
15567    assert_eq! (unsafe {
15568                & ( * ( 0 as * const CThostFtdcExecOrderField ) ) . CloseFlag
15569                as * const _ as usize } , 118usize , concat ! (
15570                "Alignment of field: " , stringify ! (
15571                CThostFtdcExecOrderField ) , "::" , stringify ! ( CloseFlag )
15572                ));
15573    assert_eq! (unsafe {
15574                & ( * ( 0 as * const CThostFtdcExecOrderField ) ) .
15575                ExecOrderLocalID as * const _ as usize } , 119usize , concat !
15576                (
15577                "Alignment of field: " , stringify ! (
15578                CThostFtdcExecOrderField ) , "::" , stringify ! (
15579                ExecOrderLocalID ) ));
15580    assert_eq! (unsafe {
15581                & ( * ( 0 as * const CThostFtdcExecOrderField ) ) . ExchangeID
15582                as * const _ as usize } , 132usize , concat ! (
15583                "Alignment of field: " , stringify ! (
15584                CThostFtdcExecOrderField ) , "::" , stringify ! ( ExchangeID )
15585                ));
15586    assert_eq! (unsafe {
15587                & ( * ( 0 as * const CThostFtdcExecOrderField ) ) .
15588                ParticipantID as * const _ as usize } , 141usize , concat ! (
15589                "Alignment of field: " , stringify ! (
15590                CThostFtdcExecOrderField ) , "::" , stringify ! (
15591                ParticipantID ) ));
15592    assert_eq! (unsafe {
15593                & ( * ( 0 as * const CThostFtdcExecOrderField ) ) . ClientID
15594                as * const _ as usize } , 152usize , concat ! (
15595                "Alignment of field: " , stringify ! (
15596                CThostFtdcExecOrderField ) , "::" , stringify ! ( ClientID )
15597                ));
15598    assert_eq! (unsafe {
15599                & ( * ( 0 as * const CThostFtdcExecOrderField ) ) .
15600                ExchangeInstID as * const _ as usize } , 163usize , concat ! (
15601                "Alignment of field: " , stringify ! (
15602                CThostFtdcExecOrderField ) , "::" , stringify ! (
15603                ExchangeInstID ) ));
15604    assert_eq! (unsafe {
15605                & ( * ( 0 as * const CThostFtdcExecOrderField ) ) . TraderID
15606                as * const _ as usize } , 194usize , concat ! (
15607                "Alignment of field: " , stringify ! (
15608                CThostFtdcExecOrderField ) , "::" , stringify ! ( TraderID )
15609                ));
15610    assert_eq! (unsafe {
15611                & ( * ( 0 as * const CThostFtdcExecOrderField ) ) . InstallID
15612                as * const _ as usize } , 216usize , concat ! (
15613                "Alignment of field: " , stringify ! (
15614                CThostFtdcExecOrderField ) , "::" , stringify ! ( InstallID )
15615                ));
15616    assert_eq! (unsafe {
15617                & ( * ( 0 as * const CThostFtdcExecOrderField ) ) .
15618                OrderSubmitStatus as * const _ as usize } , 220usize , concat
15619                ! (
15620                "Alignment of field: " , stringify ! (
15621                CThostFtdcExecOrderField ) , "::" , stringify ! (
15622                OrderSubmitStatus ) ));
15623    assert_eq! (unsafe {
15624                & ( * ( 0 as * const CThostFtdcExecOrderField ) ) .
15625                NotifySequence as * const _ as usize } , 224usize , concat ! (
15626                "Alignment of field: " , stringify ! (
15627                CThostFtdcExecOrderField ) , "::" , stringify ! (
15628                NotifySequence ) ));
15629    assert_eq! (unsafe {
15630                & ( * ( 0 as * const CThostFtdcExecOrderField ) ) . TradingDay
15631                as * const _ as usize } , 228usize , concat ! (
15632                "Alignment of field: " , stringify ! (
15633                CThostFtdcExecOrderField ) , "::" , stringify ! ( TradingDay )
15634                ));
15635    assert_eq! (unsafe {
15636                & ( * ( 0 as * const CThostFtdcExecOrderField ) ) .
15637                SettlementID as * const _ as usize } , 240usize , concat ! (
15638                "Alignment of field: " , stringify ! (
15639                CThostFtdcExecOrderField ) , "::" , stringify ! ( SettlementID
15640                ) ));
15641    assert_eq! (unsafe {
15642                & ( * ( 0 as * const CThostFtdcExecOrderField ) ) .
15643                ExecOrderSysID as * const _ as usize } , 244usize , concat ! (
15644                "Alignment of field: " , stringify ! (
15645                CThostFtdcExecOrderField ) , "::" , stringify ! (
15646                ExecOrderSysID ) ));
15647    assert_eq! (unsafe {
15648                & ( * ( 0 as * const CThostFtdcExecOrderField ) ) . InsertDate
15649                as * const _ as usize } , 265usize , concat ! (
15650                "Alignment of field: " , stringify ! (
15651                CThostFtdcExecOrderField ) , "::" , stringify ! ( InsertDate )
15652                ));
15653    assert_eq! (unsafe {
15654                & ( * ( 0 as * const CThostFtdcExecOrderField ) ) . InsertTime
15655                as * const _ as usize } , 274usize , concat ! (
15656                "Alignment of field: " , stringify ! (
15657                CThostFtdcExecOrderField ) , "::" , stringify ! ( InsertTime )
15658                ));
15659    assert_eq! (unsafe {
15660                & ( * ( 0 as * const CThostFtdcExecOrderField ) ) . CancelTime
15661                as * const _ as usize } , 283usize , concat ! (
15662                "Alignment of field: " , stringify ! (
15663                CThostFtdcExecOrderField ) , "::" , stringify ! ( CancelTime )
15664                ));
15665    assert_eq! (unsafe {
15666                & ( * ( 0 as * const CThostFtdcExecOrderField ) ) . ExecResult
15667                as * const _ as usize } , 292usize , concat ! (
15668                "Alignment of field: " , stringify ! (
15669                CThostFtdcExecOrderField ) , "::" , stringify ! ( ExecResult )
15670                ));
15671    assert_eq! (unsafe {
15672                & ( * ( 0 as * const CThostFtdcExecOrderField ) ) .
15673                ClearingPartID as * const _ as usize } , 293usize , concat ! (
15674                "Alignment of field: " , stringify ! (
15675                CThostFtdcExecOrderField ) , "::" , stringify ! (
15676                ClearingPartID ) ));
15677    assert_eq! (unsafe {
15678                & ( * ( 0 as * const CThostFtdcExecOrderField ) ) . SequenceNo
15679                as * const _ as usize } , 304usize , concat ! (
15680                "Alignment of field: " , stringify ! (
15681                CThostFtdcExecOrderField ) , "::" , stringify ! ( SequenceNo )
15682                ));
15683    assert_eq! (unsafe {
15684                & ( * ( 0 as * const CThostFtdcExecOrderField ) ) . FrontID as
15685                * const _ as usize } , 308usize , concat ! (
15686                "Alignment of field: " , stringify ! (
15687                CThostFtdcExecOrderField ) , "::" , stringify ! ( FrontID )
15688                ));
15689    assert_eq! (unsafe {
15690                & ( * ( 0 as * const CThostFtdcExecOrderField ) ) . SessionID
15691                as * const _ as usize } , 312usize , concat ! (
15692                "Alignment of field: " , stringify ! (
15693                CThostFtdcExecOrderField ) , "::" , stringify ! ( SessionID )
15694                ));
15695    assert_eq! (unsafe {
15696                & ( * ( 0 as * const CThostFtdcExecOrderField ) ) .
15697                UserProductInfo as * const _ as usize } , 316usize , concat !
15698                (
15699                "Alignment of field: " , stringify ! (
15700                CThostFtdcExecOrderField ) , "::" , stringify ! (
15701                UserProductInfo ) ));
15702    assert_eq! (unsafe {
15703                & ( * ( 0 as * const CThostFtdcExecOrderField ) ) . StatusMsg
15704                as * const _ as usize } , 327usize , concat ! (
15705                "Alignment of field: " , stringify ! (
15706                CThostFtdcExecOrderField ) , "::" , stringify ! ( StatusMsg )
15707                ));
15708    assert_eq! (unsafe {
15709                & ( * ( 0 as * const CThostFtdcExecOrderField ) ) .
15710                ActiveUserID as * const _ as usize } , 408usize , concat ! (
15711                "Alignment of field: " , stringify ! (
15712                CThostFtdcExecOrderField ) , "::" , stringify ! ( ActiveUserID
15713                ) ));
15714    assert_eq! (unsafe {
15715                & ( * ( 0 as * const CThostFtdcExecOrderField ) ) .
15716                BrokerExecOrderSeq as * const _ as usize } , 424usize , concat
15717                ! (
15718                "Alignment of field: " , stringify ! (
15719                CThostFtdcExecOrderField ) , "::" , stringify ! (
15720                BrokerExecOrderSeq ) ));
15721    assert_eq! (unsafe {
15722                & ( * ( 0 as * const CThostFtdcExecOrderField ) ) . BranchID
15723                as * const _ as usize } , 428usize , concat ! (
15724                "Alignment of field: " , stringify ! (
15725                CThostFtdcExecOrderField ) , "::" , stringify ! ( BranchID )
15726                ));
15727    assert_eq! (unsafe {
15728                & ( * ( 0 as * const CThostFtdcExecOrderField ) ) .
15729                InvestUnitID as * const _ as usize } , 437usize , concat ! (
15730                "Alignment of field: " , stringify ! (
15731                CThostFtdcExecOrderField ) , "::" , stringify ! ( InvestUnitID
15732                ) ));
15733    assert_eq! (unsafe {
15734                & ( * ( 0 as * const CThostFtdcExecOrderField ) ) . AccountID
15735                as * const _ as usize } , 454usize , concat ! (
15736                "Alignment of field: " , stringify ! (
15737                CThostFtdcExecOrderField ) , "::" , stringify ! ( AccountID )
15738                ));
15739    assert_eq! (unsafe {
15740                & ( * ( 0 as * const CThostFtdcExecOrderField ) ) . CurrencyID
15741                as * const _ as usize } , 467usize , concat ! (
15742                "Alignment of field: " , stringify ! (
15743                CThostFtdcExecOrderField ) , "::" , stringify ! ( CurrencyID )
15744                ));
15745    assert_eq! (unsafe {
15746                & ( * ( 0 as * const CThostFtdcExecOrderField ) ) . IPAddress
15747                as * const _ as usize } , 471usize , concat ! (
15748                "Alignment of field: " , stringify ! (
15749                CThostFtdcExecOrderField ) , "::" , stringify ! ( IPAddress )
15750                ));
15751    assert_eq! (unsafe {
15752                & ( * ( 0 as * const CThostFtdcExecOrderField ) ) . MacAddress
15753                as * const _ as usize } , 487usize , concat ! (
15754                "Alignment of field: " , stringify ! (
15755                CThostFtdcExecOrderField ) , "::" , stringify ! ( MacAddress )
15756                ));
15757}
15758impl Clone for CThostFtdcExecOrderField {
15759    fn clone(&self) -> Self { *self }
15760}
15761impl Default for CThostFtdcExecOrderField {
15762    fn default() -> Self { unsafe { ::std::mem::zeroed() } }
15763}
15764/// 执行宣告操作
15765#[repr(C)]
15766#[derive(Copy)]
15767pub struct CThostFtdcExecOrderActionField {
15768    /// 经纪公司代码
15769    pub BrokerID: TThostFtdcBrokerIDType,
15770    /// 投资者代码
15771    pub InvestorID: TThostFtdcInvestorIDType,
15772    /// 执行宣告操作引用
15773    pub ExecOrderActionRef: TThostFtdcOrderActionRefType,
15774    /// 执行宣告引用
15775    pub ExecOrderRef: TThostFtdcOrderRefType,
15776    /// 请求编号
15777    pub RequestID: TThostFtdcRequestIDType,
15778    /// 前置编号
15779    pub FrontID: TThostFtdcFrontIDType,
15780    /// 会话编号
15781    pub SessionID: TThostFtdcSessionIDType,
15782    /// 交易所代码
15783    pub ExchangeID: TThostFtdcExchangeIDType,
15784    /// 执行宣告操作编号
15785    pub ExecOrderSysID: TThostFtdcExecOrderSysIDType,
15786    /// 操作标志
15787    pub ActionFlag: TThostFtdcActionFlagType,
15788    /// 操作日期
15789    pub ActionDate: TThostFtdcDateType,
15790    /// 操作时间
15791    pub ActionTime: TThostFtdcTimeType,
15792    /// 交易所交易员代码
15793    pub TraderID: TThostFtdcTraderIDType,
15794    /// 安装编号
15795    pub InstallID: TThostFtdcInstallIDType,
15796    /// 本地执行宣告编号
15797    pub ExecOrderLocalID: TThostFtdcOrderLocalIDType,
15798    /// 操作本地编号
15799    pub ActionLocalID: TThostFtdcOrderLocalIDType,
15800    /// 会员代码
15801    pub ParticipantID: TThostFtdcParticipantIDType,
15802    /// 客户代码
15803    pub ClientID: TThostFtdcClientIDType,
15804    /// 业务单元
15805    pub BusinessUnit: TThostFtdcBusinessUnitType,
15806    /// 报单操作状态
15807    pub OrderActionStatus: TThostFtdcOrderActionStatusType,
15808    /// 用户代码
15809    pub UserID: TThostFtdcUserIDType,
15810    /// 执行类型
15811    pub ActionType: TThostFtdcActionTypeType,
15812    /// 状态信息
15813    pub StatusMsg: TThostFtdcErrorMsgType,
15814    /// 合约代码
15815    pub InstrumentID: TThostFtdcInstrumentIDType,
15816    /// 营业部编号
15817    pub BranchID: TThostFtdcBranchIDType,
15818    /// 投资单元代码
15819    pub InvestUnitID: TThostFtdcInvestUnitIDType,
15820    /// IP地址
15821    pub IPAddress: TThostFtdcIPAddressType,
15822    /// Mac地址
15823    pub MacAddress: TThostFtdcMacAddressType,
15824}
15825#[test]
15826fn bindgen_test_layout_CThostFtdcExecOrderActionField() {
15827    assert_eq!(::std::mem::size_of::<CThostFtdcExecOrderActionField>() ,
15828               396usize , concat ! (
15829               "Size of: " , stringify ! ( CThostFtdcExecOrderActionField )
15830               ));
15831    assert_eq! (::std::mem::align_of::<CThostFtdcExecOrderActionField>() ,
15832                4usize , concat ! (
15833                "Alignment of " , stringify ! ( CThostFtdcExecOrderActionField
15834                ) ));
15835    assert_eq! (unsafe {
15836                & ( * ( 0 as * const CThostFtdcExecOrderActionField ) ) .
15837                BrokerID as * const _ as usize } , 0usize , concat ! (
15838                "Alignment of field: " , stringify ! (
15839                CThostFtdcExecOrderActionField ) , "::" , stringify ! (
15840                BrokerID ) ));
15841    assert_eq! (unsafe {
15842                & ( * ( 0 as * const CThostFtdcExecOrderActionField ) ) .
15843                InvestorID as * const _ as usize } , 11usize , concat ! (
15844                "Alignment of field: " , stringify ! (
15845                CThostFtdcExecOrderActionField ) , "::" , stringify ! (
15846                InvestorID ) ));
15847    assert_eq! (unsafe {
15848                & ( * ( 0 as * const CThostFtdcExecOrderActionField ) ) .
15849                ExecOrderActionRef as * const _ as usize } , 24usize , concat
15850                ! (
15851                "Alignment of field: " , stringify ! (
15852                CThostFtdcExecOrderActionField ) , "::" , stringify ! (
15853                ExecOrderActionRef ) ));
15854    assert_eq! (unsafe {
15855                & ( * ( 0 as * const CThostFtdcExecOrderActionField ) ) .
15856                ExecOrderRef as * const _ as usize } , 28usize , concat ! (
15857                "Alignment of field: " , stringify ! (
15858                CThostFtdcExecOrderActionField ) , "::" , stringify ! (
15859                ExecOrderRef ) ));
15860    assert_eq! (unsafe {
15861                & ( * ( 0 as * const CThostFtdcExecOrderActionField ) ) .
15862                RequestID as * const _ as usize } , 44usize , concat ! (
15863                "Alignment of field: " , stringify ! (
15864                CThostFtdcExecOrderActionField ) , "::" , stringify ! (
15865                RequestID ) ));
15866    assert_eq! (unsafe {
15867                & ( * ( 0 as * const CThostFtdcExecOrderActionField ) ) .
15868                FrontID as * const _ as usize } , 48usize , concat ! (
15869                "Alignment of field: " , stringify ! (
15870                CThostFtdcExecOrderActionField ) , "::" , stringify ! (
15871                FrontID ) ));
15872    assert_eq! (unsafe {
15873                & ( * ( 0 as * const CThostFtdcExecOrderActionField ) ) .
15874                SessionID as * const _ as usize } , 52usize , concat ! (
15875                "Alignment of field: " , stringify ! (
15876                CThostFtdcExecOrderActionField ) , "::" , stringify ! (
15877                SessionID ) ));
15878    assert_eq! (unsafe {
15879                & ( * ( 0 as * const CThostFtdcExecOrderActionField ) ) .
15880                ExchangeID as * const _ as usize } , 56usize , concat ! (
15881                "Alignment of field: " , stringify ! (
15882                CThostFtdcExecOrderActionField ) , "::" , stringify ! (
15883                ExchangeID ) ));
15884    assert_eq! (unsafe {
15885                & ( * ( 0 as * const CThostFtdcExecOrderActionField ) ) .
15886                ExecOrderSysID as * const _ as usize } , 65usize , concat ! (
15887                "Alignment of field: " , stringify ! (
15888                CThostFtdcExecOrderActionField ) , "::" , stringify ! (
15889                ExecOrderSysID ) ));
15890    assert_eq! (unsafe {
15891                & ( * ( 0 as * const CThostFtdcExecOrderActionField ) ) .
15892                ActionFlag as * const _ as usize } , 86usize , concat ! (
15893                "Alignment of field: " , stringify ! (
15894                CThostFtdcExecOrderActionField ) , "::" , stringify ! (
15895                ActionFlag ) ));
15896    assert_eq! (unsafe {
15897                & ( * ( 0 as * const CThostFtdcExecOrderActionField ) ) .
15898                ActionDate as * const _ as usize } , 87usize , concat ! (
15899                "Alignment of field: " , stringify ! (
15900                CThostFtdcExecOrderActionField ) , "::" , stringify ! (
15901                ActionDate ) ));
15902    assert_eq! (unsafe {
15903                & ( * ( 0 as * const CThostFtdcExecOrderActionField ) ) .
15904                ActionTime as * const _ as usize } , 96usize , concat ! (
15905                "Alignment of field: " , stringify ! (
15906                CThostFtdcExecOrderActionField ) , "::" , stringify ! (
15907                ActionTime ) ));
15908    assert_eq! (unsafe {
15909                & ( * ( 0 as * const CThostFtdcExecOrderActionField ) ) .
15910                TraderID as * const _ as usize } , 105usize , concat ! (
15911                "Alignment of field: " , stringify ! (
15912                CThostFtdcExecOrderActionField ) , "::" , stringify ! (
15913                TraderID ) ));
15914    assert_eq! (unsafe {
15915                & ( * ( 0 as * const CThostFtdcExecOrderActionField ) ) .
15916                InstallID as * const _ as usize } , 128usize , concat ! (
15917                "Alignment of field: " , stringify ! (
15918                CThostFtdcExecOrderActionField ) , "::" , stringify ! (
15919                InstallID ) ));
15920    assert_eq! (unsafe {
15921                & ( * ( 0 as * const CThostFtdcExecOrderActionField ) ) .
15922                ExecOrderLocalID as * const _ as usize } , 132usize , concat !
15923                (
15924                "Alignment of field: " , stringify ! (
15925                CThostFtdcExecOrderActionField ) , "::" , stringify ! (
15926                ExecOrderLocalID ) ));
15927    assert_eq! (unsafe {
15928                & ( * ( 0 as * const CThostFtdcExecOrderActionField ) ) .
15929                ActionLocalID as * const _ as usize } , 145usize , concat ! (
15930                "Alignment of field: " , stringify ! (
15931                CThostFtdcExecOrderActionField ) , "::" , stringify ! (
15932                ActionLocalID ) ));
15933    assert_eq! (unsafe {
15934                & ( * ( 0 as * const CThostFtdcExecOrderActionField ) ) .
15935                ParticipantID as * const _ as usize } , 158usize , concat ! (
15936                "Alignment of field: " , stringify ! (
15937                CThostFtdcExecOrderActionField ) , "::" , stringify ! (
15938                ParticipantID ) ));
15939    assert_eq! (unsafe {
15940                & ( * ( 0 as * const CThostFtdcExecOrderActionField ) ) .
15941                ClientID as * const _ as usize } , 169usize , concat ! (
15942                "Alignment of field: " , stringify ! (
15943                CThostFtdcExecOrderActionField ) , "::" , stringify ! (
15944                ClientID ) ));
15945    assert_eq! (unsafe {
15946                & ( * ( 0 as * const CThostFtdcExecOrderActionField ) ) .
15947                BusinessUnit as * const _ as usize } , 180usize , concat ! (
15948                "Alignment of field: " , stringify ! (
15949                CThostFtdcExecOrderActionField ) , "::" , stringify ! (
15950                BusinessUnit ) ));
15951    assert_eq! (unsafe {
15952                & ( * ( 0 as * const CThostFtdcExecOrderActionField ) ) .
15953                OrderActionStatus as * const _ as usize } , 201usize , concat
15954                ! (
15955                "Alignment of field: " , stringify ! (
15956                CThostFtdcExecOrderActionField ) , "::" , stringify ! (
15957                OrderActionStatus ) ));
15958    assert_eq! (unsafe {
15959                & ( * ( 0 as * const CThostFtdcExecOrderActionField ) ) .
15960                UserID as * const _ as usize } , 202usize , concat ! (
15961                "Alignment of field: " , stringify ! (
15962                CThostFtdcExecOrderActionField ) , "::" , stringify ! ( UserID
15963                ) ));
15964    assert_eq! (unsafe {
15965                & ( * ( 0 as * const CThostFtdcExecOrderActionField ) ) .
15966                ActionType as * const _ as usize } , 218usize , concat ! (
15967                "Alignment of field: " , stringify ! (
15968                CThostFtdcExecOrderActionField ) , "::" , stringify ! (
15969                ActionType ) ));
15970    assert_eq! (unsafe {
15971                & ( * ( 0 as * const CThostFtdcExecOrderActionField ) ) .
15972                StatusMsg as * const _ as usize } , 219usize , concat ! (
15973                "Alignment of field: " , stringify ! (
15974                CThostFtdcExecOrderActionField ) , "::" , stringify ! (
15975                StatusMsg ) ));
15976    assert_eq! (unsafe {
15977                & ( * ( 0 as * const CThostFtdcExecOrderActionField ) ) .
15978                InstrumentID as * const _ as usize } , 300usize , concat ! (
15979                "Alignment of field: " , stringify ! (
15980                CThostFtdcExecOrderActionField ) , "::" , stringify ! (
15981                InstrumentID ) ));
15982    assert_eq! (unsafe {
15983                & ( * ( 0 as * const CThostFtdcExecOrderActionField ) ) .
15984                BranchID as * const _ as usize } , 331usize , concat ! (
15985                "Alignment of field: " , stringify ! (
15986                CThostFtdcExecOrderActionField ) , "::" , stringify ! (
15987                BranchID ) ));
15988    assert_eq! (unsafe {
15989                & ( * ( 0 as * const CThostFtdcExecOrderActionField ) ) .
15990                InvestUnitID as * const _ as usize } , 340usize , concat ! (
15991                "Alignment of field: " , stringify ! (
15992                CThostFtdcExecOrderActionField ) , "::" , stringify ! (
15993                InvestUnitID ) ));
15994    assert_eq! (unsafe {
15995                & ( * ( 0 as * const CThostFtdcExecOrderActionField ) ) .
15996                IPAddress as * const _ as usize } , 357usize , concat ! (
15997                "Alignment of field: " , stringify ! (
15998                CThostFtdcExecOrderActionField ) , "::" , stringify ! (
15999                IPAddress ) ));
16000    assert_eq! (unsafe {
16001                & ( * ( 0 as * const CThostFtdcExecOrderActionField ) ) .
16002                MacAddress as * const _ as usize } , 373usize , concat ! (
16003                "Alignment of field: " , stringify ! (
16004                CThostFtdcExecOrderActionField ) , "::" , stringify ! (
16005                MacAddress ) ));
16006}
16007impl Clone for CThostFtdcExecOrderActionField {
16008    fn clone(&self) -> Self { *self }
16009}
16010impl Default for CThostFtdcExecOrderActionField {
16011    fn default() -> Self { unsafe { ::std::mem::zeroed() } }
16012}
16013/// 执行宣告查询
16014#[repr(C)]
16015#[derive(Default, Copy)]
16016pub struct CThostFtdcQryExecOrderField {
16017    /// 经纪公司代码
16018    pub BrokerID: TThostFtdcBrokerIDType,
16019    /// 投资者代码
16020    pub InvestorID: TThostFtdcInvestorIDType,
16021    /// 合约代码
16022    pub InstrumentID: TThostFtdcInstrumentIDType,
16023    /// 交易所代码
16024    pub ExchangeID: TThostFtdcExchangeIDType,
16025    /// 执行宣告编号
16026    pub ExecOrderSysID: TThostFtdcExecOrderSysIDType,
16027    /// 开始时间
16028    pub InsertTimeStart: TThostFtdcTimeType,
16029    /// 结束时间
16030    pub InsertTimeEnd: TThostFtdcTimeType,
16031}
16032#[test]
16033fn bindgen_test_layout_CThostFtdcQryExecOrderField() {
16034    assert_eq!(::std::mem::size_of::<CThostFtdcQryExecOrderField>() , 103usize
16035               , concat ! (
16036               "Size of: " , stringify ! ( CThostFtdcQryExecOrderField ) ));
16037    assert_eq! (::std::mem::align_of::<CThostFtdcQryExecOrderField>() , 1usize
16038                , concat ! (
16039                "Alignment of " , stringify ! ( CThostFtdcQryExecOrderField )
16040                ));
16041    assert_eq! (unsafe {
16042                & ( * ( 0 as * const CThostFtdcQryExecOrderField ) ) .
16043                BrokerID as * const _ as usize } , 0usize , concat ! (
16044                "Alignment of field: " , stringify ! (
16045                CThostFtdcQryExecOrderField ) , "::" , stringify ! ( BrokerID
16046                ) ));
16047    assert_eq! (unsafe {
16048                & ( * ( 0 as * const CThostFtdcQryExecOrderField ) ) .
16049                InvestorID as * const _ as usize } , 11usize , concat ! (
16050                "Alignment of field: " , stringify ! (
16051                CThostFtdcQryExecOrderField ) , "::" , stringify ! (
16052                InvestorID ) ));
16053    assert_eq! (unsafe {
16054                & ( * ( 0 as * const CThostFtdcQryExecOrderField ) ) .
16055                InstrumentID as * const _ as usize } , 24usize , concat ! (
16056                "Alignment of field: " , stringify ! (
16057                CThostFtdcQryExecOrderField ) , "::" , stringify ! (
16058                InstrumentID ) ));
16059    assert_eq! (unsafe {
16060                & ( * ( 0 as * const CThostFtdcQryExecOrderField ) ) .
16061                ExchangeID as * const _ as usize } , 55usize , concat ! (
16062                "Alignment of field: " , stringify ! (
16063                CThostFtdcQryExecOrderField ) , "::" , stringify ! (
16064                ExchangeID ) ));
16065    assert_eq! (unsafe {
16066                & ( * ( 0 as * const CThostFtdcQryExecOrderField ) ) .
16067                ExecOrderSysID as * const _ as usize } , 64usize , concat ! (
16068                "Alignment of field: " , stringify ! (
16069                CThostFtdcQryExecOrderField ) , "::" , stringify ! (
16070                ExecOrderSysID ) ));
16071    assert_eq! (unsafe {
16072                & ( * ( 0 as * const CThostFtdcQryExecOrderField ) ) .
16073                InsertTimeStart as * const _ as usize } , 85usize , concat ! (
16074                "Alignment of field: " , stringify ! (
16075                CThostFtdcQryExecOrderField ) , "::" , stringify ! (
16076                InsertTimeStart ) ));
16077    assert_eq! (unsafe {
16078                & ( * ( 0 as * const CThostFtdcQryExecOrderField ) ) .
16079                InsertTimeEnd as * const _ as usize } , 94usize , concat ! (
16080                "Alignment of field: " , stringify ! (
16081                CThostFtdcQryExecOrderField ) , "::" , stringify ! (
16082                InsertTimeEnd ) ));
16083}
16084impl Clone for CThostFtdcQryExecOrderField {
16085    fn clone(&self) -> Self { *self }
16086}
16087/// 交易所执行宣告信息
16088#[repr(C)]
16089#[derive(Default, Copy)]
16090pub struct CThostFtdcExchangeExecOrderField {
16091    /// 数量
16092    pub Volume: TThostFtdcVolumeType,
16093    /// 请求编号
16094    pub RequestID: TThostFtdcRequestIDType,
16095    /// 业务单元
16096    pub BusinessUnit: TThostFtdcBusinessUnitType,
16097    /// 开平标志
16098    pub OffsetFlag: TThostFtdcOffsetFlagType,
16099    /// 投机套保标志
16100    pub HedgeFlag: TThostFtdcHedgeFlagType,
16101    /// 执行类型
16102    pub ActionType: TThostFtdcActionTypeType,
16103    /// 保留头寸申请的持仓方向
16104    pub PosiDirection: TThostFtdcPosiDirectionType,
16105    /// 期权行权后是否保留期货头寸的标记,该字段已废弃
16106    pub ReservePositionFlag: TThostFtdcExecOrderPositionFlagType,
16107    /// 期权行权后生成的头寸是否自动平仓
16108    pub CloseFlag: TThostFtdcExecOrderCloseFlagType,
16109    /// 本地执行宣告编号
16110    pub ExecOrderLocalID: TThostFtdcOrderLocalIDType,
16111    /// 交易所代码
16112    pub ExchangeID: TThostFtdcExchangeIDType,
16113    /// 会员代码
16114    pub ParticipantID: TThostFtdcParticipantIDType,
16115    /// 客户代码
16116    pub ClientID: TThostFtdcClientIDType,
16117    /// 合约在交易所的代码
16118    pub ExchangeInstID: TThostFtdcExchangeInstIDType,
16119    /// 交易所交易员代码
16120    pub TraderID: TThostFtdcTraderIDType,
16121    /// 安装编号
16122    pub InstallID: TThostFtdcInstallIDType,
16123    /// 执行宣告提交状态
16124    pub OrderSubmitStatus: TThostFtdcOrderSubmitStatusType,
16125    /// 报单提示序号
16126    pub NotifySequence: TThostFtdcSequenceNoType,
16127    /// 交易日
16128    pub TradingDay: TThostFtdcDateType,
16129    /// 结算编号
16130    pub SettlementID: TThostFtdcSettlementIDType,
16131    /// 执行宣告编号
16132    pub ExecOrderSysID: TThostFtdcExecOrderSysIDType,
16133    /// 报单日期
16134    pub InsertDate: TThostFtdcDateType,
16135    /// 插入时间
16136    pub InsertTime: TThostFtdcTimeType,
16137    /// 撤销时间
16138    pub CancelTime: TThostFtdcTimeType,
16139    /// 执行结果
16140    pub ExecResult: TThostFtdcExecResultType,
16141    /// 结算会员编号
16142    pub ClearingPartID: TThostFtdcParticipantIDType,
16143    /// 序号
16144    pub SequenceNo: TThostFtdcSequenceNoType,
16145    /// 营业部编号
16146    pub BranchID: TThostFtdcBranchIDType,
16147    /// IP地址
16148    pub IPAddress: TThostFtdcIPAddressType,
16149    /// Mac地址
16150    pub MacAddress: TThostFtdcMacAddressType,
16151}
16152#[test]
16153fn bindgen_test_layout_CThostFtdcExchangeExecOrderField() {
16154    assert_eq!(::std::mem::size_of::<CThostFtdcExchangeExecOrderField>() ,
16155               272usize , concat ! (
16156               "Size of: " , stringify ! ( CThostFtdcExchangeExecOrderField )
16157               ));
16158    assert_eq! (::std::mem::align_of::<CThostFtdcExchangeExecOrderField>() ,
16159                4usize , concat ! (
16160                "Alignment of " , stringify ! (
16161                CThostFtdcExchangeExecOrderField ) ));
16162    assert_eq! (unsafe {
16163                & ( * ( 0 as * const CThostFtdcExchangeExecOrderField ) ) .
16164                Volume as * const _ as usize } , 0usize , concat ! (
16165                "Alignment of field: " , stringify ! (
16166                CThostFtdcExchangeExecOrderField ) , "::" , stringify ! (
16167                Volume ) ));
16168    assert_eq! (unsafe {
16169                & ( * ( 0 as * const CThostFtdcExchangeExecOrderField ) ) .
16170                RequestID as * const _ as usize } , 4usize , concat ! (
16171                "Alignment of field: " , stringify ! (
16172                CThostFtdcExchangeExecOrderField ) , "::" , stringify ! (
16173                RequestID ) ));
16174    assert_eq! (unsafe {
16175                & ( * ( 0 as * const CThostFtdcExchangeExecOrderField ) ) .
16176                BusinessUnit as * const _ as usize } , 8usize , concat ! (
16177                "Alignment of field: " , stringify ! (
16178                CThostFtdcExchangeExecOrderField ) , "::" , stringify ! (
16179                BusinessUnit ) ));
16180    assert_eq! (unsafe {
16181                & ( * ( 0 as * const CThostFtdcExchangeExecOrderField ) ) .
16182                OffsetFlag as * const _ as usize } , 29usize , concat ! (
16183                "Alignment of field: " , stringify ! (
16184                CThostFtdcExchangeExecOrderField ) , "::" , stringify ! (
16185                OffsetFlag ) ));
16186    assert_eq! (unsafe {
16187                & ( * ( 0 as * const CThostFtdcExchangeExecOrderField ) ) .
16188                HedgeFlag as * const _ as usize } , 30usize , concat ! (
16189                "Alignment of field: " , stringify ! (
16190                CThostFtdcExchangeExecOrderField ) , "::" , stringify ! (
16191                HedgeFlag ) ));
16192    assert_eq! (unsafe {
16193                & ( * ( 0 as * const CThostFtdcExchangeExecOrderField ) ) .
16194                ActionType as * const _ as usize } , 31usize , concat ! (
16195                "Alignment of field: " , stringify ! (
16196                CThostFtdcExchangeExecOrderField ) , "::" , stringify ! (
16197                ActionType ) ));
16198    assert_eq! (unsafe {
16199                & ( * ( 0 as * const CThostFtdcExchangeExecOrderField ) ) .
16200                PosiDirection as * const _ as usize } , 32usize , concat ! (
16201                "Alignment of field: " , stringify ! (
16202                CThostFtdcExchangeExecOrderField ) , "::" , stringify ! (
16203                PosiDirection ) ));
16204    assert_eq! (unsafe {
16205                & ( * ( 0 as * const CThostFtdcExchangeExecOrderField ) ) .
16206                ReservePositionFlag as * const _ as usize } , 33usize , concat
16207                ! (
16208                "Alignment of field: " , stringify ! (
16209                CThostFtdcExchangeExecOrderField ) , "::" , stringify ! (
16210                ReservePositionFlag ) ));
16211    assert_eq! (unsafe {
16212                & ( * ( 0 as * const CThostFtdcExchangeExecOrderField ) ) .
16213                CloseFlag as * const _ as usize } , 34usize , concat ! (
16214                "Alignment of field: " , stringify ! (
16215                CThostFtdcExchangeExecOrderField ) , "::" , stringify ! (
16216                CloseFlag ) ));
16217    assert_eq! (unsafe {
16218                & ( * ( 0 as * const CThostFtdcExchangeExecOrderField ) ) .
16219                ExecOrderLocalID as * const _ as usize } , 35usize , concat !
16220                (
16221                "Alignment of field: " , stringify ! (
16222                CThostFtdcExchangeExecOrderField ) , "::" , stringify ! (
16223                ExecOrderLocalID ) ));
16224    assert_eq! (unsafe {
16225                & ( * ( 0 as * const CThostFtdcExchangeExecOrderField ) ) .
16226                ExchangeID as * const _ as usize } , 48usize , concat ! (
16227                "Alignment of field: " , stringify ! (
16228                CThostFtdcExchangeExecOrderField ) , "::" , stringify ! (
16229                ExchangeID ) ));
16230    assert_eq! (unsafe {
16231                & ( * ( 0 as * const CThostFtdcExchangeExecOrderField ) ) .
16232                ParticipantID as * const _ as usize } , 57usize , concat ! (
16233                "Alignment of field: " , stringify ! (
16234                CThostFtdcExchangeExecOrderField ) , "::" , stringify ! (
16235                ParticipantID ) ));
16236    assert_eq! (unsafe {
16237                & ( * ( 0 as * const CThostFtdcExchangeExecOrderField ) ) .
16238                ClientID as * const _ as usize } , 68usize , concat ! (
16239                "Alignment of field: " , stringify ! (
16240                CThostFtdcExchangeExecOrderField ) , "::" , stringify ! (
16241                ClientID ) ));
16242    assert_eq! (unsafe {
16243                & ( * ( 0 as * const CThostFtdcExchangeExecOrderField ) ) .
16244                ExchangeInstID as * const _ as usize } , 79usize , concat ! (
16245                "Alignment of field: " , stringify ! (
16246                CThostFtdcExchangeExecOrderField ) , "::" , stringify ! (
16247                ExchangeInstID ) ));
16248    assert_eq! (unsafe {
16249                & ( * ( 0 as * const CThostFtdcExchangeExecOrderField ) ) .
16250                TraderID as * const _ as usize } , 110usize , concat ! (
16251                "Alignment of field: " , stringify ! (
16252                CThostFtdcExchangeExecOrderField ) , "::" , stringify ! (
16253                TraderID ) ));
16254    assert_eq! (unsafe {
16255                & ( * ( 0 as * const CThostFtdcExchangeExecOrderField ) ) .
16256                InstallID as * const _ as usize } , 132usize , concat ! (
16257                "Alignment of field: " , stringify ! (
16258                CThostFtdcExchangeExecOrderField ) , "::" , stringify ! (
16259                InstallID ) ));
16260    assert_eq! (unsafe {
16261                & ( * ( 0 as * const CThostFtdcExchangeExecOrderField ) ) .
16262                OrderSubmitStatus as * const _ as usize } , 136usize , concat
16263                ! (
16264                "Alignment of field: " , stringify ! (
16265                CThostFtdcExchangeExecOrderField ) , "::" , stringify ! (
16266                OrderSubmitStatus ) ));
16267    assert_eq! (unsafe {
16268                & ( * ( 0 as * const CThostFtdcExchangeExecOrderField ) ) .
16269                NotifySequence as * const _ as usize } , 140usize , concat ! (
16270                "Alignment of field: " , stringify ! (
16271                CThostFtdcExchangeExecOrderField ) , "::" , stringify ! (
16272                NotifySequence ) ));
16273    assert_eq! (unsafe {
16274                & ( * ( 0 as * const CThostFtdcExchangeExecOrderField ) ) .
16275                TradingDay as * const _ as usize } , 144usize , concat ! (
16276                "Alignment of field: " , stringify ! (
16277                CThostFtdcExchangeExecOrderField ) , "::" , stringify ! (
16278                TradingDay ) ));
16279    assert_eq! (unsafe {
16280                & ( * ( 0 as * const CThostFtdcExchangeExecOrderField ) ) .
16281                SettlementID as * const _ as usize } , 156usize , concat ! (
16282                "Alignment of field: " , stringify ! (
16283                CThostFtdcExchangeExecOrderField ) , "::" , stringify ! (
16284                SettlementID ) ));
16285    assert_eq! (unsafe {
16286                & ( * ( 0 as * const CThostFtdcExchangeExecOrderField ) ) .
16287                ExecOrderSysID as * const _ as usize } , 160usize , concat ! (
16288                "Alignment of field: " , stringify ! (
16289                CThostFtdcExchangeExecOrderField ) , "::" , stringify ! (
16290                ExecOrderSysID ) ));
16291    assert_eq! (unsafe {
16292                & ( * ( 0 as * const CThostFtdcExchangeExecOrderField ) ) .
16293                InsertDate as * const _ as usize } , 181usize , concat ! (
16294                "Alignment of field: " , stringify ! (
16295                CThostFtdcExchangeExecOrderField ) , "::" , stringify ! (
16296                InsertDate ) ));
16297    assert_eq! (unsafe {
16298                & ( * ( 0 as * const CThostFtdcExchangeExecOrderField ) ) .
16299                InsertTime as * const _ as usize } , 190usize , concat ! (
16300                "Alignment of field: " , stringify ! (
16301                CThostFtdcExchangeExecOrderField ) , "::" , stringify ! (
16302                InsertTime ) ));
16303    assert_eq! (unsafe {
16304                & ( * ( 0 as * const CThostFtdcExchangeExecOrderField ) ) .
16305                CancelTime as * const _ as usize } , 199usize , concat ! (
16306                "Alignment of field: " , stringify ! (
16307                CThostFtdcExchangeExecOrderField ) , "::" , stringify ! (
16308                CancelTime ) ));
16309    assert_eq! (unsafe {
16310                & ( * ( 0 as * const CThostFtdcExchangeExecOrderField ) ) .
16311                ExecResult as * const _ as usize } , 208usize , concat ! (
16312                "Alignment of field: " , stringify ! (
16313                CThostFtdcExchangeExecOrderField ) , "::" , stringify ! (
16314                ExecResult ) ));
16315    assert_eq! (unsafe {
16316                & ( * ( 0 as * const CThostFtdcExchangeExecOrderField ) ) .
16317                ClearingPartID as * const _ as usize } , 209usize , concat ! (
16318                "Alignment of field: " , stringify ! (
16319                CThostFtdcExchangeExecOrderField ) , "::" , stringify ! (
16320                ClearingPartID ) ));
16321    assert_eq! (unsafe {
16322                & ( * ( 0 as * const CThostFtdcExchangeExecOrderField ) ) .
16323                SequenceNo as * const _ as usize } , 220usize , concat ! (
16324                "Alignment of field: " , stringify ! (
16325                CThostFtdcExchangeExecOrderField ) , "::" , stringify ! (
16326                SequenceNo ) ));
16327    assert_eq! (unsafe {
16328                & ( * ( 0 as * const CThostFtdcExchangeExecOrderField ) ) .
16329                BranchID as * const _ as usize } , 224usize , concat ! (
16330                "Alignment of field: " , stringify ! (
16331                CThostFtdcExchangeExecOrderField ) , "::" , stringify ! (
16332                BranchID ) ));
16333    assert_eq! (unsafe {
16334                & ( * ( 0 as * const CThostFtdcExchangeExecOrderField ) ) .
16335                IPAddress as * const _ as usize } , 233usize , concat ! (
16336                "Alignment of field: " , stringify ! (
16337                CThostFtdcExchangeExecOrderField ) , "::" , stringify ! (
16338                IPAddress ) ));
16339    assert_eq! (unsafe {
16340                & ( * ( 0 as * const CThostFtdcExchangeExecOrderField ) ) .
16341                MacAddress as * const _ as usize } , 249usize , concat ! (
16342                "Alignment of field: " , stringify ! (
16343                CThostFtdcExchangeExecOrderField ) , "::" , stringify ! (
16344                MacAddress ) ));
16345}
16346impl Clone for CThostFtdcExchangeExecOrderField {
16347    fn clone(&self) -> Self { *self }
16348}
16349/// 交易所执行宣告查询
16350#[repr(C)]
16351#[derive(Default, Copy)]
16352pub struct CThostFtdcQryExchangeExecOrderField {
16353    /// 会员代码
16354    pub ParticipantID: TThostFtdcParticipantIDType,
16355    /// 客户代码
16356    pub ClientID: TThostFtdcClientIDType,
16357    /// 合约在交易所的代码
16358    pub ExchangeInstID: TThostFtdcExchangeInstIDType,
16359    /// 交易所代码
16360    pub ExchangeID: TThostFtdcExchangeIDType,
16361    /// 交易所交易员代码
16362    pub TraderID: TThostFtdcTraderIDType,
16363}
16364#[test]
16365fn bindgen_test_layout_CThostFtdcQryExchangeExecOrderField() {
16366    assert_eq!(::std::mem::size_of::<CThostFtdcQryExchangeExecOrderField>() ,
16367               83usize , concat ! (
16368               "Size of: " , stringify ! ( CThostFtdcQryExchangeExecOrderField
16369               ) ));
16370    assert_eq! (::std::mem::align_of::<CThostFtdcQryExchangeExecOrderField>()
16371                , 1usize , concat ! (
16372                "Alignment of " , stringify ! (
16373                CThostFtdcQryExchangeExecOrderField ) ));
16374    assert_eq! (unsafe {
16375                & ( * ( 0 as * const CThostFtdcQryExchangeExecOrderField ) ) .
16376                ParticipantID as * const _ as usize } , 0usize , concat ! (
16377                "Alignment of field: " , stringify ! (
16378                CThostFtdcQryExchangeExecOrderField ) , "::" , stringify ! (
16379                ParticipantID ) ));
16380    assert_eq! (unsafe {
16381                & ( * ( 0 as * const CThostFtdcQryExchangeExecOrderField ) ) .
16382                ClientID as * const _ as usize } , 11usize , concat ! (
16383                "Alignment of field: " , stringify ! (
16384                CThostFtdcQryExchangeExecOrderField ) , "::" , stringify ! (
16385                ClientID ) ));
16386    assert_eq! (unsafe {
16387                & ( * ( 0 as * const CThostFtdcQryExchangeExecOrderField ) ) .
16388                ExchangeInstID as * const _ as usize } , 22usize , concat ! (
16389                "Alignment of field: " , stringify ! (
16390                CThostFtdcQryExchangeExecOrderField ) , "::" , stringify ! (
16391                ExchangeInstID ) ));
16392    assert_eq! (unsafe {
16393                & ( * ( 0 as * const CThostFtdcQryExchangeExecOrderField ) ) .
16394                ExchangeID as * const _ as usize } , 53usize , concat ! (
16395                "Alignment of field: " , stringify ! (
16396                CThostFtdcQryExchangeExecOrderField ) , "::" , stringify ! (
16397                ExchangeID ) ));
16398    assert_eq! (unsafe {
16399                & ( * ( 0 as * const CThostFtdcQryExchangeExecOrderField ) ) .
16400                TraderID as * const _ as usize } , 62usize , concat ! (
16401                "Alignment of field: " , stringify ! (
16402                CThostFtdcQryExchangeExecOrderField ) , "::" , stringify ! (
16403                TraderID ) ));
16404}
16405impl Clone for CThostFtdcQryExchangeExecOrderField {
16406    fn clone(&self) -> Self { *self }
16407}
16408/// 执行宣告操作查询
16409#[repr(C)]
16410#[derive(Default, Copy)]
16411pub struct CThostFtdcQryExecOrderActionField {
16412    /// 经纪公司代码
16413    pub BrokerID: TThostFtdcBrokerIDType,
16414    /// 投资者代码
16415    pub InvestorID: TThostFtdcInvestorIDType,
16416    /// 交易所代码
16417    pub ExchangeID: TThostFtdcExchangeIDType,
16418}
16419#[test]
16420fn bindgen_test_layout_CThostFtdcQryExecOrderActionField() {
16421    assert_eq!(::std::mem::size_of::<CThostFtdcQryExecOrderActionField>() ,
16422               33usize , concat ! (
16423               "Size of: " , stringify ! ( CThostFtdcQryExecOrderActionField )
16424               ));
16425    assert_eq! (::std::mem::align_of::<CThostFtdcQryExecOrderActionField>() ,
16426                1usize , concat ! (
16427                "Alignment of " , stringify ! (
16428                CThostFtdcQryExecOrderActionField ) ));
16429    assert_eq! (unsafe {
16430                & ( * ( 0 as * const CThostFtdcQryExecOrderActionField ) ) .
16431                BrokerID as * const _ as usize } , 0usize , concat ! (
16432                "Alignment of field: " , stringify ! (
16433                CThostFtdcQryExecOrderActionField ) , "::" , stringify ! (
16434                BrokerID ) ));
16435    assert_eq! (unsafe {
16436                & ( * ( 0 as * const CThostFtdcQryExecOrderActionField ) ) .
16437                InvestorID as * const _ as usize } , 11usize , concat ! (
16438                "Alignment of field: " , stringify ! (
16439                CThostFtdcQryExecOrderActionField ) , "::" , stringify ! (
16440                InvestorID ) ));
16441    assert_eq! (unsafe {
16442                & ( * ( 0 as * const CThostFtdcQryExecOrderActionField ) ) .
16443                ExchangeID as * const _ as usize } , 24usize , concat ! (
16444                "Alignment of field: " , stringify ! (
16445                CThostFtdcQryExecOrderActionField ) , "::" , stringify ! (
16446                ExchangeID ) ));
16447}
16448impl Clone for CThostFtdcQryExecOrderActionField {
16449    fn clone(&self) -> Self { *self }
16450}
16451/// 交易所执行宣告操作
16452#[repr(C)]
16453#[derive(Default, Copy)]
16454pub struct CThostFtdcExchangeExecOrderActionField {
16455    /// 交易所代码
16456    pub ExchangeID: TThostFtdcExchangeIDType,
16457    /// 执行宣告操作编号
16458    pub ExecOrderSysID: TThostFtdcExecOrderSysIDType,
16459    /// 操作标志
16460    pub ActionFlag: TThostFtdcActionFlagType,
16461    /// 操作日期
16462    pub ActionDate: TThostFtdcDateType,
16463    /// 操作时间
16464    pub ActionTime: TThostFtdcTimeType,
16465    /// 交易所交易员代码
16466    pub TraderID: TThostFtdcTraderIDType,
16467    /// 安装编号
16468    pub InstallID: TThostFtdcInstallIDType,
16469    /// 本地执行宣告编号
16470    pub ExecOrderLocalID: TThostFtdcOrderLocalIDType,
16471    /// 操作本地编号
16472    pub ActionLocalID: TThostFtdcOrderLocalIDType,
16473    /// 会员代码
16474    pub ParticipantID: TThostFtdcParticipantIDType,
16475    /// 客户代码
16476    pub ClientID: TThostFtdcClientIDType,
16477    /// 业务单元
16478    pub BusinessUnit: TThostFtdcBusinessUnitType,
16479    /// 报单操作状态
16480    pub OrderActionStatus: TThostFtdcOrderActionStatusType,
16481    /// 用户代码
16482    pub UserID: TThostFtdcUserIDType,
16483    /// 执行类型
16484    pub ActionType: TThostFtdcActionTypeType,
16485    /// 营业部编号
16486    pub BranchID: TThostFtdcBranchIDType,
16487    /// IP地址
16488    pub IPAddress: TThostFtdcIPAddressType,
16489    /// Mac地址
16490    pub MacAddress: TThostFtdcMacAddressType,
16491    /// 合约在交易所的代码
16492    pub ExchangeInstID: TThostFtdcExchangeInstIDType,
16493    /// 数量
16494    pub Volume: TThostFtdcVolumeType,
16495}
16496#[test]
16497fn bindgen_test_layout_CThostFtdcExchangeExecOrderActionField() {
16498    assert_eq!(::std::mem::size_of::<CThostFtdcExchangeExecOrderActionField>()
16499               , 244usize , concat ! (
16500               "Size of: " , stringify ! (
16501               CThostFtdcExchangeExecOrderActionField ) ));
16502    assert_eq! (::std::mem::align_of::<CThostFtdcExchangeExecOrderActionField>()
16503                , 4usize , concat ! (
16504                "Alignment of " , stringify ! (
16505                CThostFtdcExchangeExecOrderActionField ) ));
16506    assert_eq! (unsafe {
16507                & ( * ( 0 as * const CThostFtdcExchangeExecOrderActionField )
16508                ) . ExchangeID as * const _ as usize } , 0usize , concat ! (
16509                "Alignment of field: " , stringify ! (
16510                CThostFtdcExchangeExecOrderActionField ) , "::" , stringify !
16511                ( ExchangeID ) ));
16512    assert_eq! (unsafe {
16513                & ( * ( 0 as * const CThostFtdcExchangeExecOrderActionField )
16514                ) . ExecOrderSysID as * const _ as usize } , 9usize , concat !
16515                (
16516                "Alignment of field: " , stringify ! (
16517                CThostFtdcExchangeExecOrderActionField ) , "::" , stringify !
16518                ( ExecOrderSysID ) ));
16519    assert_eq! (unsafe {
16520                & ( * ( 0 as * const CThostFtdcExchangeExecOrderActionField )
16521                ) . ActionFlag as * const _ as usize } , 30usize , concat ! (
16522                "Alignment of field: " , stringify ! (
16523                CThostFtdcExchangeExecOrderActionField ) , "::" , stringify !
16524                ( ActionFlag ) ));
16525    assert_eq! (unsafe {
16526                & ( * ( 0 as * const CThostFtdcExchangeExecOrderActionField )
16527                ) . ActionDate as * const _ as usize } , 31usize , concat ! (
16528                "Alignment of field: " , stringify ! (
16529                CThostFtdcExchangeExecOrderActionField ) , "::" , stringify !
16530                ( ActionDate ) ));
16531    assert_eq! (unsafe {
16532                & ( * ( 0 as * const CThostFtdcExchangeExecOrderActionField )
16533                ) . ActionTime as * const _ as usize } , 40usize , concat ! (
16534                "Alignment of field: " , stringify ! (
16535                CThostFtdcExchangeExecOrderActionField ) , "::" , stringify !
16536                ( ActionTime ) ));
16537    assert_eq! (unsafe {
16538                & ( * ( 0 as * const CThostFtdcExchangeExecOrderActionField )
16539                ) . TraderID as * const _ as usize } , 49usize , concat ! (
16540                "Alignment of field: " , stringify ! (
16541                CThostFtdcExchangeExecOrderActionField ) , "::" , stringify !
16542                ( TraderID ) ));
16543    assert_eq! (unsafe {
16544                & ( * ( 0 as * const CThostFtdcExchangeExecOrderActionField )
16545                ) . InstallID as * const _ as usize } , 72usize , concat ! (
16546                "Alignment of field: " , stringify ! (
16547                CThostFtdcExchangeExecOrderActionField ) , "::" , stringify !
16548                ( InstallID ) ));
16549    assert_eq! (unsafe {
16550                & ( * ( 0 as * const CThostFtdcExchangeExecOrderActionField )
16551                ) . ExecOrderLocalID as * const _ as usize } , 76usize ,
16552                concat ! (
16553                "Alignment of field: " , stringify ! (
16554                CThostFtdcExchangeExecOrderActionField ) , "::" , stringify !
16555                ( ExecOrderLocalID ) ));
16556    assert_eq! (unsafe {
16557                & ( * ( 0 as * const CThostFtdcExchangeExecOrderActionField )
16558                ) . ActionLocalID as * const _ as usize } , 89usize , concat !
16559                (
16560                "Alignment of field: " , stringify ! (
16561                CThostFtdcExchangeExecOrderActionField ) , "::" , stringify !
16562                ( ActionLocalID ) ));
16563    assert_eq! (unsafe {
16564                & ( * ( 0 as * const CThostFtdcExchangeExecOrderActionField )
16565                ) . ParticipantID as * const _ as usize } , 102usize , concat
16566                ! (
16567                "Alignment of field: " , stringify ! (
16568                CThostFtdcExchangeExecOrderActionField ) , "::" , stringify !
16569                ( ParticipantID ) ));
16570    assert_eq! (unsafe {
16571                & ( * ( 0 as * const CThostFtdcExchangeExecOrderActionField )
16572                ) . ClientID as * const _ as usize } , 113usize , concat ! (
16573                "Alignment of field: " , stringify ! (
16574                CThostFtdcExchangeExecOrderActionField ) , "::" , stringify !
16575                ( ClientID ) ));
16576    assert_eq! (unsafe {
16577                & ( * ( 0 as * const CThostFtdcExchangeExecOrderActionField )
16578                ) . BusinessUnit as * const _ as usize } , 124usize , concat !
16579                (
16580                "Alignment of field: " , stringify ! (
16581                CThostFtdcExchangeExecOrderActionField ) , "::" , stringify !
16582                ( BusinessUnit ) ));
16583    assert_eq! (unsafe {
16584                & ( * ( 0 as * const CThostFtdcExchangeExecOrderActionField )
16585                ) . OrderActionStatus as * const _ as usize } , 145usize ,
16586                concat ! (
16587                "Alignment of field: " , stringify ! (
16588                CThostFtdcExchangeExecOrderActionField ) , "::" , stringify !
16589                ( OrderActionStatus ) ));
16590    assert_eq! (unsafe {
16591                & ( * ( 0 as * const CThostFtdcExchangeExecOrderActionField )
16592                ) . UserID as * const _ as usize } , 146usize , concat ! (
16593                "Alignment of field: " , stringify ! (
16594                CThostFtdcExchangeExecOrderActionField ) , "::" , stringify !
16595                ( UserID ) ));
16596    assert_eq! (unsafe {
16597                & ( * ( 0 as * const CThostFtdcExchangeExecOrderActionField )
16598                ) . ActionType as * const _ as usize } , 162usize , concat ! (
16599                "Alignment of field: " , stringify ! (
16600                CThostFtdcExchangeExecOrderActionField ) , "::" , stringify !
16601                ( ActionType ) ));
16602    assert_eq! (unsafe {
16603                & ( * ( 0 as * const CThostFtdcExchangeExecOrderActionField )
16604                ) . BranchID as * const _ as usize } , 163usize , concat ! (
16605                "Alignment of field: " , stringify ! (
16606                CThostFtdcExchangeExecOrderActionField ) , "::" , stringify !
16607                ( BranchID ) ));
16608    assert_eq! (unsafe {
16609                & ( * ( 0 as * const CThostFtdcExchangeExecOrderActionField )
16610                ) . IPAddress as * const _ as usize } , 172usize , concat ! (
16611                "Alignment of field: " , stringify ! (
16612                CThostFtdcExchangeExecOrderActionField ) , "::" , stringify !
16613                ( IPAddress ) ));
16614    assert_eq! (unsafe {
16615                & ( * ( 0 as * const CThostFtdcExchangeExecOrderActionField )
16616                ) . MacAddress as * const _ as usize } , 188usize , concat ! (
16617                "Alignment of field: " , stringify ! (
16618                CThostFtdcExchangeExecOrderActionField ) , "::" , stringify !
16619                ( MacAddress ) ));
16620    assert_eq! (unsafe {
16621                & ( * ( 0 as * const CThostFtdcExchangeExecOrderActionField )
16622                ) . ExchangeInstID as * const _ as usize } , 209usize , concat
16623                ! (
16624                "Alignment of field: " , stringify ! (
16625                CThostFtdcExchangeExecOrderActionField ) , "::" , stringify !
16626                ( ExchangeInstID ) ));
16627    assert_eq! (unsafe {
16628                & ( * ( 0 as * const CThostFtdcExchangeExecOrderActionField )
16629                ) . Volume as * const _ as usize } , 240usize , concat ! (
16630                "Alignment of field: " , stringify ! (
16631                CThostFtdcExchangeExecOrderActionField ) , "::" , stringify !
16632                ( Volume ) ));
16633}
16634impl Clone for CThostFtdcExchangeExecOrderActionField {
16635    fn clone(&self) -> Self { *self }
16636}
16637/// 交易所执行宣告操作查询
16638#[repr(C)]
16639#[derive(Default, Copy)]
16640pub struct CThostFtdcQryExchangeExecOrderActionField {
16641    /// 会员代码
16642    pub ParticipantID: TThostFtdcParticipantIDType,
16643    /// 客户代码
16644    pub ClientID: TThostFtdcClientIDType,
16645    /// 交易所代码
16646    pub ExchangeID: TThostFtdcExchangeIDType,
16647    /// 交易所交易员代码
16648    pub TraderID: TThostFtdcTraderIDType,
16649}
16650#[test]
16651fn bindgen_test_layout_CThostFtdcQryExchangeExecOrderActionField() {
16652    assert_eq!(::std::mem::size_of::<CThostFtdcQryExchangeExecOrderActionField>()
16653               , 52usize , concat ! (
16654               "Size of: " , stringify ! (
16655               CThostFtdcQryExchangeExecOrderActionField ) ));
16656    assert_eq! (::std::mem::align_of::<CThostFtdcQryExchangeExecOrderActionField>()
16657                , 1usize , concat ! (
16658                "Alignment of " , stringify ! (
16659                CThostFtdcQryExchangeExecOrderActionField ) ));
16660    assert_eq! (unsafe {
16661                & (
16662                * ( 0 as * const CThostFtdcQryExchangeExecOrderActionField ) )
16663                . ParticipantID as * const _ as usize } , 0usize , concat ! (
16664                "Alignment of field: " , stringify ! (
16665                CThostFtdcQryExchangeExecOrderActionField ) , "::" , stringify
16666                ! ( ParticipantID ) ));
16667    assert_eq! (unsafe {
16668                & (
16669                * ( 0 as * const CThostFtdcQryExchangeExecOrderActionField ) )
16670                . ClientID as * const _ as usize } , 11usize , concat ! (
16671                "Alignment of field: " , stringify ! (
16672                CThostFtdcQryExchangeExecOrderActionField ) , "::" , stringify
16673                ! ( ClientID ) ));
16674    assert_eq! (unsafe {
16675                & (
16676                * ( 0 as * const CThostFtdcQryExchangeExecOrderActionField ) )
16677                . ExchangeID as * const _ as usize } , 22usize , concat ! (
16678                "Alignment of field: " , stringify ! (
16679                CThostFtdcQryExchangeExecOrderActionField ) , "::" , stringify
16680                ! ( ExchangeID ) ));
16681    assert_eq! (unsafe {
16682                & (
16683                * ( 0 as * const CThostFtdcQryExchangeExecOrderActionField ) )
16684                . TraderID as * const _ as usize } , 31usize , concat ! (
16685                "Alignment of field: " , stringify ! (
16686                CThostFtdcQryExchangeExecOrderActionField ) , "::" , stringify
16687                ! ( TraderID ) ));
16688}
16689impl Clone for CThostFtdcQryExchangeExecOrderActionField {
16690    fn clone(&self) -> Self { *self }
16691}
16692/// 错误执行宣告
16693#[repr(C)]
16694#[derive(Copy)]
16695pub struct CThostFtdcErrExecOrderField {
16696    /// 经纪公司代码
16697    pub BrokerID: TThostFtdcBrokerIDType,
16698    /// 投资者代码
16699    pub InvestorID: TThostFtdcInvestorIDType,
16700    /// 合约代码
16701    pub InstrumentID: TThostFtdcInstrumentIDType,
16702    /// 执行宣告引用
16703    pub ExecOrderRef: TThostFtdcOrderRefType,
16704    /// 用户代码
16705    pub UserID: TThostFtdcUserIDType,
16706    /// 数量
16707    pub Volume: TThostFtdcVolumeType,
16708    /// 请求编号
16709    pub RequestID: TThostFtdcRequestIDType,
16710    /// 业务单元
16711    pub BusinessUnit: TThostFtdcBusinessUnitType,
16712    /// 开平标志
16713    pub OffsetFlag: TThostFtdcOffsetFlagType,
16714    /// 投机套保标志
16715    pub HedgeFlag: TThostFtdcHedgeFlagType,
16716    /// 执行类型
16717    pub ActionType: TThostFtdcActionTypeType,
16718    /// 保留头寸申请的持仓方向
16719    pub PosiDirection: TThostFtdcPosiDirectionType,
16720    /// 期权行权后是否保留期货头寸的标记,该字段已废弃
16721    pub ReservePositionFlag: TThostFtdcExecOrderPositionFlagType,
16722    /// 期权行权后生成的头寸是否自动平仓
16723    pub CloseFlag: TThostFtdcExecOrderCloseFlagType,
16724    /// 交易所代码
16725    pub ExchangeID: TThostFtdcExchangeIDType,
16726    /// 投资单元代码
16727    pub InvestUnitID: TThostFtdcInvestUnitIDType,
16728    /// 资金账号
16729    pub AccountID: TThostFtdcAccountIDType,
16730    /// 币种代码
16731    pub CurrencyID: TThostFtdcCurrencyIDType,
16732    /// 交易编码
16733    pub ClientID: TThostFtdcClientIDType,
16734    /// IP地址
16735    pub IPAddress: TThostFtdcIPAddressType,
16736    /// Mac地址
16737    pub MacAddress: TThostFtdcMacAddressType,
16738    /// 错误代码
16739    pub ErrorID: TThostFtdcErrorIDType,
16740    /// 错误信息
16741    pub ErrorMsg: TThostFtdcErrorMsgType,
16742}
16743#[test]
16744fn bindgen_test_layout_CThostFtdcErrExecOrderField() {
16745    assert_eq!(::std::mem::size_of::<CThostFtdcErrExecOrderField>() , 300usize
16746               , concat ! (
16747               "Size of: " , stringify ! ( CThostFtdcErrExecOrderField ) ));
16748    assert_eq! (::std::mem::align_of::<CThostFtdcErrExecOrderField>() , 4usize
16749                , concat ! (
16750                "Alignment of " , stringify ! ( CThostFtdcErrExecOrderField )
16751                ));
16752    assert_eq! (unsafe {
16753                & ( * ( 0 as * const CThostFtdcErrExecOrderField ) ) .
16754                BrokerID as * const _ as usize } , 0usize , concat ! (
16755                "Alignment of field: " , stringify ! (
16756                CThostFtdcErrExecOrderField ) , "::" , stringify ! ( BrokerID
16757                ) ));
16758    assert_eq! (unsafe {
16759                & ( * ( 0 as * const CThostFtdcErrExecOrderField ) ) .
16760                InvestorID as * const _ as usize } , 11usize , concat ! (
16761                "Alignment of field: " , stringify ! (
16762                CThostFtdcErrExecOrderField ) , "::" , stringify ! (
16763                InvestorID ) ));
16764    assert_eq! (unsafe {
16765                & ( * ( 0 as * const CThostFtdcErrExecOrderField ) ) .
16766                InstrumentID as * const _ as usize } , 24usize , concat ! (
16767                "Alignment of field: " , stringify ! (
16768                CThostFtdcErrExecOrderField ) , "::" , stringify ! (
16769                InstrumentID ) ));
16770    assert_eq! (unsafe {
16771                & ( * ( 0 as * const CThostFtdcErrExecOrderField ) ) .
16772                ExecOrderRef as * const _ as usize } , 55usize , concat ! (
16773                "Alignment of field: " , stringify ! (
16774                CThostFtdcErrExecOrderField ) , "::" , stringify ! (
16775                ExecOrderRef ) ));
16776    assert_eq! (unsafe {
16777                & ( * ( 0 as * const CThostFtdcErrExecOrderField ) ) . UserID
16778                as * const _ as usize } , 68usize , concat ! (
16779                "Alignment of field: " , stringify ! (
16780                CThostFtdcErrExecOrderField ) , "::" , stringify ! ( UserID )
16781                ));
16782    assert_eq! (unsafe {
16783                & ( * ( 0 as * const CThostFtdcErrExecOrderField ) ) . Volume
16784                as * const _ as usize } , 84usize , concat ! (
16785                "Alignment of field: " , stringify ! (
16786                CThostFtdcErrExecOrderField ) , "::" , stringify ! ( Volume )
16787                ));
16788    assert_eq! (unsafe {
16789                & ( * ( 0 as * const CThostFtdcErrExecOrderField ) ) .
16790                RequestID as * const _ as usize } , 88usize , concat ! (
16791                "Alignment of field: " , stringify ! (
16792                CThostFtdcErrExecOrderField ) , "::" , stringify ! ( RequestID
16793                ) ));
16794    assert_eq! (unsafe {
16795                & ( * ( 0 as * const CThostFtdcErrExecOrderField ) ) .
16796                BusinessUnit as * const _ as usize } , 92usize , concat ! (
16797                "Alignment of field: " , stringify ! (
16798                CThostFtdcErrExecOrderField ) , "::" , stringify ! (
16799                BusinessUnit ) ));
16800    assert_eq! (unsafe {
16801                & ( * ( 0 as * const CThostFtdcErrExecOrderField ) ) .
16802                OffsetFlag as * const _ as usize } , 113usize , concat ! (
16803                "Alignment of field: " , stringify ! (
16804                CThostFtdcErrExecOrderField ) , "::" , stringify ! (
16805                OffsetFlag ) ));
16806    assert_eq! (unsafe {
16807                & ( * ( 0 as * const CThostFtdcErrExecOrderField ) ) .
16808                HedgeFlag as * const _ as usize } , 114usize , concat ! (
16809                "Alignment of field: " , stringify ! (
16810                CThostFtdcErrExecOrderField ) , "::" , stringify ! ( HedgeFlag
16811                ) ));
16812    assert_eq! (unsafe {
16813                & ( * ( 0 as * const CThostFtdcErrExecOrderField ) ) .
16814                ActionType as * const _ as usize } , 115usize , concat ! (
16815                "Alignment of field: " , stringify ! (
16816                CThostFtdcErrExecOrderField ) , "::" , stringify ! (
16817                ActionType ) ));
16818    assert_eq! (unsafe {
16819                & ( * ( 0 as * const CThostFtdcErrExecOrderField ) ) .
16820                PosiDirection as * const _ as usize } , 116usize , concat ! (
16821                "Alignment of field: " , stringify ! (
16822                CThostFtdcErrExecOrderField ) , "::" , stringify ! (
16823                PosiDirection ) ));
16824    assert_eq! (unsafe {
16825                & ( * ( 0 as * const CThostFtdcErrExecOrderField ) ) .
16826                ReservePositionFlag as * const _ as usize } , 117usize ,
16827                concat ! (
16828                "Alignment of field: " , stringify ! (
16829                CThostFtdcErrExecOrderField ) , "::" , stringify ! (
16830                ReservePositionFlag ) ));
16831    assert_eq! (unsafe {
16832                & ( * ( 0 as * const CThostFtdcErrExecOrderField ) ) .
16833                CloseFlag as * const _ as usize } , 118usize , concat ! (
16834                "Alignment of field: " , stringify ! (
16835                CThostFtdcErrExecOrderField ) , "::" , stringify ! ( CloseFlag
16836                ) ));
16837    assert_eq! (unsafe {
16838                & ( * ( 0 as * const CThostFtdcErrExecOrderField ) ) .
16839                ExchangeID as * const _ as usize } , 119usize , concat ! (
16840                "Alignment of field: " , stringify ! (
16841                CThostFtdcErrExecOrderField ) , "::" , stringify ! (
16842                ExchangeID ) ));
16843    assert_eq! (unsafe {
16844                & ( * ( 0 as * const CThostFtdcErrExecOrderField ) ) .
16845                InvestUnitID as * const _ as usize } , 128usize , concat ! (
16846                "Alignment of field: " , stringify ! (
16847                CThostFtdcErrExecOrderField ) , "::" , stringify ! (
16848                InvestUnitID ) ));
16849    assert_eq! (unsafe {
16850                & ( * ( 0 as * const CThostFtdcErrExecOrderField ) ) .
16851                AccountID as * const _ as usize } , 145usize , concat ! (
16852                "Alignment of field: " , stringify ! (
16853                CThostFtdcErrExecOrderField ) , "::" , stringify ! ( AccountID
16854                ) ));
16855    assert_eq! (unsafe {
16856                & ( * ( 0 as * const CThostFtdcErrExecOrderField ) ) .
16857                CurrencyID as * const _ as usize } , 158usize , concat ! (
16858                "Alignment of field: " , stringify ! (
16859                CThostFtdcErrExecOrderField ) , "::" , stringify ! (
16860                CurrencyID ) ));
16861    assert_eq! (unsafe {
16862                & ( * ( 0 as * const CThostFtdcErrExecOrderField ) ) .
16863                ClientID as * const _ as usize } , 162usize , concat ! (
16864                "Alignment of field: " , stringify ! (
16865                CThostFtdcErrExecOrderField ) , "::" , stringify ! ( ClientID
16866                ) ));
16867    assert_eq! (unsafe {
16868                & ( * ( 0 as * const CThostFtdcErrExecOrderField ) ) .
16869                IPAddress as * const _ as usize } , 173usize , concat ! (
16870                "Alignment of field: " , stringify ! (
16871                CThostFtdcErrExecOrderField ) , "::" , stringify ! ( IPAddress
16872                ) ));
16873    assert_eq! (unsafe {
16874                & ( * ( 0 as * const CThostFtdcErrExecOrderField ) ) .
16875                MacAddress as * const _ as usize } , 189usize , concat ! (
16876                "Alignment of field: " , stringify ! (
16877                CThostFtdcErrExecOrderField ) , "::" , stringify ! (
16878                MacAddress ) ));
16879    assert_eq! (unsafe {
16880                & ( * ( 0 as * const CThostFtdcErrExecOrderField ) ) . ErrorID
16881                as * const _ as usize } , 212usize , concat ! (
16882                "Alignment of field: " , stringify ! (
16883                CThostFtdcErrExecOrderField ) , "::" , stringify ! ( ErrorID )
16884                ));
16885    assert_eq! (unsafe {
16886                & ( * ( 0 as * const CThostFtdcErrExecOrderField ) ) .
16887                ErrorMsg as * const _ as usize } , 216usize , concat ! (
16888                "Alignment of field: " , stringify ! (
16889                CThostFtdcErrExecOrderField ) , "::" , stringify ! ( ErrorMsg
16890                ) ));
16891}
16892impl Clone for CThostFtdcErrExecOrderField {
16893    fn clone(&self) -> Self { *self }
16894}
16895impl Default for CThostFtdcErrExecOrderField {
16896    fn default() -> Self { unsafe { ::std::mem::zeroed() } }
16897}
16898/// 查询错误执行宣告
16899#[repr(C)]
16900#[derive(Default, Copy)]
16901pub struct CThostFtdcQryErrExecOrderField {
16902    /// 经纪公司代码
16903    pub BrokerID: TThostFtdcBrokerIDType,
16904    /// 投资者代码
16905    pub InvestorID: TThostFtdcInvestorIDType,
16906}
16907#[test]
16908fn bindgen_test_layout_CThostFtdcQryErrExecOrderField() {
16909    assert_eq!(::std::mem::size_of::<CThostFtdcQryErrExecOrderField>() ,
16910               24usize , concat ! (
16911               "Size of: " , stringify ! ( CThostFtdcQryErrExecOrderField )
16912               ));
16913    assert_eq! (::std::mem::align_of::<CThostFtdcQryErrExecOrderField>() ,
16914                1usize , concat ! (
16915                "Alignment of " , stringify ! ( CThostFtdcQryErrExecOrderField
16916                ) ));
16917    assert_eq! (unsafe {
16918                & ( * ( 0 as * const CThostFtdcQryErrExecOrderField ) ) .
16919                BrokerID as * const _ as usize } , 0usize , concat ! (
16920                "Alignment of field: " , stringify ! (
16921                CThostFtdcQryErrExecOrderField ) , "::" , stringify ! (
16922                BrokerID ) ));
16923    assert_eq! (unsafe {
16924                & ( * ( 0 as * const CThostFtdcQryErrExecOrderField ) ) .
16925                InvestorID as * const _ as usize } , 11usize , concat ! (
16926                "Alignment of field: " , stringify ! (
16927                CThostFtdcQryErrExecOrderField ) , "::" , stringify ! (
16928                InvestorID ) ));
16929}
16930impl Clone for CThostFtdcQryErrExecOrderField {
16931    fn clone(&self) -> Self { *self }
16932}
16933/// 错误执行宣告操作
16934#[repr(C)]
16935#[derive(Copy)]
16936pub struct CThostFtdcErrExecOrderActionField {
16937    /// 经纪公司代码
16938    pub BrokerID: TThostFtdcBrokerIDType,
16939    /// 投资者代码
16940    pub InvestorID: TThostFtdcInvestorIDType,
16941    /// 执行宣告操作引用
16942    pub ExecOrderActionRef: TThostFtdcOrderActionRefType,
16943    /// 执行宣告引用
16944    pub ExecOrderRef: TThostFtdcOrderRefType,
16945    /// 请求编号
16946    pub RequestID: TThostFtdcRequestIDType,
16947    /// 前置编号
16948    pub FrontID: TThostFtdcFrontIDType,
16949    /// 会话编号
16950    pub SessionID: TThostFtdcSessionIDType,
16951    /// 交易所代码
16952    pub ExchangeID: TThostFtdcExchangeIDType,
16953    /// 执行宣告操作编号
16954    pub ExecOrderSysID: TThostFtdcExecOrderSysIDType,
16955    /// 操作标志
16956    pub ActionFlag: TThostFtdcActionFlagType,
16957    /// 用户代码
16958    pub UserID: TThostFtdcUserIDType,
16959    /// 合约代码
16960    pub InstrumentID: TThostFtdcInstrumentIDType,
16961    /// 投资单元代码
16962    pub InvestUnitID: TThostFtdcInvestUnitIDType,
16963    /// IP地址
16964    pub IPAddress: TThostFtdcIPAddressType,
16965    /// Mac地址
16966    pub MacAddress: TThostFtdcMacAddressType,
16967    /// 错误代码
16968    pub ErrorID: TThostFtdcErrorIDType,
16969    /// 错误信息
16970    pub ErrorMsg: TThostFtdcErrorMsgType,
16971}
16972#[test]
16973fn bindgen_test_layout_CThostFtdcErrExecOrderActionField() {
16974    assert_eq!(::std::mem::size_of::<CThostFtdcErrExecOrderActionField>() ,
16975               276usize , concat ! (
16976               "Size of: " , stringify ! ( CThostFtdcErrExecOrderActionField )
16977               ));
16978    assert_eq! (::std::mem::align_of::<CThostFtdcErrExecOrderActionField>() ,
16979                4usize , concat ! (
16980                "Alignment of " , stringify ! (
16981                CThostFtdcErrExecOrderActionField ) ));
16982    assert_eq! (unsafe {
16983                & ( * ( 0 as * const CThostFtdcErrExecOrderActionField ) ) .
16984                BrokerID as * const _ as usize } , 0usize , concat ! (
16985                "Alignment of field: " , stringify ! (
16986                CThostFtdcErrExecOrderActionField ) , "::" , stringify ! (
16987                BrokerID ) ));
16988    assert_eq! (unsafe {
16989                & ( * ( 0 as * const CThostFtdcErrExecOrderActionField ) ) .
16990                InvestorID as * const _ as usize } , 11usize , concat ! (
16991                "Alignment of field: " , stringify ! (
16992                CThostFtdcErrExecOrderActionField ) , "::" , stringify ! (
16993                InvestorID ) ));
16994    assert_eq! (unsafe {
16995                & ( * ( 0 as * const CThostFtdcErrExecOrderActionField ) ) .
16996                ExecOrderActionRef as * const _ as usize } , 24usize , concat
16997                ! (
16998                "Alignment of field: " , stringify ! (
16999                CThostFtdcErrExecOrderActionField ) , "::" , stringify ! (
17000                ExecOrderActionRef ) ));
17001    assert_eq! (unsafe {
17002                & ( * ( 0 as * const CThostFtdcErrExecOrderActionField ) ) .
17003                ExecOrderRef as * const _ as usize } , 28usize , concat ! (
17004                "Alignment of field: " , stringify ! (
17005                CThostFtdcErrExecOrderActionField ) , "::" , stringify ! (
17006                ExecOrderRef ) ));
17007    assert_eq! (unsafe {
17008                & ( * ( 0 as * const CThostFtdcErrExecOrderActionField ) ) .
17009                RequestID as * const _ as usize } , 44usize , concat ! (
17010                "Alignment of field: " , stringify ! (
17011                CThostFtdcErrExecOrderActionField ) , "::" , stringify ! (
17012                RequestID ) ));
17013    assert_eq! (unsafe {
17014                & ( * ( 0 as * const CThostFtdcErrExecOrderActionField ) ) .
17015                FrontID as * const _ as usize } , 48usize , concat ! (
17016                "Alignment of field: " , stringify ! (
17017                CThostFtdcErrExecOrderActionField ) , "::" , stringify ! (
17018                FrontID ) ));
17019    assert_eq! (unsafe {
17020                & ( * ( 0 as * const CThostFtdcErrExecOrderActionField ) ) .
17021                SessionID as * const _ as usize } , 52usize , concat ! (
17022                "Alignment of field: " , stringify ! (
17023                CThostFtdcErrExecOrderActionField ) , "::" , stringify ! (
17024                SessionID ) ));
17025    assert_eq! (unsafe {
17026                & ( * ( 0 as * const CThostFtdcErrExecOrderActionField ) ) .
17027                ExchangeID as * const _ as usize } , 56usize , concat ! (
17028                "Alignment of field: " , stringify ! (
17029                CThostFtdcErrExecOrderActionField ) , "::" , stringify ! (
17030                ExchangeID ) ));
17031    assert_eq! (unsafe {
17032                & ( * ( 0 as * const CThostFtdcErrExecOrderActionField ) ) .
17033                ExecOrderSysID as * const _ as usize } , 65usize , concat ! (
17034                "Alignment of field: " , stringify ! (
17035                CThostFtdcErrExecOrderActionField ) , "::" , stringify ! (
17036                ExecOrderSysID ) ));
17037    assert_eq! (unsafe {
17038                & ( * ( 0 as * const CThostFtdcErrExecOrderActionField ) ) .
17039                ActionFlag as * const _ as usize } , 86usize , concat ! (
17040                "Alignment of field: " , stringify ! (
17041                CThostFtdcErrExecOrderActionField ) , "::" , stringify ! (
17042                ActionFlag ) ));
17043    assert_eq! (unsafe {
17044                & ( * ( 0 as * const CThostFtdcErrExecOrderActionField ) ) .
17045                UserID as * const _ as usize } , 87usize , concat ! (
17046                "Alignment of field: " , stringify ! (
17047                CThostFtdcErrExecOrderActionField ) , "::" , stringify ! (
17048                UserID ) ));
17049    assert_eq! (unsafe {
17050                & ( * ( 0 as * const CThostFtdcErrExecOrderActionField ) ) .
17051                InstrumentID as * const _ as usize } , 103usize , concat ! (
17052                "Alignment of field: " , stringify ! (
17053                CThostFtdcErrExecOrderActionField ) , "::" , stringify ! (
17054                InstrumentID ) ));
17055    assert_eq! (unsafe {
17056                & ( * ( 0 as * const CThostFtdcErrExecOrderActionField ) ) .
17057                InvestUnitID as * const _ as usize } , 134usize , concat ! (
17058                "Alignment of field: " , stringify ! (
17059                CThostFtdcErrExecOrderActionField ) , "::" , stringify ! (
17060                InvestUnitID ) ));
17061    assert_eq! (unsafe {
17062                & ( * ( 0 as * const CThostFtdcErrExecOrderActionField ) ) .
17063                IPAddress as * const _ as usize } , 151usize , concat ! (
17064                "Alignment of field: " , stringify ! (
17065                CThostFtdcErrExecOrderActionField ) , "::" , stringify ! (
17066                IPAddress ) ));
17067    assert_eq! (unsafe {
17068                & ( * ( 0 as * const CThostFtdcErrExecOrderActionField ) ) .
17069                MacAddress as * const _ as usize } , 167usize , concat ! (
17070                "Alignment of field: " , stringify ! (
17071                CThostFtdcErrExecOrderActionField ) , "::" , stringify ! (
17072                MacAddress ) ));
17073    assert_eq! (unsafe {
17074                & ( * ( 0 as * const CThostFtdcErrExecOrderActionField ) ) .
17075                ErrorID as * const _ as usize } , 188usize , concat ! (
17076                "Alignment of field: " , stringify ! (
17077                CThostFtdcErrExecOrderActionField ) , "::" , stringify ! (
17078                ErrorID ) ));
17079    assert_eq! (unsafe {
17080                & ( * ( 0 as * const CThostFtdcErrExecOrderActionField ) ) .
17081                ErrorMsg as * const _ as usize } , 192usize , concat ! (
17082                "Alignment of field: " , stringify ! (
17083                CThostFtdcErrExecOrderActionField ) , "::" , stringify ! (
17084                ErrorMsg ) ));
17085}
17086impl Clone for CThostFtdcErrExecOrderActionField {
17087    fn clone(&self) -> Self { *self }
17088}
17089impl Default for CThostFtdcErrExecOrderActionField {
17090    fn default() -> Self { unsafe { ::std::mem::zeroed() } }
17091}
17092/// 查询错误执行宣告操作
17093#[repr(C)]
17094#[derive(Default, Copy)]
17095pub struct CThostFtdcQryErrExecOrderActionField {
17096    /// 经纪公司代码
17097    pub BrokerID: TThostFtdcBrokerIDType,
17098    /// 投资者代码
17099    pub InvestorID: TThostFtdcInvestorIDType,
17100}
17101#[test]
17102fn bindgen_test_layout_CThostFtdcQryErrExecOrderActionField() {
17103    assert_eq!(::std::mem::size_of::<CThostFtdcQryErrExecOrderActionField>() ,
17104               24usize , concat ! (
17105               "Size of: " , stringify ! (
17106               CThostFtdcQryErrExecOrderActionField ) ));
17107    assert_eq! (::std::mem::align_of::<CThostFtdcQryErrExecOrderActionField>()
17108                , 1usize , concat ! (
17109                "Alignment of " , stringify ! (
17110                CThostFtdcQryErrExecOrderActionField ) ));
17111    assert_eq! (unsafe {
17112                & ( * ( 0 as * const CThostFtdcQryErrExecOrderActionField ) )
17113                . BrokerID as * const _ as usize } , 0usize , concat ! (
17114                "Alignment of field: " , stringify ! (
17115                CThostFtdcQryErrExecOrderActionField ) , "::" , stringify ! (
17116                BrokerID ) ));
17117    assert_eq! (unsafe {
17118                & ( * ( 0 as * const CThostFtdcQryErrExecOrderActionField ) )
17119                . InvestorID as * const _ as usize } , 11usize , concat ! (
17120                "Alignment of field: " , stringify ! (
17121                CThostFtdcQryErrExecOrderActionField ) , "::" , stringify ! (
17122                InvestorID ) ));
17123}
17124impl Clone for CThostFtdcQryErrExecOrderActionField {
17125    fn clone(&self) -> Self { *self }
17126}
17127/// 投资者期权合约交易权限
17128#[repr(C)]
17129#[derive(Default, Copy)]
17130pub struct CThostFtdcOptionInstrTradingRightField {
17131    /// 合约代码
17132    pub InstrumentID: TThostFtdcInstrumentIDType,
17133    /// 投资者范围
17134    pub InvestorRange: TThostFtdcInvestorRangeType,
17135    /// 经纪公司代码
17136    pub BrokerID: TThostFtdcBrokerIDType,
17137    /// 投资者代码
17138    pub InvestorID: TThostFtdcInvestorIDType,
17139    /// 买卖方向
17140    pub Direction: TThostFtdcDirectionType,
17141    /// 交易权限
17142    pub TradingRight: TThostFtdcTradingRightType,
17143}
17144#[test]
17145fn bindgen_test_layout_CThostFtdcOptionInstrTradingRightField() {
17146    assert_eq!(::std::mem::size_of::<CThostFtdcOptionInstrTradingRightField>()
17147               , 58usize , concat ! (
17148               "Size of: " , stringify ! (
17149               CThostFtdcOptionInstrTradingRightField ) ));
17150    assert_eq! (::std::mem::align_of::<CThostFtdcOptionInstrTradingRightField>()
17151                , 1usize , concat ! (
17152                "Alignment of " , stringify ! (
17153                CThostFtdcOptionInstrTradingRightField ) ));
17154    assert_eq! (unsafe {
17155                & ( * ( 0 as * const CThostFtdcOptionInstrTradingRightField )
17156                ) . InstrumentID as * const _ as usize } , 0usize , concat ! (
17157                "Alignment of field: " , stringify ! (
17158                CThostFtdcOptionInstrTradingRightField ) , "::" , stringify !
17159                ( InstrumentID ) ));
17160    assert_eq! (unsafe {
17161                & ( * ( 0 as * const CThostFtdcOptionInstrTradingRightField )
17162                ) . InvestorRange as * const _ as usize } , 31usize , concat !
17163                (
17164                "Alignment of field: " , stringify ! (
17165                CThostFtdcOptionInstrTradingRightField ) , "::" , stringify !
17166                ( InvestorRange ) ));
17167    assert_eq! (unsafe {
17168                & ( * ( 0 as * const CThostFtdcOptionInstrTradingRightField )
17169                ) . BrokerID as * const _ as usize } , 32usize , concat ! (
17170                "Alignment of field: " , stringify ! (
17171                CThostFtdcOptionInstrTradingRightField ) , "::" , stringify !
17172                ( BrokerID ) ));
17173    assert_eq! (unsafe {
17174                & ( * ( 0 as * const CThostFtdcOptionInstrTradingRightField )
17175                ) . InvestorID as * const _ as usize } , 43usize , concat ! (
17176                "Alignment of field: " , stringify ! (
17177                CThostFtdcOptionInstrTradingRightField ) , "::" , stringify !
17178                ( InvestorID ) ));
17179    assert_eq! (unsafe {
17180                & ( * ( 0 as * const CThostFtdcOptionInstrTradingRightField )
17181                ) . Direction as * const _ as usize } , 56usize , concat ! (
17182                "Alignment of field: " , stringify ! (
17183                CThostFtdcOptionInstrTradingRightField ) , "::" , stringify !
17184                ( Direction ) ));
17185    assert_eq! (unsafe {
17186                & ( * ( 0 as * const CThostFtdcOptionInstrTradingRightField )
17187                ) . TradingRight as * const _ as usize } , 57usize , concat !
17188                (
17189                "Alignment of field: " , stringify ! (
17190                CThostFtdcOptionInstrTradingRightField ) , "::" , stringify !
17191                ( TradingRight ) ));
17192}
17193impl Clone for CThostFtdcOptionInstrTradingRightField {
17194    fn clone(&self) -> Self { *self }
17195}
17196/// 查询期权合约交易权限
17197#[repr(C)]
17198#[derive(Default, Copy)]
17199pub struct CThostFtdcQryOptionInstrTradingRightField {
17200    /// 经纪公司代码
17201    pub BrokerID: TThostFtdcBrokerIDType,
17202    /// 投资者代码
17203    pub InvestorID: TThostFtdcInvestorIDType,
17204    /// 合约代码
17205    pub InstrumentID: TThostFtdcInstrumentIDType,
17206    /// 买卖方向
17207    pub Direction: TThostFtdcDirectionType,
17208}
17209#[test]
17210fn bindgen_test_layout_CThostFtdcQryOptionInstrTradingRightField() {
17211    assert_eq!(::std::mem::size_of::<CThostFtdcQryOptionInstrTradingRightField>()
17212               , 56usize , concat ! (
17213               "Size of: " , stringify ! (
17214               CThostFtdcQryOptionInstrTradingRightField ) ));
17215    assert_eq! (::std::mem::align_of::<CThostFtdcQryOptionInstrTradingRightField>()
17216                , 1usize , concat ! (
17217                "Alignment of " , stringify ! (
17218                CThostFtdcQryOptionInstrTradingRightField ) ));
17219    assert_eq! (unsafe {
17220                & (
17221                * ( 0 as * const CThostFtdcQryOptionInstrTradingRightField ) )
17222                . BrokerID as * const _ as usize } , 0usize , concat ! (
17223                "Alignment of field: " , stringify ! (
17224                CThostFtdcQryOptionInstrTradingRightField ) , "::" , stringify
17225                ! ( BrokerID ) ));
17226    assert_eq! (unsafe {
17227                & (
17228                * ( 0 as * const CThostFtdcQryOptionInstrTradingRightField ) )
17229                . InvestorID as * const _ as usize } , 11usize , concat ! (
17230                "Alignment of field: " , stringify ! (
17231                CThostFtdcQryOptionInstrTradingRightField ) , "::" , stringify
17232                ! ( InvestorID ) ));
17233    assert_eq! (unsafe {
17234                & (
17235                * ( 0 as * const CThostFtdcQryOptionInstrTradingRightField ) )
17236                . InstrumentID as * const _ as usize } , 24usize , concat ! (
17237                "Alignment of field: " , stringify ! (
17238                CThostFtdcQryOptionInstrTradingRightField ) , "::" , stringify
17239                ! ( InstrumentID ) ));
17240    assert_eq! (unsafe {
17241                & (
17242                * ( 0 as * const CThostFtdcQryOptionInstrTradingRightField ) )
17243                . Direction as * const _ as usize } , 55usize , concat ! (
17244                "Alignment of field: " , stringify ! (
17245                CThostFtdcQryOptionInstrTradingRightField ) , "::" , stringify
17246                ! ( Direction ) ));
17247}
17248impl Clone for CThostFtdcQryOptionInstrTradingRightField {
17249    fn clone(&self) -> Self { *self }
17250}
17251/// 输入的询价
17252#[repr(C)]
17253#[derive(Default, Copy)]
17254pub struct CThostFtdcInputForQuoteField {
17255    /// 经纪公司代码
17256    pub BrokerID: TThostFtdcBrokerIDType,
17257    /// 投资者代码
17258    pub InvestorID: TThostFtdcInvestorIDType,
17259    /// 合约代码
17260    pub InstrumentID: TThostFtdcInstrumentIDType,
17261    /// 询价引用
17262    pub ForQuoteRef: TThostFtdcOrderRefType,
17263    /// 用户代码
17264    pub UserID: TThostFtdcUserIDType,
17265    /// 交易所代码
17266    pub ExchangeID: TThostFtdcExchangeIDType,
17267    /// 投资单元代码
17268    pub InvestUnitID: TThostFtdcInvestUnitIDType,
17269    /// IP地址
17270    pub IPAddress: TThostFtdcIPAddressType,
17271    /// Mac地址
17272    pub MacAddress: TThostFtdcMacAddressType,
17273}
17274#[test]
17275fn bindgen_test_layout_CThostFtdcInputForQuoteField() {
17276    assert_eq!(::std::mem::size_of::<CThostFtdcInputForQuoteField>() ,
17277               147usize , concat ! (
17278               "Size of: " , stringify ! ( CThostFtdcInputForQuoteField ) ));
17279    assert_eq! (::std::mem::align_of::<CThostFtdcInputForQuoteField>() ,
17280                1usize , concat ! (
17281                "Alignment of " , stringify ! ( CThostFtdcInputForQuoteField )
17282                ));
17283    assert_eq! (unsafe {
17284                & ( * ( 0 as * const CThostFtdcInputForQuoteField ) ) .
17285                BrokerID as * const _ as usize } , 0usize , concat ! (
17286                "Alignment of field: " , stringify ! (
17287                CThostFtdcInputForQuoteField ) , "::" , stringify ! ( BrokerID
17288                ) ));
17289    assert_eq! (unsafe {
17290                & ( * ( 0 as * const CThostFtdcInputForQuoteField ) ) .
17291                InvestorID as * const _ as usize } , 11usize , concat ! (
17292                "Alignment of field: " , stringify ! (
17293                CThostFtdcInputForQuoteField ) , "::" , stringify ! (
17294                InvestorID ) ));
17295    assert_eq! (unsafe {
17296                & ( * ( 0 as * const CThostFtdcInputForQuoteField ) ) .
17297                InstrumentID as * const _ as usize } , 24usize , concat ! (
17298                "Alignment of field: " , stringify ! (
17299                CThostFtdcInputForQuoteField ) , "::" , stringify ! (
17300                InstrumentID ) ));
17301    assert_eq! (unsafe {
17302                & ( * ( 0 as * const CThostFtdcInputForQuoteField ) ) .
17303                ForQuoteRef as * const _ as usize } , 55usize , concat ! (
17304                "Alignment of field: " , stringify ! (
17305                CThostFtdcInputForQuoteField ) , "::" , stringify ! (
17306                ForQuoteRef ) ));
17307    assert_eq! (unsafe {
17308                & ( * ( 0 as * const CThostFtdcInputForQuoteField ) ) . UserID
17309                as * const _ as usize } , 68usize , concat ! (
17310                "Alignment of field: " , stringify ! (
17311                CThostFtdcInputForQuoteField ) , "::" , stringify ! ( UserID )
17312                ));
17313    assert_eq! (unsafe {
17314                & ( * ( 0 as * const CThostFtdcInputForQuoteField ) ) .
17315                ExchangeID as * const _ as usize } , 84usize , concat ! (
17316                "Alignment of field: " , stringify ! (
17317                CThostFtdcInputForQuoteField ) , "::" , stringify ! (
17318                ExchangeID ) ));
17319    assert_eq! (unsafe {
17320                & ( * ( 0 as * const CThostFtdcInputForQuoteField ) ) .
17321                InvestUnitID as * const _ as usize } , 93usize , concat ! (
17322                "Alignment of field: " , stringify ! (
17323                CThostFtdcInputForQuoteField ) , "::" , stringify ! (
17324                InvestUnitID ) ));
17325    assert_eq! (unsafe {
17326                & ( * ( 0 as * const CThostFtdcInputForQuoteField ) ) .
17327                IPAddress as * const _ as usize } , 110usize , concat ! (
17328                "Alignment of field: " , stringify ! (
17329                CThostFtdcInputForQuoteField ) , "::" , stringify ! (
17330                IPAddress ) ));
17331    assert_eq! (unsafe {
17332                & ( * ( 0 as * const CThostFtdcInputForQuoteField ) ) .
17333                MacAddress as * const _ as usize } , 126usize , concat ! (
17334                "Alignment of field: " , stringify ! (
17335                CThostFtdcInputForQuoteField ) , "::" , stringify ! (
17336                MacAddress ) ));
17337}
17338impl Clone for CThostFtdcInputForQuoteField {
17339    fn clone(&self) -> Self { *self }
17340}
17341/// 询价
17342#[repr(C)]
17343#[derive(Copy)]
17344pub struct CThostFtdcForQuoteField {
17345    /// 经纪公司代码
17346    pub BrokerID: TThostFtdcBrokerIDType,
17347    /// 投资者代码
17348    pub InvestorID: TThostFtdcInvestorIDType,
17349    /// 合约代码
17350    pub InstrumentID: TThostFtdcInstrumentIDType,
17351    /// 询价引用
17352    pub ForQuoteRef: TThostFtdcOrderRefType,
17353    /// 用户代码
17354    pub UserID: TThostFtdcUserIDType,
17355    /// 本地询价编号
17356    pub ForQuoteLocalID: TThostFtdcOrderLocalIDType,
17357    /// 交易所代码
17358    pub ExchangeID: TThostFtdcExchangeIDType,
17359    /// 会员代码
17360    pub ParticipantID: TThostFtdcParticipantIDType,
17361    /// 客户代码
17362    pub ClientID: TThostFtdcClientIDType,
17363    /// 合约在交易所的代码
17364    pub ExchangeInstID: TThostFtdcExchangeInstIDType,
17365    /// 交易所交易员代码
17366    pub TraderID: TThostFtdcTraderIDType,
17367    /// 安装编号
17368    pub InstallID: TThostFtdcInstallIDType,
17369    /// 报单日期
17370    pub InsertDate: TThostFtdcDateType,
17371    /// 插入时间
17372    pub InsertTime: TThostFtdcTimeType,
17373    /// 询价状态
17374    pub ForQuoteStatus: TThostFtdcForQuoteStatusType,
17375    /// 前置编号
17376    pub FrontID: TThostFtdcFrontIDType,
17377    /// 会话编号
17378    pub SessionID: TThostFtdcSessionIDType,
17379    /// 状态信息
17380    pub StatusMsg: TThostFtdcErrorMsgType,
17381    /// 操作用户代码
17382    pub ActiveUserID: TThostFtdcUserIDType,
17383    /// 经纪公司询价编号
17384    pub BrokerForQutoSeq: TThostFtdcSequenceNoType,
17385    /// 投资单元代码
17386    pub InvestUnitID: TThostFtdcInvestUnitIDType,
17387    /// IP地址
17388    pub IPAddress: TThostFtdcIPAddressType,
17389    /// Mac地址
17390    pub MacAddress: TThostFtdcMacAddressType,
17391}
17392#[test]
17393fn bindgen_test_layout_CThostFtdcForQuoteField() {
17394    assert_eq!(::std::mem::size_of::<CThostFtdcForQuoteField>() , 372usize ,
17395               concat ! (
17396               "Size of: " , stringify ! ( CThostFtdcForQuoteField ) ));
17397    assert_eq! (::std::mem::align_of::<CThostFtdcForQuoteField>() , 4usize ,
17398                concat ! (
17399                "Alignment of " , stringify ! ( CThostFtdcForQuoteField ) ));
17400    assert_eq! (unsafe {
17401                & ( * ( 0 as * const CThostFtdcForQuoteField ) ) . BrokerID as
17402                * const _ as usize } , 0usize , concat ! (
17403                "Alignment of field: " , stringify ! ( CThostFtdcForQuoteField
17404                ) , "::" , stringify ! ( BrokerID ) ));
17405    assert_eq! (unsafe {
17406                & ( * ( 0 as * const CThostFtdcForQuoteField ) ) . InvestorID
17407                as * const _ as usize } , 11usize , concat ! (
17408                "Alignment of field: " , stringify ! ( CThostFtdcForQuoteField
17409                ) , "::" , stringify ! ( InvestorID ) ));
17410    assert_eq! (unsafe {
17411                & ( * ( 0 as * const CThostFtdcForQuoteField ) ) .
17412                InstrumentID as * const _ as usize } , 24usize , concat ! (
17413                "Alignment of field: " , stringify ! ( CThostFtdcForQuoteField
17414                ) , "::" , stringify ! ( InstrumentID ) ));
17415    assert_eq! (unsafe {
17416                & ( * ( 0 as * const CThostFtdcForQuoteField ) ) . ForQuoteRef
17417                as * const _ as usize } , 55usize , concat ! (
17418                "Alignment of field: " , stringify ! ( CThostFtdcForQuoteField
17419                ) , "::" , stringify ! ( ForQuoteRef ) ));
17420    assert_eq! (unsafe {
17421                & ( * ( 0 as * const CThostFtdcForQuoteField ) ) . UserID as *
17422                const _ as usize } , 68usize , concat ! (
17423                "Alignment of field: " , stringify ! ( CThostFtdcForQuoteField
17424                ) , "::" , stringify ! ( UserID ) ));
17425    assert_eq! (unsafe {
17426                & ( * ( 0 as * const CThostFtdcForQuoteField ) ) .
17427                ForQuoteLocalID as * const _ as usize } , 84usize , concat ! (
17428                "Alignment of field: " , stringify ! ( CThostFtdcForQuoteField
17429                ) , "::" , stringify ! ( ForQuoteLocalID ) ));
17430    assert_eq! (unsafe {
17431                & ( * ( 0 as * const CThostFtdcForQuoteField ) ) . ExchangeID
17432                as * const _ as usize } , 97usize , concat ! (
17433                "Alignment of field: " , stringify ! ( CThostFtdcForQuoteField
17434                ) , "::" , stringify ! ( ExchangeID ) ));
17435    assert_eq! (unsafe {
17436                & ( * ( 0 as * const CThostFtdcForQuoteField ) ) .
17437                ParticipantID as * const _ as usize } , 106usize , concat ! (
17438                "Alignment of field: " , stringify ! ( CThostFtdcForQuoteField
17439                ) , "::" , stringify ! ( ParticipantID ) ));
17440    assert_eq! (unsafe {
17441                & ( * ( 0 as * const CThostFtdcForQuoteField ) ) . ClientID as
17442                * const _ as usize } , 117usize , concat ! (
17443                "Alignment of field: " , stringify ! ( CThostFtdcForQuoteField
17444                ) , "::" , stringify ! ( ClientID ) ));
17445    assert_eq! (unsafe {
17446                & ( * ( 0 as * const CThostFtdcForQuoteField ) ) .
17447                ExchangeInstID as * const _ as usize } , 128usize , concat ! (
17448                "Alignment of field: " , stringify ! ( CThostFtdcForQuoteField
17449                ) , "::" , stringify ! ( ExchangeInstID ) ));
17450    assert_eq! (unsafe {
17451                & ( * ( 0 as * const CThostFtdcForQuoteField ) ) . TraderID as
17452                * const _ as usize } , 159usize , concat ! (
17453                "Alignment of field: " , stringify ! ( CThostFtdcForQuoteField
17454                ) , "::" , stringify ! ( TraderID ) ));
17455    assert_eq! (unsafe {
17456                & ( * ( 0 as * const CThostFtdcForQuoteField ) ) . InstallID
17457                as * const _ as usize } , 180usize , concat ! (
17458                "Alignment of field: " , stringify ! ( CThostFtdcForQuoteField
17459                ) , "::" , stringify ! ( InstallID ) ));
17460    assert_eq! (unsafe {
17461                & ( * ( 0 as * const CThostFtdcForQuoteField ) ) . InsertDate
17462                as * const _ as usize } , 184usize , concat ! (
17463                "Alignment of field: " , stringify ! ( CThostFtdcForQuoteField
17464                ) , "::" , stringify ! ( InsertDate ) ));
17465    assert_eq! (unsafe {
17466                & ( * ( 0 as * const CThostFtdcForQuoteField ) ) . InsertTime
17467                as * const _ as usize } , 193usize , concat ! (
17468                "Alignment of field: " , stringify ! ( CThostFtdcForQuoteField
17469                ) , "::" , stringify ! ( InsertTime ) ));
17470    assert_eq! (unsafe {
17471                & ( * ( 0 as * const CThostFtdcForQuoteField ) ) .
17472                ForQuoteStatus as * const _ as usize } , 202usize , concat ! (
17473                "Alignment of field: " , stringify ! ( CThostFtdcForQuoteField
17474                ) , "::" , stringify ! ( ForQuoteStatus ) ));
17475    assert_eq! (unsafe {
17476                & ( * ( 0 as * const CThostFtdcForQuoteField ) ) . FrontID as
17477                * const _ as usize } , 204usize , concat ! (
17478                "Alignment of field: " , stringify ! ( CThostFtdcForQuoteField
17479                ) , "::" , stringify ! ( FrontID ) ));
17480    assert_eq! (unsafe {
17481                & ( * ( 0 as * const CThostFtdcForQuoteField ) ) . SessionID
17482                as * const _ as usize } , 208usize , concat ! (
17483                "Alignment of field: " , stringify ! ( CThostFtdcForQuoteField
17484                ) , "::" , stringify ! ( SessionID ) ));
17485    assert_eq! (unsafe {
17486                & ( * ( 0 as * const CThostFtdcForQuoteField ) ) . StatusMsg
17487                as * const _ as usize } , 212usize , concat ! (
17488                "Alignment of field: " , stringify ! ( CThostFtdcForQuoteField
17489                ) , "::" , stringify ! ( StatusMsg ) ));
17490    assert_eq! (unsafe {
17491                & ( * ( 0 as * const CThostFtdcForQuoteField ) ) .
17492                ActiveUserID as * const _ as usize } , 293usize , concat ! (
17493                "Alignment of field: " , stringify ! ( CThostFtdcForQuoteField
17494                ) , "::" , stringify ! ( ActiveUserID ) ));
17495    assert_eq! (unsafe {
17496                & ( * ( 0 as * const CThostFtdcForQuoteField ) ) .
17497                BrokerForQutoSeq as * const _ as usize } , 312usize , concat !
17498                (
17499                "Alignment of field: " , stringify ! ( CThostFtdcForQuoteField
17500                ) , "::" , stringify ! ( BrokerForQutoSeq ) ));
17501    assert_eq! (unsafe {
17502                & ( * ( 0 as * const CThostFtdcForQuoteField ) ) .
17503                InvestUnitID as * const _ as usize } , 316usize , concat ! (
17504                "Alignment of field: " , stringify ! ( CThostFtdcForQuoteField
17505                ) , "::" , stringify ! ( InvestUnitID ) ));
17506    assert_eq! (unsafe {
17507                & ( * ( 0 as * const CThostFtdcForQuoteField ) ) . IPAddress
17508                as * const _ as usize } , 333usize , concat ! (
17509                "Alignment of field: " , stringify ! ( CThostFtdcForQuoteField
17510                ) , "::" , stringify ! ( IPAddress ) ));
17511    assert_eq! (unsafe {
17512                & ( * ( 0 as * const CThostFtdcForQuoteField ) ) . MacAddress
17513                as * const _ as usize } , 349usize , concat ! (
17514                "Alignment of field: " , stringify ! ( CThostFtdcForQuoteField
17515                ) , "::" , stringify ! ( MacAddress ) ));
17516}
17517impl Clone for CThostFtdcForQuoteField {
17518    fn clone(&self) -> Self { *self }
17519}
17520impl Default for CThostFtdcForQuoteField {
17521    fn default() -> Self { unsafe { ::std::mem::zeroed() } }
17522}
17523/// 询价查询
17524#[repr(C)]
17525#[derive(Default, Copy)]
17526pub struct CThostFtdcQryForQuoteField {
17527    /// 经纪公司代码
17528    pub BrokerID: TThostFtdcBrokerIDType,
17529    /// 投资者代码
17530    pub InvestorID: TThostFtdcInvestorIDType,
17531    /// 合约代码
17532    pub InstrumentID: TThostFtdcInstrumentIDType,
17533    /// 交易所代码
17534    pub ExchangeID: TThostFtdcExchangeIDType,
17535    /// 开始时间
17536    pub InsertTimeStart: TThostFtdcTimeType,
17537    /// 结束时间
17538    pub InsertTimeEnd: TThostFtdcTimeType,
17539    /// 投资单元代码
17540    pub InvestUnitID: TThostFtdcInvestUnitIDType,
17541}
17542#[test]
17543fn bindgen_test_layout_CThostFtdcQryForQuoteField() {
17544    assert_eq!(::std::mem::size_of::<CThostFtdcQryForQuoteField>() , 99usize ,
17545               concat ! (
17546               "Size of: " , stringify ! ( CThostFtdcQryForQuoteField ) ));
17547    assert_eq! (::std::mem::align_of::<CThostFtdcQryForQuoteField>() , 1usize
17548                , concat ! (
17549                "Alignment of " , stringify ! ( CThostFtdcQryForQuoteField )
17550                ));
17551    assert_eq! (unsafe {
17552                & ( * ( 0 as * const CThostFtdcQryForQuoteField ) ) . BrokerID
17553                as * const _ as usize } , 0usize , concat ! (
17554                "Alignment of field: " , stringify ! (
17555                CThostFtdcQryForQuoteField ) , "::" , stringify ! ( BrokerID )
17556                ));
17557    assert_eq! (unsafe {
17558                & ( * ( 0 as * const CThostFtdcQryForQuoteField ) ) .
17559                InvestorID as * const _ as usize } , 11usize , concat ! (
17560                "Alignment of field: " , stringify ! (
17561                CThostFtdcQryForQuoteField ) , "::" , stringify ! ( InvestorID
17562                ) ));
17563    assert_eq! (unsafe {
17564                & ( * ( 0 as * const CThostFtdcQryForQuoteField ) ) .
17565                InstrumentID as * const _ as usize } , 24usize , concat ! (
17566                "Alignment of field: " , stringify ! (
17567                CThostFtdcQryForQuoteField ) , "::" , stringify ! (
17568                InstrumentID ) ));
17569    assert_eq! (unsafe {
17570                & ( * ( 0 as * const CThostFtdcQryForQuoteField ) ) .
17571                ExchangeID as * const _ as usize } , 55usize , concat ! (
17572                "Alignment of field: " , stringify ! (
17573                CThostFtdcQryForQuoteField ) , "::" , stringify ! ( ExchangeID
17574                ) ));
17575    assert_eq! (unsafe {
17576                & ( * ( 0 as * const CThostFtdcQryForQuoteField ) ) .
17577                InsertTimeStart as * const _ as usize } , 64usize , concat ! (
17578                "Alignment of field: " , stringify ! (
17579                CThostFtdcQryForQuoteField ) , "::" , stringify ! (
17580                InsertTimeStart ) ));
17581    assert_eq! (unsafe {
17582                & ( * ( 0 as * const CThostFtdcQryForQuoteField ) ) .
17583                InsertTimeEnd as * const _ as usize } , 73usize , concat ! (
17584                "Alignment of field: " , stringify ! (
17585                CThostFtdcQryForQuoteField ) , "::" , stringify ! (
17586                InsertTimeEnd ) ));
17587    assert_eq! (unsafe {
17588                & ( * ( 0 as * const CThostFtdcQryForQuoteField ) ) .
17589                InvestUnitID as * const _ as usize } , 82usize , concat ! (
17590                "Alignment of field: " , stringify ! (
17591                CThostFtdcQryForQuoteField ) , "::" , stringify ! (
17592                InvestUnitID ) ));
17593}
17594impl Clone for CThostFtdcQryForQuoteField {
17595    fn clone(&self) -> Self { *self }
17596}
17597/// 交易所询价信息
17598#[repr(C)]
17599#[derive(Default, Copy)]
17600pub struct CThostFtdcExchangeForQuoteField {
17601    /// 本地询价编号
17602    pub ForQuoteLocalID: TThostFtdcOrderLocalIDType,
17603    /// 交易所代码
17604    pub ExchangeID: TThostFtdcExchangeIDType,
17605    /// 会员代码
17606    pub ParticipantID: TThostFtdcParticipantIDType,
17607    /// 客户代码
17608    pub ClientID: TThostFtdcClientIDType,
17609    /// 合约在交易所的代码
17610    pub ExchangeInstID: TThostFtdcExchangeInstIDType,
17611    /// 交易所交易员代码
17612    pub TraderID: TThostFtdcTraderIDType,
17613    /// 安装编号
17614    pub InstallID: TThostFtdcInstallIDType,
17615    /// 报单日期
17616    pub InsertDate: TThostFtdcDateType,
17617    /// 插入时间
17618    pub InsertTime: TThostFtdcTimeType,
17619    /// 询价状态
17620    pub ForQuoteStatus: TThostFtdcForQuoteStatusType,
17621    /// IP地址
17622    pub IPAddress: TThostFtdcIPAddressType,
17623    /// Mac地址
17624    pub MacAddress: TThostFtdcMacAddressType,
17625}
17626#[test]
17627fn bindgen_test_layout_CThostFtdcExchangeForQuoteField() {
17628    assert_eq!(::std::mem::size_of::<CThostFtdcExchangeForQuoteField>() ,
17629               156usize , concat ! (
17630               "Size of: " , stringify ! ( CThostFtdcExchangeForQuoteField )
17631               ));
17632    assert_eq! (::std::mem::align_of::<CThostFtdcExchangeForQuoteField>() ,
17633                4usize , concat ! (
17634                "Alignment of " , stringify ! (
17635                CThostFtdcExchangeForQuoteField ) ));
17636    assert_eq! (unsafe {
17637                & ( * ( 0 as * const CThostFtdcExchangeForQuoteField ) ) .
17638                ForQuoteLocalID as * const _ as usize } , 0usize , concat ! (
17639                "Alignment of field: " , stringify ! (
17640                CThostFtdcExchangeForQuoteField ) , "::" , stringify ! (
17641                ForQuoteLocalID ) ));
17642    assert_eq! (unsafe {
17643                & ( * ( 0 as * const CThostFtdcExchangeForQuoteField ) ) .
17644                ExchangeID as * const _ as usize } , 13usize , concat ! (
17645                "Alignment of field: " , stringify ! (
17646                CThostFtdcExchangeForQuoteField ) , "::" , stringify ! (
17647                ExchangeID ) ));
17648    assert_eq! (unsafe {
17649                & ( * ( 0 as * const CThostFtdcExchangeForQuoteField ) ) .
17650                ParticipantID as * const _ as usize } , 22usize , concat ! (
17651                "Alignment of field: " , stringify ! (
17652                CThostFtdcExchangeForQuoteField ) , "::" , stringify ! (
17653                ParticipantID ) ));
17654    assert_eq! (unsafe {
17655                & ( * ( 0 as * const CThostFtdcExchangeForQuoteField ) ) .
17656                ClientID as * const _ as usize } , 33usize , concat ! (
17657                "Alignment of field: " , stringify ! (
17658                CThostFtdcExchangeForQuoteField ) , "::" , stringify ! (
17659                ClientID ) ));
17660    assert_eq! (unsafe {
17661                & ( * ( 0 as * const CThostFtdcExchangeForQuoteField ) ) .
17662                ExchangeInstID as * const _ as usize } , 44usize , concat ! (
17663                "Alignment of field: " , stringify ! (
17664                CThostFtdcExchangeForQuoteField ) , "::" , stringify ! (
17665                ExchangeInstID ) ));
17666    assert_eq! (unsafe {
17667                & ( * ( 0 as * const CThostFtdcExchangeForQuoteField ) ) .
17668                TraderID as * const _ as usize } , 75usize , concat ! (
17669                "Alignment of field: " , stringify ! (
17670                CThostFtdcExchangeForQuoteField ) , "::" , stringify ! (
17671                TraderID ) ));
17672    assert_eq! (unsafe {
17673                & ( * ( 0 as * const CThostFtdcExchangeForQuoteField ) ) .
17674                InstallID as * const _ as usize } , 96usize , concat ! (
17675                "Alignment of field: " , stringify ! (
17676                CThostFtdcExchangeForQuoteField ) , "::" , stringify ! (
17677                InstallID ) ));
17678    assert_eq! (unsafe {
17679                & ( * ( 0 as * const CThostFtdcExchangeForQuoteField ) ) .
17680                InsertDate as * const _ as usize } , 100usize , concat ! (
17681                "Alignment of field: " , stringify ! (
17682                CThostFtdcExchangeForQuoteField ) , "::" , stringify ! (
17683                InsertDate ) ));
17684    assert_eq! (unsafe {
17685                & ( * ( 0 as * const CThostFtdcExchangeForQuoteField ) ) .
17686                InsertTime as * const _ as usize } , 109usize , concat ! (
17687                "Alignment of field: " , stringify ! (
17688                CThostFtdcExchangeForQuoteField ) , "::" , stringify ! (
17689                InsertTime ) ));
17690    assert_eq! (unsafe {
17691                & ( * ( 0 as * const CThostFtdcExchangeForQuoteField ) ) .
17692                ForQuoteStatus as * const _ as usize } , 118usize , concat ! (
17693                "Alignment of field: " , stringify ! (
17694                CThostFtdcExchangeForQuoteField ) , "::" , stringify ! (
17695                ForQuoteStatus ) ));
17696    assert_eq! (unsafe {
17697                & ( * ( 0 as * const CThostFtdcExchangeForQuoteField ) ) .
17698                IPAddress as * const _ as usize } , 119usize , concat ! (
17699                "Alignment of field: " , stringify ! (
17700                CThostFtdcExchangeForQuoteField ) , "::" , stringify ! (
17701                IPAddress ) ));
17702    assert_eq! (unsafe {
17703                & ( * ( 0 as * const CThostFtdcExchangeForQuoteField ) ) .
17704                MacAddress as * const _ as usize } , 135usize , concat ! (
17705                "Alignment of field: " , stringify ! (
17706                CThostFtdcExchangeForQuoteField ) , "::" , stringify ! (
17707                MacAddress ) ));
17708}
17709impl Clone for CThostFtdcExchangeForQuoteField {
17710    fn clone(&self) -> Self { *self }
17711}
17712/// 交易所询价查询
17713#[repr(C)]
17714#[derive(Default, Copy)]
17715pub struct CThostFtdcQryExchangeForQuoteField {
17716    /// 会员代码
17717    pub ParticipantID: TThostFtdcParticipantIDType,
17718    /// 客户代码
17719    pub ClientID: TThostFtdcClientIDType,
17720    /// 合约在交易所的代码
17721    pub ExchangeInstID: TThostFtdcExchangeInstIDType,
17722    /// 交易所代码
17723    pub ExchangeID: TThostFtdcExchangeIDType,
17724    /// 交易所交易员代码
17725    pub TraderID: TThostFtdcTraderIDType,
17726}
17727#[test]
17728fn bindgen_test_layout_CThostFtdcQryExchangeForQuoteField() {
17729    assert_eq!(::std::mem::size_of::<CThostFtdcQryExchangeForQuoteField>() ,
17730               83usize , concat ! (
17731               "Size of: " , stringify ! ( CThostFtdcQryExchangeForQuoteField
17732               ) ));
17733    assert_eq! (::std::mem::align_of::<CThostFtdcQryExchangeForQuoteField>() ,
17734                1usize , concat ! (
17735                "Alignment of " , stringify ! (
17736                CThostFtdcQryExchangeForQuoteField ) ));
17737    assert_eq! (unsafe {
17738                & ( * ( 0 as * const CThostFtdcQryExchangeForQuoteField ) ) .
17739                ParticipantID as * const _ as usize } , 0usize , concat ! (
17740                "Alignment of field: " , stringify ! (
17741                CThostFtdcQryExchangeForQuoteField ) , "::" , stringify ! (
17742                ParticipantID ) ));
17743    assert_eq! (unsafe {
17744                & ( * ( 0 as * const CThostFtdcQryExchangeForQuoteField ) ) .
17745                ClientID as * const _ as usize } , 11usize , concat ! (
17746                "Alignment of field: " , stringify ! (
17747                CThostFtdcQryExchangeForQuoteField ) , "::" , stringify ! (
17748                ClientID ) ));
17749    assert_eq! (unsafe {
17750                & ( * ( 0 as * const CThostFtdcQryExchangeForQuoteField ) ) .
17751                ExchangeInstID as * const _ as usize } , 22usize , concat ! (
17752                "Alignment of field: " , stringify ! (
17753                CThostFtdcQryExchangeForQuoteField ) , "::" , stringify ! (
17754                ExchangeInstID ) ));
17755    assert_eq! (unsafe {
17756                & ( * ( 0 as * const CThostFtdcQryExchangeForQuoteField ) ) .
17757                ExchangeID as * const _ as usize } , 53usize , concat ! (
17758                "Alignment of field: " , stringify ! (
17759                CThostFtdcQryExchangeForQuoteField ) , "::" , stringify ! (
17760                ExchangeID ) ));
17761    assert_eq! (unsafe {
17762                & ( * ( 0 as * const CThostFtdcQryExchangeForQuoteField ) ) .
17763                TraderID as * const _ as usize } , 62usize , concat ! (
17764                "Alignment of field: " , stringify ! (
17765                CThostFtdcQryExchangeForQuoteField ) , "::" , stringify ! (
17766                TraderID ) ));
17767}
17768impl Clone for CThostFtdcQryExchangeForQuoteField {
17769    fn clone(&self) -> Self { *self }
17770}
17771/// 输入的报价
17772#[repr(C)]
17773#[derive(Default, Copy)]
17774pub struct CThostFtdcInputQuoteField {
17775    /// 经纪公司代码
17776    pub BrokerID: TThostFtdcBrokerIDType,
17777    /// 投资者代码
17778    pub InvestorID: TThostFtdcInvestorIDType,
17779    /// 合约代码
17780    pub InstrumentID: TThostFtdcInstrumentIDType,
17781    /// 报价引用
17782    pub QuoteRef: TThostFtdcOrderRefType,
17783    /// 用户代码
17784    pub UserID: TThostFtdcUserIDType,
17785    /// 卖价格
17786    pub AskPrice: TThostFtdcPriceType,
17787    /// 买价格
17788    pub BidPrice: TThostFtdcPriceType,
17789    /// 卖数量
17790    pub AskVolume: TThostFtdcVolumeType,
17791    /// 买数量
17792    pub BidVolume: TThostFtdcVolumeType,
17793    /// 请求编号
17794    pub RequestID: TThostFtdcRequestIDType,
17795    /// 业务单元
17796    pub BusinessUnit: TThostFtdcBusinessUnitType,
17797    /// 卖开平标志
17798    pub AskOffsetFlag: TThostFtdcOffsetFlagType,
17799    /// 买开平标志
17800    pub BidOffsetFlag: TThostFtdcOffsetFlagType,
17801    /// 卖投机套保标志
17802    pub AskHedgeFlag: TThostFtdcHedgeFlagType,
17803    /// 买投机套保标志
17804    pub BidHedgeFlag: TThostFtdcHedgeFlagType,
17805    /// 衍生卖报单引用
17806    pub AskOrderRef: TThostFtdcOrderRefType,
17807    /// 衍生买报单引用
17808    pub BidOrderRef: TThostFtdcOrderRefType,
17809    /// 应价编号
17810    pub ForQuoteSysID: TThostFtdcOrderSysIDType,
17811    /// 交易所代码
17812    pub ExchangeID: TThostFtdcExchangeIDType,
17813    /// 投资单元代码
17814    pub InvestUnitID: TThostFtdcInvestUnitIDType,
17815    /// 交易编码
17816    pub ClientID: TThostFtdcClientIDType,
17817    /// IP地址
17818    pub IPAddress: TThostFtdcIPAddressType,
17819    /// Mac地址
17820    pub MacAddress: TThostFtdcMacAddressType,
17821}
17822#[test]
17823fn bindgen_test_layout_CThostFtdcInputQuoteField() {
17824    assert_eq!(::std::mem::size_of::<CThostFtdcInputQuoteField>() , 264usize ,
17825               concat ! (
17826               "Size of: " , stringify ! ( CThostFtdcInputQuoteField ) ));
17827    assert_eq! (::std::mem::align_of::<CThostFtdcInputQuoteField>() , 8usize ,
17828                concat ! (
17829                "Alignment of " , stringify ! ( CThostFtdcInputQuoteField )
17830                ));
17831    assert_eq! (unsafe {
17832                & ( * ( 0 as * const CThostFtdcInputQuoteField ) ) . BrokerID
17833                as * const _ as usize } , 0usize , concat ! (
17834                "Alignment of field: " , stringify ! (
17835                CThostFtdcInputQuoteField ) , "::" , stringify ! ( BrokerID )
17836                ));
17837    assert_eq! (unsafe {
17838                & ( * ( 0 as * const CThostFtdcInputQuoteField ) ) .
17839                InvestorID as * const _ as usize } , 11usize , concat ! (
17840                "Alignment of field: " , stringify ! (
17841                CThostFtdcInputQuoteField ) , "::" , stringify ! ( InvestorID
17842                ) ));
17843    assert_eq! (unsafe {
17844                & ( * ( 0 as * const CThostFtdcInputQuoteField ) ) .
17845                InstrumentID as * const _ as usize } , 24usize , concat ! (
17846                "Alignment of field: " , stringify ! (
17847                CThostFtdcInputQuoteField ) , "::" , stringify ! (
17848                InstrumentID ) ));
17849    assert_eq! (unsafe {
17850                & ( * ( 0 as * const CThostFtdcInputQuoteField ) ) . QuoteRef
17851                as * const _ as usize } , 55usize , concat ! (
17852                "Alignment of field: " , stringify ! (
17853                CThostFtdcInputQuoteField ) , "::" , stringify ! ( QuoteRef )
17854                ));
17855    assert_eq! (unsafe {
17856                & ( * ( 0 as * const CThostFtdcInputQuoteField ) ) . UserID as
17857                * const _ as usize } , 68usize , concat ! (
17858                "Alignment of field: " , stringify ! (
17859                CThostFtdcInputQuoteField ) , "::" , stringify ! ( UserID )
17860                ));
17861    assert_eq! (unsafe {
17862                & ( * ( 0 as * const CThostFtdcInputQuoteField ) ) . AskPrice
17863                as * const _ as usize } , 88usize , concat ! (
17864                "Alignment of field: " , stringify ! (
17865                CThostFtdcInputQuoteField ) , "::" , stringify ! ( AskPrice )
17866                ));
17867    assert_eq! (unsafe {
17868                & ( * ( 0 as * const CThostFtdcInputQuoteField ) ) . BidPrice
17869                as * const _ as usize } , 96usize , concat ! (
17870                "Alignment of field: " , stringify ! (
17871                CThostFtdcInputQuoteField ) , "::" , stringify ! ( BidPrice )
17872                ));
17873    assert_eq! (unsafe {
17874                & ( * ( 0 as * const CThostFtdcInputQuoteField ) ) . AskVolume
17875                as * const _ as usize } , 104usize , concat ! (
17876                "Alignment of field: " , stringify ! (
17877                CThostFtdcInputQuoteField ) , "::" , stringify ! ( AskVolume )
17878                ));
17879    assert_eq! (unsafe {
17880                & ( * ( 0 as * const CThostFtdcInputQuoteField ) ) . BidVolume
17881                as * const _ as usize } , 108usize , concat ! (
17882                "Alignment of field: " , stringify ! (
17883                CThostFtdcInputQuoteField ) , "::" , stringify ! ( BidVolume )
17884                ));
17885    assert_eq! (unsafe {
17886                & ( * ( 0 as * const CThostFtdcInputQuoteField ) ) . RequestID
17887                as * const _ as usize } , 112usize , concat ! (
17888                "Alignment of field: " , stringify ! (
17889                CThostFtdcInputQuoteField ) , "::" , stringify ! ( RequestID )
17890                ));
17891    assert_eq! (unsafe {
17892                & ( * ( 0 as * const CThostFtdcInputQuoteField ) ) .
17893                BusinessUnit as * const _ as usize } , 116usize , concat ! (
17894                "Alignment of field: " , stringify ! (
17895                CThostFtdcInputQuoteField ) , "::" , stringify ! (
17896                BusinessUnit ) ));
17897    assert_eq! (unsafe {
17898                & ( * ( 0 as * const CThostFtdcInputQuoteField ) ) .
17899                AskOffsetFlag as * const _ as usize } , 137usize , concat ! (
17900                "Alignment of field: " , stringify ! (
17901                CThostFtdcInputQuoteField ) , "::" , stringify ! (
17902                AskOffsetFlag ) ));
17903    assert_eq! (unsafe {
17904                & ( * ( 0 as * const CThostFtdcInputQuoteField ) ) .
17905                BidOffsetFlag as * const _ as usize } , 138usize , concat ! (
17906                "Alignment of field: " , stringify ! (
17907                CThostFtdcInputQuoteField ) , "::" , stringify ! (
17908                BidOffsetFlag ) ));
17909    assert_eq! (unsafe {
17910                & ( * ( 0 as * const CThostFtdcInputQuoteField ) ) .
17911                AskHedgeFlag as * const _ as usize } , 139usize , concat ! (
17912                "Alignment of field: " , stringify ! (
17913                CThostFtdcInputQuoteField ) , "::" , stringify ! (
17914                AskHedgeFlag ) ));
17915    assert_eq! (unsafe {
17916                & ( * ( 0 as * const CThostFtdcInputQuoteField ) ) .
17917                BidHedgeFlag as * const _ as usize } , 140usize , concat ! (
17918                "Alignment of field: " , stringify ! (
17919                CThostFtdcInputQuoteField ) , "::" , stringify ! (
17920                BidHedgeFlag ) ));
17921    assert_eq! (unsafe {
17922                & ( * ( 0 as * const CThostFtdcInputQuoteField ) ) .
17923                AskOrderRef as * const _ as usize } , 141usize , concat ! (
17924                "Alignment of field: " , stringify ! (
17925                CThostFtdcInputQuoteField ) , "::" , stringify ! ( AskOrderRef
17926                ) ));
17927    assert_eq! (unsafe {
17928                & ( * ( 0 as * const CThostFtdcInputQuoteField ) ) .
17929                BidOrderRef as * const _ as usize } , 154usize , concat ! (
17930                "Alignment of field: " , stringify ! (
17931                CThostFtdcInputQuoteField ) , "::" , stringify ! ( BidOrderRef
17932                ) ));
17933    assert_eq! (unsafe {
17934                & ( * ( 0 as * const CThostFtdcInputQuoteField ) ) .
17935                ForQuoteSysID as * const _ as usize } , 167usize , concat ! (
17936                "Alignment of field: " , stringify ! (
17937                CThostFtdcInputQuoteField ) , "::" , stringify ! (
17938                ForQuoteSysID ) ));
17939    assert_eq! (unsafe {
17940                & ( * ( 0 as * const CThostFtdcInputQuoteField ) ) .
17941                ExchangeID as * const _ as usize } , 188usize , concat ! (
17942                "Alignment of field: " , stringify ! (
17943                CThostFtdcInputQuoteField ) , "::" , stringify ! ( ExchangeID
17944                ) ));
17945    assert_eq! (unsafe {
17946                & ( * ( 0 as * const CThostFtdcInputQuoteField ) ) .
17947                InvestUnitID as * const _ as usize } , 197usize , concat ! (
17948                "Alignment of field: " , stringify ! (
17949                CThostFtdcInputQuoteField ) , "::" , stringify ! (
17950                InvestUnitID ) ));
17951    assert_eq! (unsafe {
17952                & ( * ( 0 as * const CThostFtdcInputQuoteField ) ) . ClientID
17953                as * const _ as usize } , 214usize , concat ! (
17954                "Alignment of field: " , stringify ! (
17955                CThostFtdcInputQuoteField ) , "::" , stringify ! ( ClientID )
17956                ));
17957    assert_eq! (unsafe {
17958                & ( * ( 0 as * const CThostFtdcInputQuoteField ) ) . IPAddress
17959                as * const _ as usize } , 225usize , concat ! (
17960                "Alignment of field: " , stringify ! (
17961                CThostFtdcInputQuoteField ) , "::" , stringify ! ( IPAddress )
17962                ));
17963    assert_eq! (unsafe {
17964                & ( * ( 0 as * const CThostFtdcInputQuoteField ) ) .
17965                MacAddress as * const _ as usize } , 241usize , concat ! (
17966                "Alignment of field: " , stringify ! (
17967                CThostFtdcInputQuoteField ) , "::" , stringify ! ( MacAddress
17968                ) ));
17969}
17970impl Clone for CThostFtdcInputQuoteField {
17971    fn clone(&self) -> Self { *self }
17972}
17973/// 输入报价操作
17974#[repr(C)]
17975#[derive(Default, Copy)]
17976pub struct CThostFtdcInputQuoteActionField {
17977    /// 经纪公司代码
17978    pub BrokerID: TThostFtdcBrokerIDType,
17979    /// 投资者代码
17980    pub InvestorID: TThostFtdcInvestorIDType,
17981    /// 报价操作引用
17982    pub QuoteActionRef: TThostFtdcOrderActionRefType,
17983    /// 报价引用
17984    pub QuoteRef: TThostFtdcOrderRefType,
17985    /// 请求编号
17986    pub RequestID: TThostFtdcRequestIDType,
17987    /// 前置编号
17988    pub FrontID: TThostFtdcFrontIDType,
17989    /// 会话编号
17990    pub SessionID: TThostFtdcSessionIDType,
17991    /// 交易所代码
17992    pub ExchangeID: TThostFtdcExchangeIDType,
17993    /// 报价操作编号
17994    pub QuoteSysID: TThostFtdcOrderSysIDType,
17995    /// 操作标志
17996    pub ActionFlag: TThostFtdcActionFlagType,
17997    /// 用户代码
17998    pub UserID: TThostFtdcUserIDType,
17999    /// 合约代码
18000    pub InstrumentID: TThostFtdcInstrumentIDType,
18001    /// 投资单元代码
18002    pub InvestUnitID: TThostFtdcInvestUnitIDType,
18003    /// 交易编码
18004    pub ClientID: TThostFtdcClientIDType,
18005    /// IP地址
18006    pub IPAddress: TThostFtdcIPAddressType,
18007    /// Mac地址
18008    pub MacAddress: TThostFtdcMacAddressType,
18009}
18010#[test]
18011fn bindgen_test_layout_CThostFtdcInputQuoteActionField() {
18012    assert_eq!(::std::mem::size_of::<CThostFtdcInputQuoteActionField>() ,
18013               200usize , concat ! (
18014               "Size of: " , stringify ! ( CThostFtdcInputQuoteActionField )
18015               ));
18016    assert_eq! (::std::mem::align_of::<CThostFtdcInputQuoteActionField>() ,
18017                4usize , concat ! (
18018                "Alignment of " , stringify ! (
18019                CThostFtdcInputQuoteActionField ) ));
18020    assert_eq! (unsafe {
18021                & ( * ( 0 as * const CThostFtdcInputQuoteActionField ) ) .
18022                BrokerID as * const _ as usize } , 0usize , concat ! (
18023                "Alignment of field: " , stringify ! (
18024                CThostFtdcInputQuoteActionField ) , "::" , stringify ! (
18025                BrokerID ) ));
18026    assert_eq! (unsafe {
18027                & ( * ( 0 as * const CThostFtdcInputQuoteActionField ) ) .
18028                InvestorID as * const _ as usize } , 11usize , concat ! (
18029                "Alignment of field: " , stringify ! (
18030                CThostFtdcInputQuoteActionField ) , "::" , stringify ! (
18031                InvestorID ) ));
18032    assert_eq! (unsafe {
18033                & ( * ( 0 as * const CThostFtdcInputQuoteActionField ) ) .
18034                QuoteActionRef as * const _ as usize } , 24usize , concat ! (
18035                "Alignment of field: " , stringify ! (
18036                CThostFtdcInputQuoteActionField ) , "::" , stringify ! (
18037                QuoteActionRef ) ));
18038    assert_eq! (unsafe {
18039                & ( * ( 0 as * const CThostFtdcInputQuoteActionField ) ) .
18040                QuoteRef as * const _ as usize } , 28usize , concat ! (
18041                "Alignment of field: " , stringify ! (
18042                CThostFtdcInputQuoteActionField ) , "::" , stringify ! (
18043                QuoteRef ) ));
18044    assert_eq! (unsafe {
18045                & ( * ( 0 as * const CThostFtdcInputQuoteActionField ) ) .
18046                RequestID as * const _ as usize } , 44usize , concat ! (
18047                "Alignment of field: " , stringify ! (
18048                CThostFtdcInputQuoteActionField ) , "::" , stringify ! (
18049                RequestID ) ));
18050    assert_eq! (unsafe {
18051                & ( * ( 0 as * const CThostFtdcInputQuoteActionField ) ) .
18052                FrontID as * const _ as usize } , 48usize , concat ! (
18053                "Alignment of field: " , stringify ! (
18054                CThostFtdcInputQuoteActionField ) , "::" , stringify ! (
18055                FrontID ) ));
18056    assert_eq! (unsafe {
18057                & ( * ( 0 as * const CThostFtdcInputQuoteActionField ) ) .
18058                SessionID as * const _ as usize } , 52usize , concat ! (
18059                "Alignment of field: " , stringify ! (
18060                CThostFtdcInputQuoteActionField ) , "::" , stringify ! (
18061                SessionID ) ));
18062    assert_eq! (unsafe {
18063                & ( * ( 0 as * const CThostFtdcInputQuoteActionField ) ) .
18064                ExchangeID as * const _ as usize } , 56usize , concat ! (
18065                "Alignment of field: " , stringify ! (
18066                CThostFtdcInputQuoteActionField ) , "::" , stringify ! (
18067                ExchangeID ) ));
18068    assert_eq! (unsafe {
18069                & ( * ( 0 as * const CThostFtdcInputQuoteActionField ) ) .
18070                QuoteSysID as * const _ as usize } , 65usize , concat ! (
18071                "Alignment of field: " , stringify ! (
18072                CThostFtdcInputQuoteActionField ) , "::" , stringify ! (
18073                QuoteSysID ) ));
18074    assert_eq! (unsafe {
18075                & ( * ( 0 as * const CThostFtdcInputQuoteActionField ) ) .
18076                ActionFlag as * const _ as usize } , 86usize , concat ! (
18077                "Alignment of field: " , stringify ! (
18078                CThostFtdcInputQuoteActionField ) , "::" , stringify ! (
18079                ActionFlag ) ));
18080    assert_eq! (unsafe {
18081                & ( * ( 0 as * const CThostFtdcInputQuoteActionField ) ) .
18082                UserID as * const _ as usize } , 87usize , concat ! (
18083                "Alignment of field: " , stringify ! (
18084                CThostFtdcInputQuoteActionField ) , "::" , stringify ! (
18085                UserID ) ));
18086    assert_eq! (unsafe {
18087                & ( * ( 0 as * const CThostFtdcInputQuoteActionField ) ) .
18088                InstrumentID as * const _ as usize } , 103usize , concat ! (
18089                "Alignment of field: " , stringify ! (
18090                CThostFtdcInputQuoteActionField ) , "::" , stringify ! (
18091                InstrumentID ) ));
18092    assert_eq! (unsafe {
18093                & ( * ( 0 as * const CThostFtdcInputQuoteActionField ) ) .
18094                InvestUnitID as * const _ as usize } , 134usize , concat ! (
18095                "Alignment of field: " , stringify ! (
18096                CThostFtdcInputQuoteActionField ) , "::" , stringify ! (
18097                InvestUnitID ) ));
18098    assert_eq! (unsafe {
18099                & ( * ( 0 as * const CThostFtdcInputQuoteActionField ) ) .
18100                ClientID as * const _ as usize } , 151usize , concat ! (
18101                "Alignment of field: " , stringify ! (
18102                CThostFtdcInputQuoteActionField ) , "::" , stringify ! (
18103                ClientID ) ));
18104    assert_eq! (unsafe {
18105                & ( * ( 0 as * const CThostFtdcInputQuoteActionField ) ) .
18106                IPAddress as * const _ as usize } , 162usize , concat ! (
18107                "Alignment of field: " , stringify ! (
18108                CThostFtdcInputQuoteActionField ) , "::" , stringify ! (
18109                IPAddress ) ));
18110    assert_eq! (unsafe {
18111                & ( * ( 0 as * const CThostFtdcInputQuoteActionField ) ) .
18112                MacAddress as * const _ as usize } , 178usize , concat ! (
18113                "Alignment of field: " , stringify ! (
18114                CThostFtdcInputQuoteActionField ) , "::" , stringify ! (
18115                MacAddress ) ));
18116}
18117impl Clone for CThostFtdcInputQuoteActionField {
18118    fn clone(&self) -> Self { *self }
18119}
18120/// 报价
18121#[repr(C)]
18122#[derive(Copy)]
18123pub struct CThostFtdcQuoteField {
18124    /// 经纪公司代码
18125    pub BrokerID: TThostFtdcBrokerIDType,
18126    /// 投资者代码
18127    pub InvestorID: TThostFtdcInvestorIDType,
18128    /// 合约代码
18129    pub InstrumentID: TThostFtdcInstrumentIDType,
18130    /// 报价引用
18131    pub QuoteRef: TThostFtdcOrderRefType,
18132    /// 用户代码
18133    pub UserID: TThostFtdcUserIDType,
18134    /// 卖价格
18135    pub AskPrice: TThostFtdcPriceType,
18136    /// 买价格
18137    pub BidPrice: TThostFtdcPriceType,
18138    /// 卖数量
18139    pub AskVolume: TThostFtdcVolumeType,
18140    /// 买数量
18141    pub BidVolume: TThostFtdcVolumeType,
18142    /// 请求编号
18143    pub RequestID: TThostFtdcRequestIDType,
18144    /// 业务单元
18145    pub BusinessUnit: TThostFtdcBusinessUnitType,
18146    /// 卖开平标志
18147    pub AskOffsetFlag: TThostFtdcOffsetFlagType,
18148    /// 买开平标志
18149    pub BidOffsetFlag: TThostFtdcOffsetFlagType,
18150    /// 卖投机套保标志
18151    pub AskHedgeFlag: TThostFtdcHedgeFlagType,
18152    /// 买投机套保标志
18153    pub BidHedgeFlag: TThostFtdcHedgeFlagType,
18154    /// 本地报价编号
18155    pub QuoteLocalID: TThostFtdcOrderLocalIDType,
18156    /// 交易所代码
18157    pub ExchangeID: TThostFtdcExchangeIDType,
18158    /// 会员代码
18159    pub ParticipantID: TThostFtdcParticipantIDType,
18160    /// 客户代码
18161    pub ClientID: TThostFtdcClientIDType,
18162    /// 合约在交易所的代码
18163    pub ExchangeInstID: TThostFtdcExchangeInstIDType,
18164    /// 交易所交易员代码
18165    pub TraderID: TThostFtdcTraderIDType,
18166    /// 安装编号
18167    pub InstallID: TThostFtdcInstallIDType,
18168    /// 报价提示序号
18169    pub NotifySequence: TThostFtdcSequenceNoType,
18170    /// 报价提交状态
18171    pub OrderSubmitStatus: TThostFtdcOrderSubmitStatusType,
18172    /// 交易日
18173    pub TradingDay: TThostFtdcDateType,
18174    /// 结算编号
18175    pub SettlementID: TThostFtdcSettlementIDType,
18176    /// 报价编号
18177    pub QuoteSysID: TThostFtdcOrderSysIDType,
18178    /// 报单日期
18179    pub InsertDate: TThostFtdcDateType,
18180    /// 插入时间
18181    pub InsertTime: TThostFtdcTimeType,
18182    /// 撤销时间
18183    pub CancelTime: TThostFtdcTimeType,
18184    /// 报价状态
18185    pub QuoteStatus: TThostFtdcOrderStatusType,
18186    /// 结算会员编号
18187    pub ClearingPartID: TThostFtdcParticipantIDType,
18188    /// 序号
18189    pub SequenceNo: TThostFtdcSequenceNoType,
18190    /// 卖方报单编号
18191    pub AskOrderSysID: TThostFtdcOrderSysIDType,
18192    /// 买方报单编号
18193    pub BidOrderSysID: TThostFtdcOrderSysIDType,
18194    /// 前置编号
18195    pub FrontID: TThostFtdcFrontIDType,
18196    /// 会话编号
18197    pub SessionID: TThostFtdcSessionIDType,
18198    /// 用户端产品信息
18199    pub UserProductInfo: TThostFtdcProductInfoType,
18200    /// 状态信息
18201    pub StatusMsg: TThostFtdcErrorMsgType,
18202    /// 操作用户代码
18203    pub ActiveUserID: TThostFtdcUserIDType,
18204    /// 经纪公司报价编号
18205    pub BrokerQuoteSeq: TThostFtdcSequenceNoType,
18206    /// 衍生卖报单引用
18207    pub AskOrderRef: TThostFtdcOrderRefType,
18208    /// 衍生买报单引用
18209    pub BidOrderRef: TThostFtdcOrderRefType,
18210    /// 应价编号
18211    pub ForQuoteSysID: TThostFtdcOrderSysIDType,
18212    /// 营业部编号
18213    pub BranchID: TThostFtdcBranchIDType,
18214    /// 投资单元代码
18215    pub InvestUnitID: TThostFtdcInvestUnitIDType,
18216    /// 资金账号
18217    pub AccountID: TThostFtdcAccountIDType,
18218    /// 币种代码
18219    pub CurrencyID: TThostFtdcCurrencyIDType,
18220    /// IP地址
18221    pub IPAddress: TThostFtdcIPAddressType,
18222    /// Mac地址
18223    pub MacAddress: TThostFtdcMacAddressType,
18224}
18225#[test]
18226fn bindgen_test_layout_CThostFtdcQuoteField() {
18227    assert_eq!(::std::mem::size_of::<CThostFtdcQuoteField>() , 624usize ,
18228               concat ! ( "Size of: " , stringify ! ( CThostFtdcQuoteField )
18229               ));
18230    assert_eq! (::std::mem::align_of::<CThostFtdcQuoteField>() , 8usize ,
18231                concat ! (
18232                "Alignment of " , stringify ! ( CThostFtdcQuoteField ) ));
18233    assert_eq! (unsafe {
18234                & ( * ( 0 as * const CThostFtdcQuoteField ) ) . BrokerID as *
18235                const _ as usize } , 0usize , concat ! (
18236                "Alignment of field: " , stringify ! ( CThostFtdcQuoteField )
18237                , "::" , stringify ! ( BrokerID ) ));
18238    assert_eq! (unsafe {
18239                & ( * ( 0 as * const CThostFtdcQuoteField ) ) . InvestorID as
18240                * const _ as usize } , 11usize , concat ! (
18241                "Alignment of field: " , stringify ! ( CThostFtdcQuoteField )
18242                , "::" , stringify ! ( InvestorID ) ));
18243    assert_eq! (unsafe {
18244                & ( * ( 0 as * const CThostFtdcQuoteField ) ) . InstrumentID
18245                as * const _ as usize } , 24usize , concat ! (
18246                "Alignment of field: " , stringify ! ( CThostFtdcQuoteField )
18247                , "::" , stringify ! ( InstrumentID ) ));
18248    assert_eq! (unsafe {
18249                & ( * ( 0 as * const CThostFtdcQuoteField ) ) . QuoteRef as *
18250                const _ as usize } , 55usize , concat ! (
18251                "Alignment of field: " , stringify ! ( CThostFtdcQuoteField )
18252                , "::" , stringify ! ( QuoteRef ) ));
18253    assert_eq! (unsafe {
18254                & ( * ( 0 as * const CThostFtdcQuoteField ) ) . UserID as *
18255                const _ as usize } , 68usize , concat ! (
18256                "Alignment of field: " , stringify ! ( CThostFtdcQuoteField )
18257                , "::" , stringify ! ( UserID ) ));
18258    assert_eq! (unsafe {
18259                & ( * ( 0 as * const CThostFtdcQuoteField ) ) . AskPrice as *
18260                const _ as usize } , 88usize , concat ! (
18261                "Alignment of field: " , stringify ! ( CThostFtdcQuoteField )
18262                , "::" , stringify ! ( AskPrice ) ));
18263    assert_eq! (unsafe {
18264                & ( * ( 0 as * const CThostFtdcQuoteField ) ) . BidPrice as *
18265                const _ as usize } , 96usize , concat ! (
18266                "Alignment of field: " , stringify ! ( CThostFtdcQuoteField )
18267                , "::" , stringify ! ( BidPrice ) ));
18268    assert_eq! (unsafe {
18269                & ( * ( 0 as * const CThostFtdcQuoteField ) ) . AskVolume as *
18270                const _ as usize } , 104usize , concat ! (
18271                "Alignment of field: " , stringify ! ( CThostFtdcQuoteField )
18272                , "::" , stringify ! ( AskVolume ) ));
18273    assert_eq! (unsafe {
18274                & ( * ( 0 as * const CThostFtdcQuoteField ) ) . BidVolume as *
18275                const _ as usize } , 108usize , concat ! (
18276                "Alignment of field: " , stringify ! ( CThostFtdcQuoteField )
18277                , "::" , stringify ! ( BidVolume ) ));
18278    assert_eq! (unsafe {
18279                & ( * ( 0 as * const CThostFtdcQuoteField ) ) . RequestID as *
18280                const _ as usize } , 112usize , concat ! (
18281                "Alignment of field: " , stringify ! ( CThostFtdcQuoteField )
18282                , "::" , stringify ! ( RequestID ) ));
18283    assert_eq! (unsafe {
18284                & ( * ( 0 as * const CThostFtdcQuoteField ) ) . BusinessUnit
18285                as * const _ as usize } , 116usize , concat ! (
18286                "Alignment of field: " , stringify ! ( CThostFtdcQuoteField )
18287                , "::" , stringify ! ( BusinessUnit ) ));
18288    assert_eq! (unsafe {
18289                & ( * ( 0 as * const CThostFtdcQuoteField ) ) . AskOffsetFlag
18290                as * const _ as usize } , 137usize , concat ! (
18291                "Alignment of field: " , stringify ! ( CThostFtdcQuoteField )
18292                , "::" , stringify ! ( AskOffsetFlag ) ));
18293    assert_eq! (unsafe {
18294                & ( * ( 0 as * const CThostFtdcQuoteField ) ) . BidOffsetFlag
18295                as * const _ as usize } , 138usize , concat ! (
18296                "Alignment of field: " , stringify ! ( CThostFtdcQuoteField )
18297                , "::" , stringify ! ( BidOffsetFlag ) ));
18298    assert_eq! (unsafe {
18299                & ( * ( 0 as * const CThostFtdcQuoteField ) ) . AskHedgeFlag
18300                as * const _ as usize } , 139usize , concat ! (
18301                "Alignment of field: " , stringify ! ( CThostFtdcQuoteField )
18302                , "::" , stringify ! ( AskHedgeFlag ) ));
18303    assert_eq! (unsafe {
18304                & ( * ( 0 as * const CThostFtdcQuoteField ) ) . BidHedgeFlag
18305                as * const _ as usize } , 140usize , concat ! (
18306                "Alignment of field: " , stringify ! ( CThostFtdcQuoteField )
18307                , "::" , stringify ! ( BidHedgeFlag ) ));
18308    assert_eq! (unsafe {
18309                & ( * ( 0 as * const CThostFtdcQuoteField ) ) . QuoteLocalID
18310                as * const _ as usize } , 141usize , concat ! (
18311                "Alignment of field: " , stringify ! ( CThostFtdcQuoteField )
18312                , "::" , stringify ! ( QuoteLocalID ) ));
18313    assert_eq! (unsafe {
18314                & ( * ( 0 as * const CThostFtdcQuoteField ) ) . ExchangeID as
18315                * const _ as usize } , 154usize , concat ! (
18316                "Alignment of field: " , stringify ! ( CThostFtdcQuoteField )
18317                , "::" , stringify ! ( ExchangeID ) ));
18318    assert_eq! (unsafe {
18319                & ( * ( 0 as * const CThostFtdcQuoteField ) ) . ParticipantID
18320                as * const _ as usize } , 163usize , concat ! (
18321                "Alignment of field: " , stringify ! ( CThostFtdcQuoteField )
18322                , "::" , stringify ! ( ParticipantID ) ));
18323    assert_eq! (unsafe {
18324                & ( * ( 0 as * const CThostFtdcQuoteField ) ) . ClientID as *
18325                const _ as usize } , 174usize , concat ! (
18326                "Alignment of field: " , stringify ! ( CThostFtdcQuoteField )
18327                , "::" , stringify ! ( ClientID ) ));
18328    assert_eq! (unsafe {
18329                & ( * ( 0 as * const CThostFtdcQuoteField ) ) . ExchangeInstID
18330                as * const _ as usize } , 185usize , concat ! (
18331                "Alignment of field: " , stringify ! ( CThostFtdcQuoteField )
18332                , "::" , stringify ! ( ExchangeInstID ) ));
18333    assert_eq! (unsafe {
18334                & ( * ( 0 as * const CThostFtdcQuoteField ) ) . TraderID as *
18335                const _ as usize } , 216usize , concat ! (
18336                "Alignment of field: " , stringify ! ( CThostFtdcQuoteField )
18337                , "::" , stringify ! ( TraderID ) ));
18338    assert_eq! (unsafe {
18339                & ( * ( 0 as * const CThostFtdcQuoteField ) ) . InstallID as *
18340                const _ as usize } , 240usize , concat ! (
18341                "Alignment of field: " , stringify ! ( CThostFtdcQuoteField )
18342                , "::" , stringify ! ( InstallID ) ));
18343    assert_eq! (unsafe {
18344                & ( * ( 0 as * const CThostFtdcQuoteField ) ) . NotifySequence
18345                as * const _ as usize } , 244usize , concat ! (
18346                "Alignment of field: " , stringify ! ( CThostFtdcQuoteField )
18347                , "::" , stringify ! ( NotifySequence ) ));
18348    assert_eq! (unsafe {
18349                & ( * ( 0 as * const CThostFtdcQuoteField ) ) .
18350                OrderSubmitStatus as * const _ as usize } , 248usize , concat
18351                ! (
18352                "Alignment of field: " , stringify ! ( CThostFtdcQuoteField )
18353                , "::" , stringify ! ( OrderSubmitStatus ) ));
18354    assert_eq! (unsafe {
18355                & ( * ( 0 as * const CThostFtdcQuoteField ) ) . TradingDay as
18356                * const _ as usize } , 249usize , concat ! (
18357                "Alignment of field: " , stringify ! ( CThostFtdcQuoteField )
18358                , "::" , stringify ! ( TradingDay ) ));
18359    assert_eq! (unsafe {
18360                & ( * ( 0 as * const CThostFtdcQuoteField ) ) . SettlementID
18361                as * const _ as usize } , 260usize , concat ! (
18362                "Alignment of field: " , stringify ! ( CThostFtdcQuoteField )
18363                , "::" , stringify ! ( SettlementID ) ));
18364    assert_eq! (unsafe {
18365                & ( * ( 0 as * const CThostFtdcQuoteField ) ) . QuoteSysID as
18366                * const _ as usize } , 264usize , concat ! (
18367                "Alignment of field: " , stringify ! ( CThostFtdcQuoteField )
18368                , "::" , stringify ! ( QuoteSysID ) ));
18369    assert_eq! (unsafe {
18370                & ( * ( 0 as * const CThostFtdcQuoteField ) ) . InsertDate as
18371                * const _ as usize } , 285usize , concat ! (
18372                "Alignment of field: " , stringify ! ( CThostFtdcQuoteField )
18373                , "::" , stringify ! ( InsertDate ) ));
18374    assert_eq! (unsafe {
18375                & ( * ( 0 as * const CThostFtdcQuoteField ) ) . InsertTime as
18376                * const _ as usize } , 294usize , concat ! (
18377                "Alignment of field: " , stringify ! ( CThostFtdcQuoteField )
18378                , "::" , stringify ! ( InsertTime ) ));
18379    assert_eq! (unsafe {
18380                & ( * ( 0 as * const CThostFtdcQuoteField ) ) . CancelTime as
18381                * const _ as usize } , 303usize , concat ! (
18382                "Alignment of field: " , stringify ! ( CThostFtdcQuoteField )
18383                , "::" , stringify ! ( CancelTime ) ));
18384    assert_eq! (unsafe {
18385                & ( * ( 0 as * const CThostFtdcQuoteField ) ) . QuoteStatus as
18386                * const _ as usize } , 312usize , concat ! (
18387                "Alignment of field: " , stringify ! ( CThostFtdcQuoteField )
18388                , "::" , stringify ! ( QuoteStatus ) ));
18389    assert_eq! (unsafe {
18390                & ( * ( 0 as * const CThostFtdcQuoteField ) ) . ClearingPartID
18391                as * const _ as usize } , 313usize , concat ! (
18392                "Alignment of field: " , stringify ! ( CThostFtdcQuoteField )
18393                , "::" , stringify ! ( ClearingPartID ) ));
18394    assert_eq! (unsafe {
18395                & ( * ( 0 as * const CThostFtdcQuoteField ) ) . SequenceNo as
18396                * const _ as usize } , 324usize , concat ! (
18397                "Alignment of field: " , stringify ! ( CThostFtdcQuoteField )
18398                , "::" , stringify ! ( SequenceNo ) ));
18399    assert_eq! (unsafe {
18400                & ( * ( 0 as * const CThostFtdcQuoteField ) ) . AskOrderSysID
18401                as * const _ as usize } , 328usize , concat ! (
18402                "Alignment of field: " , stringify ! ( CThostFtdcQuoteField )
18403                , "::" , stringify ! ( AskOrderSysID ) ));
18404    assert_eq! (unsafe {
18405                & ( * ( 0 as * const CThostFtdcQuoteField ) ) . BidOrderSysID
18406                as * const _ as usize } , 349usize , concat ! (
18407                "Alignment of field: " , stringify ! ( CThostFtdcQuoteField )
18408                , "::" , stringify ! ( BidOrderSysID ) ));
18409    assert_eq! (unsafe {
18410                & ( * ( 0 as * const CThostFtdcQuoteField ) ) . FrontID as *
18411                const _ as usize } , 372usize , concat ! (
18412                "Alignment of field: " , stringify ! ( CThostFtdcQuoteField )
18413                , "::" , stringify ! ( FrontID ) ));
18414    assert_eq! (unsafe {
18415                & ( * ( 0 as * const CThostFtdcQuoteField ) ) . SessionID as *
18416                const _ as usize } , 376usize , concat ! (
18417                "Alignment of field: " , stringify ! ( CThostFtdcQuoteField )
18418                , "::" , stringify ! ( SessionID ) ));
18419    assert_eq! (unsafe {
18420                & ( * ( 0 as * const CThostFtdcQuoteField ) ) .
18421                UserProductInfo as * const _ as usize } , 380usize , concat !
18422                (
18423                "Alignment of field: " , stringify ! ( CThostFtdcQuoteField )
18424                , "::" , stringify ! ( UserProductInfo ) ));
18425    assert_eq! (unsafe {
18426                & ( * ( 0 as * const CThostFtdcQuoteField ) ) . StatusMsg as *
18427                const _ as usize } , 391usize , concat ! (
18428                "Alignment of field: " , stringify ! ( CThostFtdcQuoteField )
18429                , "::" , stringify ! ( StatusMsg ) ));
18430    assert_eq! (unsafe {
18431                & ( * ( 0 as * const CThostFtdcQuoteField ) ) . ActiveUserID
18432                as * const _ as usize } , 472usize , concat ! (
18433                "Alignment of field: " , stringify ! ( CThostFtdcQuoteField )
18434                , "::" , stringify ! ( ActiveUserID ) ));
18435    assert_eq! (unsafe {
18436                & ( * ( 0 as * const CThostFtdcQuoteField ) ) . BrokerQuoteSeq
18437                as * const _ as usize } , 488usize , concat ! (
18438                "Alignment of field: " , stringify ! ( CThostFtdcQuoteField )
18439                , "::" , stringify ! ( BrokerQuoteSeq ) ));
18440    assert_eq! (unsafe {
18441                & ( * ( 0 as * const CThostFtdcQuoteField ) ) . AskOrderRef as
18442                * const _ as usize } , 492usize , concat ! (
18443                "Alignment of field: " , stringify ! ( CThostFtdcQuoteField )
18444                , "::" , stringify ! ( AskOrderRef ) ));
18445    assert_eq! (unsafe {
18446                & ( * ( 0 as * const CThostFtdcQuoteField ) ) . BidOrderRef as
18447                * const _ as usize } , 505usize , concat ! (
18448                "Alignment of field: " , stringify ! ( CThostFtdcQuoteField )
18449                , "::" , stringify ! ( BidOrderRef ) ));
18450    assert_eq! (unsafe {
18451                & ( * ( 0 as * const CThostFtdcQuoteField ) ) . ForQuoteSysID
18452                as * const _ as usize } , 518usize , concat ! (
18453                "Alignment of field: " , stringify ! ( CThostFtdcQuoteField )
18454                , "::" , stringify ! ( ForQuoteSysID ) ));
18455    assert_eq! (unsafe {
18456                & ( * ( 0 as * const CThostFtdcQuoteField ) ) . BranchID as *
18457                const _ as usize } , 539usize , concat ! (
18458                "Alignment of field: " , stringify ! ( CThostFtdcQuoteField )
18459                , "::" , stringify ! ( BranchID ) ));
18460    assert_eq! (unsafe {
18461                & ( * ( 0 as * const CThostFtdcQuoteField ) ) . InvestUnitID
18462                as * const _ as usize } , 548usize , concat ! (
18463                "Alignment of field: " , stringify ! ( CThostFtdcQuoteField )
18464                , "::" , stringify ! ( InvestUnitID ) ));
18465    assert_eq! (unsafe {
18466                & ( * ( 0 as * const CThostFtdcQuoteField ) ) . AccountID as *
18467                const _ as usize } , 565usize , concat ! (
18468                "Alignment of field: " , stringify ! ( CThostFtdcQuoteField )
18469                , "::" , stringify ! ( AccountID ) ));
18470    assert_eq! (unsafe {
18471                & ( * ( 0 as * const CThostFtdcQuoteField ) ) . CurrencyID as
18472                * const _ as usize } , 578usize , concat ! (
18473                "Alignment of field: " , stringify ! ( CThostFtdcQuoteField )
18474                , "::" , stringify ! ( CurrencyID ) ));
18475    assert_eq! (unsafe {
18476                & ( * ( 0 as * const CThostFtdcQuoteField ) ) . IPAddress as *
18477                const _ as usize } , 582usize , concat ! (
18478                "Alignment of field: " , stringify ! ( CThostFtdcQuoteField )
18479                , "::" , stringify ! ( IPAddress ) ));
18480    assert_eq! (unsafe {
18481                & ( * ( 0 as * const CThostFtdcQuoteField ) ) . MacAddress as
18482                * const _ as usize } , 598usize , concat ! (
18483                "Alignment of field: " , stringify ! ( CThostFtdcQuoteField )
18484                , "::" , stringify ! ( MacAddress ) ));
18485}
18486impl Clone for CThostFtdcQuoteField {
18487    fn clone(&self) -> Self { *self }
18488}
18489impl Default for CThostFtdcQuoteField {
18490    fn default() -> Self { unsafe { ::std::mem::zeroed() } }
18491}
18492/// 报价操作
18493#[repr(C)]
18494#[derive(Copy)]
18495pub struct CThostFtdcQuoteActionField {
18496    /// 经纪公司代码
18497    pub BrokerID: TThostFtdcBrokerIDType,
18498    /// 投资者代码
18499    pub InvestorID: TThostFtdcInvestorIDType,
18500    /// 报价操作引用
18501    pub QuoteActionRef: TThostFtdcOrderActionRefType,
18502    /// 报价引用
18503    pub QuoteRef: TThostFtdcOrderRefType,
18504    /// 请求编号
18505    pub RequestID: TThostFtdcRequestIDType,
18506    /// 前置编号
18507    pub FrontID: TThostFtdcFrontIDType,
18508    /// 会话编号
18509    pub SessionID: TThostFtdcSessionIDType,
18510    /// 交易所代码
18511    pub ExchangeID: TThostFtdcExchangeIDType,
18512    /// 报价操作编号
18513    pub QuoteSysID: TThostFtdcOrderSysIDType,
18514    /// 操作标志
18515    pub ActionFlag: TThostFtdcActionFlagType,
18516    /// 操作日期
18517    pub ActionDate: TThostFtdcDateType,
18518    /// 操作时间
18519    pub ActionTime: TThostFtdcTimeType,
18520    /// 交易所交易员代码
18521    pub TraderID: TThostFtdcTraderIDType,
18522    /// 安装编号
18523    pub InstallID: TThostFtdcInstallIDType,
18524    /// 本地报价编号
18525    pub QuoteLocalID: TThostFtdcOrderLocalIDType,
18526    /// 操作本地编号
18527    pub ActionLocalID: TThostFtdcOrderLocalIDType,
18528    /// 会员代码
18529    pub ParticipantID: TThostFtdcParticipantIDType,
18530    /// 客户代码
18531    pub ClientID: TThostFtdcClientIDType,
18532    /// 业务单元
18533    pub BusinessUnit: TThostFtdcBusinessUnitType,
18534    /// 报单操作状态
18535    pub OrderActionStatus: TThostFtdcOrderActionStatusType,
18536    /// 用户代码
18537    pub UserID: TThostFtdcUserIDType,
18538    /// 状态信息
18539    pub StatusMsg: TThostFtdcErrorMsgType,
18540    /// 合约代码
18541    pub InstrumentID: TThostFtdcInstrumentIDType,
18542    /// 营业部编号
18543    pub BranchID: TThostFtdcBranchIDType,
18544    /// 投资单元代码
18545    pub InvestUnitID: TThostFtdcInvestUnitIDType,
18546    /// IP地址
18547    pub IPAddress: TThostFtdcIPAddressType,
18548    /// Mac地址
18549    pub MacAddress: TThostFtdcMacAddressType,
18550}
18551#[test]
18552fn bindgen_test_layout_CThostFtdcQuoteActionField() {
18553    assert_eq!(::std::mem::size_of::<CThostFtdcQuoteActionField>() , 396usize
18554               , concat ! (
18555               "Size of: " , stringify ! ( CThostFtdcQuoteActionField ) ));
18556    assert_eq! (::std::mem::align_of::<CThostFtdcQuoteActionField>() , 4usize
18557                , concat ! (
18558                "Alignment of " , stringify ! ( CThostFtdcQuoteActionField )
18559                ));
18560    assert_eq! (unsafe {
18561                & ( * ( 0 as * const CThostFtdcQuoteActionField ) ) . BrokerID
18562                as * const _ as usize } , 0usize , concat ! (
18563                "Alignment of field: " , stringify ! (
18564                CThostFtdcQuoteActionField ) , "::" , stringify ! ( BrokerID )
18565                ));
18566    assert_eq! (unsafe {
18567                & ( * ( 0 as * const CThostFtdcQuoteActionField ) ) .
18568                InvestorID as * const _ as usize } , 11usize , concat ! (
18569                "Alignment of field: " , stringify ! (
18570                CThostFtdcQuoteActionField ) , "::" , stringify ! ( InvestorID
18571                ) ));
18572    assert_eq! (unsafe {
18573                & ( * ( 0 as * const CThostFtdcQuoteActionField ) ) .
18574                QuoteActionRef as * const _ as usize } , 24usize , concat ! (
18575                "Alignment of field: " , stringify ! (
18576                CThostFtdcQuoteActionField ) , "::" , stringify ! (
18577                QuoteActionRef ) ));
18578    assert_eq! (unsafe {
18579                & ( * ( 0 as * const CThostFtdcQuoteActionField ) ) . QuoteRef
18580                as * const _ as usize } , 28usize , concat ! (
18581                "Alignment of field: " , stringify ! (
18582                CThostFtdcQuoteActionField ) , "::" , stringify ! ( QuoteRef )
18583                ));
18584    assert_eq! (unsafe {
18585                & ( * ( 0 as * const CThostFtdcQuoteActionField ) ) .
18586                RequestID as * const _ as usize } , 44usize , concat ! (
18587                "Alignment of field: " , stringify ! (
18588                CThostFtdcQuoteActionField ) , "::" , stringify ! ( RequestID
18589                ) ));
18590    assert_eq! (unsafe {
18591                & ( * ( 0 as * const CThostFtdcQuoteActionField ) ) . FrontID
18592                as * const _ as usize } , 48usize , concat ! (
18593                "Alignment of field: " , stringify ! (
18594                CThostFtdcQuoteActionField ) , "::" , stringify ! ( FrontID )
18595                ));
18596    assert_eq! (unsafe {
18597                & ( * ( 0 as * const CThostFtdcQuoteActionField ) ) .
18598                SessionID as * const _ as usize } , 52usize , concat ! (
18599                "Alignment of field: " , stringify ! (
18600                CThostFtdcQuoteActionField ) , "::" , stringify ! ( SessionID
18601                ) ));
18602    assert_eq! (unsafe {
18603                & ( * ( 0 as * const CThostFtdcQuoteActionField ) ) .
18604                ExchangeID as * const _ as usize } , 56usize , concat ! (
18605                "Alignment of field: " , stringify ! (
18606                CThostFtdcQuoteActionField ) , "::" , stringify ! ( ExchangeID
18607                ) ));
18608    assert_eq! (unsafe {
18609                & ( * ( 0 as * const CThostFtdcQuoteActionField ) ) .
18610                QuoteSysID as * const _ as usize } , 65usize , concat ! (
18611                "Alignment of field: " , stringify ! (
18612                CThostFtdcQuoteActionField ) , "::" , stringify ! ( QuoteSysID
18613                ) ));
18614    assert_eq! (unsafe {
18615                & ( * ( 0 as * const CThostFtdcQuoteActionField ) ) .
18616                ActionFlag as * const _ as usize } , 86usize , concat ! (
18617                "Alignment of field: " , stringify ! (
18618                CThostFtdcQuoteActionField ) , "::" , stringify ! ( ActionFlag
18619                ) ));
18620    assert_eq! (unsafe {
18621                & ( * ( 0 as * const CThostFtdcQuoteActionField ) ) .
18622                ActionDate as * const _ as usize } , 87usize , concat ! (
18623                "Alignment of field: " , stringify ! (
18624                CThostFtdcQuoteActionField ) , "::" , stringify ! ( ActionDate
18625                ) ));
18626    assert_eq! (unsafe {
18627                & ( * ( 0 as * const CThostFtdcQuoteActionField ) ) .
18628                ActionTime as * const _ as usize } , 96usize , concat ! (
18629                "Alignment of field: " , stringify ! (
18630                CThostFtdcQuoteActionField ) , "::" , stringify ! ( ActionTime
18631                ) ));
18632    assert_eq! (unsafe {
18633                & ( * ( 0 as * const CThostFtdcQuoteActionField ) ) . TraderID
18634                as * const _ as usize } , 105usize , concat ! (
18635                "Alignment of field: " , stringify ! (
18636                CThostFtdcQuoteActionField ) , "::" , stringify ! ( TraderID )
18637                ));
18638    assert_eq! (unsafe {
18639                & ( * ( 0 as * const CThostFtdcQuoteActionField ) ) .
18640                InstallID as * const _ as usize } , 128usize , concat ! (
18641                "Alignment of field: " , stringify ! (
18642                CThostFtdcQuoteActionField ) , "::" , stringify ! ( InstallID
18643                ) ));
18644    assert_eq! (unsafe {
18645                & ( * ( 0 as * const CThostFtdcQuoteActionField ) ) .
18646                QuoteLocalID as * const _ as usize } , 132usize , concat ! (
18647                "Alignment of field: " , stringify ! (
18648                CThostFtdcQuoteActionField ) , "::" , stringify ! (
18649                QuoteLocalID ) ));
18650    assert_eq! (unsafe {
18651                & ( * ( 0 as * const CThostFtdcQuoteActionField ) ) .
18652                ActionLocalID as * const _ as usize } , 145usize , concat ! (
18653                "Alignment of field: " , stringify ! (
18654                CThostFtdcQuoteActionField ) , "::" , stringify ! (
18655                ActionLocalID ) ));
18656    assert_eq! (unsafe {
18657                & ( * ( 0 as * const CThostFtdcQuoteActionField ) ) .
18658                ParticipantID as * const _ as usize } , 158usize , concat ! (
18659                "Alignment of field: " , stringify ! (
18660                CThostFtdcQuoteActionField ) , "::" , stringify ! (
18661                ParticipantID ) ));
18662    assert_eq! (unsafe {
18663                & ( * ( 0 as * const CThostFtdcQuoteActionField ) ) . ClientID
18664                as * const _ as usize } , 169usize , concat ! (
18665                "Alignment of field: " , stringify ! (
18666                CThostFtdcQuoteActionField ) , "::" , stringify ! ( ClientID )
18667                ));
18668    assert_eq! (unsafe {
18669                & ( * ( 0 as * const CThostFtdcQuoteActionField ) ) .
18670                BusinessUnit as * const _ as usize } , 180usize , concat ! (
18671                "Alignment of field: " , stringify ! (
18672                CThostFtdcQuoteActionField ) , "::" , stringify ! (
18673                BusinessUnit ) ));
18674    assert_eq! (unsafe {
18675                & ( * ( 0 as * const CThostFtdcQuoteActionField ) ) .
18676                OrderActionStatus as * const _ as usize } , 201usize , concat
18677                ! (
18678                "Alignment of field: " , stringify ! (
18679                CThostFtdcQuoteActionField ) , "::" , stringify ! (
18680                OrderActionStatus ) ));
18681    assert_eq! (unsafe {
18682                & ( * ( 0 as * const CThostFtdcQuoteActionField ) ) . UserID
18683                as * const _ as usize } , 202usize , concat ! (
18684                "Alignment of field: " , stringify ! (
18685                CThostFtdcQuoteActionField ) , "::" , stringify ! ( UserID )
18686                ));
18687    assert_eq! (unsafe {
18688                & ( * ( 0 as * const CThostFtdcQuoteActionField ) ) .
18689                StatusMsg as * const _ as usize } , 218usize , concat ! (
18690                "Alignment of field: " , stringify ! (
18691                CThostFtdcQuoteActionField ) , "::" , stringify ! ( StatusMsg
18692                ) ));
18693    assert_eq! (unsafe {
18694                & ( * ( 0 as * const CThostFtdcQuoteActionField ) ) .
18695                InstrumentID as * const _ as usize } , 299usize , concat ! (
18696                "Alignment of field: " , stringify ! (
18697                CThostFtdcQuoteActionField ) , "::" , stringify ! (
18698                InstrumentID ) ));
18699    assert_eq! (unsafe {
18700                & ( * ( 0 as * const CThostFtdcQuoteActionField ) ) . BranchID
18701                as * const _ as usize } , 330usize , concat ! (
18702                "Alignment of field: " , stringify ! (
18703                CThostFtdcQuoteActionField ) , "::" , stringify ! ( BranchID )
18704                ));
18705    assert_eq! (unsafe {
18706                & ( * ( 0 as * const CThostFtdcQuoteActionField ) ) .
18707                InvestUnitID as * const _ as usize } , 339usize , concat ! (
18708                "Alignment of field: " , stringify ! (
18709                CThostFtdcQuoteActionField ) , "::" , stringify ! (
18710                InvestUnitID ) ));
18711    assert_eq! (unsafe {
18712                & ( * ( 0 as * const CThostFtdcQuoteActionField ) ) .
18713                IPAddress as * const _ as usize } , 356usize , concat ! (
18714                "Alignment of field: " , stringify ! (
18715                CThostFtdcQuoteActionField ) , "::" , stringify ! ( IPAddress
18716                ) ));
18717    assert_eq! (unsafe {
18718                & ( * ( 0 as * const CThostFtdcQuoteActionField ) ) .
18719                MacAddress as * const _ as usize } , 372usize , concat ! (
18720                "Alignment of field: " , stringify ! (
18721                CThostFtdcQuoteActionField ) , "::" , stringify ! ( MacAddress
18722                ) ));
18723}
18724impl Clone for CThostFtdcQuoteActionField {
18725    fn clone(&self) -> Self { *self }
18726}
18727impl Default for CThostFtdcQuoteActionField {
18728    fn default() -> Self { unsafe { ::std::mem::zeroed() } }
18729}
18730/// 报价查询
18731#[repr(C)]
18732#[derive(Default, Copy)]
18733pub struct CThostFtdcQryQuoteField {
18734    /// 经纪公司代码
18735    pub BrokerID: TThostFtdcBrokerIDType,
18736    /// 投资者代码
18737    pub InvestorID: TThostFtdcInvestorIDType,
18738    /// 合约代码
18739    pub InstrumentID: TThostFtdcInstrumentIDType,
18740    /// 交易所代码
18741    pub ExchangeID: TThostFtdcExchangeIDType,
18742    /// 报价编号
18743    pub QuoteSysID: TThostFtdcOrderSysIDType,
18744    /// 开始时间
18745    pub InsertTimeStart: TThostFtdcTimeType,
18746    /// 结束时间
18747    pub InsertTimeEnd: TThostFtdcTimeType,
18748    /// 投资单元代码
18749    pub InvestUnitID: TThostFtdcInvestUnitIDType,
18750}
18751#[test]
18752fn bindgen_test_layout_CThostFtdcQryQuoteField() {
18753    assert_eq!(::std::mem::size_of::<CThostFtdcQryQuoteField>() , 120usize ,
18754               concat ! (
18755               "Size of: " , stringify ! ( CThostFtdcQryQuoteField ) ));
18756    assert_eq! (::std::mem::align_of::<CThostFtdcQryQuoteField>() , 1usize ,
18757                concat ! (
18758                "Alignment of " , stringify ! ( CThostFtdcQryQuoteField ) ));
18759    assert_eq! (unsafe {
18760                & ( * ( 0 as * const CThostFtdcQryQuoteField ) ) . BrokerID as
18761                * const _ as usize } , 0usize , concat ! (
18762                "Alignment of field: " , stringify ! ( CThostFtdcQryQuoteField
18763                ) , "::" , stringify ! ( BrokerID ) ));
18764    assert_eq! (unsafe {
18765                & ( * ( 0 as * const CThostFtdcQryQuoteField ) ) . InvestorID
18766                as * const _ as usize } , 11usize , concat ! (
18767                "Alignment of field: " , stringify ! ( CThostFtdcQryQuoteField
18768                ) , "::" , stringify ! ( InvestorID ) ));
18769    assert_eq! (unsafe {
18770                & ( * ( 0 as * const CThostFtdcQryQuoteField ) ) .
18771                InstrumentID as * const _ as usize } , 24usize , concat ! (
18772                "Alignment of field: " , stringify ! ( CThostFtdcQryQuoteField
18773                ) , "::" , stringify ! ( InstrumentID ) ));
18774    assert_eq! (unsafe {
18775                & ( * ( 0 as * const CThostFtdcQryQuoteField ) ) . ExchangeID
18776                as * const _ as usize } , 55usize , concat ! (
18777                "Alignment of field: " , stringify ! ( CThostFtdcQryQuoteField
18778                ) , "::" , stringify ! ( ExchangeID ) ));
18779    assert_eq! (unsafe {
18780                & ( * ( 0 as * const CThostFtdcQryQuoteField ) ) . QuoteSysID
18781                as * const _ as usize } , 64usize , concat ! (
18782                "Alignment of field: " , stringify ! ( CThostFtdcQryQuoteField
18783                ) , "::" , stringify ! ( QuoteSysID ) ));
18784    assert_eq! (unsafe {
18785                & ( * ( 0 as * const CThostFtdcQryQuoteField ) ) .
18786                InsertTimeStart as * const _ as usize } , 85usize , concat ! (
18787                "Alignment of field: " , stringify ! ( CThostFtdcQryQuoteField
18788                ) , "::" , stringify ! ( InsertTimeStart ) ));
18789    assert_eq! (unsafe {
18790                & ( * ( 0 as * const CThostFtdcQryQuoteField ) ) .
18791                InsertTimeEnd as * const _ as usize } , 94usize , concat ! (
18792                "Alignment of field: " , stringify ! ( CThostFtdcQryQuoteField
18793                ) , "::" , stringify ! ( InsertTimeEnd ) ));
18794    assert_eq! (unsafe {
18795                & ( * ( 0 as * const CThostFtdcQryQuoteField ) ) .
18796                InvestUnitID as * const _ as usize } , 103usize , concat ! (
18797                "Alignment of field: " , stringify ! ( CThostFtdcQryQuoteField
18798                ) , "::" , stringify ! ( InvestUnitID ) ));
18799}
18800impl Clone for CThostFtdcQryQuoteField {
18801    fn clone(&self) -> Self { *self }
18802}
18803/// 交易所报价信息
18804#[repr(C)]
18805#[derive(Default, Copy)]
18806pub struct CThostFtdcExchangeQuoteField {
18807    /// 卖价格
18808    pub AskPrice: TThostFtdcPriceType,
18809    /// 买价格
18810    pub BidPrice: TThostFtdcPriceType,
18811    /// 卖数量
18812    pub AskVolume: TThostFtdcVolumeType,
18813    /// 买数量
18814    pub BidVolume: TThostFtdcVolumeType,
18815    /// 请求编号
18816    pub RequestID: TThostFtdcRequestIDType,
18817    /// 业务单元
18818    pub BusinessUnit: TThostFtdcBusinessUnitType,
18819    /// 卖开平标志
18820    pub AskOffsetFlag: TThostFtdcOffsetFlagType,
18821    /// 买开平标志
18822    pub BidOffsetFlag: TThostFtdcOffsetFlagType,
18823    /// 卖投机套保标志
18824    pub AskHedgeFlag: TThostFtdcHedgeFlagType,
18825    /// 买投机套保标志
18826    pub BidHedgeFlag: TThostFtdcHedgeFlagType,
18827    /// 本地报价编号
18828    pub QuoteLocalID: TThostFtdcOrderLocalIDType,
18829    /// 交易所代码
18830    pub ExchangeID: TThostFtdcExchangeIDType,
18831    /// 会员代码
18832    pub ParticipantID: TThostFtdcParticipantIDType,
18833    /// 客户代码
18834    pub ClientID: TThostFtdcClientIDType,
18835    /// 合约在交易所的代码
18836    pub ExchangeInstID: TThostFtdcExchangeInstIDType,
18837    /// 交易所交易员代码
18838    pub TraderID: TThostFtdcTraderIDType,
18839    /// 安装编号
18840    pub InstallID: TThostFtdcInstallIDType,
18841    /// 报价提示序号
18842    pub NotifySequence: TThostFtdcSequenceNoType,
18843    /// 报价提交状态
18844    pub OrderSubmitStatus: TThostFtdcOrderSubmitStatusType,
18845    /// 交易日
18846    pub TradingDay: TThostFtdcDateType,
18847    /// 结算编号
18848    pub SettlementID: TThostFtdcSettlementIDType,
18849    /// 报价编号
18850    pub QuoteSysID: TThostFtdcOrderSysIDType,
18851    /// 报单日期
18852    pub InsertDate: TThostFtdcDateType,
18853    /// 插入时间
18854    pub InsertTime: TThostFtdcTimeType,
18855    /// 撤销时间
18856    pub CancelTime: TThostFtdcTimeType,
18857    /// 报价状态
18858    pub QuoteStatus: TThostFtdcOrderStatusType,
18859    /// 结算会员编号
18860    pub ClearingPartID: TThostFtdcParticipantIDType,
18861    /// 序号
18862    pub SequenceNo: TThostFtdcSequenceNoType,
18863    /// 卖方报单编号
18864    pub AskOrderSysID: TThostFtdcOrderSysIDType,
18865    /// 买方报单编号
18866    pub BidOrderSysID: TThostFtdcOrderSysIDType,
18867    /// 应价编号
18868    pub ForQuoteSysID: TThostFtdcOrderSysIDType,
18869    /// 营业部编号
18870    pub BranchID: TThostFtdcBranchIDType,
18871    /// IP地址
18872    pub IPAddress: TThostFtdcIPAddressType,
18873    /// Mac地址
18874    pub MacAddress: TThostFtdcMacAddressType,
18875}
18876#[test]
18877fn bindgen_test_layout_CThostFtdcExchangeQuoteField() {
18878    assert_eq!(::std::mem::size_of::<CThostFtdcExchangeQuoteField>() ,
18879               352usize , concat ! (
18880               "Size of: " , stringify ! ( CThostFtdcExchangeQuoteField ) ));
18881    assert_eq! (::std::mem::align_of::<CThostFtdcExchangeQuoteField>() ,
18882                8usize , concat ! (
18883                "Alignment of " , stringify ! ( CThostFtdcExchangeQuoteField )
18884                ));
18885    assert_eq! (unsafe {
18886                & ( * ( 0 as * const CThostFtdcExchangeQuoteField ) ) .
18887                AskPrice as * const _ as usize } , 0usize , concat ! (
18888                "Alignment of field: " , stringify ! (
18889                CThostFtdcExchangeQuoteField ) , "::" , stringify ! ( AskPrice
18890                ) ));
18891    assert_eq! (unsafe {
18892                & ( * ( 0 as * const CThostFtdcExchangeQuoteField ) ) .
18893                BidPrice as * const _ as usize } , 8usize , concat ! (
18894                "Alignment of field: " , stringify ! (
18895                CThostFtdcExchangeQuoteField ) , "::" , stringify ! ( BidPrice
18896                ) ));
18897    assert_eq! (unsafe {
18898                & ( * ( 0 as * const CThostFtdcExchangeQuoteField ) ) .
18899                AskVolume as * const _ as usize } , 16usize , concat ! (
18900                "Alignment of field: " , stringify ! (
18901                CThostFtdcExchangeQuoteField ) , "::" , stringify ! (
18902                AskVolume ) ));
18903    assert_eq! (unsafe {
18904                & ( * ( 0 as * const CThostFtdcExchangeQuoteField ) ) .
18905                BidVolume as * const _ as usize } , 20usize , concat ! (
18906                "Alignment of field: " , stringify ! (
18907                CThostFtdcExchangeQuoteField ) , "::" , stringify ! (
18908                BidVolume ) ));
18909    assert_eq! (unsafe {
18910                & ( * ( 0 as * const CThostFtdcExchangeQuoteField ) ) .
18911                RequestID as * const _ as usize } , 24usize , concat ! (
18912                "Alignment of field: " , stringify ! (
18913                CThostFtdcExchangeQuoteField ) , "::" , stringify ! (
18914                RequestID ) ));
18915    assert_eq! (unsafe {
18916                & ( * ( 0 as * const CThostFtdcExchangeQuoteField ) ) .
18917                BusinessUnit as * const _ as usize } , 28usize , concat ! (
18918                "Alignment of field: " , stringify ! (
18919                CThostFtdcExchangeQuoteField ) , "::" , stringify ! (
18920                BusinessUnit ) ));
18921    assert_eq! (unsafe {
18922                & ( * ( 0 as * const CThostFtdcExchangeQuoteField ) ) .
18923                AskOffsetFlag as * const _ as usize } , 49usize , concat ! (
18924                "Alignment of field: " , stringify ! (
18925                CThostFtdcExchangeQuoteField ) , "::" , stringify ! (
18926                AskOffsetFlag ) ));
18927    assert_eq! (unsafe {
18928                & ( * ( 0 as * const CThostFtdcExchangeQuoteField ) ) .
18929                BidOffsetFlag as * const _ as usize } , 50usize , concat ! (
18930                "Alignment of field: " , stringify ! (
18931                CThostFtdcExchangeQuoteField ) , "::" , stringify ! (
18932                BidOffsetFlag ) ));
18933    assert_eq! (unsafe {
18934                & ( * ( 0 as * const CThostFtdcExchangeQuoteField ) ) .
18935                AskHedgeFlag as * const _ as usize } , 51usize , concat ! (
18936                "Alignment of field: " , stringify ! (
18937                CThostFtdcExchangeQuoteField ) , "::" , stringify ! (
18938                AskHedgeFlag ) ));
18939    assert_eq! (unsafe {
18940                & ( * ( 0 as * const CThostFtdcExchangeQuoteField ) ) .
18941                BidHedgeFlag as * const _ as usize } , 52usize , concat ! (
18942                "Alignment of field: " , stringify ! (
18943                CThostFtdcExchangeQuoteField ) , "::" , stringify ! (
18944                BidHedgeFlag ) ));
18945    assert_eq! (unsafe {
18946                & ( * ( 0 as * const CThostFtdcExchangeQuoteField ) ) .
18947                QuoteLocalID as * const _ as usize } , 53usize , concat ! (
18948                "Alignment of field: " , stringify ! (
18949                CThostFtdcExchangeQuoteField ) , "::" , stringify ! (
18950                QuoteLocalID ) ));
18951    assert_eq! (unsafe {
18952                & ( * ( 0 as * const CThostFtdcExchangeQuoteField ) ) .
18953                ExchangeID as * const _ as usize } , 66usize , concat ! (
18954                "Alignment of field: " , stringify ! (
18955                CThostFtdcExchangeQuoteField ) , "::" , stringify ! (
18956                ExchangeID ) ));
18957    assert_eq! (unsafe {
18958                & ( * ( 0 as * const CThostFtdcExchangeQuoteField ) ) .
18959                ParticipantID as * const _ as usize } , 75usize , concat ! (
18960                "Alignment of field: " , stringify ! (
18961                CThostFtdcExchangeQuoteField ) , "::" , stringify ! (
18962                ParticipantID ) ));
18963    assert_eq! (unsafe {
18964                & ( * ( 0 as * const CThostFtdcExchangeQuoteField ) ) .
18965                ClientID as * const _ as usize } , 86usize , concat ! (
18966                "Alignment of field: " , stringify ! (
18967                CThostFtdcExchangeQuoteField ) , "::" , stringify ! ( ClientID
18968                ) ));
18969    assert_eq! (unsafe {
18970                & ( * ( 0 as * const CThostFtdcExchangeQuoteField ) ) .
18971                ExchangeInstID as * const _ as usize } , 97usize , concat ! (
18972                "Alignment of field: " , stringify ! (
18973                CThostFtdcExchangeQuoteField ) , "::" , stringify ! (
18974                ExchangeInstID ) ));
18975    assert_eq! (unsafe {
18976                & ( * ( 0 as * const CThostFtdcExchangeQuoteField ) ) .
18977                TraderID as * const _ as usize } , 128usize , concat ! (
18978                "Alignment of field: " , stringify ! (
18979                CThostFtdcExchangeQuoteField ) , "::" , stringify ! ( TraderID
18980                ) ));
18981    assert_eq! (unsafe {
18982                & ( * ( 0 as * const CThostFtdcExchangeQuoteField ) ) .
18983                InstallID as * const _ as usize } , 152usize , concat ! (
18984                "Alignment of field: " , stringify ! (
18985                CThostFtdcExchangeQuoteField ) , "::" , stringify ! (
18986                InstallID ) ));
18987    assert_eq! (unsafe {
18988                & ( * ( 0 as * const CThostFtdcExchangeQuoteField ) ) .
18989                NotifySequence as * const _ as usize } , 156usize , concat ! (
18990                "Alignment of field: " , stringify ! (
18991                CThostFtdcExchangeQuoteField ) , "::" , stringify ! (
18992                NotifySequence ) ));
18993    assert_eq! (unsafe {
18994                & ( * ( 0 as * const CThostFtdcExchangeQuoteField ) ) .
18995                OrderSubmitStatus as * const _ as usize } , 160usize , concat
18996                ! (
18997                "Alignment of field: " , stringify ! (
18998                CThostFtdcExchangeQuoteField ) , "::" , stringify ! (
18999                OrderSubmitStatus ) ));
19000    assert_eq! (unsafe {
19001                & ( * ( 0 as * const CThostFtdcExchangeQuoteField ) ) .
19002                TradingDay as * const _ as usize } , 161usize , concat ! (
19003                "Alignment of field: " , stringify ! (
19004                CThostFtdcExchangeQuoteField ) , "::" , stringify ! (
19005                TradingDay ) ));
19006    assert_eq! (unsafe {
19007                & ( * ( 0 as * const CThostFtdcExchangeQuoteField ) ) .
19008                SettlementID as * const _ as usize } , 172usize , concat ! (
19009                "Alignment of field: " , stringify ! (
19010                CThostFtdcExchangeQuoteField ) , "::" , stringify ! (
19011                SettlementID ) ));
19012    assert_eq! (unsafe {
19013                & ( * ( 0 as * const CThostFtdcExchangeQuoteField ) ) .
19014                QuoteSysID as * const _ as usize } , 176usize , concat ! (
19015                "Alignment of field: " , stringify ! (
19016                CThostFtdcExchangeQuoteField ) , "::" , stringify ! (
19017                QuoteSysID ) ));
19018    assert_eq! (unsafe {
19019                & ( * ( 0 as * const CThostFtdcExchangeQuoteField ) ) .
19020                InsertDate as * const _ as usize } , 197usize , concat ! (
19021                "Alignment of field: " , stringify ! (
19022                CThostFtdcExchangeQuoteField ) , "::" , stringify ! (
19023                InsertDate ) ));
19024    assert_eq! (unsafe {
19025                & ( * ( 0 as * const CThostFtdcExchangeQuoteField ) ) .
19026                InsertTime as * const _ as usize } , 206usize , concat ! (
19027                "Alignment of field: " , stringify ! (
19028                CThostFtdcExchangeQuoteField ) , "::" , stringify ! (
19029                InsertTime ) ));
19030    assert_eq! (unsafe {
19031                & ( * ( 0 as * const CThostFtdcExchangeQuoteField ) ) .
19032                CancelTime as * const _ as usize } , 215usize , concat ! (
19033                "Alignment of field: " , stringify ! (
19034                CThostFtdcExchangeQuoteField ) , "::" , stringify ! (
19035                CancelTime ) ));
19036    assert_eq! (unsafe {
19037                & ( * ( 0 as * const CThostFtdcExchangeQuoteField ) ) .
19038                QuoteStatus as * const _ as usize } , 224usize , concat ! (
19039                "Alignment of field: " , stringify ! (
19040                CThostFtdcExchangeQuoteField ) , "::" , stringify ! (
19041                QuoteStatus ) ));
19042    assert_eq! (unsafe {
19043                & ( * ( 0 as * const CThostFtdcExchangeQuoteField ) ) .
19044                ClearingPartID as * const _ as usize } , 225usize , concat ! (
19045                "Alignment of field: " , stringify ! (
19046                CThostFtdcExchangeQuoteField ) , "::" , stringify ! (
19047                ClearingPartID ) ));
19048    assert_eq! (unsafe {
19049                & ( * ( 0 as * const CThostFtdcExchangeQuoteField ) ) .
19050                SequenceNo as * const _ as usize } , 236usize , concat ! (
19051                "Alignment of field: " , stringify ! (
19052                CThostFtdcExchangeQuoteField ) , "::" , stringify ! (
19053                SequenceNo ) ));
19054    assert_eq! (unsafe {
19055                & ( * ( 0 as * const CThostFtdcExchangeQuoteField ) ) .
19056                AskOrderSysID as * const _ as usize } , 240usize , concat ! (
19057                "Alignment of field: " , stringify ! (
19058                CThostFtdcExchangeQuoteField ) , "::" , stringify ! (
19059                AskOrderSysID ) ));
19060    assert_eq! (unsafe {
19061                & ( * ( 0 as * const CThostFtdcExchangeQuoteField ) ) .
19062                BidOrderSysID as * const _ as usize } , 261usize , concat ! (
19063                "Alignment of field: " , stringify ! (
19064                CThostFtdcExchangeQuoteField ) , "::" , stringify ! (
19065                BidOrderSysID ) ));
19066    assert_eq! (unsafe {
19067                & ( * ( 0 as * const CThostFtdcExchangeQuoteField ) ) .
19068                ForQuoteSysID as * const _ as usize } , 282usize , concat ! (
19069                "Alignment of field: " , stringify ! (
19070                CThostFtdcExchangeQuoteField ) , "::" , stringify ! (
19071                ForQuoteSysID ) ));
19072    assert_eq! (unsafe {
19073                & ( * ( 0 as * const CThostFtdcExchangeQuoteField ) ) .
19074                BranchID as * const _ as usize } , 303usize , concat ! (
19075                "Alignment of field: " , stringify ! (
19076                CThostFtdcExchangeQuoteField ) , "::" , stringify ! ( BranchID
19077                ) ));
19078    assert_eq! (unsafe {
19079                & ( * ( 0 as * const CThostFtdcExchangeQuoteField ) ) .
19080                IPAddress as * const _ as usize } , 312usize , concat ! (
19081                "Alignment of field: " , stringify ! (
19082                CThostFtdcExchangeQuoteField ) , "::" , stringify ! (
19083                IPAddress ) ));
19084    assert_eq! (unsafe {
19085                & ( * ( 0 as * const CThostFtdcExchangeQuoteField ) ) .
19086                MacAddress as * const _ as usize } , 328usize , concat ! (
19087                "Alignment of field: " , stringify ! (
19088                CThostFtdcExchangeQuoteField ) , "::" , stringify ! (
19089                MacAddress ) ));
19090}
19091impl Clone for CThostFtdcExchangeQuoteField {
19092    fn clone(&self) -> Self { *self }
19093}
19094/// 交易所报价查询
19095#[repr(C)]
19096#[derive(Default, Copy)]
19097pub struct CThostFtdcQryExchangeQuoteField {
19098    /// 会员代码
19099    pub ParticipantID: TThostFtdcParticipantIDType,
19100    /// 客户代码
19101    pub ClientID: TThostFtdcClientIDType,
19102    /// 合约在交易所的代码
19103    pub ExchangeInstID: TThostFtdcExchangeInstIDType,
19104    /// 交易所代码
19105    pub ExchangeID: TThostFtdcExchangeIDType,
19106    /// 交易所交易员代码
19107    pub TraderID: TThostFtdcTraderIDType,
19108}
19109#[test]
19110fn bindgen_test_layout_CThostFtdcQryExchangeQuoteField() {
19111    assert_eq!(::std::mem::size_of::<CThostFtdcQryExchangeQuoteField>() ,
19112               83usize , concat ! (
19113               "Size of: " , stringify ! ( CThostFtdcQryExchangeQuoteField )
19114               ));
19115    assert_eq! (::std::mem::align_of::<CThostFtdcQryExchangeQuoteField>() ,
19116                1usize , concat ! (
19117                "Alignment of " , stringify ! (
19118                CThostFtdcQryExchangeQuoteField ) ));
19119    assert_eq! (unsafe {
19120                & ( * ( 0 as * const CThostFtdcQryExchangeQuoteField ) ) .
19121                ParticipantID as * const _ as usize } , 0usize , concat ! (
19122                "Alignment of field: " , stringify ! (
19123                CThostFtdcQryExchangeQuoteField ) , "::" , stringify ! (
19124                ParticipantID ) ));
19125    assert_eq! (unsafe {
19126                & ( * ( 0 as * const CThostFtdcQryExchangeQuoteField ) ) .
19127                ClientID as * const _ as usize } , 11usize , concat ! (
19128                "Alignment of field: " , stringify ! (
19129                CThostFtdcQryExchangeQuoteField ) , "::" , stringify ! (
19130                ClientID ) ));
19131    assert_eq! (unsafe {
19132                & ( * ( 0 as * const CThostFtdcQryExchangeQuoteField ) ) .
19133                ExchangeInstID as * const _ as usize } , 22usize , concat ! (
19134                "Alignment of field: " , stringify ! (
19135                CThostFtdcQryExchangeQuoteField ) , "::" , stringify ! (
19136                ExchangeInstID ) ));
19137    assert_eq! (unsafe {
19138                & ( * ( 0 as * const CThostFtdcQryExchangeQuoteField ) ) .
19139                ExchangeID as * const _ as usize } , 53usize , concat ! (
19140                "Alignment of field: " , stringify ! (
19141                CThostFtdcQryExchangeQuoteField ) , "::" , stringify ! (
19142                ExchangeID ) ));
19143    assert_eq! (unsafe {
19144                & ( * ( 0 as * const CThostFtdcQryExchangeQuoteField ) ) .
19145                TraderID as * const _ as usize } , 62usize , concat ! (
19146                "Alignment of field: " , stringify ! (
19147                CThostFtdcQryExchangeQuoteField ) , "::" , stringify ! (
19148                TraderID ) ));
19149}
19150impl Clone for CThostFtdcQryExchangeQuoteField {
19151    fn clone(&self) -> Self { *self }
19152}
19153/// 报价操作查询
19154#[repr(C)]
19155#[derive(Default, Copy)]
19156pub struct CThostFtdcQryQuoteActionField {
19157    /// 经纪公司代码
19158    pub BrokerID: TThostFtdcBrokerIDType,
19159    /// 投资者代码
19160    pub InvestorID: TThostFtdcInvestorIDType,
19161    /// 交易所代码
19162    pub ExchangeID: TThostFtdcExchangeIDType,
19163}
19164#[test]
19165fn bindgen_test_layout_CThostFtdcQryQuoteActionField() {
19166    assert_eq!(::std::mem::size_of::<CThostFtdcQryQuoteActionField>() ,
19167               33usize , concat ! (
19168               "Size of: " , stringify ! ( CThostFtdcQryQuoteActionField ) ));
19169    assert_eq! (::std::mem::align_of::<CThostFtdcQryQuoteActionField>() ,
19170                1usize , concat ! (
19171                "Alignment of " , stringify ! ( CThostFtdcQryQuoteActionField
19172                ) ));
19173    assert_eq! (unsafe {
19174                & ( * ( 0 as * const CThostFtdcQryQuoteActionField ) ) .
19175                BrokerID as * const _ as usize } , 0usize , concat ! (
19176                "Alignment of field: " , stringify ! (
19177                CThostFtdcQryQuoteActionField ) , "::" , stringify ! (
19178                BrokerID ) ));
19179    assert_eq! (unsafe {
19180                & ( * ( 0 as * const CThostFtdcQryQuoteActionField ) ) .
19181                InvestorID as * const _ as usize } , 11usize , concat ! (
19182                "Alignment of field: " , stringify ! (
19183                CThostFtdcQryQuoteActionField ) , "::" , stringify ! (
19184                InvestorID ) ));
19185    assert_eq! (unsafe {
19186                & ( * ( 0 as * const CThostFtdcQryQuoteActionField ) ) .
19187                ExchangeID as * const _ as usize } , 24usize , concat ! (
19188                "Alignment of field: " , stringify ! (
19189                CThostFtdcQryQuoteActionField ) , "::" , stringify ! (
19190                ExchangeID ) ));
19191}
19192impl Clone for CThostFtdcQryQuoteActionField {
19193    fn clone(&self) -> Self { *self }
19194}
19195/// 交易所报价操作
19196#[repr(C)]
19197#[derive(Default, Copy)]
19198pub struct CThostFtdcExchangeQuoteActionField {
19199    /// 交易所代码
19200    pub ExchangeID: TThostFtdcExchangeIDType,
19201    /// 报价操作编号
19202    pub QuoteSysID: TThostFtdcOrderSysIDType,
19203    /// 操作标志
19204    pub ActionFlag: TThostFtdcActionFlagType,
19205    /// 操作日期
19206    pub ActionDate: TThostFtdcDateType,
19207    /// 操作时间
19208    pub ActionTime: TThostFtdcTimeType,
19209    /// 交易所交易员代码
19210    pub TraderID: TThostFtdcTraderIDType,
19211    /// 安装编号
19212    pub InstallID: TThostFtdcInstallIDType,
19213    /// 本地报价编号
19214    pub QuoteLocalID: TThostFtdcOrderLocalIDType,
19215    /// 操作本地编号
19216    pub ActionLocalID: TThostFtdcOrderLocalIDType,
19217    /// 会员代码
19218    pub ParticipantID: TThostFtdcParticipantIDType,
19219    /// 客户代码
19220    pub ClientID: TThostFtdcClientIDType,
19221    /// 业务单元
19222    pub BusinessUnit: TThostFtdcBusinessUnitType,
19223    /// 报单操作状态
19224    pub OrderActionStatus: TThostFtdcOrderActionStatusType,
19225    /// 用户代码
19226    pub UserID: TThostFtdcUserIDType,
19227    /// IP地址
19228    pub IPAddress: TThostFtdcIPAddressType,
19229    /// Mac地址
19230    pub MacAddress: TThostFtdcMacAddressType,
19231}
19232#[test]
19233fn bindgen_test_layout_CThostFtdcExchangeQuoteActionField() {
19234    assert_eq!(::std::mem::size_of::<CThostFtdcExchangeQuoteActionField>() ,
19235               200usize , concat ! (
19236               "Size of: " , stringify ! ( CThostFtdcExchangeQuoteActionField
19237               ) ));
19238    assert_eq! (::std::mem::align_of::<CThostFtdcExchangeQuoteActionField>() ,
19239                4usize , concat ! (
19240                "Alignment of " , stringify ! (
19241                CThostFtdcExchangeQuoteActionField ) ));
19242    assert_eq! (unsafe {
19243                & ( * ( 0 as * const CThostFtdcExchangeQuoteActionField ) ) .
19244                ExchangeID as * const _ as usize } , 0usize , concat ! (
19245                "Alignment of field: " , stringify ! (
19246                CThostFtdcExchangeQuoteActionField ) , "::" , stringify ! (
19247                ExchangeID ) ));
19248    assert_eq! (unsafe {
19249                & ( * ( 0 as * const CThostFtdcExchangeQuoteActionField ) ) .
19250                QuoteSysID as * const _ as usize } , 9usize , concat ! (
19251                "Alignment of field: " , stringify ! (
19252                CThostFtdcExchangeQuoteActionField ) , "::" , stringify ! (
19253                QuoteSysID ) ));
19254    assert_eq! (unsafe {
19255                & ( * ( 0 as * const CThostFtdcExchangeQuoteActionField ) ) .
19256                ActionFlag as * const _ as usize } , 30usize , concat ! (
19257                "Alignment of field: " , stringify ! (
19258                CThostFtdcExchangeQuoteActionField ) , "::" , stringify ! (
19259                ActionFlag ) ));
19260    assert_eq! (unsafe {
19261                & ( * ( 0 as * const CThostFtdcExchangeQuoteActionField ) ) .
19262                ActionDate as * const _ as usize } , 31usize , concat ! (
19263                "Alignment of field: " , stringify ! (
19264                CThostFtdcExchangeQuoteActionField ) , "::" , stringify ! (
19265                ActionDate ) ));
19266    assert_eq! (unsafe {
19267                & ( * ( 0 as * const CThostFtdcExchangeQuoteActionField ) ) .
19268                ActionTime as * const _ as usize } , 40usize , concat ! (
19269                "Alignment of field: " , stringify ! (
19270                CThostFtdcExchangeQuoteActionField ) , "::" , stringify ! (
19271                ActionTime ) ));
19272    assert_eq! (unsafe {
19273                & ( * ( 0 as * const CThostFtdcExchangeQuoteActionField ) ) .
19274                TraderID as * const _ as usize } , 49usize , concat ! (
19275                "Alignment of field: " , stringify ! (
19276                CThostFtdcExchangeQuoteActionField ) , "::" , stringify ! (
19277                TraderID ) ));
19278    assert_eq! (unsafe {
19279                & ( * ( 0 as * const CThostFtdcExchangeQuoteActionField ) ) .
19280                InstallID as * const _ as usize } , 72usize , concat ! (
19281                "Alignment of field: " , stringify ! (
19282                CThostFtdcExchangeQuoteActionField ) , "::" , stringify ! (
19283                InstallID ) ));
19284    assert_eq! (unsafe {
19285                & ( * ( 0 as * const CThostFtdcExchangeQuoteActionField ) ) .
19286                QuoteLocalID as * const _ as usize } , 76usize , concat ! (
19287                "Alignment of field: " , stringify ! (
19288                CThostFtdcExchangeQuoteActionField ) , "::" , stringify ! (
19289                QuoteLocalID ) ));
19290    assert_eq! (unsafe {
19291                & ( * ( 0 as * const CThostFtdcExchangeQuoteActionField ) ) .
19292                ActionLocalID as * const _ as usize } , 89usize , concat ! (
19293                "Alignment of field: " , stringify ! (
19294                CThostFtdcExchangeQuoteActionField ) , "::" , stringify ! (
19295                ActionLocalID ) ));
19296    assert_eq! (unsafe {
19297                & ( * ( 0 as * const CThostFtdcExchangeQuoteActionField ) ) .
19298                ParticipantID as * const _ as usize } , 102usize , concat ! (
19299                "Alignment of field: " , stringify ! (
19300                CThostFtdcExchangeQuoteActionField ) , "::" , stringify ! (
19301                ParticipantID ) ));
19302    assert_eq! (unsafe {
19303                & ( * ( 0 as * const CThostFtdcExchangeQuoteActionField ) ) .
19304                ClientID as * const _ as usize } , 113usize , concat ! (
19305                "Alignment of field: " , stringify ! (
19306                CThostFtdcExchangeQuoteActionField ) , "::" , stringify ! (
19307                ClientID ) ));
19308    assert_eq! (unsafe {
19309                & ( * ( 0 as * const CThostFtdcExchangeQuoteActionField ) ) .
19310                BusinessUnit as * const _ as usize } , 124usize , concat ! (
19311                "Alignment of field: " , stringify ! (
19312                CThostFtdcExchangeQuoteActionField ) , "::" , stringify ! (
19313                BusinessUnit ) ));
19314    assert_eq! (unsafe {
19315                & ( * ( 0 as * const CThostFtdcExchangeQuoteActionField ) ) .
19316                OrderActionStatus as * const _ as usize } , 145usize , concat
19317                ! (
19318                "Alignment of field: " , stringify ! (
19319                CThostFtdcExchangeQuoteActionField ) , "::" , stringify ! (
19320                OrderActionStatus ) ));
19321    assert_eq! (unsafe {
19322                & ( * ( 0 as * const CThostFtdcExchangeQuoteActionField ) ) .
19323                UserID as * const _ as usize } , 146usize , concat ! (
19324                "Alignment of field: " , stringify ! (
19325                CThostFtdcExchangeQuoteActionField ) , "::" , stringify ! (
19326                UserID ) ));
19327    assert_eq! (unsafe {
19328                & ( * ( 0 as * const CThostFtdcExchangeQuoteActionField ) ) .
19329                IPAddress as * const _ as usize } , 162usize , concat ! (
19330                "Alignment of field: " , stringify ! (
19331                CThostFtdcExchangeQuoteActionField ) , "::" , stringify ! (
19332                IPAddress ) ));
19333    assert_eq! (unsafe {
19334                & ( * ( 0 as * const CThostFtdcExchangeQuoteActionField ) ) .
19335                MacAddress as * const _ as usize } , 178usize , concat ! (
19336                "Alignment of field: " , stringify ! (
19337                CThostFtdcExchangeQuoteActionField ) , "::" , stringify ! (
19338                MacAddress ) ));
19339}
19340impl Clone for CThostFtdcExchangeQuoteActionField {
19341    fn clone(&self) -> Self { *self }
19342}
19343/// 交易所报价操作查询
19344#[repr(C)]
19345#[derive(Default, Copy)]
19346pub struct CThostFtdcQryExchangeQuoteActionField {
19347    /// 会员代码
19348    pub ParticipantID: TThostFtdcParticipantIDType,
19349    /// 客户代码
19350    pub ClientID: TThostFtdcClientIDType,
19351    /// 交易所代码
19352    pub ExchangeID: TThostFtdcExchangeIDType,
19353    /// 交易所交易员代码
19354    pub TraderID: TThostFtdcTraderIDType,
19355}
19356#[test]
19357fn bindgen_test_layout_CThostFtdcQryExchangeQuoteActionField() {
19358    assert_eq!(::std::mem::size_of::<CThostFtdcQryExchangeQuoteActionField>()
19359               , 52usize , concat ! (
19360               "Size of: " , stringify ! (
19361               CThostFtdcQryExchangeQuoteActionField ) ));
19362    assert_eq! (::std::mem::align_of::<CThostFtdcQryExchangeQuoteActionField>()
19363                , 1usize , concat ! (
19364                "Alignment of " , stringify ! (
19365                CThostFtdcQryExchangeQuoteActionField ) ));
19366    assert_eq! (unsafe {
19367                & ( * ( 0 as * const CThostFtdcQryExchangeQuoteActionField ) )
19368                . ParticipantID as * const _ as usize } , 0usize , concat ! (
19369                "Alignment of field: " , stringify ! (
19370                CThostFtdcQryExchangeQuoteActionField ) , "::" , stringify ! (
19371                ParticipantID ) ));
19372    assert_eq! (unsafe {
19373                & ( * ( 0 as * const CThostFtdcQryExchangeQuoteActionField ) )
19374                . ClientID as * const _ as usize } , 11usize , concat ! (
19375                "Alignment of field: " , stringify ! (
19376                CThostFtdcQryExchangeQuoteActionField ) , "::" , stringify ! (
19377                ClientID ) ));
19378    assert_eq! (unsafe {
19379                & ( * ( 0 as * const CThostFtdcQryExchangeQuoteActionField ) )
19380                . ExchangeID as * const _ as usize } , 22usize , concat ! (
19381                "Alignment of field: " , stringify ! (
19382                CThostFtdcQryExchangeQuoteActionField ) , "::" , stringify ! (
19383                ExchangeID ) ));
19384    assert_eq! (unsafe {
19385                & ( * ( 0 as * const CThostFtdcQryExchangeQuoteActionField ) )
19386                . TraderID as * const _ as usize } , 31usize , concat ! (
19387                "Alignment of field: " , stringify ! (
19388                CThostFtdcQryExchangeQuoteActionField ) , "::" , stringify ! (
19389                TraderID ) ));
19390}
19391impl Clone for CThostFtdcQryExchangeQuoteActionField {
19392    fn clone(&self) -> Self { *self }
19393}
19394/// 期权合约delta值
19395#[repr(C)]
19396#[derive(Default, Copy)]
19397pub struct CThostFtdcOptionInstrDeltaField {
19398    /// 合约代码
19399    pub InstrumentID: TThostFtdcInstrumentIDType,
19400    /// 投资者范围
19401    pub InvestorRange: TThostFtdcInvestorRangeType,
19402    /// 经纪公司代码
19403    pub BrokerID: TThostFtdcBrokerIDType,
19404    /// 投资者代码
19405    pub InvestorID: TThostFtdcInvestorIDType,
19406    /// Delta值
19407    pub Delta: TThostFtdcRatioType,
19408}
19409#[test]
19410fn bindgen_test_layout_CThostFtdcOptionInstrDeltaField() {
19411    assert_eq!(::std::mem::size_of::<CThostFtdcOptionInstrDeltaField>() ,
19412               64usize , concat ! (
19413               "Size of: " , stringify ! ( CThostFtdcOptionInstrDeltaField )
19414               ));
19415    assert_eq! (::std::mem::align_of::<CThostFtdcOptionInstrDeltaField>() ,
19416                8usize , concat ! (
19417                "Alignment of " , stringify ! (
19418                CThostFtdcOptionInstrDeltaField ) ));
19419    assert_eq! (unsafe {
19420                & ( * ( 0 as * const CThostFtdcOptionInstrDeltaField ) ) .
19421                InstrumentID as * const _ as usize } , 0usize , concat ! (
19422                "Alignment of field: " , stringify ! (
19423                CThostFtdcOptionInstrDeltaField ) , "::" , stringify ! (
19424                InstrumentID ) ));
19425    assert_eq! (unsafe {
19426                & ( * ( 0 as * const CThostFtdcOptionInstrDeltaField ) ) .
19427                InvestorRange as * const _ as usize } , 31usize , concat ! (
19428                "Alignment of field: " , stringify ! (
19429                CThostFtdcOptionInstrDeltaField ) , "::" , stringify ! (
19430                InvestorRange ) ));
19431    assert_eq! (unsafe {
19432                & ( * ( 0 as * const CThostFtdcOptionInstrDeltaField ) ) .
19433                BrokerID as * const _ as usize } , 32usize , concat ! (
19434                "Alignment of field: " , stringify ! (
19435                CThostFtdcOptionInstrDeltaField ) , "::" , stringify ! (
19436                BrokerID ) ));
19437    assert_eq! (unsafe {
19438                & ( * ( 0 as * const CThostFtdcOptionInstrDeltaField ) ) .
19439                InvestorID as * const _ as usize } , 43usize , concat ! (
19440                "Alignment of field: " , stringify ! (
19441                CThostFtdcOptionInstrDeltaField ) , "::" , stringify ! (
19442                InvestorID ) ));
19443    assert_eq! (unsafe {
19444                & ( * ( 0 as * const CThostFtdcOptionInstrDeltaField ) ) .
19445                Delta as * const _ as usize } , 56usize , concat ! (
19446                "Alignment of field: " , stringify ! (
19447                CThostFtdcOptionInstrDeltaField ) , "::" , stringify ! ( Delta
19448                ) ));
19449}
19450impl Clone for CThostFtdcOptionInstrDeltaField {
19451    fn clone(&self) -> Self { *self }
19452}
19453/// 发给做市商的询价请求
19454#[repr(C)]
19455#[derive(Default, Copy)]
19456pub struct CThostFtdcForQuoteRspField {
19457    /// 交易日
19458    pub TradingDay: TThostFtdcDateType,
19459    /// 合约代码
19460    pub InstrumentID: TThostFtdcInstrumentIDType,
19461    /// 询价编号
19462    pub ForQuoteSysID: TThostFtdcOrderSysIDType,
19463    /// 询价时间
19464    pub ForQuoteTime: TThostFtdcTimeType,
19465    /// 业务日期
19466    pub ActionDay: TThostFtdcDateType,
19467    /// 交易所代码
19468    pub ExchangeID: TThostFtdcExchangeIDType,
19469}
19470#[test]
19471fn bindgen_test_layout_CThostFtdcForQuoteRspField() {
19472    assert_eq!(::std::mem::size_of::<CThostFtdcForQuoteRspField>() , 88usize ,
19473               concat ! (
19474               "Size of: " , stringify ! ( CThostFtdcForQuoteRspField ) ));
19475    assert_eq! (::std::mem::align_of::<CThostFtdcForQuoteRspField>() , 1usize
19476                , concat ! (
19477                "Alignment of " , stringify ! ( CThostFtdcForQuoteRspField )
19478                ));
19479    assert_eq! (unsafe {
19480                & ( * ( 0 as * const CThostFtdcForQuoteRspField ) ) .
19481                TradingDay as * const _ as usize } , 0usize , concat ! (
19482                "Alignment of field: " , stringify ! (
19483                CThostFtdcForQuoteRspField ) , "::" , stringify ! ( TradingDay
19484                ) ));
19485    assert_eq! (unsafe {
19486                & ( * ( 0 as * const CThostFtdcForQuoteRspField ) ) .
19487                InstrumentID as * const _ as usize } , 9usize , concat ! (
19488                "Alignment of field: " , stringify ! (
19489                CThostFtdcForQuoteRspField ) , "::" , stringify ! (
19490                InstrumentID ) ));
19491    assert_eq! (unsafe {
19492                & ( * ( 0 as * const CThostFtdcForQuoteRspField ) ) .
19493                ForQuoteSysID as * const _ as usize } , 40usize , concat ! (
19494                "Alignment of field: " , stringify ! (
19495                CThostFtdcForQuoteRspField ) , "::" , stringify ! (
19496                ForQuoteSysID ) ));
19497    assert_eq! (unsafe {
19498                & ( * ( 0 as * const CThostFtdcForQuoteRspField ) ) .
19499                ForQuoteTime as * const _ as usize } , 61usize , concat ! (
19500                "Alignment of field: " , stringify ! (
19501                CThostFtdcForQuoteRspField ) , "::" , stringify ! (
19502                ForQuoteTime ) ));
19503    assert_eq! (unsafe {
19504                & ( * ( 0 as * const CThostFtdcForQuoteRspField ) ) .
19505                ActionDay as * const _ as usize } , 70usize , concat ! (
19506                "Alignment of field: " , stringify ! (
19507                CThostFtdcForQuoteRspField ) , "::" , stringify ! ( ActionDay
19508                ) ));
19509    assert_eq! (unsafe {
19510                & ( * ( 0 as * const CThostFtdcForQuoteRspField ) ) .
19511                ExchangeID as * const _ as usize } , 79usize , concat ! (
19512                "Alignment of field: " , stringify ! (
19513                CThostFtdcForQuoteRspField ) , "::" , stringify ! ( ExchangeID
19514                ) ));
19515}
19516impl Clone for CThostFtdcForQuoteRspField {
19517    fn clone(&self) -> Self { *self }
19518}
19519/// 当前期权合约执行偏移值的详细内容
19520#[repr(C)]
19521#[derive(Default, Copy)]
19522pub struct CThostFtdcStrikeOffsetField {
19523    /// 合约代码
19524    pub InstrumentID: TThostFtdcInstrumentIDType,
19525    /// 投资者范围
19526    pub InvestorRange: TThostFtdcInvestorRangeType,
19527    /// 经纪公司代码
19528    pub BrokerID: TThostFtdcBrokerIDType,
19529    /// 投资者代码
19530    pub InvestorID: TThostFtdcInvestorIDType,
19531    /// 执行偏移值
19532    pub Offset: TThostFtdcMoneyType,
19533    /// 执行偏移类型
19534    pub OffsetType: TThostFtdcStrikeOffsetTypeType,
19535}
19536#[test]
19537fn bindgen_test_layout_CThostFtdcStrikeOffsetField() {
19538    assert_eq!(::std::mem::size_of::<CThostFtdcStrikeOffsetField>() , 72usize
19539               , concat ! (
19540               "Size of: " , stringify ! ( CThostFtdcStrikeOffsetField ) ));
19541    assert_eq! (::std::mem::align_of::<CThostFtdcStrikeOffsetField>() , 8usize
19542                , concat ! (
19543                "Alignment of " , stringify ! ( CThostFtdcStrikeOffsetField )
19544                ));
19545    assert_eq! (unsafe {
19546                & ( * ( 0 as * const CThostFtdcStrikeOffsetField ) ) .
19547                InstrumentID as * const _ as usize } , 0usize , concat ! (
19548                "Alignment of field: " , stringify ! (
19549                CThostFtdcStrikeOffsetField ) , "::" , stringify ! (
19550                InstrumentID ) ));
19551    assert_eq! (unsafe {
19552                & ( * ( 0 as * const CThostFtdcStrikeOffsetField ) ) .
19553                InvestorRange as * const _ as usize } , 31usize , concat ! (
19554                "Alignment of field: " , stringify ! (
19555                CThostFtdcStrikeOffsetField ) , "::" , stringify ! (
19556                InvestorRange ) ));
19557    assert_eq! (unsafe {
19558                & ( * ( 0 as * const CThostFtdcStrikeOffsetField ) ) .
19559                BrokerID as * const _ as usize } , 32usize , concat ! (
19560                "Alignment of field: " , stringify ! (
19561                CThostFtdcStrikeOffsetField ) , "::" , stringify ! ( BrokerID
19562                ) ));
19563    assert_eq! (unsafe {
19564                & ( * ( 0 as * const CThostFtdcStrikeOffsetField ) ) .
19565                InvestorID as * const _ as usize } , 43usize , concat ! (
19566                "Alignment of field: " , stringify ! (
19567                CThostFtdcStrikeOffsetField ) , "::" , stringify ! (
19568                InvestorID ) ));
19569    assert_eq! (unsafe {
19570                & ( * ( 0 as * const CThostFtdcStrikeOffsetField ) ) . Offset
19571                as * const _ as usize } , 56usize , concat ! (
19572                "Alignment of field: " , stringify ! (
19573                CThostFtdcStrikeOffsetField ) , "::" , stringify ! ( Offset )
19574                ));
19575    assert_eq! (unsafe {
19576                & ( * ( 0 as * const CThostFtdcStrikeOffsetField ) ) .
19577                OffsetType as * const _ as usize } , 64usize , concat ! (
19578                "Alignment of field: " , stringify ! (
19579                CThostFtdcStrikeOffsetField ) , "::" , stringify ! (
19580                OffsetType ) ));
19581}
19582impl Clone for CThostFtdcStrikeOffsetField {
19583    fn clone(&self) -> Self { *self }
19584}
19585/// 期权执行偏移值查询
19586#[repr(C)]
19587#[derive(Default, Copy)]
19588pub struct CThostFtdcQryStrikeOffsetField {
19589    /// 经纪公司代码
19590    pub BrokerID: TThostFtdcBrokerIDType,
19591    /// 投资者代码
19592    pub InvestorID: TThostFtdcInvestorIDType,
19593    /// 合约代码
19594    pub InstrumentID: TThostFtdcInstrumentIDType,
19595}
19596#[test]
19597fn bindgen_test_layout_CThostFtdcQryStrikeOffsetField() {
19598    assert_eq!(::std::mem::size_of::<CThostFtdcQryStrikeOffsetField>() ,
19599               55usize , concat ! (
19600               "Size of: " , stringify ! ( CThostFtdcQryStrikeOffsetField )
19601               ));
19602    assert_eq! (::std::mem::align_of::<CThostFtdcQryStrikeOffsetField>() ,
19603                1usize , concat ! (
19604                "Alignment of " , stringify ! ( CThostFtdcQryStrikeOffsetField
19605                ) ));
19606    assert_eq! (unsafe {
19607                & ( * ( 0 as * const CThostFtdcQryStrikeOffsetField ) ) .
19608                BrokerID as * const _ as usize } , 0usize , concat ! (
19609                "Alignment of field: " , stringify ! (
19610                CThostFtdcQryStrikeOffsetField ) , "::" , stringify ! (
19611                BrokerID ) ));
19612    assert_eq! (unsafe {
19613                & ( * ( 0 as * const CThostFtdcQryStrikeOffsetField ) ) .
19614                InvestorID as * const _ as usize } , 11usize , concat ! (
19615                "Alignment of field: " , stringify ! (
19616                CThostFtdcQryStrikeOffsetField ) , "::" , stringify ! (
19617                InvestorID ) ));
19618    assert_eq! (unsafe {
19619                & ( * ( 0 as * const CThostFtdcQryStrikeOffsetField ) ) .
19620                InstrumentID as * const _ as usize } , 24usize , concat ! (
19621                "Alignment of field: " , stringify ! (
19622                CThostFtdcQryStrikeOffsetField ) , "::" , stringify ! (
19623                InstrumentID ) ));
19624}
19625impl Clone for CThostFtdcQryStrikeOffsetField {
19626    fn clone(&self) -> Self { *self }
19627}
19628/// 输入批量报单操作
19629#[repr(C)]
19630#[derive(Default, Copy)]
19631pub struct CThostFtdcInputBatchOrderActionField {
19632    /// 经纪公司代码
19633    pub BrokerID: TThostFtdcBrokerIDType,
19634    /// 投资者代码
19635    pub InvestorID: TThostFtdcInvestorIDType,
19636    /// 报单操作引用
19637    pub OrderActionRef: TThostFtdcOrderActionRefType,
19638    /// 请求编号
19639    pub RequestID: TThostFtdcRequestIDType,
19640    /// 前置编号
19641    pub FrontID: TThostFtdcFrontIDType,
19642    /// 会话编号
19643    pub SessionID: TThostFtdcSessionIDType,
19644    /// 交易所代码
19645    pub ExchangeID: TThostFtdcExchangeIDType,
19646    /// 用户代码
19647    pub UserID: TThostFtdcUserIDType,
19648    /// 投资单元代码
19649    pub InvestUnitID: TThostFtdcInvestUnitIDType,
19650    /// IP地址
19651    pub IPAddress: TThostFtdcIPAddressType,
19652    /// Mac地址
19653    pub MacAddress: TThostFtdcMacAddressType,
19654}
19655#[test]
19656fn bindgen_test_layout_CThostFtdcInputBatchOrderActionField() {
19657    assert_eq!(::std::mem::size_of::<CThostFtdcInputBatchOrderActionField>() ,
19658               120usize , concat ! (
19659               "Size of: " , stringify ! (
19660               CThostFtdcInputBatchOrderActionField ) ));
19661    assert_eq! (::std::mem::align_of::<CThostFtdcInputBatchOrderActionField>()
19662                , 4usize , concat ! (
19663                "Alignment of " , stringify ! (
19664                CThostFtdcInputBatchOrderActionField ) ));
19665    assert_eq! (unsafe {
19666                & ( * ( 0 as * const CThostFtdcInputBatchOrderActionField ) )
19667                . BrokerID as * const _ as usize } , 0usize , concat ! (
19668                "Alignment of field: " , stringify ! (
19669                CThostFtdcInputBatchOrderActionField ) , "::" , stringify ! (
19670                BrokerID ) ));
19671    assert_eq! (unsafe {
19672                & ( * ( 0 as * const CThostFtdcInputBatchOrderActionField ) )
19673                . InvestorID as * const _ as usize } , 11usize , concat ! (
19674                "Alignment of field: " , stringify ! (
19675                CThostFtdcInputBatchOrderActionField ) , "::" , stringify ! (
19676                InvestorID ) ));
19677    assert_eq! (unsafe {
19678                & ( * ( 0 as * const CThostFtdcInputBatchOrderActionField ) )
19679                . OrderActionRef as * const _ as usize } , 24usize , concat !
19680                (
19681                "Alignment of field: " , stringify ! (
19682                CThostFtdcInputBatchOrderActionField ) , "::" , stringify ! (
19683                OrderActionRef ) ));
19684    assert_eq! (unsafe {
19685                & ( * ( 0 as * const CThostFtdcInputBatchOrderActionField ) )
19686                . RequestID as * const _ as usize } , 28usize , concat ! (
19687                "Alignment of field: " , stringify ! (
19688                CThostFtdcInputBatchOrderActionField ) , "::" , stringify ! (
19689                RequestID ) ));
19690    assert_eq! (unsafe {
19691                & ( * ( 0 as * const CThostFtdcInputBatchOrderActionField ) )
19692                . FrontID as * const _ as usize } , 32usize , concat ! (
19693                "Alignment of field: " , stringify ! (
19694                CThostFtdcInputBatchOrderActionField ) , "::" , stringify ! (
19695                FrontID ) ));
19696    assert_eq! (unsafe {
19697                & ( * ( 0 as * const CThostFtdcInputBatchOrderActionField ) )
19698                . SessionID as * const _ as usize } , 36usize , concat ! (
19699                "Alignment of field: " , stringify ! (
19700                CThostFtdcInputBatchOrderActionField ) , "::" , stringify ! (
19701                SessionID ) ));
19702    assert_eq! (unsafe {
19703                & ( * ( 0 as * const CThostFtdcInputBatchOrderActionField ) )
19704                . ExchangeID as * const _ as usize } , 40usize , concat ! (
19705                "Alignment of field: " , stringify ! (
19706                CThostFtdcInputBatchOrderActionField ) , "::" , stringify ! (
19707                ExchangeID ) ));
19708    assert_eq! (unsafe {
19709                & ( * ( 0 as * const CThostFtdcInputBatchOrderActionField ) )
19710                . UserID as * const _ as usize } , 49usize , concat ! (
19711                "Alignment of field: " , stringify ! (
19712                CThostFtdcInputBatchOrderActionField ) , "::" , stringify ! (
19713                UserID ) ));
19714    assert_eq! (unsafe {
19715                & ( * ( 0 as * const CThostFtdcInputBatchOrderActionField ) )
19716                . InvestUnitID as * const _ as usize } , 65usize , concat ! (
19717                "Alignment of field: " , stringify ! (
19718                CThostFtdcInputBatchOrderActionField ) , "::" , stringify ! (
19719                InvestUnitID ) ));
19720    assert_eq! (unsafe {
19721                & ( * ( 0 as * const CThostFtdcInputBatchOrderActionField ) )
19722                . IPAddress as * const _ as usize } , 82usize , concat ! (
19723                "Alignment of field: " , stringify ! (
19724                CThostFtdcInputBatchOrderActionField ) , "::" , stringify ! (
19725                IPAddress ) ));
19726    assert_eq! (unsafe {
19727                & ( * ( 0 as * const CThostFtdcInputBatchOrderActionField ) )
19728                . MacAddress as * const _ as usize } , 98usize , concat ! (
19729                "Alignment of field: " , stringify ! (
19730                CThostFtdcInputBatchOrderActionField ) , "::" , stringify ! (
19731                MacAddress ) ));
19732}
19733impl Clone for CThostFtdcInputBatchOrderActionField {
19734    fn clone(&self) -> Self { *self }
19735}
19736/// 批量报单操作
19737#[repr(C)]
19738#[derive(Copy)]
19739pub struct CThostFtdcBatchOrderActionField {
19740    /// 经纪公司代码
19741    pub BrokerID: TThostFtdcBrokerIDType,
19742    /// 投资者代码
19743    pub InvestorID: TThostFtdcInvestorIDType,
19744    /// 报单操作引用
19745    pub OrderActionRef: TThostFtdcOrderActionRefType,
19746    /// 请求编号
19747    pub RequestID: TThostFtdcRequestIDType,
19748    /// 前置编号
19749    pub FrontID: TThostFtdcFrontIDType,
19750    /// 会话编号
19751    pub SessionID: TThostFtdcSessionIDType,
19752    /// 交易所代码
19753    pub ExchangeID: TThostFtdcExchangeIDType,
19754    /// 操作日期
19755    pub ActionDate: TThostFtdcDateType,
19756    /// 操作时间
19757    pub ActionTime: TThostFtdcTimeType,
19758    /// 交易所交易员代码
19759    pub TraderID: TThostFtdcTraderIDType,
19760    /// 安装编号
19761    pub InstallID: TThostFtdcInstallIDType,
19762    /// 操作本地编号
19763    pub ActionLocalID: TThostFtdcOrderLocalIDType,
19764    /// 会员代码
19765    pub ParticipantID: TThostFtdcParticipantIDType,
19766    /// 客户代码
19767    pub ClientID: TThostFtdcClientIDType,
19768    /// 业务单元
19769    pub BusinessUnit: TThostFtdcBusinessUnitType,
19770    /// 报单操作状态
19771    pub OrderActionStatus: TThostFtdcOrderActionStatusType,
19772    /// 用户代码
19773    pub UserID: TThostFtdcUserIDType,
19774    /// 状态信息
19775    pub StatusMsg: TThostFtdcErrorMsgType,
19776    /// 投资单元代码
19777    pub InvestUnitID: TThostFtdcInvestUnitIDType,
19778    /// IP地址
19779    pub IPAddress: TThostFtdcIPAddressType,
19780    /// Mac地址
19781    pub MacAddress: TThostFtdcMacAddressType,
19782}
19783#[test]
19784fn bindgen_test_layout_CThostFtdcBatchOrderActionField() {
19785    assert_eq!(::std::mem::size_of::<CThostFtdcBatchOrderActionField>() ,
19786               300usize , concat ! (
19787               "Size of: " , stringify ! ( CThostFtdcBatchOrderActionField )
19788               ));
19789    assert_eq! (::std::mem::align_of::<CThostFtdcBatchOrderActionField>() ,
19790                4usize , concat ! (
19791                "Alignment of " , stringify ! (
19792                CThostFtdcBatchOrderActionField ) ));
19793    assert_eq! (unsafe {
19794                & ( * ( 0 as * const CThostFtdcBatchOrderActionField ) ) .
19795                BrokerID as * const _ as usize } , 0usize , concat ! (
19796                "Alignment of field: " , stringify ! (
19797                CThostFtdcBatchOrderActionField ) , "::" , stringify ! (
19798                BrokerID ) ));
19799    assert_eq! (unsafe {
19800                & ( * ( 0 as * const CThostFtdcBatchOrderActionField ) ) .
19801                InvestorID as * const _ as usize } , 11usize , concat ! (
19802                "Alignment of field: " , stringify ! (
19803                CThostFtdcBatchOrderActionField ) , "::" , stringify ! (
19804                InvestorID ) ));
19805    assert_eq! (unsafe {
19806                & ( * ( 0 as * const CThostFtdcBatchOrderActionField ) ) .
19807                OrderActionRef as * const _ as usize } , 24usize , concat ! (
19808                "Alignment of field: " , stringify ! (
19809                CThostFtdcBatchOrderActionField ) , "::" , stringify ! (
19810                OrderActionRef ) ));
19811    assert_eq! (unsafe {
19812                & ( * ( 0 as * const CThostFtdcBatchOrderActionField ) ) .
19813                RequestID as * const _ as usize } , 28usize , concat ! (
19814                "Alignment of field: " , stringify ! (
19815                CThostFtdcBatchOrderActionField ) , "::" , stringify ! (
19816                RequestID ) ));
19817    assert_eq! (unsafe {
19818                & ( * ( 0 as * const CThostFtdcBatchOrderActionField ) ) .
19819                FrontID as * const _ as usize } , 32usize , concat ! (
19820                "Alignment of field: " , stringify ! (
19821                CThostFtdcBatchOrderActionField ) , "::" , stringify ! (
19822                FrontID ) ));
19823    assert_eq! (unsafe {
19824                & ( * ( 0 as * const CThostFtdcBatchOrderActionField ) ) .
19825                SessionID as * const _ as usize } , 36usize , concat ! (
19826                "Alignment of field: " , stringify ! (
19827                CThostFtdcBatchOrderActionField ) , "::" , stringify ! (
19828                SessionID ) ));
19829    assert_eq! (unsafe {
19830                & ( * ( 0 as * const CThostFtdcBatchOrderActionField ) ) .
19831                ExchangeID as * const _ as usize } , 40usize , concat ! (
19832                "Alignment of field: " , stringify ! (
19833                CThostFtdcBatchOrderActionField ) , "::" , stringify ! (
19834                ExchangeID ) ));
19835    assert_eq! (unsafe {
19836                & ( * ( 0 as * const CThostFtdcBatchOrderActionField ) ) .
19837                ActionDate as * const _ as usize } , 49usize , concat ! (
19838                "Alignment of field: " , stringify ! (
19839                CThostFtdcBatchOrderActionField ) , "::" , stringify ! (
19840                ActionDate ) ));
19841    assert_eq! (unsafe {
19842                & ( * ( 0 as * const CThostFtdcBatchOrderActionField ) ) .
19843                ActionTime as * const _ as usize } , 58usize , concat ! (
19844                "Alignment of field: " , stringify ! (
19845                CThostFtdcBatchOrderActionField ) , "::" , stringify ! (
19846                ActionTime ) ));
19847    assert_eq! (unsafe {
19848                & ( * ( 0 as * const CThostFtdcBatchOrderActionField ) ) .
19849                TraderID as * const _ as usize } , 67usize , concat ! (
19850                "Alignment of field: " , stringify ! (
19851                CThostFtdcBatchOrderActionField ) , "::" , stringify ! (
19852                TraderID ) ));
19853    assert_eq! (unsafe {
19854                & ( * ( 0 as * const CThostFtdcBatchOrderActionField ) ) .
19855                InstallID as * const _ as usize } , 88usize , concat ! (
19856                "Alignment of field: " , stringify ! (
19857                CThostFtdcBatchOrderActionField ) , "::" , stringify ! (
19858                InstallID ) ));
19859    assert_eq! (unsafe {
19860                & ( * ( 0 as * const CThostFtdcBatchOrderActionField ) ) .
19861                ActionLocalID as * const _ as usize } , 92usize , concat ! (
19862                "Alignment of field: " , stringify ! (
19863                CThostFtdcBatchOrderActionField ) , "::" , stringify ! (
19864                ActionLocalID ) ));
19865    assert_eq! (unsafe {
19866                & ( * ( 0 as * const CThostFtdcBatchOrderActionField ) ) .
19867                ParticipantID as * const _ as usize } , 105usize , concat ! (
19868                "Alignment of field: " , stringify ! (
19869                CThostFtdcBatchOrderActionField ) , "::" , stringify ! (
19870                ParticipantID ) ));
19871    assert_eq! (unsafe {
19872                & ( * ( 0 as * const CThostFtdcBatchOrderActionField ) ) .
19873                ClientID as * const _ as usize } , 116usize , concat ! (
19874                "Alignment of field: " , stringify ! (
19875                CThostFtdcBatchOrderActionField ) , "::" , stringify ! (
19876                ClientID ) ));
19877    assert_eq! (unsafe {
19878                & ( * ( 0 as * const CThostFtdcBatchOrderActionField ) ) .
19879                BusinessUnit as * const _ as usize } , 127usize , concat ! (
19880                "Alignment of field: " , stringify ! (
19881                CThostFtdcBatchOrderActionField ) , "::" , stringify ! (
19882                BusinessUnit ) ));
19883    assert_eq! (unsafe {
19884                & ( * ( 0 as * const CThostFtdcBatchOrderActionField ) ) .
19885                OrderActionStatus as * const _ as usize } , 148usize , concat
19886                ! (
19887                "Alignment of field: " , stringify ! (
19888                CThostFtdcBatchOrderActionField ) , "::" , stringify ! (
19889                OrderActionStatus ) ));
19890    assert_eq! (unsafe {
19891                & ( * ( 0 as * const CThostFtdcBatchOrderActionField ) ) .
19892                UserID as * const _ as usize } , 149usize , concat ! (
19893                "Alignment of field: " , stringify ! (
19894                CThostFtdcBatchOrderActionField ) , "::" , stringify ! (
19895                UserID ) ));
19896    assert_eq! (unsafe {
19897                & ( * ( 0 as * const CThostFtdcBatchOrderActionField ) ) .
19898                StatusMsg as * const _ as usize } , 165usize , concat ! (
19899                "Alignment of field: " , stringify ! (
19900                CThostFtdcBatchOrderActionField ) , "::" , stringify ! (
19901                StatusMsg ) ));
19902    assert_eq! (unsafe {
19903                & ( * ( 0 as * const CThostFtdcBatchOrderActionField ) ) .
19904                InvestUnitID as * const _ as usize } , 246usize , concat ! (
19905                "Alignment of field: " , stringify ! (
19906                CThostFtdcBatchOrderActionField ) , "::" , stringify ! (
19907                InvestUnitID ) ));
19908    assert_eq! (unsafe {
19909                & ( * ( 0 as * const CThostFtdcBatchOrderActionField ) ) .
19910                IPAddress as * const _ as usize } , 263usize , concat ! (
19911                "Alignment of field: " , stringify ! (
19912                CThostFtdcBatchOrderActionField ) , "::" , stringify ! (
19913                IPAddress ) ));
19914    assert_eq! (unsafe {
19915                & ( * ( 0 as * const CThostFtdcBatchOrderActionField ) ) .
19916                MacAddress as * const _ as usize } , 279usize , concat ! (
19917                "Alignment of field: " , stringify ! (
19918                CThostFtdcBatchOrderActionField ) , "::" , stringify ! (
19919                MacAddress ) ));
19920}
19921impl Clone for CThostFtdcBatchOrderActionField {
19922    fn clone(&self) -> Self { *self }
19923}
19924impl Default for CThostFtdcBatchOrderActionField {
19925    fn default() -> Self { unsafe { ::std::mem::zeroed() } }
19926}
19927/// 交易所批量报单操作
19928#[repr(C)]
19929#[derive(Default, Copy)]
19930pub struct CThostFtdcExchangeBatchOrderActionField {
19931    /// 交易所代码
19932    pub ExchangeID: TThostFtdcExchangeIDType,
19933    /// 操作日期
19934    pub ActionDate: TThostFtdcDateType,
19935    /// 操作时间
19936    pub ActionTime: TThostFtdcTimeType,
19937    /// 交易所交易员代码
19938    pub TraderID: TThostFtdcTraderIDType,
19939    /// 安装编号
19940    pub InstallID: TThostFtdcInstallIDType,
19941    /// 操作本地编号
19942    pub ActionLocalID: TThostFtdcOrderLocalIDType,
19943    /// 会员代码
19944    pub ParticipantID: TThostFtdcParticipantIDType,
19945    /// 客户代码
19946    pub ClientID: TThostFtdcClientIDType,
19947    /// 业务单元
19948    pub BusinessUnit: TThostFtdcBusinessUnitType,
19949    /// 报单操作状态
19950    pub OrderActionStatus: TThostFtdcOrderActionStatusType,
19951    /// 用户代码
19952    pub UserID: TThostFtdcUserIDType,
19953    /// IP地址
19954    pub IPAddress: TThostFtdcIPAddressType,
19955    /// Mac地址
19956    pub MacAddress: TThostFtdcMacAddressType,
19957}
19958#[test]
19959fn bindgen_test_layout_CThostFtdcExchangeBatchOrderActionField() {
19960    assert_eq!(::std::mem::size_of::<CThostFtdcExchangeBatchOrderActionField>()
19961               , 164usize , concat ! (
19962               "Size of: " , stringify ! (
19963               CThostFtdcExchangeBatchOrderActionField ) ));
19964    assert_eq! (::std::mem::align_of::<CThostFtdcExchangeBatchOrderActionField>()
19965                , 4usize , concat ! (
19966                "Alignment of " , stringify ! (
19967                CThostFtdcExchangeBatchOrderActionField ) ));
19968    assert_eq! (unsafe {
19969                & ( * ( 0 as * const CThostFtdcExchangeBatchOrderActionField )
19970                ) . ExchangeID as * const _ as usize } , 0usize , concat ! (
19971                "Alignment of field: " , stringify ! (
19972                CThostFtdcExchangeBatchOrderActionField ) , "::" , stringify !
19973                ( ExchangeID ) ));
19974    assert_eq! (unsafe {
19975                & ( * ( 0 as * const CThostFtdcExchangeBatchOrderActionField )
19976                ) . ActionDate as * const _ as usize } , 9usize , concat ! (
19977                "Alignment of field: " , stringify ! (
19978                CThostFtdcExchangeBatchOrderActionField ) , "::" , stringify !
19979                ( ActionDate ) ));
19980    assert_eq! (unsafe {
19981                & ( * ( 0 as * const CThostFtdcExchangeBatchOrderActionField )
19982                ) . ActionTime as * const _ as usize } , 18usize , concat ! (
19983                "Alignment of field: " , stringify ! (
19984                CThostFtdcExchangeBatchOrderActionField ) , "::" , stringify !
19985                ( ActionTime ) ));
19986    assert_eq! (unsafe {
19987                & ( * ( 0 as * const CThostFtdcExchangeBatchOrderActionField )
19988                ) . TraderID as * const _ as usize } , 27usize , concat ! (
19989                "Alignment of field: " , stringify ! (
19990                CThostFtdcExchangeBatchOrderActionField ) , "::" , stringify !
19991                ( TraderID ) ));
19992    assert_eq! (unsafe {
19993                & ( * ( 0 as * const CThostFtdcExchangeBatchOrderActionField )
19994                ) . InstallID as * const _ as usize } , 48usize , concat ! (
19995                "Alignment of field: " , stringify ! (
19996                CThostFtdcExchangeBatchOrderActionField ) , "::" , stringify !
19997                ( InstallID ) ));
19998    assert_eq! (unsafe {
19999                & ( * ( 0 as * const CThostFtdcExchangeBatchOrderActionField )
20000                ) . ActionLocalID as * const _ as usize } , 52usize , concat !
20001                (
20002                "Alignment of field: " , stringify ! (
20003                CThostFtdcExchangeBatchOrderActionField ) , "::" , stringify !
20004                ( ActionLocalID ) ));
20005    assert_eq! (unsafe {
20006                & ( * ( 0 as * const CThostFtdcExchangeBatchOrderActionField )
20007                ) . ParticipantID as * const _ as usize } , 65usize , concat !
20008                (
20009                "Alignment of field: " , stringify ! (
20010                CThostFtdcExchangeBatchOrderActionField ) , "::" , stringify !
20011                ( ParticipantID ) ));
20012    assert_eq! (unsafe {
20013                & ( * ( 0 as * const CThostFtdcExchangeBatchOrderActionField )
20014                ) . ClientID as * const _ as usize } , 76usize , concat ! (
20015                "Alignment of field: " , stringify ! (
20016                CThostFtdcExchangeBatchOrderActionField ) , "::" , stringify !
20017                ( ClientID ) ));
20018    assert_eq! (unsafe {
20019                & ( * ( 0 as * const CThostFtdcExchangeBatchOrderActionField )
20020                ) . BusinessUnit as * const _ as usize } , 87usize , concat !
20021                (
20022                "Alignment of field: " , stringify ! (
20023                CThostFtdcExchangeBatchOrderActionField ) , "::" , stringify !
20024                ( BusinessUnit ) ));
20025    assert_eq! (unsafe {
20026                & ( * ( 0 as * const CThostFtdcExchangeBatchOrderActionField )
20027                ) . OrderActionStatus as * const _ as usize } , 108usize ,
20028                concat ! (
20029                "Alignment of field: " , stringify ! (
20030                CThostFtdcExchangeBatchOrderActionField ) , "::" , stringify !
20031                ( OrderActionStatus ) ));
20032    assert_eq! (unsafe {
20033                & ( * ( 0 as * const CThostFtdcExchangeBatchOrderActionField )
20034                ) . UserID as * const _ as usize } , 109usize , concat ! (
20035                "Alignment of field: " , stringify ! (
20036                CThostFtdcExchangeBatchOrderActionField ) , "::" , stringify !
20037                ( UserID ) ));
20038    assert_eq! (unsafe {
20039                & ( * ( 0 as * const CThostFtdcExchangeBatchOrderActionField )
20040                ) . IPAddress as * const _ as usize } , 125usize , concat ! (
20041                "Alignment of field: " , stringify ! (
20042                CThostFtdcExchangeBatchOrderActionField ) , "::" , stringify !
20043                ( IPAddress ) ));
20044    assert_eq! (unsafe {
20045                & ( * ( 0 as * const CThostFtdcExchangeBatchOrderActionField )
20046                ) . MacAddress as * const _ as usize } , 141usize , concat ! (
20047                "Alignment of field: " , stringify ! (
20048                CThostFtdcExchangeBatchOrderActionField ) , "::" , stringify !
20049                ( MacAddress ) ));
20050}
20051impl Clone for CThostFtdcExchangeBatchOrderActionField {
20052    fn clone(&self) -> Self { *self }
20053}
20054/// 查询批量报单操作
20055#[repr(C)]
20056#[derive(Default, Copy)]
20057pub struct CThostFtdcQryBatchOrderActionField {
20058    /// 经纪公司代码
20059    pub BrokerID: TThostFtdcBrokerIDType,
20060    /// 投资者代码
20061    pub InvestorID: TThostFtdcInvestorIDType,
20062    /// 交易所代码
20063    pub ExchangeID: TThostFtdcExchangeIDType,
20064}
20065#[test]
20066fn bindgen_test_layout_CThostFtdcQryBatchOrderActionField() {
20067    assert_eq!(::std::mem::size_of::<CThostFtdcQryBatchOrderActionField>() ,
20068               33usize , concat ! (
20069               "Size of: " , stringify ! ( CThostFtdcQryBatchOrderActionField
20070               ) ));
20071    assert_eq! (::std::mem::align_of::<CThostFtdcQryBatchOrderActionField>() ,
20072                1usize , concat ! (
20073                "Alignment of " , stringify ! (
20074                CThostFtdcQryBatchOrderActionField ) ));
20075    assert_eq! (unsafe {
20076                & ( * ( 0 as * const CThostFtdcQryBatchOrderActionField ) ) .
20077                BrokerID as * const _ as usize } , 0usize , concat ! (
20078                "Alignment of field: " , stringify ! (
20079                CThostFtdcQryBatchOrderActionField ) , "::" , stringify ! (
20080                BrokerID ) ));
20081    assert_eq! (unsafe {
20082                & ( * ( 0 as * const CThostFtdcQryBatchOrderActionField ) ) .
20083                InvestorID as * const _ as usize } , 11usize , concat ! (
20084                "Alignment of field: " , stringify ! (
20085                CThostFtdcQryBatchOrderActionField ) , "::" , stringify ! (
20086                InvestorID ) ));
20087    assert_eq! (unsafe {
20088                & ( * ( 0 as * const CThostFtdcQryBatchOrderActionField ) ) .
20089                ExchangeID as * const _ as usize } , 24usize , concat ! (
20090                "Alignment of field: " , stringify ! (
20091                CThostFtdcQryBatchOrderActionField ) , "::" , stringify ! (
20092                ExchangeID ) ));
20093}
20094impl Clone for CThostFtdcQryBatchOrderActionField {
20095    fn clone(&self) -> Self { *self }
20096}
20097/// 组合合约安全系数
20098#[repr(C)]
20099#[derive(Default, Copy)]
20100pub struct CThostFtdcCombInstrumentGuardField {
20101    /// 经纪公司代码
20102    pub BrokerID: TThostFtdcBrokerIDType,
20103    /// 合约代码
20104    pub InstrumentID: TThostFtdcInstrumentIDType,
20105    ///
20106    pub GuarantRatio: TThostFtdcRatioType,
20107    /// 交易所代码
20108    pub ExchangeID: TThostFtdcExchangeIDType,
20109}
20110#[test]
20111fn bindgen_test_layout_CThostFtdcCombInstrumentGuardField() {
20112    assert_eq!(::std::mem::size_of::<CThostFtdcCombInstrumentGuardField>() ,
20113               72usize , concat ! (
20114               "Size of: " , stringify ! ( CThostFtdcCombInstrumentGuardField
20115               ) ));
20116    assert_eq! (::std::mem::align_of::<CThostFtdcCombInstrumentGuardField>() ,
20117                8usize , concat ! (
20118                "Alignment of " , stringify ! (
20119                CThostFtdcCombInstrumentGuardField ) ));
20120    assert_eq! (unsafe {
20121                & ( * ( 0 as * const CThostFtdcCombInstrumentGuardField ) ) .
20122                BrokerID as * const _ as usize } , 0usize , concat ! (
20123                "Alignment of field: " , stringify ! (
20124                CThostFtdcCombInstrumentGuardField ) , "::" , stringify ! (
20125                BrokerID ) ));
20126    assert_eq! (unsafe {
20127                & ( * ( 0 as * const CThostFtdcCombInstrumentGuardField ) ) .
20128                InstrumentID as * const _ as usize } , 11usize , concat ! (
20129                "Alignment of field: " , stringify ! (
20130                CThostFtdcCombInstrumentGuardField ) , "::" , stringify ! (
20131                InstrumentID ) ));
20132    assert_eq! (unsafe {
20133                & ( * ( 0 as * const CThostFtdcCombInstrumentGuardField ) ) .
20134                GuarantRatio as * const _ as usize } , 48usize , concat ! (
20135                "Alignment of field: " , stringify ! (
20136                CThostFtdcCombInstrumentGuardField ) , "::" , stringify ! (
20137                GuarantRatio ) ));
20138    assert_eq! (unsafe {
20139                & ( * ( 0 as * const CThostFtdcCombInstrumentGuardField ) ) .
20140                ExchangeID as * const _ as usize } , 56usize , concat ! (
20141                "Alignment of field: " , stringify ! (
20142                CThostFtdcCombInstrumentGuardField ) , "::" , stringify ! (
20143                ExchangeID ) ));
20144}
20145impl Clone for CThostFtdcCombInstrumentGuardField {
20146    fn clone(&self) -> Self { *self }
20147}
20148/// 组合合约安全系数查询
20149#[repr(C)]
20150#[derive(Default, Copy)]
20151pub struct CThostFtdcQryCombInstrumentGuardField {
20152    /// 经纪公司代码
20153    pub BrokerID: TThostFtdcBrokerIDType,
20154    /// 合约代码
20155    pub InstrumentID: TThostFtdcInstrumentIDType,
20156    /// 交易所代码
20157    pub ExchangeID: TThostFtdcExchangeIDType,
20158}
20159#[test]
20160fn bindgen_test_layout_CThostFtdcQryCombInstrumentGuardField() {
20161    assert_eq!(::std::mem::size_of::<CThostFtdcQryCombInstrumentGuardField>()
20162               , 51usize , concat ! (
20163               "Size of: " , stringify ! (
20164               CThostFtdcQryCombInstrumentGuardField ) ));
20165    assert_eq! (::std::mem::align_of::<CThostFtdcQryCombInstrumentGuardField>()
20166                , 1usize , concat ! (
20167                "Alignment of " , stringify ! (
20168                CThostFtdcQryCombInstrumentGuardField ) ));
20169    assert_eq! (unsafe {
20170                & ( * ( 0 as * const CThostFtdcQryCombInstrumentGuardField ) )
20171                . BrokerID as * const _ as usize } , 0usize , concat ! (
20172                "Alignment of field: " , stringify ! (
20173                CThostFtdcQryCombInstrumentGuardField ) , "::" , stringify ! (
20174                BrokerID ) ));
20175    assert_eq! (unsafe {
20176                & ( * ( 0 as * const CThostFtdcQryCombInstrumentGuardField ) )
20177                . InstrumentID as * const _ as usize } , 11usize , concat ! (
20178                "Alignment of field: " , stringify ! (
20179                CThostFtdcQryCombInstrumentGuardField ) , "::" , stringify ! (
20180                InstrumentID ) ));
20181    assert_eq! (unsafe {
20182                & ( * ( 0 as * const CThostFtdcQryCombInstrumentGuardField ) )
20183                . ExchangeID as * const _ as usize } , 42usize , concat ! (
20184                "Alignment of field: " , stringify ! (
20185                CThostFtdcQryCombInstrumentGuardField ) , "::" , stringify ! (
20186                ExchangeID ) ));
20187}
20188impl Clone for CThostFtdcQryCombInstrumentGuardField {
20189    fn clone(&self) -> Self { *self }
20190}
20191/// 输入的申请组合
20192#[repr(C)]
20193#[derive(Default, Copy)]
20194pub struct CThostFtdcInputCombActionField {
20195    /// 经纪公司代码
20196    pub BrokerID: TThostFtdcBrokerIDType,
20197    /// 投资者代码
20198    pub InvestorID: TThostFtdcInvestorIDType,
20199    /// 合约代码
20200    pub InstrumentID: TThostFtdcInstrumentIDType,
20201    /// 组合引用
20202    pub CombActionRef: TThostFtdcOrderRefType,
20203    /// 用户代码
20204    pub UserID: TThostFtdcUserIDType,
20205    /// 买卖方向
20206    pub Direction: TThostFtdcDirectionType,
20207    /// 数量
20208    pub Volume: TThostFtdcVolumeType,
20209    /// 组合指令方向
20210    pub CombDirection: TThostFtdcCombDirectionType,
20211    /// 投机套保标志
20212    pub HedgeFlag: TThostFtdcHedgeFlagType,
20213    /// 交易所代码
20214    pub ExchangeID: TThostFtdcExchangeIDType,
20215    /// IP地址
20216    pub IPAddress: TThostFtdcIPAddressType,
20217    /// Mac地址
20218    pub MacAddress: TThostFtdcMacAddressType,
20219    /// 投资单元代码
20220    pub InvestUnitID: TThostFtdcInvestUnitIDType,
20221}
20222#[test]
20223fn bindgen_test_layout_CThostFtdcInputCombActionField() {
20224    assert_eq!(::std::mem::size_of::<CThostFtdcInputCombActionField>() ,
20225               160usize , concat ! (
20226               "Size of: " , stringify ! ( CThostFtdcInputCombActionField )
20227               ));
20228    assert_eq! (::std::mem::align_of::<CThostFtdcInputCombActionField>() ,
20229                4usize , concat ! (
20230                "Alignment of " , stringify ! ( CThostFtdcInputCombActionField
20231                ) ));
20232    assert_eq! (unsafe {
20233                & ( * ( 0 as * const CThostFtdcInputCombActionField ) ) .
20234                BrokerID as * const _ as usize } , 0usize , concat ! (
20235                "Alignment of field: " , stringify ! (
20236                CThostFtdcInputCombActionField ) , "::" , stringify ! (
20237                BrokerID ) ));
20238    assert_eq! (unsafe {
20239                & ( * ( 0 as * const CThostFtdcInputCombActionField ) ) .
20240                InvestorID as * const _ as usize } , 11usize , concat ! (
20241                "Alignment of field: " , stringify ! (
20242                CThostFtdcInputCombActionField ) , "::" , stringify ! (
20243                InvestorID ) ));
20244    assert_eq! (unsafe {
20245                & ( * ( 0 as * const CThostFtdcInputCombActionField ) ) .
20246                InstrumentID as * const _ as usize } , 24usize , concat ! (
20247                "Alignment of field: " , stringify ! (
20248                CThostFtdcInputCombActionField ) , "::" , stringify ! (
20249                InstrumentID ) ));
20250    assert_eq! (unsafe {
20251                & ( * ( 0 as * const CThostFtdcInputCombActionField ) ) .
20252                CombActionRef as * const _ as usize } , 55usize , concat ! (
20253                "Alignment of field: " , stringify ! (
20254                CThostFtdcInputCombActionField ) , "::" , stringify ! (
20255                CombActionRef ) ));
20256    assert_eq! (unsafe {
20257                & ( * ( 0 as * const CThostFtdcInputCombActionField ) ) .
20258                UserID as * const _ as usize } , 68usize , concat ! (
20259                "Alignment of field: " , stringify ! (
20260                CThostFtdcInputCombActionField ) , "::" , stringify ! ( UserID
20261                ) ));
20262    assert_eq! (unsafe {
20263                & ( * ( 0 as * const CThostFtdcInputCombActionField ) ) .
20264                Direction as * const _ as usize } , 84usize , concat ! (
20265                "Alignment of field: " , stringify ! (
20266                CThostFtdcInputCombActionField ) , "::" , stringify ! (
20267                Direction ) ));
20268    assert_eq! (unsafe {
20269                & ( * ( 0 as * const CThostFtdcInputCombActionField ) ) .
20270                Volume as * const _ as usize } , 88usize , concat ! (
20271                "Alignment of field: " , stringify ! (
20272                CThostFtdcInputCombActionField ) , "::" , stringify ! ( Volume
20273                ) ));
20274    assert_eq! (unsafe {
20275                & ( * ( 0 as * const CThostFtdcInputCombActionField ) ) .
20276                CombDirection as * const _ as usize } , 92usize , concat ! (
20277                "Alignment of field: " , stringify ! (
20278                CThostFtdcInputCombActionField ) , "::" , stringify ! (
20279                CombDirection ) ));
20280    assert_eq! (unsafe {
20281                & ( * ( 0 as * const CThostFtdcInputCombActionField ) ) .
20282                HedgeFlag as * const _ as usize } , 93usize , concat ! (
20283                "Alignment of field: " , stringify ! (
20284                CThostFtdcInputCombActionField ) , "::" , stringify ! (
20285                HedgeFlag ) ));
20286    assert_eq! (unsafe {
20287                & ( * ( 0 as * const CThostFtdcInputCombActionField ) ) .
20288                ExchangeID as * const _ as usize } , 94usize , concat ! (
20289                "Alignment of field: " , stringify ! (
20290                CThostFtdcInputCombActionField ) , "::" , stringify ! (
20291                ExchangeID ) ));
20292    assert_eq! (unsafe {
20293                & ( * ( 0 as * const CThostFtdcInputCombActionField ) ) .
20294                IPAddress as * const _ as usize } , 103usize , concat ! (
20295                "Alignment of field: " , stringify ! (
20296                CThostFtdcInputCombActionField ) , "::" , stringify ! (
20297                IPAddress ) ));
20298    assert_eq! (unsafe {
20299                & ( * ( 0 as * const CThostFtdcInputCombActionField ) ) .
20300                MacAddress as * const _ as usize } , 119usize , concat ! (
20301                "Alignment of field: " , stringify ! (
20302                CThostFtdcInputCombActionField ) , "::" , stringify ! (
20303                MacAddress ) ));
20304    assert_eq! (unsafe {
20305                & ( * ( 0 as * const CThostFtdcInputCombActionField ) ) .
20306                InvestUnitID as * const _ as usize } , 140usize , concat ! (
20307                "Alignment of field: " , stringify ! (
20308                CThostFtdcInputCombActionField ) , "::" , stringify ! (
20309                InvestUnitID ) ));
20310}
20311impl Clone for CThostFtdcInputCombActionField {
20312    fn clone(&self) -> Self { *self }
20313}
20314/// 申请组合
20315#[repr(C)]
20316#[derive(Copy)]
20317pub struct CThostFtdcCombActionField {
20318    /// 经纪公司代码
20319    pub BrokerID: TThostFtdcBrokerIDType,
20320    /// 投资者代码
20321    pub InvestorID: TThostFtdcInvestorIDType,
20322    /// 合约代码
20323    pub InstrumentID: TThostFtdcInstrumentIDType,
20324    /// 组合引用
20325    pub CombActionRef: TThostFtdcOrderRefType,
20326    /// 用户代码
20327    pub UserID: TThostFtdcUserIDType,
20328    /// 买卖方向
20329    pub Direction: TThostFtdcDirectionType,
20330    /// 数量
20331    pub Volume: TThostFtdcVolumeType,
20332    /// 组合指令方向
20333    pub CombDirection: TThostFtdcCombDirectionType,
20334    /// 投机套保标志
20335    pub HedgeFlag: TThostFtdcHedgeFlagType,
20336    /// 本地申请组合编号
20337    pub ActionLocalID: TThostFtdcOrderLocalIDType,
20338    /// 交易所代码
20339    pub ExchangeID: TThostFtdcExchangeIDType,
20340    /// 会员代码
20341    pub ParticipantID: TThostFtdcParticipantIDType,
20342    /// 客户代码
20343    pub ClientID: TThostFtdcClientIDType,
20344    /// 合约在交易所的代码
20345    pub ExchangeInstID: TThostFtdcExchangeInstIDType,
20346    /// 交易所交易员代码
20347    pub TraderID: TThostFtdcTraderIDType,
20348    /// 安装编号
20349    pub InstallID: TThostFtdcInstallIDType,
20350    /// 组合状态
20351    pub ActionStatus: TThostFtdcOrderActionStatusType,
20352    /// 报单提示序号
20353    pub NotifySequence: TThostFtdcSequenceNoType,
20354    /// 交易日
20355    pub TradingDay: TThostFtdcDateType,
20356    /// 结算编号
20357    pub SettlementID: TThostFtdcSettlementIDType,
20358    /// 序号
20359    pub SequenceNo: TThostFtdcSequenceNoType,
20360    /// 前置编号
20361    pub FrontID: TThostFtdcFrontIDType,
20362    /// 会话编号
20363    pub SessionID: TThostFtdcSessionIDType,
20364    /// 用户端产品信息
20365    pub UserProductInfo: TThostFtdcProductInfoType,
20366    /// 状态信息
20367    pub StatusMsg: TThostFtdcErrorMsgType,
20368    /// IP地址
20369    pub IPAddress: TThostFtdcIPAddressType,
20370    /// Mac地址
20371    pub MacAddress: TThostFtdcMacAddressType,
20372    /// 组合编号
20373    pub ComTradeID: TThostFtdcTradeIDType,
20374    /// 营业部编号
20375    pub BranchID: TThostFtdcBranchIDType,
20376    /// 投资单元代码
20377    pub InvestUnitID: TThostFtdcInvestUnitIDType,
20378}
20379#[test]
20380fn bindgen_test_layout_CThostFtdcCombActionField() {
20381    assert_eq!(::std::mem::size_of::<CThostFtdcCombActionField>() , 408usize ,
20382               concat ! (
20383               "Size of: " , stringify ! ( CThostFtdcCombActionField ) ));
20384    assert_eq! (::std::mem::align_of::<CThostFtdcCombActionField>() , 4usize ,
20385                concat ! (
20386                "Alignment of " , stringify ! ( CThostFtdcCombActionField )
20387                ));
20388    assert_eq! (unsafe {
20389                & ( * ( 0 as * const CThostFtdcCombActionField ) ) . BrokerID
20390                as * const _ as usize } , 0usize , concat ! (
20391                "Alignment of field: " , stringify ! (
20392                CThostFtdcCombActionField ) , "::" , stringify ! ( BrokerID )
20393                ));
20394    assert_eq! (unsafe {
20395                & ( * ( 0 as * const CThostFtdcCombActionField ) ) .
20396                InvestorID as * const _ as usize } , 11usize , concat ! (
20397                "Alignment of field: " , stringify ! (
20398                CThostFtdcCombActionField ) , "::" , stringify ! ( InvestorID
20399                ) ));
20400    assert_eq! (unsafe {
20401                & ( * ( 0 as * const CThostFtdcCombActionField ) ) .
20402                InstrumentID as * const _ as usize } , 24usize , concat ! (
20403                "Alignment of field: " , stringify ! (
20404                CThostFtdcCombActionField ) , "::" , stringify ! (
20405                InstrumentID ) ));
20406    assert_eq! (unsafe {
20407                & ( * ( 0 as * const CThostFtdcCombActionField ) ) .
20408                CombActionRef as * const _ as usize } , 55usize , concat ! (
20409                "Alignment of field: " , stringify ! (
20410                CThostFtdcCombActionField ) , "::" , stringify ! (
20411                CombActionRef ) ));
20412    assert_eq! (unsafe {
20413                & ( * ( 0 as * const CThostFtdcCombActionField ) ) . UserID as
20414                * const _ as usize } , 68usize , concat ! (
20415                "Alignment of field: " , stringify ! (
20416                CThostFtdcCombActionField ) , "::" , stringify ! ( UserID )
20417                ));
20418    assert_eq! (unsafe {
20419                & ( * ( 0 as * const CThostFtdcCombActionField ) ) . Direction
20420                as * const _ as usize } , 84usize , concat ! (
20421                "Alignment of field: " , stringify ! (
20422                CThostFtdcCombActionField ) , "::" , stringify ! ( Direction )
20423                ));
20424    assert_eq! (unsafe {
20425                & ( * ( 0 as * const CThostFtdcCombActionField ) ) . Volume as
20426                * const _ as usize } , 88usize , concat ! (
20427                "Alignment of field: " , stringify ! (
20428                CThostFtdcCombActionField ) , "::" , stringify ! ( Volume )
20429                ));
20430    assert_eq! (unsafe {
20431                & ( * ( 0 as * const CThostFtdcCombActionField ) ) .
20432                CombDirection as * const _ as usize } , 92usize , concat ! (
20433                "Alignment of field: " , stringify ! (
20434                CThostFtdcCombActionField ) , "::" , stringify ! (
20435                CombDirection ) ));
20436    assert_eq! (unsafe {
20437                & ( * ( 0 as * const CThostFtdcCombActionField ) ) . HedgeFlag
20438                as * const _ as usize } , 93usize , concat ! (
20439                "Alignment of field: " , stringify ! (
20440                CThostFtdcCombActionField ) , "::" , stringify ! ( HedgeFlag )
20441                ));
20442    assert_eq! (unsafe {
20443                & ( * ( 0 as * const CThostFtdcCombActionField ) ) .
20444                ActionLocalID as * const _ as usize } , 94usize , concat ! (
20445                "Alignment of field: " , stringify ! (
20446                CThostFtdcCombActionField ) , "::" , stringify ! (
20447                ActionLocalID ) ));
20448    assert_eq! (unsafe {
20449                & ( * ( 0 as * const CThostFtdcCombActionField ) ) .
20450                ExchangeID as * const _ as usize } , 107usize , concat ! (
20451                "Alignment of field: " , stringify ! (
20452                CThostFtdcCombActionField ) , "::" , stringify ! ( ExchangeID
20453                ) ));
20454    assert_eq! (unsafe {
20455                & ( * ( 0 as * const CThostFtdcCombActionField ) ) .
20456                ParticipantID as * const _ as usize } , 116usize , concat ! (
20457                "Alignment of field: " , stringify ! (
20458                CThostFtdcCombActionField ) , "::" , stringify ! (
20459                ParticipantID ) ));
20460    assert_eq! (unsafe {
20461                & ( * ( 0 as * const CThostFtdcCombActionField ) ) . ClientID
20462                as * const _ as usize } , 127usize , concat ! (
20463                "Alignment of field: " , stringify ! (
20464                CThostFtdcCombActionField ) , "::" , stringify ! ( ClientID )
20465                ));
20466    assert_eq! (unsafe {
20467                & ( * ( 0 as * const CThostFtdcCombActionField ) ) .
20468                ExchangeInstID as * const _ as usize } , 138usize , concat ! (
20469                "Alignment of field: " , stringify ! (
20470                CThostFtdcCombActionField ) , "::" , stringify ! (
20471                ExchangeInstID ) ));
20472    assert_eq! (unsafe {
20473                & ( * ( 0 as * const CThostFtdcCombActionField ) ) . TraderID
20474                as * const _ as usize } , 169usize , concat ! (
20475                "Alignment of field: " , stringify ! (
20476                CThostFtdcCombActionField ) , "::" , stringify ! ( TraderID )
20477                ));
20478    assert_eq! (unsafe {
20479                & ( * ( 0 as * const CThostFtdcCombActionField ) ) . InstallID
20480                as * const _ as usize } , 192usize , concat ! (
20481                "Alignment of field: " , stringify ! (
20482                CThostFtdcCombActionField ) , "::" , stringify ! ( InstallID )
20483                ));
20484    assert_eq! (unsafe {
20485                & ( * ( 0 as * const CThostFtdcCombActionField ) ) .
20486                ActionStatus as * const _ as usize } , 196usize , concat ! (
20487                "Alignment of field: " , stringify ! (
20488                CThostFtdcCombActionField ) , "::" , stringify ! (
20489                ActionStatus ) ));
20490    assert_eq! (unsafe {
20491                & ( * ( 0 as * const CThostFtdcCombActionField ) ) .
20492                NotifySequence as * const _ as usize } , 200usize , concat ! (
20493                "Alignment of field: " , stringify ! (
20494                CThostFtdcCombActionField ) , "::" , stringify ! (
20495                NotifySequence ) ));
20496    assert_eq! (unsafe {
20497                & ( * ( 0 as * const CThostFtdcCombActionField ) ) .
20498                TradingDay as * const _ as usize } , 204usize , concat ! (
20499                "Alignment of field: " , stringify ! (
20500                CThostFtdcCombActionField ) , "::" , stringify ! ( TradingDay
20501                ) ));
20502    assert_eq! (unsafe {
20503                & ( * ( 0 as * const CThostFtdcCombActionField ) ) .
20504                SettlementID as * const _ as usize } , 216usize , concat ! (
20505                "Alignment of field: " , stringify ! (
20506                CThostFtdcCombActionField ) , "::" , stringify ! (
20507                SettlementID ) ));
20508    assert_eq! (unsafe {
20509                & ( * ( 0 as * const CThostFtdcCombActionField ) ) .
20510                SequenceNo as * const _ as usize } , 220usize , concat ! (
20511                "Alignment of field: " , stringify ! (
20512                CThostFtdcCombActionField ) , "::" , stringify ! ( SequenceNo
20513                ) ));
20514    assert_eq! (unsafe {
20515                & ( * ( 0 as * const CThostFtdcCombActionField ) ) . FrontID
20516                as * const _ as usize } , 224usize , concat ! (
20517                "Alignment of field: " , stringify ! (
20518                CThostFtdcCombActionField ) , "::" , stringify ! ( FrontID )
20519                ));
20520    assert_eq! (unsafe {
20521                & ( * ( 0 as * const CThostFtdcCombActionField ) ) . SessionID
20522                as * const _ as usize } , 228usize , concat ! (
20523                "Alignment of field: " , stringify ! (
20524                CThostFtdcCombActionField ) , "::" , stringify ! ( SessionID )
20525                ));
20526    assert_eq! (unsafe {
20527                & ( * ( 0 as * const CThostFtdcCombActionField ) ) .
20528                UserProductInfo as * const _ as usize } , 232usize , concat !
20529                (
20530                "Alignment of field: " , stringify ! (
20531                CThostFtdcCombActionField ) , "::" , stringify ! (
20532                UserProductInfo ) ));
20533    assert_eq! (unsafe {
20534                & ( * ( 0 as * const CThostFtdcCombActionField ) ) . StatusMsg
20535                as * const _ as usize } , 243usize , concat ! (
20536                "Alignment of field: " , stringify ! (
20537                CThostFtdcCombActionField ) , "::" , stringify ! ( StatusMsg )
20538                ));
20539    assert_eq! (unsafe {
20540                & ( * ( 0 as * const CThostFtdcCombActionField ) ) . IPAddress
20541                as * const _ as usize } , 324usize , concat ! (
20542                "Alignment of field: " , stringify ! (
20543                CThostFtdcCombActionField ) , "::" , stringify ! ( IPAddress )
20544                ));
20545    assert_eq! (unsafe {
20546                & ( * ( 0 as * const CThostFtdcCombActionField ) ) .
20547                MacAddress as * const _ as usize } , 340usize , concat ! (
20548                "Alignment of field: " , stringify ! (
20549                CThostFtdcCombActionField ) , "::" , stringify ! ( MacAddress
20550                ) ));
20551    assert_eq! (unsafe {
20552                & ( * ( 0 as * const CThostFtdcCombActionField ) ) .
20553                ComTradeID as * const _ as usize } , 361usize , concat ! (
20554                "Alignment of field: " , stringify ! (
20555                CThostFtdcCombActionField ) , "::" , stringify ! ( ComTradeID
20556                ) ));
20557    assert_eq! (unsafe {
20558                & ( * ( 0 as * const CThostFtdcCombActionField ) ) . BranchID
20559                as * const _ as usize } , 382usize , concat ! (
20560                "Alignment of field: " , stringify ! (
20561                CThostFtdcCombActionField ) , "::" , stringify ! ( BranchID )
20562                ));
20563    assert_eq! (unsafe {
20564                & ( * ( 0 as * const CThostFtdcCombActionField ) ) .
20565                InvestUnitID as * const _ as usize } , 391usize , concat ! (
20566                "Alignment of field: " , stringify ! (
20567                CThostFtdcCombActionField ) , "::" , stringify ! (
20568                InvestUnitID ) ));
20569}
20570impl Clone for CThostFtdcCombActionField {
20571    fn clone(&self) -> Self { *self }
20572}
20573impl Default for CThostFtdcCombActionField {
20574    fn default() -> Self { unsafe { ::std::mem::zeroed() } }
20575}
20576/// 申请组合查询
20577#[repr(C)]
20578#[derive(Default, Copy)]
20579pub struct CThostFtdcQryCombActionField {
20580    /// 经纪公司代码
20581    pub BrokerID: TThostFtdcBrokerIDType,
20582    /// 投资者代码
20583    pub InvestorID: TThostFtdcInvestorIDType,
20584    /// 合约代码
20585    pub InstrumentID: TThostFtdcInstrumentIDType,
20586    /// 交易所代码
20587    pub ExchangeID: TThostFtdcExchangeIDType,
20588    /// 投资单元代码
20589    pub InvestUnitID: TThostFtdcInvestUnitIDType,
20590}
20591#[test]
20592fn bindgen_test_layout_CThostFtdcQryCombActionField() {
20593    assert_eq!(::std::mem::size_of::<CThostFtdcQryCombActionField>() , 81usize
20594               , concat ! (
20595               "Size of: " , stringify ! ( CThostFtdcQryCombActionField ) ));
20596    assert_eq! (::std::mem::align_of::<CThostFtdcQryCombActionField>() ,
20597                1usize , concat ! (
20598                "Alignment of " , stringify ! ( CThostFtdcQryCombActionField )
20599                ));
20600    assert_eq! (unsafe {
20601                & ( * ( 0 as * const CThostFtdcQryCombActionField ) ) .
20602                BrokerID as * const _ as usize } , 0usize , concat ! (
20603                "Alignment of field: " , stringify ! (
20604                CThostFtdcQryCombActionField ) , "::" , stringify ! ( BrokerID
20605                ) ));
20606    assert_eq! (unsafe {
20607                & ( * ( 0 as * const CThostFtdcQryCombActionField ) ) .
20608                InvestorID as * const _ as usize } , 11usize , concat ! (
20609                "Alignment of field: " , stringify ! (
20610                CThostFtdcQryCombActionField ) , "::" , stringify ! (
20611                InvestorID ) ));
20612    assert_eq! (unsafe {
20613                & ( * ( 0 as * const CThostFtdcQryCombActionField ) ) .
20614                InstrumentID as * const _ as usize } , 24usize , concat ! (
20615                "Alignment of field: " , stringify ! (
20616                CThostFtdcQryCombActionField ) , "::" , stringify ! (
20617                InstrumentID ) ));
20618    assert_eq! (unsafe {
20619                & ( * ( 0 as * const CThostFtdcQryCombActionField ) ) .
20620                ExchangeID as * const _ as usize } , 55usize , concat ! (
20621                "Alignment of field: " , stringify ! (
20622                CThostFtdcQryCombActionField ) , "::" , stringify ! (
20623                ExchangeID ) ));
20624    assert_eq! (unsafe {
20625                & ( * ( 0 as * const CThostFtdcQryCombActionField ) ) .
20626                InvestUnitID as * const _ as usize } , 64usize , concat ! (
20627                "Alignment of field: " , stringify ! (
20628                CThostFtdcQryCombActionField ) , "::" , stringify ! (
20629                InvestUnitID ) ));
20630}
20631impl Clone for CThostFtdcQryCombActionField {
20632    fn clone(&self) -> Self { *self }
20633}
20634/// 交易所申请组合信息
20635#[repr(C)]
20636#[derive(Default, Copy)]
20637pub struct CThostFtdcExchangeCombActionField {
20638    /// 买卖方向
20639    pub Direction: TThostFtdcDirectionType,
20640    /// 数量
20641    pub Volume: TThostFtdcVolumeType,
20642    /// 组合指令方向
20643    pub CombDirection: TThostFtdcCombDirectionType,
20644    /// 投机套保标志
20645    pub HedgeFlag: TThostFtdcHedgeFlagType,
20646    /// 本地申请组合编号
20647    pub ActionLocalID: TThostFtdcOrderLocalIDType,
20648    /// 交易所代码
20649    pub ExchangeID: TThostFtdcExchangeIDType,
20650    /// 会员代码
20651    pub ParticipantID: TThostFtdcParticipantIDType,
20652    /// 客户代码
20653    pub ClientID: TThostFtdcClientIDType,
20654    /// 合约在交易所的代码
20655    pub ExchangeInstID: TThostFtdcExchangeInstIDType,
20656    /// 交易所交易员代码
20657    pub TraderID: TThostFtdcTraderIDType,
20658    /// 安装编号
20659    pub InstallID: TThostFtdcInstallIDType,
20660    /// 组合状态
20661    pub ActionStatus: TThostFtdcOrderActionStatusType,
20662    /// 报单提示序号
20663    pub NotifySequence: TThostFtdcSequenceNoType,
20664    /// 交易日
20665    pub TradingDay: TThostFtdcDateType,
20666    /// 结算编号
20667    pub SettlementID: TThostFtdcSettlementIDType,
20668    /// 序号
20669    pub SequenceNo: TThostFtdcSequenceNoType,
20670    /// IP地址
20671    pub IPAddress: TThostFtdcIPAddressType,
20672    /// Mac地址
20673    pub MacAddress: TThostFtdcMacAddressType,
20674    /// 组合编号
20675    pub ComTradeID: TThostFtdcTradeIDType,
20676    /// 营业部编号
20677    pub BranchID: TThostFtdcBranchIDType,
20678}
20679#[test]
20680fn bindgen_test_layout_CThostFtdcExchangeCombActionField() {
20681    assert_eq!(::std::mem::size_of::<CThostFtdcExchangeCombActionField>() ,
20682               208usize , concat ! (
20683               "Size of: " , stringify ! ( CThostFtdcExchangeCombActionField )
20684               ));
20685    assert_eq! (::std::mem::align_of::<CThostFtdcExchangeCombActionField>() ,
20686                4usize , concat ! (
20687                "Alignment of " , stringify ! (
20688                CThostFtdcExchangeCombActionField ) ));
20689    assert_eq! (unsafe {
20690                & ( * ( 0 as * const CThostFtdcExchangeCombActionField ) ) .
20691                Direction as * const _ as usize } , 0usize , concat ! (
20692                "Alignment of field: " , stringify ! (
20693                CThostFtdcExchangeCombActionField ) , "::" , stringify ! (
20694                Direction ) ));
20695    assert_eq! (unsafe {
20696                & ( * ( 0 as * const CThostFtdcExchangeCombActionField ) ) .
20697                Volume as * const _ as usize } , 4usize , concat ! (
20698                "Alignment of field: " , stringify ! (
20699                CThostFtdcExchangeCombActionField ) , "::" , stringify ! (
20700                Volume ) ));
20701    assert_eq! (unsafe {
20702                & ( * ( 0 as * const CThostFtdcExchangeCombActionField ) ) .
20703                CombDirection as * const _ as usize } , 8usize , concat ! (
20704                "Alignment of field: " , stringify ! (
20705                CThostFtdcExchangeCombActionField ) , "::" , stringify ! (
20706                CombDirection ) ));
20707    assert_eq! (unsafe {
20708                & ( * ( 0 as * const CThostFtdcExchangeCombActionField ) ) .
20709                HedgeFlag as * const _ as usize } , 9usize , concat ! (
20710                "Alignment of field: " , stringify ! (
20711                CThostFtdcExchangeCombActionField ) , "::" , stringify ! (
20712                HedgeFlag ) ));
20713    assert_eq! (unsafe {
20714                & ( * ( 0 as * const CThostFtdcExchangeCombActionField ) ) .
20715                ActionLocalID as * const _ as usize } , 10usize , concat ! (
20716                "Alignment of field: " , stringify ! (
20717                CThostFtdcExchangeCombActionField ) , "::" , stringify ! (
20718                ActionLocalID ) ));
20719    assert_eq! (unsafe {
20720                & ( * ( 0 as * const CThostFtdcExchangeCombActionField ) ) .
20721                ExchangeID as * const _ as usize } , 23usize , concat ! (
20722                "Alignment of field: " , stringify ! (
20723                CThostFtdcExchangeCombActionField ) , "::" , stringify ! (
20724                ExchangeID ) ));
20725    assert_eq! (unsafe {
20726                & ( * ( 0 as * const CThostFtdcExchangeCombActionField ) ) .
20727                ParticipantID as * const _ as usize } , 32usize , concat ! (
20728                "Alignment of field: " , stringify ! (
20729                CThostFtdcExchangeCombActionField ) , "::" , stringify ! (
20730                ParticipantID ) ));
20731    assert_eq! (unsafe {
20732                & ( * ( 0 as * const CThostFtdcExchangeCombActionField ) ) .
20733                ClientID as * const _ as usize } , 43usize , concat ! (
20734                "Alignment of field: " , stringify ! (
20735                CThostFtdcExchangeCombActionField ) , "::" , stringify ! (
20736                ClientID ) ));
20737    assert_eq! (unsafe {
20738                & ( * ( 0 as * const CThostFtdcExchangeCombActionField ) ) .
20739                ExchangeInstID as * const _ as usize } , 54usize , concat ! (
20740                "Alignment of field: " , stringify ! (
20741                CThostFtdcExchangeCombActionField ) , "::" , stringify ! (
20742                ExchangeInstID ) ));
20743    assert_eq! (unsafe {
20744                & ( * ( 0 as * const CThostFtdcExchangeCombActionField ) ) .
20745                TraderID as * const _ as usize } , 85usize , concat ! (
20746                "Alignment of field: " , stringify ! (
20747                CThostFtdcExchangeCombActionField ) , "::" , stringify ! (
20748                TraderID ) ));
20749    assert_eq! (unsafe {
20750                & ( * ( 0 as * const CThostFtdcExchangeCombActionField ) ) .
20751                InstallID as * const _ as usize } , 108usize , concat ! (
20752                "Alignment of field: " , stringify ! (
20753                CThostFtdcExchangeCombActionField ) , "::" , stringify ! (
20754                InstallID ) ));
20755    assert_eq! (unsafe {
20756                & ( * ( 0 as * const CThostFtdcExchangeCombActionField ) ) .
20757                ActionStatus as * const _ as usize } , 112usize , concat ! (
20758                "Alignment of field: " , stringify ! (
20759                CThostFtdcExchangeCombActionField ) , "::" , stringify ! (
20760                ActionStatus ) ));
20761    assert_eq! (unsafe {
20762                & ( * ( 0 as * const CThostFtdcExchangeCombActionField ) ) .
20763                NotifySequence as * const _ as usize } , 116usize , concat ! (
20764                "Alignment of field: " , stringify ! (
20765                CThostFtdcExchangeCombActionField ) , "::" , stringify ! (
20766                NotifySequence ) ));
20767    assert_eq! (unsafe {
20768                & ( * ( 0 as * const CThostFtdcExchangeCombActionField ) ) .
20769                TradingDay as * const _ as usize } , 120usize , concat ! (
20770                "Alignment of field: " , stringify ! (
20771                CThostFtdcExchangeCombActionField ) , "::" , stringify ! (
20772                TradingDay ) ));
20773    assert_eq! (unsafe {
20774                & ( * ( 0 as * const CThostFtdcExchangeCombActionField ) ) .
20775                SettlementID as * const _ as usize } , 132usize , concat ! (
20776                "Alignment of field: " , stringify ! (
20777                CThostFtdcExchangeCombActionField ) , "::" , stringify ! (
20778                SettlementID ) ));
20779    assert_eq! (unsafe {
20780                & ( * ( 0 as * const CThostFtdcExchangeCombActionField ) ) .
20781                SequenceNo as * const _ as usize } , 136usize , concat ! (
20782                "Alignment of field: " , stringify ! (
20783                CThostFtdcExchangeCombActionField ) , "::" , stringify ! (
20784                SequenceNo ) ));
20785    assert_eq! (unsafe {
20786                & ( * ( 0 as * const CThostFtdcExchangeCombActionField ) ) .
20787                IPAddress as * const _ as usize } , 140usize , concat ! (
20788                "Alignment of field: " , stringify ! (
20789                CThostFtdcExchangeCombActionField ) , "::" , stringify ! (
20790                IPAddress ) ));
20791    assert_eq! (unsafe {
20792                & ( * ( 0 as * const CThostFtdcExchangeCombActionField ) ) .
20793                MacAddress as * const _ as usize } , 156usize , concat ! (
20794                "Alignment of field: " , stringify ! (
20795                CThostFtdcExchangeCombActionField ) , "::" , stringify ! (
20796                MacAddress ) ));
20797    assert_eq! (unsafe {
20798                & ( * ( 0 as * const CThostFtdcExchangeCombActionField ) ) .
20799                ComTradeID as * const _ as usize } , 177usize , concat ! (
20800                "Alignment of field: " , stringify ! (
20801                CThostFtdcExchangeCombActionField ) , "::" , stringify ! (
20802                ComTradeID ) ));
20803    assert_eq! (unsafe {
20804                & ( * ( 0 as * const CThostFtdcExchangeCombActionField ) ) .
20805                BranchID as * const _ as usize } , 198usize , concat ! (
20806                "Alignment of field: " , stringify ! (
20807                CThostFtdcExchangeCombActionField ) , "::" , stringify ! (
20808                BranchID ) ));
20809}
20810impl Clone for CThostFtdcExchangeCombActionField {
20811    fn clone(&self) -> Self { *self }
20812}
20813/// 交易所申请组合查询
20814#[repr(C)]
20815#[derive(Default, Copy)]
20816pub struct CThostFtdcQryExchangeCombActionField {
20817    /// 会员代码
20818    pub ParticipantID: TThostFtdcParticipantIDType,
20819    /// 客户代码
20820    pub ClientID: TThostFtdcClientIDType,
20821    /// 合约在交易所的代码
20822    pub ExchangeInstID: TThostFtdcExchangeInstIDType,
20823    /// 交易所代码
20824    pub ExchangeID: TThostFtdcExchangeIDType,
20825    /// 交易所交易员代码
20826    pub TraderID: TThostFtdcTraderIDType,
20827}
20828#[test]
20829fn bindgen_test_layout_CThostFtdcQryExchangeCombActionField() {
20830    assert_eq!(::std::mem::size_of::<CThostFtdcQryExchangeCombActionField>() ,
20831               83usize , concat ! (
20832               "Size of: " , stringify ! (
20833               CThostFtdcQryExchangeCombActionField ) ));
20834    assert_eq! (::std::mem::align_of::<CThostFtdcQryExchangeCombActionField>()
20835                , 1usize , concat ! (
20836                "Alignment of " , stringify ! (
20837                CThostFtdcQryExchangeCombActionField ) ));
20838    assert_eq! (unsafe {
20839                & ( * ( 0 as * const CThostFtdcQryExchangeCombActionField ) )
20840                . ParticipantID as * const _ as usize } , 0usize , concat ! (
20841                "Alignment of field: " , stringify ! (
20842                CThostFtdcQryExchangeCombActionField ) , "::" , stringify ! (
20843                ParticipantID ) ));
20844    assert_eq! (unsafe {
20845                & ( * ( 0 as * const CThostFtdcQryExchangeCombActionField ) )
20846                . ClientID as * const _ as usize } , 11usize , concat ! (
20847                "Alignment of field: " , stringify ! (
20848                CThostFtdcQryExchangeCombActionField ) , "::" , stringify ! (
20849                ClientID ) ));
20850    assert_eq! (unsafe {
20851                & ( * ( 0 as * const CThostFtdcQryExchangeCombActionField ) )
20852                . ExchangeInstID as * const _ as usize } , 22usize , concat !
20853                (
20854                "Alignment of field: " , stringify ! (
20855                CThostFtdcQryExchangeCombActionField ) , "::" , stringify ! (
20856                ExchangeInstID ) ));
20857    assert_eq! (unsafe {
20858                & ( * ( 0 as * const CThostFtdcQryExchangeCombActionField ) )
20859                . ExchangeID as * const _ as usize } , 53usize , concat ! (
20860                "Alignment of field: " , stringify ! (
20861                CThostFtdcQryExchangeCombActionField ) , "::" , stringify ! (
20862                ExchangeID ) ));
20863    assert_eq! (unsafe {
20864                & ( * ( 0 as * const CThostFtdcQryExchangeCombActionField ) )
20865                . TraderID as * const _ as usize } , 62usize , concat ! (
20866                "Alignment of field: " , stringify ! (
20867                CThostFtdcQryExchangeCombActionField ) , "::" , stringify ! (
20868                TraderID ) ));
20869}
20870impl Clone for CThostFtdcQryExchangeCombActionField {
20871    fn clone(&self) -> Self { *self }
20872}
20873/// 产品报价汇率
20874#[repr(C)]
20875#[derive(Default, Copy)]
20876pub struct CThostFtdcProductExchRateField {
20877    /// 产品代码
20878    pub ProductID: TThostFtdcInstrumentIDType,
20879    /// 报价币种类型
20880    pub QuoteCurrencyID: TThostFtdcCurrencyIDType,
20881    /// 汇率
20882    pub ExchangeRate: TThostFtdcExchangeRateType,
20883    /// 交易所代码
20884    pub ExchangeID: TThostFtdcExchangeIDType,
20885}
20886#[test]
20887fn bindgen_test_layout_CThostFtdcProductExchRateField() {
20888    assert_eq!(::std::mem::size_of::<CThostFtdcProductExchRateField>() ,
20889               64usize , concat ! (
20890               "Size of: " , stringify ! ( CThostFtdcProductExchRateField )
20891               ));
20892    assert_eq! (::std::mem::align_of::<CThostFtdcProductExchRateField>() ,
20893                8usize , concat ! (
20894                "Alignment of " , stringify ! ( CThostFtdcProductExchRateField
20895                ) ));
20896    assert_eq! (unsafe {
20897                & ( * ( 0 as * const CThostFtdcProductExchRateField ) ) .
20898                ProductID as * const _ as usize } , 0usize , concat ! (
20899                "Alignment of field: " , stringify ! (
20900                CThostFtdcProductExchRateField ) , "::" , stringify ! (
20901                ProductID ) ));
20902    assert_eq! (unsafe {
20903                & ( * ( 0 as * const CThostFtdcProductExchRateField ) ) .
20904                QuoteCurrencyID as * const _ as usize } , 31usize , concat ! (
20905                "Alignment of field: " , stringify ! (
20906                CThostFtdcProductExchRateField ) , "::" , stringify ! (
20907                QuoteCurrencyID ) ));
20908    assert_eq! (unsafe {
20909                & ( * ( 0 as * const CThostFtdcProductExchRateField ) ) .
20910                ExchangeRate as * const _ as usize } , 40usize , concat ! (
20911                "Alignment of field: " , stringify ! (
20912                CThostFtdcProductExchRateField ) , "::" , stringify ! (
20913                ExchangeRate ) ));
20914    assert_eq! (unsafe {
20915                & ( * ( 0 as * const CThostFtdcProductExchRateField ) ) .
20916                ExchangeID as * const _ as usize } , 48usize , concat ! (
20917                "Alignment of field: " , stringify ! (
20918                CThostFtdcProductExchRateField ) , "::" , stringify ! (
20919                ExchangeID ) ));
20920}
20921impl Clone for CThostFtdcProductExchRateField {
20922    fn clone(&self) -> Self { *self }
20923}
20924/// 产品报价汇率查询
20925#[repr(C)]
20926#[derive(Default, Copy)]
20927pub struct CThostFtdcQryProductExchRateField {
20928    /// 产品代码
20929    pub ProductID: TThostFtdcInstrumentIDType,
20930    /// 交易所代码
20931    pub ExchangeID: TThostFtdcExchangeIDType,
20932}
20933#[test]
20934fn bindgen_test_layout_CThostFtdcQryProductExchRateField() {
20935    assert_eq!(::std::mem::size_of::<CThostFtdcQryProductExchRateField>() ,
20936               40usize , concat ! (
20937               "Size of: " , stringify ! ( CThostFtdcQryProductExchRateField )
20938               ));
20939    assert_eq! (::std::mem::align_of::<CThostFtdcQryProductExchRateField>() ,
20940                1usize , concat ! (
20941                "Alignment of " , stringify ! (
20942                CThostFtdcQryProductExchRateField ) ));
20943    assert_eq! (unsafe {
20944                & ( * ( 0 as * const CThostFtdcQryProductExchRateField ) ) .
20945                ProductID as * const _ as usize } , 0usize , concat ! (
20946                "Alignment of field: " , stringify ! (
20947                CThostFtdcQryProductExchRateField ) , "::" , stringify ! (
20948                ProductID ) ));
20949    assert_eq! (unsafe {
20950                & ( * ( 0 as * const CThostFtdcQryProductExchRateField ) ) .
20951                ExchangeID as * const _ as usize } , 31usize , concat ! (
20952                "Alignment of field: " , stringify ! (
20953                CThostFtdcQryProductExchRateField ) , "::" , stringify ! (
20954                ExchangeID ) ));
20955}
20956impl Clone for CThostFtdcQryProductExchRateField {
20957    fn clone(&self) -> Self { *self }
20958}
20959/// 查询询价价差参数
20960#[repr(C)]
20961#[derive(Default, Copy)]
20962pub struct CThostFtdcQryForQuoteParamField {
20963    /// 经纪公司代码
20964    pub BrokerID: TThostFtdcBrokerIDType,
20965    /// 合约代码
20966    pub InstrumentID: TThostFtdcInstrumentIDType,
20967    /// 交易所代码
20968    pub ExchangeID: TThostFtdcExchangeIDType,
20969}
20970#[test]
20971fn bindgen_test_layout_CThostFtdcQryForQuoteParamField() {
20972    assert_eq!(::std::mem::size_of::<CThostFtdcQryForQuoteParamField>() ,
20973               51usize , concat ! (
20974               "Size of: " , stringify ! ( CThostFtdcQryForQuoteParamField )
20975               ));
20976    assert_eq! (::std::mem::align_of::<CThostFtdcQryForQuoteParamField>() ,
20977                1usize , concat ! (
20978                "Alignment of " , stringify ! (
20979                CThostFtdcQryForQuoteParamField ) ));
20980    assert_eq! (unsafe {
20981                & ( * ( 0 as * const CThostFtdcQryForQuoteParamField ) ) .
20982                BrokerID as * const _ as usize } , 0usize , concat ! (
20983                "Alignment of field: " , stringify ! (
20984                CThostFtdcQryForQuoteParamField ) , "::" , stringify ! (
20985                BrokerID ) ));
20986    assert_eq! (unsafe {
20987                & ( * ( 0 as * const CThostFtdcQryForQuoteParamField ) ) .
20988                InstrumentID as * const _ as usize } , 11usize , concat ! (
20989                "Alignment of field: " , stringify ! (
20990                CThostFtdcQryForQuoteParamField ) , "::" , stringify ! (
20991                InstrumentID ) ));
20992    assert_eq! (unsafe {
20993                & ( * ( 0 as * const CThostFtdcQryForQuoteParamField ) ) .
20994                ExchangeID as * const _ as usize } , 42usize , concat ! (
20995                "Alignment of field: " , stringify ! (
20996                CThostFtdcQryForQuoteParamField ) , "::" , stringify ! (
20997                ExchangeID ) ));
20998}
20999impl Clone for CThostFtdcQryForQuoteParamField {
21000    fn clone(&self) -> Self { *self }
21001}
21002/// 询价价差参数
21003#[repr(C)]
21004#[derive(Default, Copy)]
21005pub struct CThostFtdcForQuoteParamField {
21006    /// 经纪公司代码
21007    pub BrokerID: TThostFtdcBrokerIDType,
21008    /// 合约代码
21009    pub InstrumentID: TThostFtdcInstrumentIDType,
21010    /// 交易所代码
21011    pub ExchangeID: TThostFtdcExchangeIDType,
21012    /// 最新价
21013    pub LastPrice: TThostFtdcPriceType,
21014    /// 价差
21015    pub PriceInterval: TThostFtdcPriceType,
21016}
21017#[test]
21018fn bindgen_test_layout_CThostFtdcForQuoteParamField() {
21019    assert_eq!(::std::mem::size_of::<CThostFtdcForQuoteParamField>() , 72usize
21020               , concat ! (
21021               "Size of: " , stringify ! ( CThostFtdcForQuoteParamField ) ));
21022    assert_eq! (::std::mem::align_of::<CThostFtdcForQuoteParamField>() ,
21023                8usize , concat ! (
21024                "Alignment of " , stringify ! ( CThostFtdcForQuoteParamField )
21025                ));
21026    assert_eq! (unsafe {
21027                & ( * ( 0 as * const CThostFtdcForQuoteParamField ) ) .
21028                BrokerID as * const _ as usize } , 0usize , concat ! (
21029                "Alignment of field: " , stringify ! (
21030                CThostFtdcForQuoteParamField ) , "::" , stringify ! ( BrokerID
21031                ) ));
21032    assert_eq! (unsafe {
21033                & ( * ( 0 as * const CThostFtdcForQuoteParamField ) ) .
21034                InstrumentID as * const _ as usize } , 11usize , concat ! (
21035                "Alignment of field: " , stringify ! (
21036                CThostFtdcForQuoteParamField ) , "::" , stringify ! (
21037                InstrumentID ) ));
21038    assert_eq! (unsafe {
21039                & ( * ( 0 as * const CThostFtdcForQuoteParamField ) ) .
21040                ExchangeID as * const _ as usize } , 42usize , concat ! (
21041                "Alignment of field: " , stringify ! (
21042                CThostFtdcForQuoteParamField ) , "::" , stringify ! (
21043                ExchangeID ) ));
21044    assert_eq! (unsafe {
21045                & ( * ( 0 as * const CThostFtdcForQuoteParamField ) ) .
21046                LastPrice as * const _ as usize } , 56usize , concat ! (
21047                "Alignment of field: " , stringify ! (
21048                CThostFtdcForQuoteParamField ) , "::" , stringify ! (
21049                LastPrice ) ));
21050    assert_eq! (unsafe {
21051                & ( * ( 0 as * const CThostFtdcForQuoteParamField ) ) .
21052                PriceInterval as * const _ as usize } , 64usize , concat ! (
21053                "Alignment of field: " , stringify ! (
21054                CThostFtdcForQuoteParamField ) , "::" , stringify ! (
21055                PriceInterval ) ));
21056}
21057impl Clone for CThostFtdcForQuoteParamField {
21058    fn clone(&self) -> Self { *self }
21059}
21060/// 当前做市商期权合约手续费的详细内容
21061#[repr(C)]
21062#[derive(Default, Copy)]
21063pub struct CThostFtdcMMOptionInstrCommRateField {
21064    /// 合约代码
21065    pub InstrumentID: TThostFtdcInstrumentIDType,
21066    /// 投资者范围
21067    pub InvestorRange: TThostFtdcInvestorRangeType,
21068    /// 经纪公司代码
21069    pub BrokerID: TThostFtdcBrokerIDType,
21070    /// 投资者代码
21071    pub InvestorID: TThostFtdcInvestorIDType,
21072    /// 开仓手续费率
21073    pub OpenRatioByMoney: TThostFtdcRatioType,
21074    /// 开仓手续费
21075    pub OpenRatioByVolume: TThostFtdcRatioType,
21076    /// 平仓手续费率
21077    pub CloseRatioByMoney: TThostFtdcRatioType,
21078    /// 平仓手续费
21079    pub CloseRatioByVolume: TThostFtdcRatioType,
21080    /// 平今手续费率
21081    pub CloseTodayRatioByMoney: TThostFtdcRatioType,
21082    /// 平今手续费
21083    pub CloseTodayRatioByVolume: TThostFtdcRatioType,
21084    /// 执行手续费率
21085    pub StrikeRatioByMoney: TThostFtdcRatioType,
21086    /// 执行手续费
21087    pub StrikeRatioByVolume: TThostFtdcRatioType,
21088}
21089#[test]
21090fn bindgen_test_layout_CThostFtdcMMOptionInstrCommRateField() {
21091    assert_eq!(::std::mem::size_of::<CThostFtdcMMOptionInstrCommRateField>() ,
21092               120usize , concat ! (
21093               "Size of: " , stringify ! (
21094               CThostFtdcMMOptionInstrCommRateField ) ));
21095    assert_eq! (::std::mem::align_of::<CThostFtdcMMOptionInstrCommRateField>()
21096                , 8usize , concat ! (
21097                "Alignment of " , stringify ! (
21098                CThostFtdcMMOptionInstrCommRateField ) ));
21099    assert_eq! (unsafe {
21100                & ( * ( 0 as * const CThostFtdcMMOptionInstrCommRateField ) )
21101                . InstrumentID as * const _ as usize } , 0usize , concat ! (
21102                "Alignment of field: " , stringify ! (
21103                CThostFtdcMMOptionInstrCommRateField ) , "::" , stringify ! (
21104                InstrumentID ) ));
21105    assert_eq! (unsafe {
21106                & ( * ( 0 as * const CThostFtdcMMOptionInstrCommRateField ) )
21107                . InvestorRange as * const _ as usize } , 31usize , concat ! (
21108                "Alignment of field: " , stringify ! (
21109                CThostFtdcMMOptionInstrCommRateField ) , "::" , stringify ! (
21110                InvestorRange ) ));
21111    assert_eq! (unsafe {
21112                & ( * ( 0 as * const CThostFtdcMMOptionInstrCommRateField ) )
21113                . BrokerID as * const _ as usize } , 32usize , concat ! (
21114                "Alignment of field: " , stringify ! (
21115                CThostFtdcMMOptionInstrCommRateField ) , "::" , stringify ! (
21116                BrokerID ) ));
21117    assert_eq! (unsafe {
21118                & ( * ( 0 as * const CThostFtdcMMOptionInstrCommRateField ) )
21119                . InvestorID as * const _ as usize } , 43usize , concat ! (
21120                "Alignment of field: " , stringify ! (
21121                CThostFtdcMMOptionInstrCommRateField ) , "::" , stringify ! (
21122                InvestorID ) ));
21123    assert_eq! (unsafe {
21124                & ( * ( 0 as * const CThostFtdcMMOptionInstrCommRateField ) )
21125                . OpenRatioByMoney as * const _ as usize } , 56usize , concat
21126                ! (
21127                "Alignment of field: " , stringify ! (
21128                CThostFtdcMMOptionInstrCommRateField ) , "::" , stringify ! (
21129                OpenRatioByMoney ) ));
21130    assert_eq! (unsafe {
21131                & ( * ( 0 as * const CThostFtdcMMOptionInstrCommRateField ) )
21132                . OpenRatioByVolume as * const _ as usize } , 64usize , concat
21133                ! (
21134                "Alignment of field: " , stringify ! (
21135                CThostFtdcMMOptionInstrCommRateField ) , "::" , stringify ! (
21136                OpenRatioByVolume ) ));
21137    assert_eq! (unsafe {
21138                & ( * ( 0 as * const CThostFtdcMMOptionInstrCommRateField ) )
21139                . CloseRatioByMoney as * const _ as usize } , 72usize , concat
21140                ! (
21141                "Alignment of field: " , stringify ! (
21142                CThostFtdcMMOptionInstrCommRateField ) , "::" , stringify ! (
21143                CloseRatioByMoney ) ));
21144    assert_eq! (unsafe {
21145                & ( * ( 0 as * const CThostFtdcMMOptionInstrCommRateField ) )
21146                . CloseRatioByVolume as * const _ as usize } , 80usize ,
21147                concat ! (
21148                "Alignment of field: " , stringify ! (
21149                CThostFtdcMMOptionInstrCommRateField ) , "::" , stringify ! (
21150                CloseRatioByVolume ) ));
21151    assert_eq! (unsafe {
21152                & ( * ( 0 as * const CThostFtdcMMOptionInstrCommRateField ) )
21153                . CloseTodayRatioByMoney as * const _ as usize } , 88usize ,
21154                concat ! (
21155                "Alignment of field: " , stringify ! (
21156                CThostFtdcMMOptionInstrCommRateField ) , "::" , stringify ! (
21157                CloseTodayRatioByMoney ) ));
21158    assert_eq! (unsafe {
21159                & ( * ( 0 as * const CThostFtdcMMOptionInstrCommRateField ) )
21160                . CloseTodayRatioByVolume as * const _ as usize } , 96usize ,
21161                concat ! (
21162                "Alignment of field: " , stringify ! (
21163                CThostFtdcMMOptionInstrCommRateField ) , "::" , stringify ! (
21164                CloseTodayRatioByVolume ) ));
21165    assert_eq! (unsafe {
21166                & ( * ( 0 as * const CThostFtdcMMOptionInstrCommRateField ) )
21167                . StrikeRatioByMoney as * const _ as usize } , 104usize ,
21168                concat ! (
21169                "Alignment of field: " , stringify ! (
21170                CThostFtdcMMOptionInstrCommRateField ) , "::" , stringify ! (
21171                StrikeRatioByMoney ) ));
21172    assert_eq! (unsafe {
21173                & ( * ( 0 as * const CThostFtdcMMOptionInstrCommRateField ) )
21174                . StrikeRatioByVolume as * const _ as usize } , 112usize ,
21175                concat ! (
21176                "Alignment of field: " , stringify ! (
21177                CThostFtdcMMOptionInstrCommRateField ) , "::" , stringify ! (
21178                StrikeRatioByVolume ) ));
21179}
21180impl Clone for CThostFtdcMMOptionInstrCommRateField {
21181    fn clone(&self) -> Self { *self }
21182}
21183/// 做市商期权手续费率查询
21184#[repr(C)]
21185#[derive(Default, Copy)]
21186pub struct CThostFtdcQryMMOptionInstrCommRateField {
21187    /// 经纪公司代码
21188    pub BrokerID: TThostFtdcBrokerIDType,
21189    /// 投资者代码
21190    pub InvestorID: TThostFtdcInvestorIDType,
21191    /// 合约代码
21192    pub InstrumentID: TThostFtdcInstrumentIDType,
21193}
21194#[test]
21195fn bindgen_test_layout_CThostFtdcQryMMOptionInstrCommRateField() {
21196    assert_eq!(::std::mem::size_of::<CThostFtdcQryMMOptionInstrCommRateField>()
21197               , 55usize , concat ! (
21198               "Size of: " , stringify ! (
21199               CThostFtdcQryMMOptionInstrCommRateField ) ));
21200    assert_eq! (::std::mem::align_of::<CThostFtdcQryMMOptionInstrCommRateField>()
21201                , 1usize , concat ! (
21202                "Alignment of " , stringify ! (
21203                CThostFtdcQryMMOptionInstrCommRateField ) ));
21204    assert_eq! (unsafe {
21205                & ( * ( 0 as * const CThostFtdcQryMMOptionInstrCommRateField )
21206                ) . BrokerID as * const _ as usize } , 0usize , concat ! (
21207                "Alignment of field: " , stringify ! (
21208                CThostFtdcQryMMOptionInstrCommRateField ) , "::" , stringify !
21209                ( BrokerID ) ));
21210    assert_eq! (unsafe {
21211                & ( * ( 0 as * const CThostFtdcQryMMOptionInstrCommRateField )
21212                ) . InvestorID as * const _ as usize } , 11usize , concat ! (
21213                "Alignment of field: " , stringify ! (
21214                CThostFtdcQryMMOptionInstrCommRateField ) , "::" , stringify !
21215                ( InvestorID ) ));
21216    assert_eq! (unsafe {
21217                & ( * ( 0 as * const CThostFtdcQryMMOptionInstrCommRateField )
21218                ) . InstrumentID as * const _ as usize } , 24usize , concat !
21219                (
21220                "Alignment of field: " , stringify ! (
21221                CThostFtdcQryMMOptionInstrCommRateField ) , "::" , stringify !
21222                ( InstrumentID ) ));
21223}
21224impl Clone for CThostFtdcQryMMOptionInstrCommRateField {
21225    fn clone(&self) -> Self { *self }
21226}
21227/// 做市商合约手续费率
21228#[repr(C)]
21229#[derive(Default, Copy)]
21230pub struct CThostFtdcMMInstrumentCommissionRateField {
21231    /// 合约代码
21232    pub InstrumentID: TThostFtdcInstrumentIDType,
21233    /// 投资者范围
21234    pub InvestorRange: TThostFtdcInvestorRangeType,
21235    /// 经纪公司代码
21236    pub BrokerID: TThostFtdcBrokerIDType,
21237    /// 投资者代码
21238    pub InvestorID: TThostFtdcInvestorIDType,
21239    /// 开仓手续费率
21240    pub OpenRatioByMoney: TThostFtdcRatioType,
21241    /// 开仓手续费
21242    pub OpenRatioByVolume: TThostFtdcRatioType,
21243    /// 平仓手续费率
21244    pub CloseRatioByMoney: TThostFtdcRatioType,
21245    /// 平仓手续费
21246    pub CloseRatioByVolume: TThostFtdcRatioType,
21247    /// 平今手续费率
21248    pub CloseTodayRatioByMoney: TThostFtdcRatioType,
21249    /// 平今手续费
21250    pub CloseTodayRatioByVolume: TThostFtdcRatioType,
21251}
21252#[test]
21253fn bindgen_test_layout_CThostFtdcMMInstrumentCommissionRateField() {
21254    assert_eq!(::std::mem::size_of::<CThostFtdcMMInstrumentCommissionRateField>()
21255               , 104usize , concat ! (
21256               "Size of: " , stringify ! (
21257               CThostFtdcMMInstrumentCommissionRateField ) ));
21258    assert_eq! (::std::mem::align_of::<CThostFtdcMMInstrumentCommissionRateField>()
21259                , 8usize , concat ! (
21260                "Alignment of " , stringify ! (
21261                CThostFtdcMMInstrumentCommissionRateField ) ));
21262    assert_eq! (unsafe {
21263                & (
21264                * ( 0 as * const CThostFtdcMMInstrumentCommissionRateField ) )
21265                . InstrumentID as * const _ as usize } , 0usize , concat ! (
21266                "Alignment of field: " , stringify ! (
21267                CThostFtdcMMInstrumentCommissionRateField ) , "::" , stringify
21268                ! ( InstrumentID ) ));
21269    assert_eq! (unsafe {
21270                & (
21271                * ( 0 as * const CThostFtdcMMInstrumentCommissionRateField ) )
21272                . InvestorRange as * const _ as usize } , 31usize , concat ! (
21273                "Alignment of field: " , stringify ! (
21274                CThostFtdcMMInstrumentCommissionRateField ) , "::" , stringify
21275                ! ( InvestorRange ) ));
21276    assert_eq! (unsafe {
21277                & (
21278                * ( 0 as * const CThostFtdcMMInstrumentCommissionRateField ) )
21279                . BrokerID as * const _ as usize } , 32usize , concat ! (
21280                "Alignment of field: " , stringify ! (
21281                CThostFtdcMMInstrumentCommissionRateField ) , "::" , stringify
21282                ! ( BrokerID ) ));
21283    assert_eq! (unsafe {
21284                & (
21285                * ( 0 as * const CThostFtdcMMInstrumentCommissionRateField ) )
21286                . InvestorID as * const _ as usize } , 43usize , concat ! (
21287                "Alignment of field: " , stringify ! (
21288                CThostFtdcMMInstrumentCommissionRateField ) , "::" , stringify
21289                ! ( InvestorID ) ));
21290    assert_eq! (unsafe {
21291                & (
21292                * ( 0 as * const CThostFtdcMMInstrumentCommissionRateField ) )
21293                . OpenRatioByMoney as * const _ as usize } , 56usize , concat
21294                ! (
21295                "Alignment of field: " , stringify ! (
21296                CThostFtdcMMInstrumentCommissionRateField ) , "::" , stringify
21297                ! ( OpenRatioByMoney ) ));
21298    assert_eq! (unsafe {
21299                & (
21300                * ( 0 as * const CThostFtdcMMInstrumentCommissionRateField ) )
21301                . OpenRatioByVolume as * const _ as usize } , 64usize , concat
21302                ! (
21303                "Alignment of field: " , stringify ! (
21304                CThostFtdcMMInstrumentCommissionRateField ) , "::" , stringify
21305                ! ( OpenRatioByVolume ) ));
21306    assert_eq! (unsafe {
21307                & (
21308                * ( 0 as * const CThostFtdcMMInstrumentCommissionRateField ) )
21309                . CloseRatioByMoney as * const _ as usize } , 72usize , concat
21310                ! (
21311                "Alignment of field: " , stringify ! (
21312                CThostFtdcMMInstrumentCommissionRateField ) , "::" , stringify
21313                ! ( CloseRatioByMoney ) ));
21314    assert_eq! (unsafe {
21315                & (
21316                * ( 0 as * const CThostFtdcMMInstrumentCommissionRateField ) )
21317                . CloseRatioByVolume as * const _ as usize } , 80usize ,
21318                concat ! (
21319                "Alignment of field: " , stringify ! (
21320                CThostFtdcMMInstrumentCommissionRateField ) , "::" , stringify
21321                ! ( CloseRatioByVolume ) ));
21322    assert_eq! (unsafe {
21323                & (
21324                * ( 0 as * const CThostFtdcMMInstrumentCommissionRateField ) )
21325                . CloseTodayRatioByMoney as * const _ as usize } , 88usize ,
21326                concat ! (
21327                "Alignment of field: " , stringify ! (
21328                CThostFtdcMMInstrumentCommissionRateField ) , "::" , stringify
21329                ! ( CloseTodayRatioByMoney ) ));
21330    assert_eq! (unsafe {
21331                & (
21332                * ( 0 as * const CThostFtdcMMInstrumentCommissionRateField ) )
21333                . CloseTodayRatioByVolume as * const _ as usize } , 96usize ,
21334                concat ! (
21335                "Alignment of field: " , stringify ! (
21336                CThostFtdcMMInstrumentCommissionRateField ) , "::" , stringify
21337                ! ( CloseTodayRatioByVolume ) ));
21338}
21339impl Clone for CThostFtdcMMInstrumentCommissionRateField {
21340    fn clone(&self) -> Self { *self }
21341}
21342/// 查询做市商合约手续费率
21343#[repr(C)]
21344#[derive(Default, Copy)]
21345pub struct CThostFtdcQryMMInstrumentCommissionRateField {
21346    /// 经纪公司代码
21347    pub BrokerID: TThostFtdcBrokerIDType,
21348    /// 投资者代码
21349    pub InvestorID: TThostFtdcInvestorIDType,
21350    /// 合约代码
21351    pub InstrumentID: TThostFtdcInstrumentIDType,
21352}
21353#[test]
21354fn bindgen_test_layout_CThostFtdcQryMMInstrumentCommissionRateField() {
21355    assert_eq!(::std::mem::size_of::<CThostFtdcQryMMInstrumentCommissionRateField>()
21356               , 55usize , concat ! (
21357               "Size of: " , stringify ! (
21358               CThostFtdcQryMMInstrumentCommissionRateField ) ));
21359    assert_eq! (::std::mem::align_of::<CThostFtdcQryMMInstrumentCommissionRateField>()
21360                , 1usize , concat ! (
21361                "Alignment of " , stringify ! (
21362                CThostFtdcQryMMInstrumentCommissionRateField ) ));
21363    assert_eq! (unsafe {
21364                & (
21365                * ( 0 as * const CThostFtdcQryMMInstrumentCommissionRateField
21366                ) ) . BrokerID as * const _ as usize } , 0usize , concat ! (
21367                "Alignment of field: " , stringify ! (
21368                CThostFtdcQryMMInstrumentCommissionRateField ) , "::" ,
21369                stringify ! ( BrokerID ) ));
21370    assert_eq! (unsafe {
21371                & (
21372                * ( 0 as * const CThostFtdcQryMMInstrumentCommissionRateField
21373                ) ) . InvestorID as * const _ as usize } , 11usize , concat !
21374                (
21375                "Alignment of field: " , stringify ! (
21376                CThostFtdcQryMMInstrumentCommissionRateField ) , "::" ,
21377                stringify ! ( InvestorID ) ));
21378    assert_eq! (unsafe {
21379                & (
21380                * ( 0 as * const CThostFtdcQryMMInstrumentCommissionRateField
21381                ) ) . InstrumentID as * const _ as usize } , 24usize , concat
21382                ! (
21383                "Alignment of field: " , stringify ! (
21384                CThostFtdcQryMMInstrumentCommissionRateField ) , "::" ,
21385                stringify ! ( InstrumentID ) ));
21386}
21387impl Clone for CThostFtdcQryMMInstrumentCommissionRateField {
21388    fn clone(&self) -> Self { *self }
21389}
21390/// 当前报单手续费的详细内容
21391#[repr(C)]
21392#[derive(Default, Copy)]
21393pub struct CThostFtdcInstrumentOrderCommRateField {
21394    /// 合约代码
21395    pub InstrumentID: TThostFtdcInstrumentIDType,
21396    /// 投资者范围
21397    pub InvestorRange: TThostFtdcInvestorRangeType,
21398    /// 经纪公司代码
21399    pub BrokerID: TThostFtdcBrokerIDType,
21400    /// 投资者代码
21401    pub InvestorID: TThostFtdcInvestorIDType,
21402    /// 投机套保标志
21403    pub HedgeFlag: TThostFtdcHedgeFlagType,
21404    /// 报单手续费
21405    pub OrderCommByVolume: TThostFtdcRatioType,
21406    /// 撤单手续费
21407    pub OrderActionCommByVolume: TThostFtdcRatioType,
21408    /// 交易所代码
21409    pub ExchangeID: TThostFtdcExchangeIDType,
21410    /// 投资单元代码
21411    pub InvestUnitID: TThostFtdcInvestUnitIDType,
21412}
21413#[test]
21414fn bindgen_test_layout_CThostFtdcInstrumentOrderCommRateField() {
21415    assert_eq!(::std::mem::size_of::<CThostFtdcInstrumentOrderCommRateField>()
21416               , 112usize , concat ! (
21417               "Size of: " , stringify ! (
21418               CThostFtdcInstrumentOrderCommRateField ) ));
21419    assert_eq! (::std::mem::align_of::<CThostFtdcInstrumentOrderCommRateField>()
21420                , 8usize , concat ! (
21421                "Alignment of " , stringify ! (
21422                CThostFtdcInstrumentOrderCommRateField ) ));
21423    assert_eq! (unsafe {
21424                & ( * ( 0 as * const CThostFtdcInstrumentOrderCommRateField )
21425                ) . InstrumentID as * const _ as usize } , 0usize , concat ! (
21426                "Alignment of field: " , stringify ! (
21427                CThostFtdcInstrumentOrderCommRateField ) , "::" , stringify !
21428                ( InstrumentID ) ));
21429    assert_eq! (unsafe {
21430                & ( * ( 0 as * const CThostFtdcInstrumentOrderCommRateField )
21431                ) . InvestorRange as * const _ as usize } , 31usize , concat !
21432                (
21433                "Alignment of field: " , stringify ! (
21434                CThostFtdcInstrumentOrderCommRateField ) , "::" , stringify !
21435                ( InvestorRange ) ));
21436    assert_eq! (unsafe {
21437                & ( * ( 0 as * const CThostFtdcInstrumentOrderCommRateField )
21438                ) . BrokerID as * const _ as usize } , 32usize , concat ! (
21439                "Alignment of field: " , stringify ! (
21440                CThostFtdcInstrumentOrderCommRateField ) , "::" , stringify !
21441                ( BrokerID ) ));
21442    assert_eq! (unsafe {
21443                & ( * ( 0 as * const CThostFtdcInstrumentOrderCommRateField )
21444                ) . InvestorID as * const _ as usize } , 43usize , concat ! (
21445                "Alignment of field: " , stringify ! (
21446                CThostFtdcInstrumentOrderCommRateField ) , "::" , stringify !
21447                ( InvestorID ) ));
21448    assert_eq! (unsafe {
21449                & ( * ( 0 as * const CThostFtdcInstrumentOrderCommRateField )
21450                ) . HedgeFlag as * const _ as usize } , 56usize , concat ! (
21451                "Alignment of field: " , stringify ! (
21452                CThostFtdcInstrumentOrderCommRateField ) , "::" , stringify !
21453                ( HedgeFlag ) ));
21454    assert_eq! (unsafe {
21455                & ( * ( 0 as * const CThostFtdcInstrumentOrderCommRateField )
21456                ) . OrderCommByVolume as * const _ as usize } , 64usize ,
21457                concat ! (
21458                "Alignment of field: " , stringify ! (
21459                CThostFtdcInstrumentOrderCommRateField ) , "::" , stringify !
21460                ( OrderCommByVolume ) ));
21461    assert_eq! (unsafe {
21462                & ( * ( 0 as * const CThostFtdcInstrumentOrderCommRateField )
21463                ) . OrderActionCommByVolume as * const _ as usize } , 72usize
21464                , concat ! (
21465                "Alignment of field: " , stringify ! (
21466                CThostFtdcInstrumentOrderCommRateField ) , "::" , stringify !
21467                ( OrderActionCommByVolume ) ));
21468    assert_eq! (unsafe {
21469                & ( * ( 0 as * const CThostFtdcInstrumentOrderCommRateField )
21470                ) . ExchangeID as * const _ as usize } , 80usize , concat ! (
21471                "Alignment of field: " , stringify ! (
21472                CThostFtdcInstrumentOrderCommRateField ) , "::" , stringify !
21473                ( ExchangeID ) ));
21474    assert_eq! (unsafe {
21475                & ( * ( 0 as * const CThostFtdcInstrumentOrderCommRateField )
21476                ) . InvestUnitID as * const _ as usize } , 89usize , concat !
21477                (
21478                "Alignment of field: " , stringify ! (
21479                CThostFtdcInstrumentOrderCommRateField ) , "::" , stringify !
21480                ( InvestUnitID ) ));
21481}
21482impl Clone for CThostFtdcInstrumentOrderCommRateField {
21483    fn clone(&self) -> Self { *self }
21484}
21485/// 报单手续费率查询
21486#[repr(C)]
21487#[derive(Default, Copy)]
21488pub struct CThostFtdcQryInstrumentOrderCommRateField {
21489    /// 经纪公司代码
21490    pub BrokerID: TThostFtdcBrokerIDType,
21491    /// 投资者代码
21492    pub InvestorID: TThostFtdcInvestorIDType,
21493    /// 合约代码
21494    pub InstrumentID: TThostFtdcInstrumentIDType,
21495}
21496#[test]
21497fn bindgen_test_layout_CThostFtdcQryInstrumentOrderCommRateField() {
21498    assert_eq!(::std::mem::size_of::<CThostFtdcQryInstrumentOrderCommRateField>()
21499               , 55usize , concat ! (
21500               "Size of: " , stringify ! (
21501               CThostFtdcQryInstrumentOrderCommRateField ) ));
21502    assert_eq! (::std::mem::align_of::<CThostFtdcQryInstrumentOrderCommRateField>()
21503                , 1usize , concat ! (
21504                "Alignment of " , stringify ! (
21505                CThostFtdcQryInstrumentOrderCommRateField ) ));
21506    assert_eq! (unsafe {
21507                & (
21508                * ( 0 as * const CThostFtdcQryInstrumentOrderCommRateField ) )
21509                . BrokerID as * const _ as usize } , 0usize , concat ! (
21510                "Alignment of field: " , stringify ! (
21511                CThostFtdcQryInstrumentOrderCommRateField ) , "::" , stringify
21512                ! ( BrokerID ) ));
21513    assert_eq! (unsafe {
21514                & (
21515                * ( 0 as * const CThostFtdcQryInstrumentOrderCommRateField ) )
21516                . InvestorID as * const _ as usize } , 11usize , concat ! (
21517                "Alignment of field: " , stringify ! (
21518                CThostFtdcQryInstrumentOrderCommRateField ) , "::" , stringify
21519                ! ( InvestorID ) ));
21520    assert_eq! (unsafe {
21521                & (
21522                * ( 0 as * const CThostFtdcQryInstrumentOrderCommRateField ) )
21523                . InstrumentID as * const _ as usize } , 24usize , concat ! (
21524                "Alignment of field: " , stringify ! (
21525                CThostFtdcQryInstrumentOrderCommRateField ) , "::" , stringify
21526                ! ( InstrumentID ) ));
21527}
21528impl Clone for CThostFtdcQryInstrumentOrderCommRateField {
21529    fn clone(&self) -> Self { *self }
21530}
21531/// 交易参数
21532#[repr(C)]
21533#[derive(Copy)]
21534pub struct CThostFtdcTradeParamField {
21535    /// 经纪公司代码
21536    pub BrokerID: TThostFtdcBrokerIDType,
21537    /// 参数代码
21538    pub TradeParamID: TThostFtdcTradeParamIDType,
21539    /// 参数代码值
21540    pub TradeParamValue: TThostFtdcSettlementParamValueType,
21541    /// 备注
21542    pub Memo: TThostFtdcMemoType,
21543}
21544#[test]
21545fn bindgen_test_layout_CThostFtdcTradeParamField() {
21546    assert_eq!(::std::mem::size_of::<CThostFtdcTradeParamField>() , 429usize ,
21547               concat ! (
21548               "Size of: " , stringify ! ( CThostFtdcTradeParamField ) ));
21549    assert_eq! (::std::mem::align_of::<CThostFtdcTradeParamField>() , 1usize ,
21550                concat ! (
21551                "Alignment of " , stringify ! ( CThostFtdcTradeParamField )
21552                ));
21553    assert_eq! (unsafe {
21554                & ( * ( 0 as * const CThostFtdcTradeParamField ) ) . BrokerID
21555                as * const _ as usize } , 0usize , concat ! (
21556                "Alignment of field: " , stringify ! (
21557                CThostFtdcTradeParamField ) , "::" , stringify ! ( BrokerID )
21558                ));
21559    assert_eq! (unsafe {
21560                & ( * ( 0 as * const CThostFtdcTradeParamField ) ) .
21561                TradeParamID as * const _ as usize } , 11usize , concat ! (
21562                "Alignment of field: " , stringify ! (
21563                CThostFtdcTradeParamField ) , "::" , stringify ! (
21564                TradeParamID ) ));
21565    assert_eq! (unsafe {
21566                & ( * ( 0 as * const CThostFtdcTradeParamField ) ) .
21567                TradeParamValue as * const _ as usize } , 12usize , concat ! (
21568                "Alignment of field: " , stringify ! (
21569                CThostFtdcTradeParamField ) , "::" , stringify ! (
21570                TradeParamValue ) ));
21571    assert_eq! (unsafe {
21572                & ( * ( 0 as * const CThostFtdcTradeParamField ) ) . Memo as *
21573                const _ as usize } , 268usize , concat ! (
21574                "Alignment of field: " , stringify ! (
21575                CThostFtdcTradeParamField ) , "::" , stringify ! ( Memo ) ));
21576}
21577impl Clone for CThostFtdcTradeParamField {
21578    fn clone(&self) -> Self { *self }
21579}
21580impl Default for CThostFtdcTradeParamField {
21581    fn default() -> Self { unsafe { ::std::mem::zeroed() } }
21582}
21583/// 合约保证金率调整
21584#[repr(C)]
21585#[derive(Default, Copy)]
21586pub struct CThostFtdcInstrumentMarginRateULField {
21587    /// 合约代码
21588    pub InstrumentID: TThostFtdcInstrumentIDType,
21589    /// 投资者范围
21590    pub InvestorRange: TThostFtdcInvestorRangeType,
21591    /// 经纪公司代码
21592    pub BrokerID: TThostFtdcBrokerIDType,
21593    /// 投资者代码
21594    pub InvestorID: TThostFtdcInvestorIDType,
21595    /// 投机套保标志
21596    pub HedgeFlag: TThostFtdcHedgeFlagType,
21597    /// 多头保证金率
21598    pub LongMarginRatioByMoney: TThostFtdcRatioType,
21599    /// 多头保证金费
21600    pub LongMarginRatioByVolume: TThostFtdcMoneyType,
21601    /// 空头保证金率
21602    pub ShortMarginRatioByMoney: TThostFtdcRatioType,
21603    /// 空头保证金费
21604    pub ShortMarginRatioByVolume: TThostFtdcMoneyType,
21605}
21606#[test]
21607fn bindgen_test_layout_CThostFtdcInstrumentMarginRateULField() {
21608    assert_eq!(::std::mem::size_of::<CThostFtdcInstrumentMarginRateULField>()
21609               , 96usize , concat ! (
21610               "Size of: " , stringify ! (
21611               CThostFtdcInstrumentMarginRateULField ) ));
21612    assert_eq! (::std::mem::align_of::<CThostFtdcInstrumentMarginRateULField>()
21613                , 8usize , concat ! (
21614                "Alignment of " , stringify ! (
21615                CThostFtdcInstrumentMarginRateULField ) ));
21616    assert_eq! (unsafe {
21617                & ( * ( 0 as * const CThostFtdcInstrumentMarginRateULField ) )
21618                . InstrumentID as * const _ as usize } , 0usize , concat ! (
21619                "Alignment of field: " , stringify ! (
21620                CThostFtdcInstrumentMarginRateULField ) , "::" , stringify ! (
21621                InstrumentID ) ));
21622    assert_eq! (unsafe {
21623                & ( * ( 0 as * const CThostFtdcInstrumentMarginRateULField ) )
21624                . InvestorRange as * const _ as usize } , 31usize , concat ! (
21625                "Alignment of field: " , stringify ! (
21626                CThostFtdcInstrumentMarginRateULField ) , "::" , stringify ! (
21627                InvestorRange ) ));
21628    assert_eq! (unsafe {
21629                & ( * ( 0 as * const CThostFtdcInstrumentMarginRateULField ) )
21630                . BrokerID as * const _ as usize } , 32usize , concat ! (
21631                "Alignment of field: " , stringify ! (
21632                CThostFtdcInstrumentMarginRateULField ) , "::" , stringify ! (
21633                BrokerID ) ));
21634    assert_eq! (unsafe {
21635                & ( * ( 0 as * const CThostFtdcInstrumentMarginRateULField ) )
21636                . InvestorID as * const _ as usize } , 43usize , concat ! (
21637                "Alignment of field: " , stringify ! (
21638                CThostFtdcInstrumentMarginRateULField ) , "::" , stringify ! (
21639                InvestorID ) ));
21640    assert_eq! (unsafe {
21641                & ( * ( 0 as * const CThostFtdcInstrumentMarginRateULField ) )
21642                . HedgeFlag as * const _ as usize } , 56usize , concat ! (
21643                "Alignment of field: " , stringify ! (
21644                CThostFtdcInstrumentMarginRateULField ) , "::" , stringify ! (
21645                HedgeFlag ) ));
21646    assert_eq! (unsafe {
21647                & ( * ( 0 as * const CThostFtdcInstrumentMarginRateULField ) )
21648                . LongMarginRatioByMoney as * const _ as usize } , 64usize ,
21649                concat ! (
21650                "Alignment of field: " , stringify ! (
21651                CThostFtdcInstrumentMarginRateULField ) , "::" , stringify ! (
21652                LongMarginRatioByMoney ) ));
21653    assert_eq! (unsafe {
21654                & ( * ( 0 as * const CThostFtdcInstrumentMarginRateULField ) )
21655                . LongMarginRatioByVolume as * const _ as usize } , 72usize ,
21656                concat ! (
21657                "Alignment of field: " , stringify ! (
21658                CThostFtdcInstrumentMarginRateULField ) , "::" , stringify ! (
21659                LongMarginRatioByVolume ) ));
21660    assert_eq! (unsafe {
21661                & ( * ( 0 as * const CThostFtdcInstrumentMarginRateULField ) )
21662                . ShortMarginRatioByMoney as * const _ as usize } , 80usize ,
21663                concat ! (
21664                "Alignment of field: " , stringify ! (
21665                CThostFtdcInstrumentMarginRateULField ) , "::" , stringify ! (
21666                ShortMarginRatioByMoney ) ));
21667    assert_eq! (unsafe {
21668                & ( * ( 0 as * const CThostFtdcInstrumentMarginRateULField ) )
21669                . ShortMarginRatioByVolume as * const _ as usize } , 88usize ,
21670                concat ! (
21671                "Alignment of field: " , stringify ! (
21672                CThostFtdcInstrumentMarginRateULField ) , "::" , stringify ! (
21673                ShortMarginRatioByVolume ) ));
21674}
21675impl Clone for CThostFtdcInstrumentMarginRateULField {
21676    fn clone(&self) -> Self { *self }
21677}
21678/// 期货持仓限制参数
21679#[repr(C)]
21680#[derive(Default, Copy)]
21681pub struct CThostFtdcFutureLimitPosiParamField {
21682    /// 投资者范围
21683    pub InvestorRange: TThostFtdcInvestorRangeType,
21684    /// 经纪公司代码
21685    pub BrokerID: TThostFtdcBrokerIDType,
21686    /// 投资者代码
21687    pub InvestorID: TThostFtdcInvestorIDType,
21688    /// 产品代码
21689    pub ProductID: TThostFtdcInstrumentIDType,
21690    /// 当日投机开仓数量限制
21691    pub SpecOpenVolume: TThostFtdcVolumeType,
21692    /// 当日套利开仓数量限制
21693    pub ArbiOpenVolume: TThostFtdcVolumeType,
21694    /// 当日投机+套利开仓数量限制
21695    pub OpenVolume: TThostFtdcVolumeType,
21696}
21697#[test]
21698fn bindgen_test_layout_CThostFtdcFutureLimitPosiParamField() {
21699    assert_eq!(::std::mem::size_of::<CThostFtdcFutureLimitPosiParamField>() ,
21700               68usize , concat ! (
21701               "Size of: " , stringify ! ( CThostFtdcFutureLimitPosiParamField
21702               ) ));
21703    assert_eq! (::std::mem::align_of::<CThostFtdcFutureLimitPosiParamField>()
21704                , 4usize , concat ! (
21705                "Alignment of " , stringify ! (
21706                CThostFtdcFutureLimitPosiParamField ) ));
21707    assert_eq! (unsafe {
21708                & ( * ( 0 as * const CThostFtdcFutureLimitPosiParamField ) ) .
21709                InvestorRange as * const _ as usize } , 0usize , concat ! (
21710                "Alignment of field: " , stringify ! (
21711                CThostFtdcFutureLimitPosiParamField ) , "::" , stringify ! (
21712                InvestorRange ) ));
21713    assert_eq! (unsafe {
21714                & ( * ( 0 as * const CThostFtdcFutureLimitPosiParamField ) ) .
21715                BrokerID as * const _ as usize } , 1usize , concat ! (
21716                "Alignment of field: " , stringify ! (
21717                CThostFtdcFutureLimitPosiParamField ) , "::" , stringify ! (
21718                BrokerID ) ));
21719    assert_eq! (unsafe {
21720                & ( * ( 0 as * const CThostFtdcFutureLimitPosiParamField ) ) .
21721                InvestorID as * const _ as usize } , 12usize , concat ! (
21722                "Alignment of field: " , stringify ! (
21723                CThostFtdcFutureLimitPosiParamField ) , "::" , stringify ! (
21724                InvestorID ) ));
21725    assert_eq! (unsafe {
21726                & ( * ( 0 as * const CThostFtdcFutureLimitPosiParamField ) ) .
21727                ProductID as * const _ as usize } , 25usize , concat ! (
21728                "Alignment of field: " , stringify ! (
21729                CThostFtdcFutureLimitPosiParamField ) , "::" , stringify ! (
21730                ProductID ) ));
21731    assert_eq! (unsafe {
21732                & ( * ( 0 as * const CThostFtdcFutureLimitPosiParamField ) ) .
21733                SpecOpenVolume as * const _ as usize } , 56usize , concat ! (
21734                "Alignment of field: " , stringify ! (
21735                CThostFtdcFutureLimitPosiParamField ) , "::" , stringify ! (
21736                SpecOpenVolume ) ));
21737    assert_eq! (unsafe {
21738                & ( * ( 0 as * const CThostFtdcFutureLimitPosiParamField ) ) .
21739                ArbiOpenVolume as * const _ as usize } , 60usize , concat ! (
21740                "Alignment of field: " , stringify ! (
21741                CThostFtdcFutureLimitPosiParamField ) , "::" , stringify ! (
21742                ArbiOpenVolume ) ));
21743    assert_eq! (unsafe {
21744                & ( * ( 0 as * const CThostFtdcFutureLimitPosiParamField ) ) .
21745                OpenVolume as * const _ as usize } , 64usize , concat ! (
21746                "Alignment of field: " , stringify ! (
21747                CThostFtdcFutureLimitPosiParamField ) , "::" , stringify ! (
21748                OpenVolume ) ));
21749}
21750impl Clone for CThostFtdcFutureLimitPosiParamField {
21751    fn clone(&self) -> Self { *self }
21752}
21753/// 禁止登录IP
21754#[repr(C)]
21755#[derive(Default, Copy)]
21756pub struct CThostFtdcLoginForbiddenIPField {
21757    /// IP地址
21758    pub IPAddress: TThostFtdcIPAddressType,
21759}
21760#[test]
21761fn bindgen_test_layout_CThostFtdcLoginForbiddenIPField() {
21762    assert_eq!(::std::mem::size_of::<CThostFtdcLoginForbiddenIPField>() ,
21763               16usize , concat ! (
21764               "Size of: " , stringify ! ( CThostFtdcLoginForbiddenIPField )
21765               ));
21766    assert_eq! (::std::mem::align_of::<CThostFtdcLoginForbiddenIPField>() ,
21767                1usize , concat ! (
21768                "Alignment of " , stringify ! (
21769                CThostFtdcLoginForbiddenIPField ) ));
21770    assert_eq! (unsafe {
21771                & ( * ( 0 as * const CThostFtdcLoginForbiddenIPField ) ) .
21772                IPAddress as * const _ as usize } , 0usize , concat ! (
21773                "Alignment of field: " , stringify ! (
21774                CThostFtdcLoginForbiddenIPField ) , "::" , stringify ! (
21775                IPAddress ) ));
21776}
21777impl Clone for CThostFtdcLoginForbiddenIPField {
21778    fn clone(&self) -> Self { *self }
21779}
21780/// IP列表
21781#[repr(C)]
21782#[derive(Default, Copy)]
21783pub struct CThostFtdcIPListField {
21784    /// IP地址
21785    pub IPAddress: TThostFtdcIPAddressType,
21786    /// 是否白名单
21787    pub IsWhite: TThostFtdcBoolType,
21788}
21789#[test]
21790fn bindgen_test_layout_CThostFtdcIPListField() {
21791    assert_eq!(::std::mem::size_of::<CThostFtdcIPListField>() , 20usize ,
21792               concat ! ( "Size of: " , stringify ! ( CThostFtdcIPListField )
21793               ));
21794    assert_eq! (::std::mem::align_of::<CThostFtdcIPListField>() , 4usize ,
21795                concat ! (
21796                "Alignment of " , stringify ! ( CThostFtdcIPListField ) ));
21797    assert_eq! (unsafe {
21798                & ( * ( 0 as * const CThostFtdcIPListField ) ) . IPAddress as
21799                * const _ as usize } , 0usize , concat ! (
21800                "Alignment of field: " , stringify ! ( CThostFtdcIPListField )
21801                , "::" , stringify ! ( IPAddress ) ));
21802    assert_eq! (unsafe {
21803                & ( * ( 0 as * const CThostFtdcIPListField ) ) . IsWhite as *
21804                const _ as usize } , 16usize , concat ! (
21805                "Alignment of field: " , stringify ! ( CThostFtdcIPListField )
21806                , "::" , stringify ! ( IsWhite ) ));
21807}
21808impl Clone for CThostFtdcIPListField {
21809    fn clone(&self) -> Self { *self }
21810}
21811/// 输入的期权自对冲
21812#[repr(C)]
21813#[derive(Default, Copy)]
21814pub struct CThostFtdcInputOptionSelfCloseField {
21815    /// 经纪公司代码
21816    pub BrokerID: TThostFtdcBrokerIDType,
21817    /// 投资者代码
21818    pub InvestorID: TThostFtdcInvestorIDType,
21819    /// 合约代码
21820    pub InstrumentID: TThostFtdcInstrumentIDType,
21821    /// 期权自对冲引用
21822    pub OptionSelfCloseRef: TThostFtdcOrderRefType,
21823    /// 用户代码
21824    pub UserID: TThostFtdcUserIDType,
21825    /// 数量
21826    pub Volume: TThostFtdcVolumeType,
21827    /// 请求编号
21828    pub RequestID: TThostFtdcRequestIDType,
21829    /// 业务单元
21830    pub BusinessUnit: TThostFtdcBusinessUnitType,
21831    /// 投机套保标志
21832    pub HedgeFlag: TThostFtdcHedgeFlagType,
21833    /// 期权行权的头寸是否自对冲
21834    pub OptSelfCloseFlag: TThostFtdcOptSelfCloseFlagType,
21835    /// 交易所代码
21836    pub ExchangeID: TThostFtdcExchangeIDType,
21837    /// 投资单元代码
21838    pub InvestUnitID: TThostFtdcInvestUnitIDType,
21839    /// 资金账号
21840    pub AccountID: TThostFtdcAccountIDType,
21841    /// 币种代码
21842    pub CurrencyID: TThostFtdcCurrencyIDType,
21843    /// 交易编码
21844    pub ClientID: TThostFtdcClientIDType,
21845    /// IP地址
21846    pub IPAddress: TThostFtdcIPAddressType,
21847    /// Mac地址
21848    pub MacAddress: TThostFtdcMacAddressType,
21849}
21850#[test]
21851fn bindgen_test_layout_CThostFtdcInputOptionSelfCloseField() {
21852    assert_eq!(::std::mem::size_of::<CThostFtdcInputOptionSelfCloseField>() ,
21853               208usize , concat ! (
21854               "Size of: " , stringify ! ( CThostFtdcInputOptionSelfCloseField
21855               ) ));
21856    assert_eq! (::std::mem::align_of::<CThostFtdcInputOptionSelfCloseField>()
21857                , 4usize , concat ! (
21858                "Alignment of " , stringify ! (
21859                CThostFtdcInputOptionSelfCloseField ) ));
21860    assert_eq! (unsafe {
21861                & ( * ( 0 as * const CThostFtdcInputOptionSelfCloseField ) ) .
21862                BrokerID as * const _ as usize } , 0usize , concat ! (
21863                "Alignment of field: " , stringify ! (
21864                CThostFtdcInputOptionSelfCloseField ) , "::" , stringify ! (
21865                BrokerID ) ));
21866    assert_eq! (unsafe {
21867                & ( * ( 0 as * const CThostFtdcInputOptionSelfCloseField ) ) .
21868                InvestorID as * const _ as usize } , 11usize , concat ! (
21869                "Alignment of field: " , stringify ! (
21870                CThostFtdcInputOptionSelfCloseField ) , "::" , stringify ! (
21871                InvestorID ) ));
21872    assert_eq! (unsafe {
21873                & ( * ( 0 as * const CThostFtdcInputOptionSelfCloseField ) ) .
21874                InstrumentID as * const _ as usize } , 24usize , concat ! (
21875                "Alignment of field: " , stringify ! (
21876                CThostFtdcInputOptionSelfCloseField ) , "::" , stringify ! (
21877                InstrumentID ) ));
21878    assert_eq! (unsafe {
21879                & ( * ( 0 as * const CThostFtdcInputOptionSelfCloseField ) ) .
21880                OptionSelfCloseRef as * const _ as usize } , 55usize , concat
21881                ! (
21882                "Alignment of field: " , stringify ! (
21883                CThostFtdcInputOptionSelfCloseField ) , "::" , stringify ! (
21884                OptionSelfCloseRef ) ));
21885    assert_eq! (unsafe {
21886                & ( * ( 0 as * const CThostFtdcInputOptionSelfCloseField ) ) .
21887                UserID as * const _ as usize } , 68usize , concat ! (
21888                "Alignment of field: " , stringify ! (
21889                CThostFtdcInputOptionSelfCloseField ) , "::" , stringify ! (
21890                UserID ) ));
21891    assert_eq! (unsafe {
21892                & ( * ( 0 as * const CThostFtdcInputOptionSelfCloseField ) ) .
21893                Volume as * const _ as usize } , 84usize , concat ! (
21894                "Alignment of field: " , stringify ! (
21895                CThostFtdcInputOptionSelfCloseField ) , "::" , stringify ! (
21896                Volume ) ));
21897    assert_eq! (unsafe {
21898                & ( * ( 0 as * const CThostFtdcInputOptionSelfCloseField ) ) .
21899                RequestID as * const _ as usize } , 88usize , concat ! (
21900                "Alignment of field: " , stringify ! (
21901                CThostFtdcInputOptionSelfCloseField ) , "::" , stringify ! (
21902                RequestID ) ));
21903    assert_eq! (unsafe {
21904                & ( * ( 0 as * const CThostFtdcInputOptionSelfCloseField ) ) .
21905                BusinessUnit as * const _ as usize } , 92usize , concat ! (
21906                "Alignment of field: " , stringify ! (
21907                CThostFtdcInputOptionSelfCloseField ) , "::" , stringify ! (
21908                BusinessUnit ) ));
21909    assert_eq! (unsafe {
21910                & ( * ( 0 as * const CThostFtdcInputOptionSelfCloseField ) ) .
21911                HedgeFlag as * const _ as usize } , 113usize , concat ! (
21912                "Alignment of field: " , stringify ! (
21913                CThostFtdcInputOptionSelfCloseField ) , "::" , stringify ! (
21914                HedgeFlag ) ));
21915    assert_eq! (unsafe {
21916                & ( * ( 0 as * const CThostFtdcInputOptionSelfCloseField ) ) .
21917                OptSelfCloseFlag as * const _ as usize } , 114usize , concat !
21918                (
21919                "Alignment of field: " , stringify ! (
21920                CThostFtdcInputOptionSelfCloseField ) , "::" , stringify ! (
21921                OptSelfCloseFlag ) ));
21922    assert_eq! (unsafe {
21923                & ( * ( 0 as * const CThostFtdcInputOptionSelfCloseField ) ) .
21924                ExchangeID as * const _ as usize } , 115usize , concat ! (
21925                "Alignment of field: " , stringify ! (
21926                CThostFtdcInputOptionSelfCloseField ) , "::" , stringify ! (
21927                ExchangeID ) ));
21928    assert_eq! (unsafe {
21929                & ( * ( 0 as * const CThostFtdcInputOptionSelfCloseField ) ) .
21930                InvestUnitID as * const _ as usize } , 124usize , concat ! (
21931                "Alignment of field: " , stringify ! (
21932                CThostFtdcInputOptionSelfCloseField ) , "::" , stringify ! (
21933                InvestUnitID ) ));
21934    assert_eq! (unsafe {
21935                & ( * ( 0 as * const CThostFtdcInputOptionSelfCloseField ) ) .
21936                AccountID as * const _ as usize } , 141usize , concat ! (
21937                "Alignment of field: " , stringify ! (
21938                CThostFtdcInputOptionSelfCloseField ) , "::" , stringify ! (
21939                AccountID ) ));
21940    assert_eq! (unsafe {
21941                & ( * ( 0 as * const CThostFtdcInputOptionSelfCloseField ) ) .
21942                CurrencyID as * const _ as usize } , 154usize , concat ! (
21943                "Alignment of field: " , stringify ! (
21944                CThostFtdcInputOptionSelfCloseField ) , "::" , stringify ! (
21945                CurrencyID ) ));
21946    assert_eq! (unsafe {
21947                & ( * ( 0 as * const CThostFtdcInputOptionSelfCloseField ) ) .
21948                ClientID as * const _ as usize } , 158usize , concat ! (
21949                "Alignment of field: " , stringify ! (
21950                CThostFtdcInputOptionSelfCloseField ) , "::" , stringify ! (
21951                ClientID ) ));
21952    assert_eq! (unsafe {
21953                & ( * ( 0 as * const CThostFtdcInputOptionSelfCloseField ) ) .
21954                IPAddress as * const _ as usize } , 169usize , concat ! (
21955                "Alignment of field: " , stringify ! (
21956                CThostFtdcInputOptionSelfCloseField ) , "::" , stringify ! (
21957                IPAddress ) ));
21958    assert_eq! (unsafe {
21959                & ( * ( 0 as * const CThostFtdcInputOptionSelfCloseField ) ) .
21960                MacAddress as * const _ as usize } , 185usize , concat ! (
21961                "Alignment of field: " , stringify ! (
21962                CThostFtdcInputOptionSelfCloseField ) , "::" , stringify ! (
21963                MacAddress ) ));
21964}
21965impl Clone for CThostFtdcInputOptionSelfCloseField {
21966    fn clone(&self) -> Self { *self }
21967}
21968/// 输入期权自对冲操作
21969#[repr(C)]
21970#[derive(Default, Copy)]
21971pub struct CThostFtdcInputOptionSelfCloseActionField {
21972    /// 经纪公司代码
21973    pub BrokerID: TThostFtdcBrokerIDType,
21974    /// 投资者代码
21975    pub InvestorID: TThostFtdcInvestorIDType,
21976    /// 期权自对冲操作引用
21977    pub OptionSelfCloseActionRef: TThostFtdcOrderActionRefType,
21978    /// 期权自对冲引用
21979    pub OptionSelfCloseRef: TThostFtdcOrderRefType,
21980    /// 请求编号
21981    pub RequestID: TThostFtdcRequestIDType,
21982    /// 前置编号
21983    pub FrontID: TThostFtdcFrontIDType,
21984    /// 会话编号
21985    pub SessionID: TThostFtdcSessionIDType,
21986    /// 交易所代码
21987    pub ExchangeID: TThostFtdcExchangeIDType,
21988    /// 期权自对冲操作编号
21989    pub OptionSelfCloseSysID: TThostFtdcOrderSysIDType,
21990    /// 操作标志
21991    pub ActionFlag: TThostFtdcActionFlagType,
21992    /// 用户代码
21993    pub UserID: TThostFtdcUserIDType,
21994    /// 合约代码
21995    pub InstrumentID: TThostFtdcInstrumentIDType,
21996    /// 投资单元代码
21997    pub InvestUnitID: TThostFtdcInvestUnitIDType,
21998    /// IP地址
21999    pub IPAddress: TThostFtdcIPAddressType,
22000    /// Mac地址
22001    pub MacAddress: TThostFtdcMacAddressType,
22002}
22003#[test]
22004fn bindgen_test_layout_CThostFtdcInputOptionSelfCloseActionField() {
22005    assert_eq!(::std::mem::size_of::<CThostFtdcInputOptionSelfCloseActionField>()
22006               , 188usize , concat ! (
22007               "Size of: " , stringify ! (
22008               CThostFtdcInputOptionSelfCloseActionField ) ));
22009    assert_eq! (::std::mem::align_of::<CThostFtdcInputOptionSelfCloseActionField>()
22010                , 4usize , concat ! (
22011                "Alignment of " , stringify ! (
22012                CThostFtdcInputOptionSelfCloseActionField ) ));
22013    assert_eq! (unsafe {
22014                & (
22015                * ( 0 as * const CThostFtdcInputOptionSelfCloseActionField ) )
22016                . BrokerID as * const _ as usize } , 0usize , concat ! (
22017                "Alignment of field: " , stringify ! (
22018                CThostFtdcInputOptionSelfCloseActionField ) , "::" , stringify
22019                ! ( BrokerID ) ));
22020    assert_eq! (unsafe {
22021                & (
22022                * ( 0 as * const CThostFtdcInputOptionSelfCloseActionField ) )
22023                . InvestorID as * const _ as usize } , 11usize , concat ! (
22024                "Alignment of field: " , stringify ! (
22025                CThostFtdcInputOptionSelfCloseActionField ) , "::" , stringify
22026                ! ( InvestorID ) ));
22027    assert_eq! (unsafe {
22028                & (
22029                * ( 0 as * const CThostFtdcInputOptionSelfCloseActionField ) )
22030                . OptionSelfCloseActionRef as * const _ as usize } , 24usize ,
22031                concat ! (
22032                "Alignment of field: " , stringify ! (
22033                CThostFtdcInputOptionSelfCloseActionField ) , "::" , stringify
22034                ! ( OptionSelfCloseActionRef ) ));
22035    assert_eq! (unsafe {
22036                & (
22037                * ( 0 as * const CThostFtdcInputOptionSelfCloseActionField ) )
22038                . OptionSelfCloseRef as * const _ as usize } , 28usize ,
22039                concat ! (
22040                "Alignment of field: " , stringify ! (
22041                CThostFtdcInputOptionSelfCloseActionField ) , "::" , stringify
22042                ! ( OptionSelfCloseRef ) ));
22043    assert_eq! (unsafe {
22044                & (
22045                * ( 0 as * const CThostFtdcInputOptionSelfCloseActionField ) )
22046                . RequestID as * const _ as usize } , 44usize , concat ! (
22047                "Alignment of field: " , stringify ! (
22048                CThostFtdcInputOptionSelfCloseActionField ) , "::" , stringify
22049                ! ( RequestID ) ));
22050    assert_eq! (unsafe {
22051                & (
22052                * ( 0 as * const CThostFtdcInputOptionSelfCloseActionField ) )
22053                . FrontID as * const _ as usize } , 48usize , concat ! (
22054                "Alignment of field: " , stringify ! (
22055                CThostFtdcInputOptionSelfCloseActionField ) , "::" , stringify
22056                ! ( FrontID ) ));
22057    assert_eq! (unsafe {
22058                & (
22059                * ( 0 as * const CThostFtdcInputOptionSelfCloseActionField ) )
22060                . SessionID as * const _ as usize } , 52usize , concat ! (
22061                "Alignment of field: " , stringify ! (
22062                CThostFtdcInputOptionSelfCloseActionField ) , "::" , stringify
22063                ! ( SessionID ) ));
22064    assert_eq! (unsafe {
22065                & (
22066                * ( 0 as * const CThostFtdcInputOptionSelfCloseActionField ) )
22067                . ExchangeID as * const _ as usize } , 56usize , concat ! (
22068                "Alignment of field: " , stringify ! (
22069                CThostFtdcInputOptionSelfCloseActionField ) , "::" , stringify
22070                ! ( ExchangeID ) ));
22071    assert_eq! (unsafe {
22072                & (
22073                * ( 0 as * const CThostFtdcInputOptionSelfCloseActionField ) )
22074                . OptionSelfCloseSysID as * const _ as usize } , 65usize ,
22075                concat ! (
22076                "Alignment of field: " , stringify ! (
22077                CThostFtdcInputOptionSelfCloseActionField ) , "::" , stringify
22078                ! ( OptionSelfCloseSysID ) ));
22079    assert_eq! (unsafe {
22080                & (
22081                * ( 0 as * const CThostFtdcInputOptionSelfCloseActionField ) )
22082                . ActionFlag as * const _ as usize } , 86usize , concat ! (
22083                "Alignment of field: " , stringify ! (
22084                CThostFtdcInputOptionSelfCloseActionField ) , "::" , stringify
22085                ! ( ActionFlag ) ));
22086    assert_eq! (unsafe {
22087                & (
22088                * ( 0 as * const CThostFtdcInputOptionSelfCloseActionField ) )
22089                . UserID as * const _ as usize } , 87usize , concat ! (
22090                "Alignment of field: " , stringify ! (
22091                CThostFtdcInputOptionSelfCloseActionField ) , "::" , stringify
22092                ! ( UserID ) ));
22093    assert_eq! (unsafe {
22094                & (
22095                * ( 0 as * const CThostFtdcInputOptionSelfCloseActionField ) )
22096                . InstrumentID as * const _ as usize } , 103usize , concat ! (
22097                "Alignment of field: " , stringify ! (
22098                CThostFtdcInputOptionSelfCloseActionField ) , "::" , stringify
22099                ! ( InstrumentID ) ));
22100    assert_eq! (unsafe {
22101                & (
22102                * ( 0 as * const CThostFtdcInputOptionSelfCloseActionField ) )
22103                . InvestUnitID as * const _ as usize } , 134usize , concat ! (
22104                "Alignment of field: " , stringify ! (
22105                CThostFtdcInputOptionSelfCloseActionField ) , "::" , stringify
22106                ! ( InvestUnitID ) ));
22107    assert_eq! (unsafe {
22108                & (
22109                * ( 0 as * const CThostFtdcInputOptionSelfCloseActionField ) )
22110                . IPAddress as * const _ as usize } , 151usize , concat ! (
22111                "Alignment of field: " , stringify ! (
22112                CThostFtdcInputOptionSelfCloseActionField ) , "::" , stringify
22113                ! ( IPAddress ) ));
22114    assert_eq! (unsafe {
22115                & (
22116                * ( 0 as * const CThostFtdcInputOptionSelfCloseActionField ) )
22117                . MacAddress as * const _ as usize } , 167usize , concat ! (
22118                "Alignment of field: " , stringify ! (
22119                CThostFtdcInputOptionSelfCloseActionField ) , "::" , stringify
22120                ! ( MacAddress ) ));
22121}
22122impl Clone for CThostFtdcInputOptionSelfCloseActionField {
22123    fn clone(&self) -> Self { *self }
22124}
22125/// 期权自对冲
22126#[repr(C)]
22127#[derive(Copy)]
22128pub struct CThostFtdcOptionSelfCloseField {
22129    /// 经纪公司代码
22130    pub BrokerID: TThostFtdcBrokerIDType,
22131    /// 投资者代码
22132    pub InvestorID: TThostFtdcInvestorIDType,
22133    /// 合约代码
22134    pub InstrumentID: TThostFtdcInstrumentIDType,
22135    /// 期权自对冲引用
22136    pub OptionSelfCloseRef: TThostFtdcOrderRefType,
22137    /// 用户代码
22138    pub UserID: TThostFtdcUserIDType,
22139    /// 数量
22140    pub Volume: TThostFtdcVolumeType,
22141    /// 请求编号
22142    pub RequestID: TThostFtdcRequestIDType,
22143    /// 业务单元
22144    pub BusinessUnit: TThostFtdcBusinessUnitType,
22145    /// 投机套保标志
22146    pub HedgeFlag: TThostFtdcHedgeFlagType,
22147    /// 期权行权的头寸是否自对冲
22148    pub OptSelfCloseFlag: TThostFtdcOptSelfCloseFlagType,
22149    /// 本地期权自对冲编号
22150    pub OptionSelfCloseLocalID: TThostFtdcOrderLocalIDType,
22151    /// 交易所代码
22152    pub ExchangeID: TThostFtdcExchangeIDType,
22153    /// 会员代码
22154    pub ParticipantID: TThostFtdcParticipantIDType,
22155    /// 客户代码
22156    pub ClientID: TThostFtdcClientIDType,
22157    /// 合约在交易所的代码
22158    pub ExchangeInstID: TThostFtdcExchangeInstIDType,
22159    /// 交易所交易员代码
22160    pub TraderID: TThostFtdcTraderIDType,
22161    /// 安装编号
22162    pub InstallID: TThostFtdcInstallIDType,
22163    /// 期权自对冲提交状态
22164    pub OrderSubmitStatus: TThostFtdcOrderSubmitStatusType,
22165    /// 报单提示序号
22166    pub NotifySequence: TThostFtdcSequenceNoType,
22167    /// 交易日
22168    pub TradingDay: TThostFtdcDateType,
22169    /// 结算编号
22170    pub SettlementID: TThostFtdcSettlementIDType,
22171    /// 期权自对冲编号
22172    pub OptionSelfCloseSysID: TThostFtdcOrderSysIDType,
22173    /// 报单日期
22174    pub InsertDate: TThostFtdcDateType,
22175    /// 插入时间
22176    pub InsertTime: TThostFtdcTimeType,
22177    /// 撤销时间
22178    pub CancelTime: TThostFtdcTimeType,
22179    /// 自对冲结果
22180    pub ExecResult: TThostFtdcExecResultType,
22181    /// 结算会员编号
22182    pub ClearingPartID: TThostFtdcParticipantIDType,
22183    /// 序号
22184    pub SequenceNo: TThostFtdcSequenceNoType,
22185    /// 前置编号
22186    pub FrontID: TThostFtdcFrontIDType,
22187    /// 会话编号
22188    pub SessionID: TThostFtdcSessionIDType,
22189    /// 用户端产品信息
22190    pub UserProductInfo: TThostFtdcProductInfoType,
22191    /// 状态信息
22192    pub StatusMsg: TThostFtdcErrorMsgType,
22193    /// 操作用户代码
22194    pub ActiveUserID: TThostFtdcUserIDType,
22195    /// 经纪公司报单编号
22196    pub BrokerOptionSelfCloseSeq: TThostFtdcSequenceNoType,
22197    /// 营业部编号
22198    pub BranchID: TThostFtdcBranchIDType,
22199    /// 投资单元代码
22200    pub InvestUnitID: TThostFtdcInvestUnitIDType,
22201    /// 资金账号
22202    pub AccountID: TThostFtdcAccountIDType,
22203    /// 币种代码
22204    pub CurrencyID: TThostFtdcCurrencyIDType,
22205    /// IP地址
22206    pub IPAddress: TThostFtdcIPAddressType,
22207    /// Mac地址
22208    pub MacAddress: TThostFtdcMacAddressType,
22209}
22210#[test]
22211fn bindgen_test_layout_CThostFtdcOptionSelfCloseField() {
22212    assert_eq!(::std::mem::size_of::<CThostFtdcOptionSelfCloseField>() ,
22213               504usize , concat ! (
22214               "Size of: " , stringify ! ( CThostFtdcOptionSelfCloseField )
22215               ));
22216    assert_eq! (::std::mem::align_of::<CThostFtdcOptionSelfCloseField>() ,
22217                4usize , concat ! (
22218                "Alignment of " , stringify ! ( CThostFtdcOptionSelfCloseField
22219                ) ));
22220    assert_eq! (unsafe {
22221                & ( * ( 0 as * const CThostFtdcOptionSelfCloseField ) ) .
22222                BrokerID as * const _ as usize } , 0usize , concat ! (
22223                "Alignment of field: " , stringify ! (
22224                CThostFtdcOptionSelfCloseField ) , "::" , stringify ! (
22225                BrokerID ) ));
22226    assert_eq! (unsafe {
22227                & ( * ( 0 as * const CThostFtdcOptionSelfCloseField ) ) .
22228                InvestorID as * const _ as usize } , 11usize , concat ! (
22229                "Alignment of field: " , stringify ! (
22230                CThostFtdcOptionSelfCloseField ) , "::" , stringify ! (
22231                InvestorID ) ));
22232    assert_eq! (unsafe {
22233                & ( * ( 0 as * const CThostFtdcOptionSelfCloseField ) ) .
22234                InstrumentID as * const _ as usize } , 24usize , concat ! (
22235                "Alignment of field: " , stringify ! (
22236                CThostFtdcOptionSelfCloseField ) , "::" , stringify ! (
22237                InstrumentID ) ));
22238    assert_eq! (unsafe {
22239                & ( * ( 0 as * const CThostFtdcOptionSelfCloseField ) ) .
22240                OptionSelfCloseRef as * const _ as usize } , 55usize , concat
22241                ! (
22242                "Alignment of field: " , stringify ! (
22243                CThostFtdcOptionSelfCloseField ) , "::" , stringify ! (
22244                OptionSelfCloseRef ) ));
22245    assert_eq! (unsafe {
22246                & ( * ( 0 as * const CThostFtdcOptionSelfCloseField ) ) .
22247                UserID as * const _ as usize } , 68usize , concat ! (
22248                "Alignment of field: " , stringify ! (
22249                CThostFtdcOptionSelfCloseField ) , "::" , stringify ! ( UserID
22250                ) ));
22251    assert_eq! (unsafe {
22252                & ( * ( 0 as * const CThostFtdcOptionSelfCloseField ) ) .
22253                Volume as * const _ as usize } , 84usize , concat ! (
22254                "Alignment of field: " , stringify ! (
22255                CThostFtdcOptionSelfCloseField ) , "::" , stringify ! ( Volume
22256                ) ));
22257    assert_eq! (unsafe {
22258                & ( * ( 0 as * const CThostFtdcOptionSelfCloseField ) ) .
22259                RequestID as * const _ as usize } , 88usize , concat ! (
22260                "Alignment of field: " , stringify ! (
22261                CThostFtdcOptionSelfCloseField ) , "::" , stringify ! (
22262                RequestID ) ));
22263    assert_eq! (unsafe {
22264                & ( * ( 0 as * const CThostFtdcOptionSelfCloseField ) ) .
22265                BusinessUnit as * const _ as usize } , 92usize , concat ! (
22266                "Alignment of field: " , stringify ! (
22267                CThostFtdcOptionSelfCloseField ) , "::" , stringify ! (
22268                BusinessUnit ) ));
22269    assert_eq! (unsafe {
22270                & ( * ( 0 as * const CThostFtdcOptionSelfCloseField ) ) .
22271                HedgeFlag as * const _ as usize } , 113usize , concat ! (
22272                "Alignment of field: " , stringify ! (
22273                CThostFtdcOptionSelfCloseField ) , "::" , stringify ! (
22274                HedgeFlag ) ));
22275    assert_eq! (unsafe {
22276                & ( * ( 0 as * const CThostFtdcOptionSelfCloseField ) ) .
22277                OptSelfCloseFlag as * const _ as usize } , 114usize , concat !
22278                (
22279                "Alignment of field: " , stringify ! (
22280                CThostFtdcOptionSelfCloseField ) , "::" , stringify ! (
22281                OptSelfCloseFlag ) ));
22282    assert_eq! (unsafe {
22283                & ( * ( 0 as * const CThostFtdcOptionSelfCloseField ) ) .
22284                OptionSelfCloseLocalID as * const _ as usize } , 115usize ,
22285                concat ! (
22286                "Alignment of field: " , stringify ! (
22287                CThostFtdcOptionSelfCloseField ) , "::" , stringify ! (
22288                OptionSelfCloseLocalID ) ));
22289    assert_eq! (unsafe {
22290                & ( * ( 0 as * const CThostFtdcOptionSelfCloseField ) ) .
22291                ExchangeID as * const _ as usize } , 128usize , concat ! (
22292                "Alignment of field: " , stringify ! (
22293                CThostFtdcOptionSelfCloseField ) , "::" , stringify ! (
22294                ExchangeID ) ));
22295    assert_eq! (unsafe {
22296                & ( * ( 0 as * const CThostFtdcOptionSelfCloseField ) ) .
22297                ParticipantID as * const _ as usize } , 137usize , concat ! (
22298                "Alignment of field: " , stringify ! (
22299                CThostFtdcOptionSelfCloseField ) , "::" , stringify ! (
22300                ParticipantID ) ));
22301    assert_eq! (unsafe {
22302                & ( * ( 0 as * const CThostFtdcOptionSelfCloseField ) ) .
22303                ClientID as * const _ as usize } , 148usize , concat ! (
22304                "Alignment of field: " , stringify ! (
22305                CThostFtdcOptionSelfCloseField ) , "::" , stringify ! (
22306                ClientID ) ));
22307    assert_eq! (unsafe {
22308                & ( * ( 0 as * const CThostFtdcOptionSelfCloseField ) ) .
22309                ExchangeInstID as * const _ as usize } , 159usize , concat ! (
22310                "Alignment of field: " , stringify ! (
22311                CThostFtdcOptionSelfCloseField ) , "::" , stringify ! (
22312                ExchangeInstID ) ));
22313    assert_eq! (unsafe {
22314                & ( * ( 0 as * const CThostFtdcOptionSelfCloseField ) ) .
22315                TraderID as * const _ as usize } , 190usize , concat ! (
22316                "Alignment of field: " , stringify ! (
22317                CThostFtdcOptionSelfCloseField ) , "::" , stringify ! (
22318                TraderID ) ));
22319    assert_eq! (unsafe {
22320                & ( * ( 0 as * const CThostFtdcOptionSelfCloseField ) ) .
22321                InstallID as * const _ as usize } , 212usize , concat ! (
22322                "Alignment of field: " , stringify ! (
22323                CThostFtdcOptionSelfCloseField ) , "::" , stringify ! (
22324                InstallID ) ));
22325    assert_eq! (unsafe {
22326                & ( * ( 0 as * const CThostFtdcOptionSelfCloseField ) ) .
22327                OrderSubmitStatus as * const _ as usize } , 216usize , concat
22328                ! (
22329                "Alignment of field: " , stringify ! (
22330                CThostFtdcOptionSelfCloseField ) , "::" , stringify ! (
22331                OrderSubmitStatus ) ));
22332    assert_eq! (unsafe {
22333                & ( * ( 0 as * const CThostFtdcOptionSelfCloseField ) ) .
22334                NotifySequence as * const _ as usize } , 220usize , concat ! (
22335                "Alignment of field: " , stringify ! (
22336                CThostFtdcOptionSelfCloseField ) , "::" , stringify ! (
22337                NotifySequence ) ));
22338    assert_eq! (unsafe {
22339                & ( * ( 0 as * const CThostFtdcOptionSelfCloseField ) ) .
22340                TradingDay as * const _ as usize } , 224usize , concat ! (
22341                "Alignment of field: " , stringify ! (
22342                CThostFtdcOptionSelfCloseField ) , "::" , stringify ! (
22343                TradingDay ) ));
22344    assert_eq! (unsafe {
22345                & ( * ( 0 as * const CThostFtdcOptionSelfCloseField ) ) .
22346                SettlementID as * const _ as usize } , 236usize , concat ! (
22347                "Alignment of field: " , stringify ! (
22348                CThostFtdcOptionSelfCloseField ) , "::" , stringify ! (
22349                SettlementID ) ));
22350    assert_eq! (unsafe {
22351                & ( * ( 0 as * const CThostFtdcOptionSelfCloseField ) ) .
22352                OptionSelfCloseSysID as * const _ as usize } , 240usize ,
22353                concat ! (
22354                "Alignment of field: " , stringify ! (
22355                CThostFtdcOptionSelfCloseField ) , "::" , stringify ! (
22356                OptionSelfCloseSysID ) ));
22357    assert_eq! (unsafe {
22358                & ( * ( 0 as * const CThostFtdcOptionSelfCloseField ) ) .
22359                InsertDate as * const _ as usize } , 261usize , concat ! (
22360                "Alignment of field: " , stringify ! (
22361                CThostFtdcOptionSelfCloseField ) , "::" , stringify ! (
22362                InsertDate ) ));
22363    assert_eq! (unsafe {
22364                & ( * ( 0 as * const CThostFtdcOptionSelfCloseField ) ) .
22365                InsertTime as * const _ as usize } , 270usize , concat ! (
22366                "Alignment of field: " , stringify ! (
22367                CThostFtdcOptionSelfCloseField ) , "::" , stringify ! (
22368                InsertTime ) ));
22369    assert_eq! (unsafe {
22370                & ( * ( 0 as * const CThostFtdcOptionSelfCloseField ) ) .
22371                CancelTime as * const _ as usize } , 279usize , concat ! (
22372                "Alignment of field: " , stringify ! (
22373                CThostFtdcOptionSelfCloseField ) , "::" , stringify ! (
22374                CancelTime ) ));
22375    assert_eq! (unsafe {
22376                & ( * ( 0 as * const CThostFtdcOptionSelfCloseField ) ) .
22377                ExecResult as * const _ as usize } , 288usize , concat ! (
22378                "Alignment of field: " , stringify ! (
22379                CThostFtdcOptionSelfCloseField ) , "::" , stringify ! (
22380                ExecResult ) ));
22381    assert_eq! (unsafe {
22382                & ( * ( 0 as * const CThostFtdcOptionSelfCloseField ) ) .
22383                ClearingPartID as * const _ as usize } , 289usize , concat ! (
22384                "Alignment of field: " , stringify ! (
22385                CThostFtdcOptionSelfCloseField ) , "::" , stringify ! (
22386                ClearingPartID ) ));
22387    assert_eq! (unsafe {
22388                & ( * ( 0 as * const CThostFtdcOptionSelfCloseField ) ) .
22389                SequenceNo as * const _ as usize } , 300usize , concat ! (
22390                "Alignment of field: " , stringify ! (
22391                CThostFtdcOptionSelfCloseField ) , "::" , stringify ! (
22392                SequenceNo ) ));
22393    assert_eq! (unsafe {
22394                & ( * ( 0 as * const CThostFtdcOptionSelfCloseField ) ) .
22395                FrontID as * const _ as usize } , 304usize , concat ! (
22396                "Alignment of field: " , stringify ! (
22397                CThostFtdcOptionSelfCloseField ) , "::" , stringify ! (
22398                FrontID ) ));
22399    assert_eq! (unsafe {
22400                & ( * ( 0 as * const CThostFtdcOptionSelfCloseField ) ) .
22401                SessionID as * const _ as usize } , 308usize , concat ! (
22402                "Alignment of field: " , stringify ! (
22403                CThostFtdcOptionSelfCloseField ) , "::" , stringify ! (
22404                SessionID ) ));
22405    assert_eq! (unsafe {
22406                & ( * ( 0 as * const CThostFtdcOptionSelfCloseField ) ) .
22407                UserProductInfo as * const _ as usize } , 312usize , concat !
22408                (
22409                "Alignment of field: " , stringify ! (
22410                CThostFtdcOptionSelfCloseField ) , "::" , stringify ! (
22411                UserProductInfo ) ));
22412    assert_eq! (unsafe {
22413                & ( * ( 0 as * const CThostFtdcOptionSelfCloseField ) ) .
22414                StatusMsg as * const _ as usize } , 323usize , concat ! (
22415                "Alignment of field: " , stringify ! (
22416                CThostFtdcOptionSelfCloseField ) , "::" , stringify ! (
22417                StatusMsg ) ));
22418    assert_eq! (unsafe {
22419                & ( * ( 0 as * const CThostFtdcOptionSelfCloseField ) ) .
22420                ActiveUserID as * const _ as usize } , 404usize , concat ! (
22421                "Alignment of field: " , stringify ! (
22422                CThostFtdcOptionSelfCloseField ) , "::" , stringify ! (
22423                ActiveUserID ) ));
22424    assert_eq! (unsafe {
22425                & ( * ( 0 as * const CThostFtdcOptionSelfCloseField ) ) .
22426                BrokerOptionSelfCloseSeq as * const _ as usize } , 420usize ,
22427                concat ! (
22428                "Alignment of field: " , stringify ! (
22429                CThostFtdcOptionSelfCloseField ) , "::" , stringify ! (
22430                BrokerOptionSelfCloseSeq ) ));
22431    assert_eq! (unsafe {
22432                & ( * ( 0 as * const CThostFtdcOptionSelfCloseField ) ) .
22433                BranchID as * const _ as usize } , 424usize , concat ! (
22434                "Alignment of field: " , stringify ! (
22435                CThostFtdcOptionSelfCloseField ) , "::" , stringify ! (
22436                BranchID ) ));
22437    assert_eq! (unsafe {
22438                & ( * ( 0 as * const CThostFtdcOptionSelfCloseField ) ) .
22439                InvestUnitID as * const _ as usize } , 433usize , concat ! (
22440                "Alignment of field: " , stringify ! (
22441                CThostFtdcOptionSelfCloseField ) , "::" , stringify ! (
22442                InvestUnitID ) ));
22443    assert_eq! (unsafe {
22444                & ( * ( 0 as * const CThostFtdcOptionSelfCloseField ) ) .
22445                AccountID as * const _ as usize } , 450usize , concat ! (
22446                "Alignment of field: " , stringify ! (
22447                CThostFtdcOptionSelfCloseField ) , "::" , stringify ! (
22448                AccountID ) ));
22449    assert_eq! (unsafe {
22450                & ( * ( 0 as * const CThostFtdcOptionSelfCloseField ) ) .
22451                CurrencyID as * const _ as usize } , 463usize , concat ! (
22452                "Alignment of field: " , stringify ! (
22453                CThostFtdcOptionSelfCloseField ) , "::" , stringify ! (
22454                CurrencyID ) ));
22455    assert_eq! (unsafe {
22456                & ( * ( 0 as * const CThostFtdcOptionSelfCloseField ) ) .
22457                IPAddress as * const _ as usize } , 467usize , concat ! (
22458                "Alignment of field: " , stringify ! (
22459                CThostFtdcOptionSelfCloseField ) , "::" , stringify ! (
22460                IPAddress ) ));
22461    assert_eq! (unsafe {
22462                & ( * ( 0 as * const CThostFtdcOptionSelfCloseField ) ) .
22463                MacAddress as * const _ as usize } , 483usize , concat ! (
22464                "Alignment of field: " , stringify ! (
22465                CThostFtdcOptionSelfCloseField ) , "::" , stringify ! (
22466                MacAddress ) ));
22467}
22468impl Clone for CThostFtdcOptionSelfCloseField {
22469    fn clone(&self) -> Self { *self }
22470}
22471impl Default for CThostFtdcOptionSelfCloseField {
22472    fn default() -> Self { unsafe { ::std::mem::zeroed() } }
22473}
22474/// 期权自对冲操作
22475#[repr(C)]
22476#[derive(Copy)]
22477pub struct CThostFtdcOptionSelfCloseActionField {
22478    /// 经纪公司代码
22479    pub BrokerID: TThostFtdcBrokerIDType,
22480    /// 投资者代码
22481    pub InvestorID: TThostFtdcInvestorIDType,
22482    /// 期权自对冲操作引用
22483    pub OptionSelfCloseActionRef: TThostFtdcOrderActionRefType,
22484    /// 期权自对冲引用
22485    pub OptionSelfCloseRef: TThostFtdcOrderRefType,
22486    /// 请求编号
22487    pub RequestID: TThostFtdcRequestIDType,
22488    /// 前置编号
22489    pub FrontID: TThostFtdcFrontIDType,
22490    /// 会话编号
22491    pub SessionID: TThostFtdcSessionIDType,
22492    /// 交易所代码
22493    pub ExchangeID: TThostFtdcExchangeIDType,
22494    /// 期权自对冲操作编号
22495    pub OptionSelfCloseSysID: TThostFtdcOrderSysIDType,
22496    /// 操作标志
22497    pub ActionFlag: TThostFtdcActionFlagType,
22498    /// 操作日期
22499    pub ActionDate: TThostFtdcDateType,
22500    /// 操作时间
22501    pub ActionTime: TThostFtdcTimeType,
22502    /// 交易所交易员代码
22503    pub TraderID: TThostFtdcTraderIDType,
22504    /// 安装编号
22505    pub InstallID: TThostFtdcInstallIDType,
22506    /// 本地期权自对冲编号
22507    pub OptionSelfCloseLocalID: TThostFtdcOrderLocalIDType,
22508    /// 操作本地编号
22509    pub ActionLocalID: TThostFtdcOrderLocalIDType,
22510    /// 会员代码
22511    pub ParticipantID: TThostFtdcParticipantIDType,
22512    /// 客户代码
22513    pub ClientID: TThostFtdcClientIDType,
22514    /// 业务单元
22515    pub BusinessUnit: TThostFtdcBusinessUnitType,
22516    /// 报单操作状态
22517    pub OrderActionStatus: TThostFtdcOrderActionStatusType,
22518    /// 用户代码
22519    pub UserID: TThostFtdcUserIDType,
22520    /// 状态信息
22521    pub StatusMsg: TThostFtdcErrorMsgType,
22522    /// 合约代码
22523    pub InstrumentID: TThostFtdcInstrumentIDType,
22524    /// 营业部编号
22525    pub BranchID: TThostFtdcBranchIDType,
22526    /// 投资单元代码
22527    pub InvestUnitID: TThostFtdcInvestUnitIDType,
22528    /// IP地址
22529    pub IPAddress: TThostFtdcIPAddressType,
22530    /// Mac地址
22531    pub MacAddress: TThostFtdcMacAddressType,
22532}
22533#[test]
22534fn bindgen_test_layout_CThostFtdcOptionSelfCloseActionField() {
22535    assert_eq!(::std::mem::size_of::<CThostFtdcOptionSelfCloseActionField>() ,
22536               396usize , concat ! (
22537               "Size of: " , stringify ! (
22538               CThostFtdcOptionSelfCloseActionField ) ));
22539    assert_eq! (::std::mem::align_of::<CThostFtdcOptionSelfCloseActionField>()
22540                , 4usize , concat ! (
22541                "Alignment of " , stringify ! (
22542                CThostFtdcOptionSelfCloseActionField ) ));
22543    assert_eq! (unsafe {
22544                & ( * ( 0 as * const CThostFtdcOptionSelfCloseActionField ) )
22545                . BrokerID as * const _ as usize } , 0usize , concat ! (
22546                "Alignment of field: " , stringify ! (
22547                CThostFtdcOptionSelfCloseActionField ) , "::" , stringify ! (
22548                BrokerID ) ));
22549    assert_eq! (unsafe {
22550                & ( * ( 0 as * const CThostFtdcOptionSelfCloseActionField ) )
22551                . InvestorID as * const _ as usize } , 11usize , concat ! (
22552                "Alignment of field: " , stringify ! (
22553                CThostFtdcOptionSelfCloseActionField ) , "::" , stringify ! (
22554                InvestorID ) ));
22555    assert_eq! (unsafe {
22556                & ( * ( 0 as * const CThostFtdcOptionSelfCloseActionField ) )
22557                . OptionSelfCloseActionRef as * const _ as usize } , 24usize ,
22558                concat ! (
22559                "Alignment of field: " , stringify ! (
22560                CThostFtdcOptionSelfCloseActionField ) , "::" , stringify ! (
22561                OptionSelfCloseActionRef ) ));
22562    assert_eq! (unsafe {
22563                & ( * ( 0 as * const CThostFtdcOptionSelfCloseActionField ) )
22564                . OptionSelfCloseRef as * const _ as usize } , 28usize ,
22565                concat ! (
22566                "Alignment of field: " , stringify ! (
22567                CThostFtdcOptionSelfCloseActionField ) , "::" , stringify ! (
22568                OptionSelfCloseRef ) ));
22569    assert_eq! (unsafe {
22570                & ( * ( 0 as * const CThostFtdcOptionSelfCloseActionField ) )
22571                . RequestID as * const _ as usize } , 44usize , concat ! (
22572                "Alignment of field: " , stringify ! (
22573                CThostFtdcOptionSelfCloseActionField ) , "::" , stringify ! (
22574                RequestID ) ));
22575    assert_eq! (unsafe {
22576                & ( * ( 0 as * const CThostFtdcOptionSelfCloseActionField ) )
22577                . FrontID as * const _ as usize } , 48usize , concat ! (
22578                "Alignment of field: " , stringify ! (
22579                CThostFtdcOptionSelfCloseActionField ) , "::" , stringify ! (
22580                FrontID ) ));
22581    assert_eq! (unsafe {
22582                & ( * ( 0 as * const CThostFtdcOptionSelfCloseActionField ) )
22583                . SessionID as * const _ as usize } , 52usize , concat ! (
22584                "Alignment of field: " , stringify ! (
22585                CThostFtdcOptionSelfCloseActionField ) , "::" , stringify ! (
22586                SessionID ) ));
22587    assert_eq! (unsafe {
22588                & ( * ( 0 as * const CThostFtdcOptionSelfCloseActionField ) )
22589                . ExchangeID as * const _ as usize } , 56usize , concat ! (
22590                "Alignment of field: " , stringify ! (
22591                CThostFtdcOptionSelfCloseActionField ) , "::" , stringify ! (
22592                ExchangeID ) ));
22593    assert_eq! (unsafe {
22594                & ( * ( 0 as * const CThostFtdcOptionSelfCloseActionField ) )
22595                . OptionSelfCloseSysID as * const _ as usize } , 65usize ,
22596                concat ! (
22597                "Alignment of field: " , stringify ! (
22598                CThostFtdcOptionSelfCloseActionField ) , "::" , stringify ! (
22599                OptionSelfCloseSysID ) ));
22600    assert_eq! (unsafe {
22601                & ( * ( 0 as * const CThostFtdcOptionSelfCloseActionField ) )
22602                . ActionFlag as * const _ as usize } , 86usize , concat ! (
22603                "Alignment of field: " , stringify ! (
22604                CThostFtdcOptionSelfCloseActionField ) , "::" , stringify ! (
22605                ActionFlag ) ));
22606    assert_eq! (unsafe {
22607                & ( * ( 0 as * const CThostFtdcOptionSelfCloseActionField ) )
22608                . ActionDate as * const _ as usize } , 87usize , concat ! (
22609                "Alignment of field: " , stringify ! (
22610                CThostFtdcOptionSelfCloseActionField ) , "::" , stringify ! (
22611                ActionDate ) ));
22612    assert_eq! (unsafe {
22613                & ( * ( 0 as * const CThostFtdcOptionSelfCloseActionField ) )
22614                . ActionTime as * const _ as usize } , 96usize , concat ! (
22615                "Alignment of field: " , stringify ! (
22616                CThostFtdcOptionSelfCloseActionField ) , "::" , stringify ! (
22617                ActionTime ) ));
22618    assert_eq! (unsafe {
22619                & ( * ( 0 as * const CThostFtdcOptionSelfCloseActionField ) )
22620                . TraderID as * const _ as usize } , 105usize , concat ! (
22621                "Alignment of field: " , stringify ! (
22622                CThostFtdcOptionSelfCloseActionField ) , "::" , stringify ! (
22623                TraderID ) ));
22624    assert_eq! (unsafe {
22625                & ( * ( 0 as * const CThostFtdcOptionSelfCloseActionField ) )
22626                . InstallID as * const _ as usize } , 128usize , concat ! (
22627                "Alignment of field: " , stringify ! (
22628                CThostFtdcOptionSelfCloseActionField ) , "::" , stringify ! (
22629                InstallID ) ));
22630    assert_eq! (unsafe {
22631                & ( * ( 0 as * const CThostFtdcOptionSelfCloseActionField ) )
22632                . OptionSelfCloseLocalID as * const _ as usize } , 132usize ,
22633                concat ! (
22634                "Alignment of field: " , stringify ! (
22635                CThostFtdcOptionSelfCloseActionField ) , "::" , stringify ! (
22636                OptionSelfCloseLocalID ) ));
22637    assert_eq! (unsafe {
22638                & ( * ( 0 as * const CThostFtdcOptionSelfCloseActionField ) )
22639                . ActionLocalID as * const _ as usize } , 145usize , concat !
22640                (
22641                "Alignment of field: " , stringify ! (
22642                CThostFtdcOptionSelfCloseActionField ) , "::" , stringify ! (
22643                ActionLocalID ) ));
22644    assert_eq! (unsafe {
22645                & ( * ( 0 as * const CThostFtdcOptionSelfCloseActionField ) )
22646                . ParticipantID as * const _ as usize } , 158usize , concat !
22647                (
22648                "Alignment of field: " , stringify ! (
22649                CThostFtdcOptionSelfCloseActionField ) , "::" , stringify ! (
22650                ParticipantID ) ));
22651    assert_eq! (unsafe {
22652                & ( * ( 0 as * const CThostFtdcOptionSelfCloseActionField ) )
22653                . ClientID as * const _ as usize } , 169usize , concat ! (
22654                "Alignment of field: " , stringify ! (
22655                CThostFtdcOptionSelfCloseActionField ) , "::" , stringify ! (
22656                ClientID ) ));
22657    assert_eq! (unsafe {
22658                & ( * ( 0 as * const CThostFtdcOptionSelfCloseActionField ) )
22659                . BusinessUnit as * const _ as usize } , 180usize , concat ! (
22660                "Alignment of field: " , stringify ! (
22661                CThostFtdcOptionSelfCloseActionField ) , "::" , stringify ! (
22662                BusinessUnit ) ));
22663    assert_eq! (unsafe {
22664                & ( * ( 0 as * const CThostFtdcOptionSelfCloseActionField ) )
22665                . OrderActionStatus as * const _ as usize } , 201usize ,
22666                concat ! (
22667                "Alignment of field: " , stringify ! (
22668                CThostFtdcOptionSelfCloseActionField ) , "::" , stringify ! (
22669                OrderActionStatus ) ));
22670    assert_eq! (unsafe {
22671                & ( * ( 0 as * const CThostFtdcOptionSelfCloseActionField ) )
22672                . UserID as * const _ as usize } , 202usize , concat ! (
22673                "Alignment of field: " , stringify ! (
22674                CThostFtdcOptionSelfCloseActionField ) , "::" , stringify ! (
22675                UserID ) ));
22676    assert_eq! (unsafe {
22677                & ( * ( 0 as * const CThostFtdcOptionSelfCloseActionField ) )
22678                . StatusMsg as * const _ as usize } , 218usize , concat ! (
22679                "Alignment of field: " , stringify ! (
22680                CThostFtdcOptionSelfCloseActionField ) , "::" , stringify ! (
22681                StatusMsg ) ));
22682    assert_eq! (unsafe {
22683                & ( * ( 0 as * const CThostFtdcOptionSelfCloseActionField ) )
22684                . InstrumentID as * const _ as usize } , 299usize , concat ! (
22685                "Alignment of field: " , stringify ! (
22686                CThostFtdcOptionSelfCloseActionField ) , "::" , stringify ! (
22687                InstrumentID ) ));
22688    assert_eq! (unsafe {
22689                & ( * ( 0 as * const CThostFtdcOptionSelfCloseActionField ) )
22690                . BranchID as * const _ as usize } , 330usize , concat ! (
22691                "Alignment of field: " , stringify ! (
22692                CThostFtdcOptionSelfCloseActionField ) , "::" , stringify ! (
22693                BranchID ) ));
22694    assert_eq! (unsafe {
22695                & ( * ( 0 as * const CThostFtdcOptionSelfCloseActionField ) )
22696                . InvestUnitID as * const _ as usize } , 339usize , concat ! (
22697                "Alignment of field: " , stringify ! (
22698                CThostFtdcOptionSelfCloseActionField ) , "::" , stringify ! (
22699                InvestUnitID ) ));
22700    assert_eq! (unsafe {
22701                & ( * ( 0 as * const CThostFtdcOptionSelfCloseActionField ) )
22702                . IPAddress as * const _ as usize } , 356usize , concat ! (
22703                "Alignment of field: " , stringify ! (
22704                CThostFtdcOptionSelfCloseActionField ) , "::" , stringify ! (
22705                IPAddress ) ));
22706    assert_eq! (unsafe {
22707                & ( * ( 0 as * const CThostFtdcOptionSelfCloseActionField ) )
22708                . MacAddress as * const _ as usize } , 372usize , concat ! (
22709                "Alignment of field: " , stringify ! (
22710                CThostFtdcOptionSelfCloseActionField ) , "::" , stringify ! (
22711                MacAddress ) ));
22712}
22713impl Clone for CThostFtdcOptionSelfCloseActionField {
22714    fn clone(&self) -> Self { *self }
22715}
22716impl Default for CThostFtdcOptionSelfCloseActionField {
22717    fn default() -> Self { unsafe { ::std::mem::zeroed() } }
22718}
22719/// 期权自对冲查询
22720#[repr(C)]
22721#[derive(Default, Copy)]
22722pub struct CThostFtdcQryOptionSelfCloseField {
22723    /// 经纪公司代码
22724    pub BrokerID: TThostFtdcBrokerIDType,
22725    /// 投资者代码
22726    pub InvestorID: TThostFtdcInvestorIDType,
22727    /// 合约代码
22728    pub InstrumentID: TThostFtdcInstrumentIDType,
22729    /// 交易所代码
22730    pub ExchangeID: TThostFtdcExchangeIDType,
22731    /// 期权自对冲编号
22732    pub OptionSelfCloseSysID: TThostFtdcOrderSysIDType,
22733    /// 开始时间
22734    pub InsertTimeStart: TThostFtdcTimeType,
22735    /// 结束时间
22736    pub InsertTimeEnd: TThostFtdcTimeType,
22737}
22738#[test]
22739fn bindgen_test_layout_CThostFtdcQryOptionSelfCloseField() {
22740    assert_eq!(::std::mem::size_of::<CThostFtdcQryOptionSelfCloseField>() ,
22741               103usize , concat ! (
22742               "Size of: " , stringify ! ( CThostFtdcQryOptionSelfCloseField )
22743               ));
22744    assert_eq! (::std::mem::align_of::<CThostFtdcQryOptionSelfCloseField>() ,
22745                1usize , concat ! (
22746                "Alignment of " , stringify ! (
22747                CThostFtdcQryOptionSelfCloseField ) ));
22748    assert_eq! (unsafe {
22749                & ( * ( 0 as * const CThostFtdcQryOptionSelfCloseField ) ) .
22750                BrokerID as * const _ as usize } , 0usize , concat ! (
22751                "Alignment of field: " , stringify ! (
22752                CThostFtdcQryOptionSelfCloseField ) , "::" , stringify ! (
22753                BrokerID ) ));
22754    assert_eq! (unsafe {
22755                & ( * ( 0 as * const CThostFtdcQryOptionSelfCloseField ) ) .
22756                InvestorID as * const _ as usize } , 11usize , concat ! (
22757                "Alignment of field: " , stringify ! (
22758                CThostFtdcQryOptionSelfCloseField ) , "::" , stringify ! (
22759                InvestorID ) ));
22760    assert_eq! (unsafe {
22761                & ( * ( 0 as * const CThostFtdcQryOptionSelfCloseField ) ) .
22762                InstrumentID as * const _ as usize } , 24usize , concat ! (
22763                "Alignment of field: " , stringify ! (
22764                CThostFtdcQryOptionSelfCloseField ) , "::" , stringify ! (
22765                InstrumentID ) ));
22766    assert_eq! (unsafe {
22767                & ( * ( 0 as * const CThostFtdcQryOptionSelfCloseField ) ) .
22768                ExchangeID as * const _ as usize } , 55usize , concat ! (
22769                "Alignment of field: " , stringify ! (
22770                CThostFtdcQryOptionSelfCloseField ) , "::" , stringify ! (
22771                ExchangeID ) ));
22772    assert_eq! (unsafe {
22773                & ( * ( 0 as * const CThostFtdcQryOptionSelfCloseField ) ) .
22774                OptionSelfCloseSysID as * const _ as usize } , 64usize ,
22775                concat ! (
22776                "Alignment of field: " , stringify ! (
22777                CThostFtdcQryOptionSelfCloseField ) , "::" , stringify ! (
22778                OptionSelfCloseSysID ) ));
22779    assert_eq! (unsafe {
22780                & ( * ( 0 as * const CThostFtdcQryOptionSelfCloseField ) ) .
22781                InsertTimeStart as * const _ as usize } , 85usize , concat ! (
22782                "Alignment of field: " , stringify ! (
22783                CThostFtdcQryOptionSelfCloseField ) , "::" , stringify ! (
22784                InsertTimeStart ) ));
22785    assert_eq! (unsafe {
22786                & ( * ( 0 as * const CThostFtdcQryOptionSelfCloseField ) ) .
22787                InsertTimeEnd as * const _ as usize } , 94usize , concat ! (
22788                "Alignment of field: " , stringify ! (
22789                CThostFtdcQryOptionSelfCloseField ) , "::" , stringify ! (
22790                InsertTimeEnd ) ));
22791}
22792impl Clone for CThostFtdcQryOptionSelfCloseField {
22793    fn clone(&self) -> Self { *self }
22794}
22795/// 交易所期权自对冲信息
22796#[repr(C)]
22797#[derive(Default, Copy)]
22798pub struct CThostFtdcExchangeOptionSelfCloseField {
22799    /// 数量
22800    pub Volume: TThostFtdcVolumeType,
22801    /// 请求编号
22802    pub RequestID: TThostFtdcRequestIDType,
22803    /// 业务单元
22804    pub BusinessUnit: TThostFtdcBusinessUnitType,
22805    /// 投机套保标志
22806    pub HedgeFlag: TThostFtdcHedgeFlagType,
22807    /// 期权行权的头寸是否自对冲
22808    pub OptSelfCloseFlag: TThostFtdcOptSelfCloseFlagType,
22809    /// 本地期权自对冲编号
22810    pub OptionSelfCloseLocalID: TThostFtdcOrderLocalIDType,
22811    /// 交易所代码
22812    pub ExchangeID: TThostFtdcExchangeIDType,
22813    /// 会员代码
22814    pub ParticipantID: TThostFtdcParticipantIDType,
22815    /// 客户代码
22816    pub ClientID: TThostFtdcClientIDType,
22817    /// 合约在交易所的代码
22818    pub ExchangeInstID: TThostFtdcExchangeInstIDType,
22819    /// 交易所交易员代码
22820    pub TraderID: TThostFtdcTraderIDType,
22821    /// 安装编号
22822    pub InstallID: TThostFtdcInstallIDType,
22823    /// 期权自对冲提交状态
22824    pub OrderSubmitStatus: TThostFtdcOrderSubmitStatusType,
22825    /// 报单提示序号
22826    pub NotifySequence: TThostFtdcSequenceNoType,
22827    /// 交易日
22828    pub TradingDay: TThostFtdcDateType,
22829    /// 结算编号
22830    pub SettlementID: TThostFtdcSettlementIDType,
22831    /// 期权自对冲编号
22832    pub OptionSelfCloseSysID: TThostFtdcOrderSysIDType,
22833    /// 报单日期
22834    pub InsertDate: TThostFtdcDateType,
22835    /// 插入时间
22836    pub InsertTime: TThostFtdcTimeType,
22837    /// 撤销时间
22838    pub CancelTime: TThostFtdcTimeType,
22839    /// 自对冲结果
22840    pub ExecResult: TThostFtdcExecResultType,
22841    /// 结算会员编号
22842    pub ClearingPartID: TThostFtdcParticipantIDType,
22843    /// 序号
22844    pub SequenceNo: TThostFtdcSequenceNoType,
22845    /// 营业部编号
22846    pub BranchID: TThostFtdcBranchIDType,
22847    /// IP地址
22848    pub IPAddress: TThostFtdcIPAddressType,
22849    /// Mac地址
22850    pub MacAddress: TThostFtdcMacAddressType,
22851}
22852#[test]
22853fn bindgen_test_layout_CThostFtdcExchangeOptionSelfCloseField() {
22854    assert_eq!(::std::mem::size_of::<CThostFtdcExchangeOptionSelfCloseField>()
22855               , 268usize , concat ! (
22856               "Size of: " , stringify ! (
22857               CThostFtdcExchangeOptionSelfCloseField ) ));
22858    assert_eq! (::std::mem::align_of::<CThostFtdcExchangeOptionSelfCloseField>()
22859                , 4usize , concat ! (
22860                "Alignment of " , stringify ! (
22861                CThostFtdcExchangeOptionSelfCloseField ) ));
22862    assert_eq! (unsafe {
22863                & ( * ( 0 as * const CThostFtdcExchangeOptionSelfCloseField )
22864                ) . Volume as * const _ as usize } , 0usize , concat ! (
22865                "Alignment of field: " , stringify ! (
22866                CThostFtdcExchangeOptionSelfCloseField ) , "::" , stringify !
22867                ( Volume ) ));
22868    assert_eq! (unsafe {
22869                & ( * ( 0 as * const CThostFtdcExchangeOptionSelfCloseField )
22870                ) . RequestID as * const _ as usize } , 4usize , concat ! (
22871                "Alignment of field: " , stringify ! (
22872                CThostFtdcExchangeOptionSelfCloseField ) , "::" , stringify !
22873                ( RequestID ) ));
22874    assert_eq! (unsafe {
22875                & ( * ( 0 as * const CThostFtdcExchangeOptionSelfCloseField )
22876                ) . BusinessUnit as * const _ as usize } , 8usize , concat ! (
22877                "Alignment of field: " , stringify ! (
22878                CThostFtdcExchangeOptionSelfCloseField ) , "::" , stringify !
22879                ( BusinessUnit ) ));
22880    assert_eq! (unsafe {
22881                & ( * ( 0 as * const CThostFtdcExchangeOptionSelfCloseField )
22882                ) . HedgeFlag as * const _ as usize } , 29usize , concat ! (
22883                "Alignment of field: " , stringify ! (
22884                CThostFtdcExchangeOptionSelfCloseField ) , "::" , stringify !
22885                ( HedgeFlag ) ));
22886    assert_eq! (unsafe {
22887                & ( * ( 0 as * const CThostFtdcExchangeOptionSelfCloseField )
22888                ) . OptSelfCloseFlag as * const _ as usize } , 30usize ,
22889                concat ! (
22890                "Alignment of field: " , stringify ! (
22891                CThostFtdcExchangeOptionSelfCloseField ) , "::" , stringify !
22892                ( OptSelfCloseFlag ) ));
22893    assert_eq! (unsafe {
22894                & ( * ( 0 as * const CThostFtdcExchangeOptionSelfCloseField )
22895                ) . OptionSelfCloseLocalID as * const _ as usize } , 31usize ,
22896                concat ! (
22897                "Alignment of field: " , stringify ! (
22898                CThostFtdcExchangeOptionSelfCloseField ) , "::" , stringify !
22899                ( OptionSelfCloseLocalID ) ));
22900    assert_eq! (unsafe {
22901                & ( * ( 0 as * const CThostFtdcExchangeOptionSelfCloseField )
22902                ) . ExchangeID as * const _ as usize } , 44usize , concat ! (
22903                "Alignment of field: " , stringify ! (
22904                CThostFtdcExchangeOptionSelfCloseField ) , "::" , stringify !
22905                ( ExchangeID ) ));
22906    assert_eq! (unsafe {
22907                & ( * ( 0 as * const CThostFtdcExchangeOptionSelfCloseField )
22908                ) . ParticipantID as * const _ as usize } , 53usize , concat !
22909                (
22910                "Alignment of field: " , stringify ! (
22911                CThostFtdcExchangeOptionSelfCloseField ) , "::" , stringify !
22912                ( ParticipantID ) ));
22913    assert_eq! (unsafe {
22914                & ( * ( 0 as * const CThostFtdcExchangeOptionSelfCloseField )
22915                ) . ClientID as * const _ as usize } , 64usize , concat ! (
22916                "Alignment of field: " , stringify ! (
22917                CThostFtdcExchangeOptionSelfCloseField ) , "::" , stringify !
22918                ( ClientID ) ));
22919    assert_eq! (unsafe {
22920                & ( * ( 0 as * const CThostFtdcExchangeOptionSelfCloseField )
22921                ) . ExchangeInstID as * const _ as usize } , 75usize , concat
22922                ! (
22923                "Alignment of field: " , stringify ! (
22924                CThostFtdcExchangeOptionSelfCloseField ) , "::" , stringify !
22925                ( ExchangeInstID ) ));
22926    assert_eq! (unsafe {
22927                & ( * ( 0 as * const CThostFtdcExchangeOptionSelfCloseField )
22928                ) . TraderID as * const _ as usize } , 106usize , concat ! (
22929                "Alignment of field: " , stringify ! (
22930                CThostFtdcExchangeOptionSelfCloseField ) , "::" , stringify !
22931                ( TraderID ) ));
22932    assert_eq! (unsafe {
22933                & ( * ( 0 as * const CThostFtdcExchangeOptionSelfCloseField )
22934                ) . InstallID as * const _ as usize } , 128usize , concat ! (
22935                "Alignment of field: " , stringify ! (
22936                CThostFtdcExchangeOptionSelfCloseField ) , "::" , stringify !
22937                ( InstallID ) ));
22938    assert_eq! (unsafe {
22939                & ( * ( 0 as * const CThostFtdcExchangeOptionSelfCloseField )
22940                ) . OrderSubmitStatus as * const _ as usize } , 132usize ,
22941                concat ! (
22942                "Alignment of field: " , stringify ! (
22943                CThostFtdcExchangeOptionSelfCloseField ) , "::" , stringify !
22944                ( OrderSubmitStatus ) ));
22945    assert_eq! (unsafe {
22946                & ( * ( 0 as * const CThostFtdcExchangeOptionSelfCloseField )
22947                ) . NotifySequence as * const _ as usize } , 136usize , concat
22948                ! (
22949                "Alignment of field: " , stringify ! (
22950                CThostFtdcExchangeOptionSelfCloseField ) , "::" , stringify !
22951                ( NotifySequence ) ));
22952    assert_eq! (unsafe {
22953                & ( * ( 0 as * const CThostFtdcExchangeOptionSelfCloseField )
22954                ) . TradingDay as * const _ as usize } , 140usize , concat ! (
22955                "Alignment of field: " , stringify ! (
22956                CThostFtdcExchangeOptionSelfCloseField ) , "::" , stringify !
22957                ( TradingDay ) ));
22958    assert_eq! (unsafe {
22959                & ( * ( 0 as * const CThostFtdcExchangeOptionSelfCloseField )
22960                ) . SettlementID as * const _ as usize } , 152usize , concat !
22961                (
22962                "Alignment of field: " , stringify ! (
22963                CThostFtdcExchangeOptionSelfCloseField ) , "::" , stringify !
22964                ( SettlementID ) ));
22965    assert_eq! (unsafe {
22966                & ( * ( 0 as * const CThostFtdcExchangeOptionSelfCloseField )
22967                ) . OptionSelfCloseSysID as * const _ as usize } , 156usize ,
22968                concat ! (
22969                "Alignment of field: " , stringify ! (
22970                CThostFtdcExchangeOptionSelfCloseField ) , "::" , stringify !
22971                ( OptionSelfCloseSysID ) ));
22972    assert_eq! (unsafe {
22973                & ( * ( 0 as * const CThostFtdcExchangeOptionSelfCloseField )
22974                ) . InsertDate as * const _ as usize } , 177usize , concat ! (
22975                "Alignment of field: " , stringify ! (
22976                CThostFtdcExchangeOptionSelfCloseField ) , "::" , stringify !
22977                ( InsertDate ) ));
22978    assert_eq! (unsafe {
22979                & ( * ( 0 as * const CThostFtdcExchangeOptionSelfCloseField )
22980                ) . InsertTime as * const _ as usize } , 186usize , concat ! (
22981                "Alignment of field: " , stringify ! (
22982                CThostFtdcExchangeOptionSelfCloseField ) , "::" , stringify !
22983                ( InsertTime ) ));
22984    assert_eq! (unsafe {
22985                & ( * ( 0 as * const CThostFtdcExchangeOptionSelfCloseField )
22986                ) . CancelTime as * const _ as usize } , 195usize , concat ! (
22987                "Alignment of field: " , stringify ! (
22988                CThostFtdcExchangeOptionSelfCloseField ) , "::" , stringify !
22989                ( CancelTime ) ));
22990    assert_eq! (unsafe {
22991                & ( * ( 0 as * const CThostFtdcExchangeOptionSelfCloseField )
22992                ) . ExecResult as * const _ as usize } , 204usize , concat ! (
22993                "Alignment of field: " , stringify ! (
22994                CThostFtdcExchangeOptionSelfCloseField ) , "::" , stringify !
22995                ( ExecResult ) ));
22996    assert_eq! (unsafe {
22997                & ( * ( 0 as * const CThostFtdcExchangeOptionSelfCloseField )
22998                ) . ClearingPartID as * const _ as usize } , 205usize , concat
22999                ! (
23000                "Alignment of field: " , stringify ! (
23001                CThostFtdcExchangeOptionSelfCloseField ) , "::" , stringify !
23002                ( ClearingPartID ) ));
23003    assert_eq! (unsafe {
23004                & ( * ( 0 as * const CThostFtdcExchangeOptionSelfCloseField )
23005                ) . SequenceNo as * const _ as usize } , 216usize , concat ! (
23006                "Alignment of field: " , stringify ! (
23007                CThostFtdcExchangeOptionSelfCloseField ) , "::" , stringify !
23008                ( SequenceNo ) ));
23009    assert_eq! (unsafe {
23010                & ( * ( 0 as * const CThostFtdcExchangeOptionSelfCloseField )
23011                ) . BranchID as * const _ as usize } , 220usize , concat ! (
23012                "Alignment of field: " , stringify ! (
23013                CThostFtdcExchangeOptionSelfCloseField ) , "::" , stringify !
23014                ( BranchID ) ));
23015    assert_eq! (unsafe {
23016                & ( * ( 0 as * const CThostFtdcExchangeOptionSelfCloseField )
23017                ) . IPAddress as * const _ as usize } , 229usize , concat ! (
23018                "Alignment of field: " , stringify ! (
23019                CThostFtdcExchangeOptionSelfCloseField ) , "::" , stringify !
23020                ( IPAddress ) ));
23021    assert_eq! (unsafe {
23022                & ( * ( 0 as * const CThostFtdcExchangeOptionSelfCloseField )
23023                ) . MacAddress as * const _ as usize } , 245usize , concat ! (
23024                "Alignment of field: " , stringify ! (
23025                CThostFtdcExchangeOptionSelfCloseField ) , "::" , stringify !
23026                ( MacAddress ) ));
23027}
23028impl Clone for CThostFtdcExchangeOptionSelfCloseField {
23029    fn clone(&self) -> Self { *self }
23030}
23031/// 期权自对冲操作查询
23032#[repr(C)]
23033#[derive(Default, Copy)]
23034pub struct CThostFtdcQryOptionSelfCloseActionField {
23035    /// 经纪公司代码
23036    pub BrokerID: TThostFtdcBrokerIDType,
23037    /// 投资者代码
23038    pub InvestorID: TThostFtdcInvestorIDType,
23039    /// 交易所代码
23040    pub ExchangeID: TThostFtdcExchangeIDType,
23041}
23042#[test]
23043fn bindgen_test_layout_CThostFtdcQryOptionSelfCloseActionField() {
23044    assert_eq!(::std::mem::size_of::<CThostFtdcQryOptionSelfCloseActionField>()
23045               , 33usize , concat ! (
23046               "Size of: " , stringify ! (
23047               CThostFtdcQryOptionSelfCloseActionField ) ));
23048    assert_eq! (::std::mem::align_of::<CThostFtdcQryOptionSelfCloseActionField>()
23049                , 1usize , concat ! (
23050                "Alignment of " , stringify ! (
23051                CThostFtdcQryOptionSelfCloseActionField ) ));
23052    assert_eq! (unsafe {
23053                & ( * ( 0 as * const CThostFtdcQryOptionSelfCloseActionField )
23054                ) . BrokerID as * const _ as usize } , 0usize , concat ! (
23055                "Alignment of field: " , stringify ! (
23056                CThostFtdcQryOptionSelfCloseActionField ) , "::" , stringify !
23057                ( BrokerID ) ));
23058    assert_eq! (unsafe {
23059                & ( * ( 0 as * const CThostFtdcQryOptionSelfCloseActionField )
23060                ) . InvestorID as * const _ as usize } , 11usize , concat ! (
23061                "Alignment of field: " , stringify ! (
23062                CThostFtdcQryOptionSelfCloseActionField ) , "::" , stringify !
23063                ( InvestorID ) ));
23064    assert_eq! (unsafe {
23065                & ( * ( 0 as * const CThostFtdcQryOptionSelfCloseActionField )
23066                ) . ExchangeID as * const _ as usize } , 24usize , concat ! (
23067                "Alignment of field: " , stringify ! (
23068                CThostFtdcQryOptionSelfCloseActionField ) , "::" , stringify !
23069                ( ExchangeID ) ));
23070}
23071impl Clone for CThostFtdcQryOptionSelfCloseActionField {
23072    fn clone(&self) -> Self { *self }
23073}
23074/// 交易所期权自对冲操作
23075#[repr(C)]
23076#[derive(Default, Copy)]
23077pub struct CThostFtdcExchangeOptionSelfCloseActionField {
23078    /// 交易所代码
23079    pub ExchangeID: TThostFtdcExchangeIDType,
23080    /// 期权自对冲操作编号
23081    pub OptionSelfCloseSysID: TThostFtdcOrderSysIDType,
23082    /// 操作标志
23083    pub ActionFlag: TThostFtdcActionFlagType,
23084    /// 操作日期
23085    pub ActionDate: TThostFtdcDateType,
23086    /// 操作时间
23087    pub ActionTime: TThostFtdcTimeType,
23088    /// 交易所交易员代码
23089    pub TraderID: TThostFtdcTraderIDType,
23090    /// 安装编号
23091    pub InstallID: TThostFtdcInstallIDType,
23092    /// 本地期权自对冲编号
23093    pub OptionSelfCloseLocalID: TThostFtdcOrderLocalIDType,
23094    /// 操作本地编号
23095    pub ActionLocalID: TThostFtdcOrderLocalIDType,
23096    /// 会员代码
23097    pub ParticipantID: TThostFtdcParticipantIDType,
23098    /// 客户代码
23099    pub ClientID: TThostFtdcClientIDType,
23100    /// 业务单元
23101    pub BusinessUnit: TThostFtdcBusinessUnitType,
23102    /// 报单操作状态
23103    pub OrderActionStatus: TThostFtdcOrderActionStatusType,
23104    /// 用户代码
23105    pub UserID: TThostFtdcUserIDType,
23106    /// 营业部编号
23107    pub BranchID: TThostFtdcBranchIDType,
23108    /// IP地址
23109    pub IPAddress: TThostFtdcIPAddressType,
23110    /// Mac地址
23111    pub MacAddress: TThostFtdcMacAddressType,
23112    /// 合约在交易所的代码
23113    pub ExchangeInstID: TThostFtdcExchangeInstIDType,
23114    /// 期权行权的头寸是否自对冲
23115    pub OptSelfCloseFlag: TThostFtdcOptSelfCloseFlagType,
23116}
23117#[test]
23118fn bindgen_test_layout_CThostFtdcExchangeOptionSelfCloseActionField() {
23119    assert_eq!(::std::mem::size_of::<CThostFtdcExchangeOptionSelfCloseActionField>()
23120               , 240usize , concat ! (
23121               "Size of: " , stringify ! (
23122               CThostFtdcExchangeOptionSelfCloseActionField ) ));
23123    assert_eq! (::std::mem::align_of::<CThostFtdcExchangeOptionSelfCloseActionField>()
23124                , 4usize , concat ! (
23125                "Alignment of " , stringify ! (
23126                CThostFtdcExchangeOptionSelfCloseActionField ) ));
23127    assert_eq! (unsafe {
23128                & (
23129                * ( 0 as * const CThostFtdcExchangeOptionSelfCloseActionField
23130                ) ) . ExchangeID as * const _ as usize } , 0usize , concat ! (
23131                "Alignment of field: " , stringify ! (
23132                CThostFtdcExchangeOptionSelfCloseActionField ) , "::" ,
23133                stringify ! ( ExchangeID ) ));
23134    assert_eq! (unsafe {
23135                & (
23136                * ( 0 as * const CThostFtdcExchangeOptionSelfCloseActionField
23137                ) ) . OptionSelfCloseSysID as * const _ as usize } , 9usize ,
23138                concat ! (
23139                "Alignment of field: " , stringify ! (
23140                CThostFtdcExchangeOptionSelfCloseActionField ) , "::" ,
23141                stringify ! ( OptionSelfCloseSysID ) ));
23142    assert_eq! (unsafe {
23143                & (
23144                * ( 0 as * const CThostFtdcExchangeOptionSelfCloseActionField
23145                ) ) . ActionFlag as * const _ as usize } , 30usize , concat !
23146                (
23147                "Alignment of field: " , stringify ! (
23148                CThostFtdcExchangeOptionSelfCloseActionField ) , "::" ,
23149                stringify ! ( ActionFlag ) ));
23150    assert_eq! (unsafe {
23151                & (
23152                * ( 0 as * const CThostFtdcExchangeOptionSelfCloseActionField
23153                ) ) . ActionDate as * const _ as usize } , 31usize , concat !
23154                (
23155                "Alignment of field: " , stringify ! (
23156                CThostFtdcExchangeOptionSelfCloseActionField ) , "::" ,
23157                stringify ! ( ActionDate ) ));
23158    assert_eq! (unsafe {
23159                & (
23160                * ( 0 as * const CThostFtdcExchangeOptionSelfCloseActionField
23161                ) ) . ActionTime as * const _ as usize } , 40usize , concat !
23162                (
23163                "Alignment of field: " , stringify ! (
23164                CThostFtdcExchangeOptionSelfCloseActionField ) , "::" ,
23165                stringify ! ( ActionTime ) ));
23166    assert_eq! (unsafe {
23167                & (
23168                * ( 0 as * const CThostFtdcExchangeOptionSelfCloseActionField
23169                ) ) . TraderID as * const _ as usize } , 49usize , concat ! (
23170                "Alignment of field: " , stringify ! (
23171                CThostFtdcExchangeOptionSelfCloseActionField ) , "::" ,
23172                stringify ! ( TraderID ) ));
23173    assert_eq! (unsafe {
23174                & (
23175                * ( 0 as * const CThostFtdcExchangeOptionSelfCloseActionField
23176                ) ) . InstallID as * const _ as usize } , 72usize , concat ! (
23177                "Alignment of field: " , stringify ! (
23178                CThostFtdcExchangeOptionSelfCloseActionField ) , "::" ,
23179                stringify ! ( InstallID ) ));
23180    assert_eq! (unsafe {
23181                & (
23182                * ( 0 as * const CThostFtdcExchangeOptionSelfCloseActionField
23183                ) ) . OptionSelfCloseLocalID as * const _ as usize } , 76usize
23184                , concat ! (
23185                "Alignment of field: " , stringify ! (
23186                CThostFtdcExchangeOptionSelfCloseActionField ) , "::" ,
23187                stringify ! ( OptionSelfCloseLocalID ) ));
23188    assert_eq! (unsafe {
23189                & (
23190                * ( 0 as * const CThostFtdcExchangeOptionSelfCloseActionField
23191                ) ) . ActionLocalID as * const _ as usize } , 89usize , concat
23192                ! (
23193                "Alignment of field: " , stringify ! (
23194                CThostFtdcExchangeOptionSelfCloseActionField ) , "::" ,
23195                stringify ! ( ActionLocalID ) ));
23196    assert_eq! (unsafe {
23197                & (
23198                * ( 0 as * const CThostFtdcExchangeOptionSelfCloseActionField
23199                ) ) . ParticipantID as * const _ as usize } , 102usize ,
23200                concat ! (
23201                "Alignment of field: " , stringify ! (
23202                CThostFtdcExchangeOptionSelfCloseActionField ) , "::" ,
23203                stringify ! ( ParticipantID ) ));
23204    assert_eq! (unsafe {
23205                & (
23206                * ( 0 as * const CThostFtdcExchangeOptionSelfCloseActionField
23207                ) ) . ClientID as * const _ as usize } , 113usize , concat ! (
23208                "Alignment of field: " , stringify ! (
23209                CThostFtdcExchangeOptionSelfCloseActionField ) , "::" ,
23210                stringify ! ( ClientID ) ));
23211    assert_eq! (unsafe {
23212                & (
23213                * ( 0 as * const CThostFtdcExchangeOptionSelfCloseActionField
23214                ) ) . BusinessUnit as * const _ as usize } , 124usize , concat
23215                ! (
23216                "Alignment of field: " , stringify ! (
23217                CThostFtdcExchangeOptionSelfCloseActionField ) , "::" ,
23218                stringify ! ( BusinessUnit ) ));
23219    assert_eq! (unsafe {
23220                & (
23221                * ( 0 as * const CThostFtdcExchangeOptionSelfCloseActionField
23222                ) ) . OrderActionStatus as * const _ as usize } , 145usize ,
23223                concat ! (
23224                "Alignment of field: " , stringify ! (
23225                CThostFtdcExchangeOptionSelfCloseActionField ) , "::" ,
23226                stringify ! ( OrderActionStatus ) ));
23227    assert_eq! (unsafe {
23228                & (
23229                * ( 0 as * const CThostFtdcExchangeOptionSelfCloseActionField
23230                ) ) . UserID as * const _ as usize } , 146usize , concat ! (
23231                "Alignment of field: " , stringify ! (
23232                CThostFtdcExchangeOptionSelfCloseActionField ) , "::" ,
23233                stringify ! ( UserID ) ));
23234    assert_eq! (unsafe {
23235                & (
23236                * ( 0 as * const CThostFtdcExchangeOptionSelfCloseActionField
23237                ) ) . BranchID as * const _ as usize } , 162usize , concat ! (
23238                "Alignment of field: " , stringify ! (
23239                CThostFtdcExchangeOptionSelfCloseActionField ) , "::" ,
23240                stringify ! ( BranchID ) ));
23241    assert_eq! (unsafe {
23242                & (
23243                * ( 0 as * const CThostFtdcExchangeOptionSelfCloseActionField
23244                ) ) . IPAddress as * const _ as usize } , 171usize , concat !
23245                (
23246                "Alignment of field: " , stringify ! (
23247                CThostFtdcExchangeOptionSelfCloseActionField ) , "::" ,
23248                stringify ! ( IPAddress ) ));
23249    assert_eq! (unsafe {
23250                & (
23251                * ( 0 as * const CThostFtdcExchangeOptionSelfCloseActionField
23252                ) ) . MacAddress as * const _ as usize } , 187usize , concat !
23253                (
23254                "Alignment of field: " , stringify ! (
23255                CThostFtdcExchangeOptionSelfCloseActionField ) , "::" ,
23256                stringify ! ( MacAddress ) ));
23257    assert_eq! (unsafe {
23258                & (
23259                * ( 0 as * const CThostFtdcExchangeOptionSelfCloseActionField
23260                ) ) . ExchangeInstID as * const _ as usize } , 208usize ,
23261                concat ! (
23262                "Alignment of field: " , stringify ! (
23263                CThostFtdcExchangeOptionSelfCloseActionField ) , "::" ,
23264                stringify ! ( ExchangeInstID ) ));
23265    assert_eq! (unsafe {
23266                & (
23267                * ( 0 as * const CThostFtdcExchangeOptionSelfCloseActionField
23268                ) ) . OptSelfCloseFlag as * const _ as usize } , 239usize ,
23269                concat ! (
23270                "Alignment of field: " , stringify ! (
23271                CThostFtdcExchangeOptionSelfCloseActionField ) , "::" ,
23272                stringify ! ( OptSelfCloseFlag ) ));
23273}
23274impl Clone for CThostFtdcExchangeOptionSelfCloseActionField {
23275    fn clone(&self) -> Self { *self }
23276}
23277/// 延时换汇同步
23278#[repr(C)]
23279#[derive(Default, Copy)]
23280pub struct CThostFtdcSyncDelaySwapField {
23281    /// 换汇流水号
23282    pub DelaySwapSeqNo: TThostFtdcDepositSeqNoType,
23283    /// 经纪公司代码
23284    pub BrokerID: TThostFtdcBrokerIDType,
23285    /// 投资者代码
23286    pub InvestorID: TThostFtdcInvestorIDType,
23287    /// 源币种
23288    pub FromCurrencyID: TThostFtdcCurrencyIDType,
23289    /// 源金额
23290    pub FromAmount: TThostFtdcMoneyType,
23291    /// 源换汇冻结金额(可用冻结)
23292    pub FromFrozenSwap: TThostFtdcMoneyType,
23293    /// 源剩余换汇额度(可提冻结)
23294    pub FromRemainSwap: TThostFtdcMoneyType,
23295    /// 目标币种
23296    pub ToCurrencyID: TThostFtdcCurrencyIDType,
23297    /// 目标金额
23298    pub ToAmount: TThostFtdcMoneyType,
23299}
23300#[test]
23301fn bindgen_test_layout_CThostFtdcSyncDelaySwapField() {
23302    assert_eq!(::std::mem::size_of::<CThostFtdcSyncDelaySwapField>() , 88usize
23303               , concat ! (
23304               "Size of: " , stringify ! ( CThostFtdcSyncDelaySwapField ) ));
23305    assert_eq! (::std::mem::align_of::<CThostFtdcSyncDelaySwapField>() ,
23306                8usize , concat ! (
23307                "Alignment of " , stringify ! ( CThostFtdcSyncDelaySwapField )
23308                ));
23309    assert_eq! (unsafe {
23310                & ( * ( 0 as * const CThostFtdcSyncDelaySwapField ) ) .
23311                DelaySwapSeqNo as * const _ as usize } , 0usize , concat ! (
23312                "Alignment of field: " , stringify ! (
23313                CThostFtdcSyncDelaySwapField ) , "::" , stringify ! (
23314                DelaySwapSeqNo ) ));
23315    assert_eq! (unsafe {
23316                & ( * ( 0 as * const CThostFtdcSyncDelaySwapField ) ) .
23317                BrokerID as * const _ as usize } , 15usize , concat ! (
23318                "Alignment of field: " , stringify ! (
23319                CThostFtdcSyncDelaySwapField ) , "::" , stringify ! ( BrokerID
23320                ) ));
23321    assert_eq! (unsafe {
23322                & ( * ( 0 as * const CThostFtdcSyncDelaySwapField ) ) .
23323                InvestorID as * const _ as usize } , 26usize , concat ! (
23324                "Alignment of field: " , stringify ! (
23325                CThostFtdcSyncDelaySwapField ) , "::" , stringify ! (
23326                InvestorID ) ));
23327    assert_eq! (unsafe {
23328                & ( * ( 0 as * const CThostFtdcSyncDelaySwapField ) ) .
23329                FromCurrencyID as * const _ as usize } , 39usize , concat ! (
23330                "Alignment of field: " , stringify ! (
23331                CThostFtdcSyncDelaySwapField ) , "::" , stringify ! (
23332                FromCurrencyID ) ));
23333    assert_eq! (unsafe {
23334                & ( * ( 0 as * const CThostFtdcSyncDelaySwapField ) ) .
23335                FromAmount as * const _ as usize } , 48usize , concat ! (
23336                "Alignment of field: " , stringify ! (
23337                CThostFtdcSyncDelaySwapField ) , "::" , stringify ! (
23338                FromAmount ) ));
23339    assert_eq! (unsafe {
23340                & ( * ( 0 as * const CThostFtdcSyncDelaySwapField ) ) .
23341                FromFrozenSwap as * const _ as usize } , 56usize , concat ! (
23342                "Alignment of field: " , stringify ! (
23343                CThostFtdcSyncDelaySwapField ) , "::" , stringify ! (
23344                FromFrozenSwap ) ));
23345    assert_eq! (unsafe {
23346                & ( * ( 0 as * const CThostFtdcSyncDelaySwapField ) ) .
23347                FromRemainSwap as * const _ as usize } , 64usize , concat ! (
23348                "Alignment of field: " , stringify ! (
23349                CThostFtdcSyncDelaySwapField ) , "::" , stringify ! (
23350                FromRemainSwap ) ));
23351    assert_eq! (unsafe {
23352                & ( * ( 0 as * const CThostFtdcSyncDelaySwapField ) ) .
23353                ToCurrencyID as * const _ as usize } , 72usize , concat ! (
23354                "Alignment of field: " , stringify ! (
23355                CThostFtdcSyncDelaySwapField ) , "::" , stringify ! (
23356                ToCurrencyID ) ));
23357    assert_eq! (unsafe {
23358                & ( * ( 0 as * const CThostFtdcSyncDelaySwapField ) ) .
23359                ToAmount as * const _ as usize } , 80usize , concat ! (
23360                "Alignment of field: " , stringify ! (
23361                CThostFtdcSyncDelaySwapField ) , "::" , stringify ! ( ToAmount
23362                ) ));
23363}
23364impl Clone for CThostFtdcSyncDelaySwapField {
23365    fn clone(&self) -> Self { *self }
23366}
23367/// 查询延时换汇同步
23368#[repr(C)]
23369#[derive(Default, Copy)]
23370pub struct CThostFtdcQrySyncDelaySwapField {
23371    /// 经纪公司代码
23372    pub BrokerID: TThostFtdcBrokerIDType,
23373    /// 延时换汇流水号
23374    pub DelaySwapSeqNo: TThostFtdcDepositSeqNoType,
23375}
23376#[test]
23377fn bindgen_test_layout_CThostFtdcQrySyncDelaySwapField() {
23378    assert_eq!(::std::mem::size_of::<CThostFtdcQrySyncDelaySwapField>() ,
23379               26usize , concat ! (
23380               "Size of: " , stringify ! ( CThostFtdcQrySyncDelaySwapField )
23381               ));
23382    assert_eq! (::std::mem::align_of::<CThostFtdcQrySyncDelaySwapField>() ,
23383                1usize , concat ! (
23384                "Alignment of " , stringify ! (
23385                CThostFtdcQrySyncDelaySwapField ) ));
23386    assert_eq! (unsafe {
23387                & ( * ( 0 as * const CThostFtdcQrySyncDelaySwapField ) ) .
23388                BrokerID as * const _ as usize } , 0usize , concat ! (
23389                "Alignment of field: " , stringify ! (
23390                CThostFtdcQrySyncDelaySwapField ) , "::" , stringify ! (
23391                BrokerID ) ));
23392    assert_eq! (unsafe {
23393                & ( * ( 0 as * const CThostFtdcQrySyncDelaySwapField ) ) .
23394                DelaySwapSeqNo as * const _ as usize } , 11usize , concat ! (
23395                "Alignment of field: " , stringify ! (
23396                CThostFtdcQrySyncDelaySwapField ) , "::" , stringify ! (
23397                DelaySwapSeqNo ) ));
23398}
23399impl Clone for CThostFtdcQrySyncDelaySwapField {
23400    fn clone(&self) -> Self { *self }
23401}
23402/// 投资单元
23403#[repr(C)]
23404#[derive(Copy)]
23405pub struct CThostFtdcInvestUnitField {
23406    /// 经纪公司代码
23407    pub BrokerID: TThostFtdcBrokerIDType,
23408    /// 投资者代码
23409    pub InvestorID: TThostFtdcInvestorIDType,
23410    /// 投资单元代码
23411    pub InvestUnitID: TThostFtdcInvestUnitIDType,
23412    /// 投资者单元名称
23413    pub InvestorUnitName: TThostFtdcPartyNameType,
23414    /// 投资者分组代码
23415    pub InvestorGroupID: TThostFtdcInvestorIDType,
23416    /// 手续费率模板代码
23417    pub CommModelID: TThostFtdcInvestorIDType,
23418    /// 保证金率模板代码
23419    pub MarginModelID: TThostFtdcInvestorIDType,
23420    /// 资金账号
23421    pub AccountID: TThostFtdcAccountIDType,
23422    /// 币种代码
23423    pub CurrencyID: TThostFtdcCurrencyIDType,
23424}
23425#[test]
23426fn bindgen_test_layout_CThostFtdcInvestUnitField() {
23427    assert_eq!(::std::mem::size_of::<CThostFtdcInvestUnitField>() , 178usize ,
23428               concat ! (
23429               "Size of: " , stringify ! ( CThostFtdcInvestUnitField ) ));
23430    assert_eq! (::std::mem::align_of::<CThostFtdcInvestUnitField>() , 1usize ,
23431                concat ! (
23432                "Alignment of " , stringify ! ( CThostFtdcInvestUnitField )
23433                ));
23434    assert_eq! (unsafe {
23435                & ( * ( 0 as * const CThostFtdcInvestUnitField ) ) . BrokerID
23436                as * const _ as usize } , 0usize , concat ! (
23437                "Alignment of field: " , stringify ! (
23438                CThostFtdcInvestUnitField ) , "::" , stringify ! ( BrokerID )
23439                ));
23440    assert_eq! (unsafe {
23441                & ( * ( 0 as * const CThostFtdcInvestUnitField ) ) .
23442                InvestorID as * const _ as usize } , 11usize , concat ! (
23443                "Alignment of field: " , stringify ! (
23444                CThostFtdcInvestUnitField ) , "::" , stringify ! ( InvestorID
23445                ) ));
23446    assert_eq! (unsafe {
23447                & ( * ( 0 as * const CThostFtdcInvestUnitField ) ) .
23448                InvestUnitID as * const _ as usize } , 24usize , concat ! (
23449                "Alignment of field: " , stringify ! (
23450                CThostFtdcInvestUnitField ) , "::" , stringify ! (
23451                InvestUnitID ) ));
23452    assert_eq! (unsafe {
23453                & ( * ( 0 as * const CThostFtdcInvestUnitField ) ) .
23454                InvestorUnitName as * const _ as usize } , 41usize , concat !
23455                (
23456                "Alignment of field: " , stringify ! (
23457                CThostFtdcInvestUnitField ) , "::" , stringify ! (
23458                InvestorUnitName ) ));
23459    assert_eq! (unsafe {
23460                & ( * ( 0 as * const CThostFtdcInvestUnitField ) ) .
23461                InvestorGroupID as * const _ as usize } , 122usize , concat !
23462                (
23463                "Alignment of field: " , stringify ! (
23464                CThostFtdcInvestUnitField ) , "::" , stringify ! (
23465                InvestorGroupID ) ));
23466    assert_eq! (unsafe {
23467                & ( * ( 0 as * const CThostFtdcInvestUnitField ) ) .
23468                CommModelID as * const _ as usize } , 135usize , concat ! (
23469                "Alignment of field: " , stringify ! (
23470                CThostFtdcInvestUnitField ) , "::" , stringify ! ( CommModelID
23471                ) ));
23472    assert_eq! (unsafe {
23473                & ( * ( 0 as * const CThostFtdcInvestUnitField ) ) .
23474                MarginModelID as * const _ as usize } , 148usize , concat ! (
23475                "Alignment of field: " , stringify ! (
23476                CThostFtdcInvestUnitField ) , "::" , stringify ! (
23477                MarginModelID ) ));
23478    assert_eq! (unsafe {
23479                & ( * ( 0 as * const CThostFtdcInvestUnitField ) ) . AccountID
23480                as * const _ as usize } , 161usize , concat ! (
23481                "Alignment of field: " , stringify ! (
23482                CThostFtdcInvestUnitField ) , "::" , stringify ! ( AccountID )
23483                ));
23484    assert_eq! (unsafe {
23485                & ( * ( 0 as * const CThostFtdcInvestUnitField ) ) .
23486                CurrencyID as * const _ as usize } , 174usize , concat ! (
23487                "Alignment of field: " , stringify ! (
23488                CThostFtdcInvestUnitField ) , "::" , stringify ! ( CurrencyID
23489                ) ));
23490}
23491impl Clone for CThostFtdcInvestUnitField {
23492    fn clone(&self) -> Self { *self }
23493}
23494impl Default for CThostFtdcInvestUnitField {
23495    fn default() -> Self { unsafe { ::std::mem::zeroed() } }
23496}
23497/// 查询投资单元
23498#[repr(C)]
23499#[derive(Default, Copy)]
23500pub struct CThostFtdcQryInvestUnitField {
23501    /// 经纪公司代码
23502    pub BrokerID: TThostFtdcBrokerIDType,
23503    /// 投资者代码
23504    pub InvestorID: TThostFtdcInvestorIDType,
23505    /// 投资单元代码
23506    pub InvestUnitID: TThostFtdcInvestUnitIDType,
23507}
23508#[test]
23509fn bindgen_test_layout_CThostFtdcQryInvestUnitField() {
23510    assert_eq!(::std::mem::size_of::<CThostFtdcQryInvestUnitField>() , 41usize
23511               , concat ! (
23512               "Size of: " , stringify ! ( CThostFtdcQryInvestUnitField ) ));
23513    assert_eq! (::std::mem::align_of::<CThostFtdcQryInvestUnitField>() ,
23514                1usize , concat ! (
23515                "Alignment of " , stringify ! ( CThostFtdcQryInvestUnitField )
23516                ));
23517    assert_eq! (unsafe {
23518                & ( * ( 0 as * const CThostFtdcQryInvestUnitField ) ) .
23519                BrokerID as * const _ as usize } , 0usize , concat ! (
23520                "Alignment of field: " , stringify ! (
23521                CThostFtdcQryInvestUnitField ) , "::" , stringify ! ( BrokerID
23522                ) ));
23523    assert_eq! (unsafe {
23524                & ( * ( 0 as * const CThostFtdcQryInvestUnitField ) ) .
23525                InvestorID as * const _ as usize } , 11usize , concat ! (
23526                "Alignment of field: " , stringify ! (
23527                CThostFtdcQryInvestUnitField ) , "::" , stringify ! (
23528                InvestorID ) ));
23529    assert_eq! (unsafe {
23530                & ( * ( 0 as * const CThostFtdcQryInvestUnitField ) ) .
23531                InvestUnitID as * const _ as usize } , 24usize , concat ! (
23532                "Alignment of field: " , stringify ! (
23533                CThostFtdcQryInvestUnitField ) , "::" , stringify ! (
23534                InvestUnitID ) ));
23535}
23536impl Clone for CThostFtdcQryInvestUnitField {
23537    fn clone(&self) -> Self { *self }
23538}
23539/// 二级代理商资金校验模式
23540#[repr(C)]
23541#[derive(Default, Copy)]
23542pub struct CThostFtdcSecAgentCheckModeField {
23543    /// 投资者代码
23544    pub InvestorID: TThostFtdcInvestorIDType,
23545    /// 经纪公司代码
23546    pub BrokerID: TThostFtdcBrokerIDType,
23547    /// 币种
23548    pub CurrencyID: TThostFtdcCurrencyIDType,
23549    /// 境外中介机构资金帐号
23550    pub BrokerSecAgentID: TThostFtdcAccountIDType,
23551    /// 是否需要校验自己的资金账户
23552    pub CheckSelfAccount: TThostFtdcBoolType,
23553}
23554#[test]
23555fn bindgen_test_layout_CThostFtdcSecAgentCheckModeField() {
23556    assert_eq!(::std::mem::size_of::<CThostFtdcSecAgentCheckModeField>() ,
23557               48usize , concat ! (
23558               "Size of: " , stringify ! ( CThostFtdcSecAgentCheckModeField )
23559               ));
23560    assert_eq! (::std::mem::align_of::<CThostFtdcSecAgentCheckModeField>() ,
23561                4usize , concat ! (
23562                "Alignment of " , stringify ! (
23563                CThostFtdcSecAgentCheckModeField ) ));
23564    assert_eq! (unsafe {
23565                & ( * ( 0 as * const CThostFtdcSecAgentCheckModeField ) ) .
23566                InvestorID as * const _ as usize } , 0usize , concat ! (
23567                "Alignment of field: " , stringify ! (
23568                CThostFtdcSecAgentCheckModeField ) , "::" , stringify ! (
23569                InvestorID ) ));
23570    assert_eq! (unsafe {
23571                & ( * ( 0 as * const CThostFtdcSecAgentCheckModeField ) ) .
23572                BrokerID as * const _ as usize } , 13usize , concat ! (
23573                "Alignment of field: " , stringify ! (
23574                CThostFtdcSecAgentCheckModeField ) , "::" , stringify ! (
23575                BrokerID ) ));
23576    assert_eq! (unsafe {
23577                & ( * ( 0 as * const CThostFtdcSecAgentCheckModeField ) ) .
23578                CurrencyID as * const _ as usize } , 24usize , concat ! (
23579                "Alignment of field: " , stringify ! (
23580                CThostFtdcSecAgentCheckModeField ) , "::" , stringify ! (
23581                CurrencyID ) ));
23582    assert_eq! (unsafe {
23583                & ( * ( 0 as * const CThostFtdcSecAgentCheckModeField ) ) .
23584                BrokerSecAgentID as * const _ as usize } , 28usize , concat !
23585                (
23586                "Alignment of field: " , stringify ! (
23587                CThostFtdcSecAgentCheckModeField ) , "::" , stringify ! (
23588                BrokerSecAgentID ) ));
23589    assert_eq! (unsafe {
23590                & ( * ( 0 as * const CThostFtdcSecAgentCheckModeField ) ) .
23591                CheckSelfAccount as * const _ as usize } , 44usize , concat !
23592                (
23593                "Alignment of field: " , stringify ! (
23594                CThostFtdcSecAgentCheckModeField ) , "::" , stringify ! (
23595                CheckSelfAccount ) ));
23596}
23597impl Clone for CThostFtdcSecAgentCheckModeField {
23598    fn clone(&self) -> Self { *self }
23599}
23600/// 二级代理商信息
23601#[repr(C)]
23602#[derive(Copy)]
23603pub struct CThostFtdcSecAgentTradeInfoField {
23604    /// 经纪公司代码
23605    pub BrokerID: TThostFtdcBrokerIDType,
23606    /// 境外中介机构资金帐号
23607    pub BrokerSecAgentID: TThostFtdcAccountIDType,
23608    /// 投资者代码
23609    pub InvestorID: TThostFtdcInvestorIDType,
23610    /// 二级代理商姓名
23611    pub LongCustomerName: TThostFtdcLongIndividualNameType,
23612}
23613#[test]
23614fn bindgen_test_layout_CThostFtdcSecAgentTradeInfoField() {
23615    assert_eq!(::std::mem::size_of::<CThostFtdcSecAgentTradeInfoField>() ,
23616               198usize , concat ! (
23617               "Size of: " , stringify ! ( CThostFtdcSecAgentTradeInfoField )
23618               ));
23619    assert_eq! (::std::mem::align_of::<CThostFtdcSecAgentTradeInfoField>() ,
23620                1usize , concat ! (
23621                "Alignment of " , stringify ! (
23622                CThostFtdcSecAgentTradeInfoField ) ));
23623    assert_eq! (unsafe {
23624                & ( * ( 0 as * const CThostFtdcSecAgentTradeInfoField ) ) .
23625                BrokerID as * const _ as usize } , 0usize , concat ! (
23626                "Alignment of field: " , stringify ! (
23627                CThostFtdcSecAgentTradeInfoField ) , "::" , stringify ! (
23628                BrokerID ) ));
23629    assert_eq! (unsafe {
23630                & ( * ( 0 as * const CThostFtdcSecAgentTradeInfoField ) ) .
23631                BrokerSecAgentID as * const _ as usize } , 11usize , concat !
23632                (
23633                "Alignment of field: " , stringify ! (
23634                CThostFtdcSecAgentTradeInfoField ) , "::" , stringify ! (
23635                BrokerSecAgentID ) ));
23636    assert_eq! (unsafe {
23637                & ( * ( 0 as * const CThostFtdcSecAgentTradeInfoField ) ) .
23638                InvestorID as * const _ as usize } , 24usize , concat ! (
23639                "Alignment of field: " , stringify ! (
23640                CThostFtdcSecAgentTradeInfoField ) , "::" , stringify ! (
23641                InvestorID ) ));
23642    assert_eq! (unsafe {
23643                & ( * ( 0 as * const CThostFtdcSecAgentTradeInfoField ) ) .
23644                LongCustomerName as * const _ as usize } , 37usize , concat !
23645                (
23646                "Alignment of field: " , stringify ! (
23647                CThostFtdcSecAgentTradeInfoField ) , "::" , stringify ! (
23648                LongCustomerName ) ));
23649}
23650impl Clone for CThostFtdcSecAgentTradeInfoField {
23651    fn clone(&self) -> Self { *self }
23652}
23653impl Default for CThostFtdcSecAgentTradeInfoField {
23654    fn default() -> Self { unsafe { ::std::mem::zeroed() } }
23655}
23656/// 市场行情
23657#[repr(C)]
23658#[derive(Default, Copy)]
23659pub struct CThostFtdcMarketDataField {
23660    /// 交易日
23661    pub TradingDay: TThostFtdcDateType,
23662    /// 合约代码
23663    pub InstrumentID: TThostFtdcInstrumentIDType,
23664    /// 交易所代码
23665    pub ExchangeID: TThostFtdcExchangeIDType,
23666    /// 合约在交易所的代码
23667    pub ExchangeInstID: TThostFtdcExchangeInstIDType,
23668    /// 最新价
23669    pub LastPrice: TThostFtdcPriceType,
23670    /// 上次结算价
23671    pub PreSettlementPrice: TThostFtdcPriceType,
23672    /// 昨收盘
23673    pub PreClosePrice: TThostFtdcPriceType,
23674    /// 昨持仓量
23675    pub PreOpenInterest: TThostFtdcLargeVolumeType,
23676    /// 今开盘
23677    pub OpenPrice: TThostFtdcPriceType,
23678    /// 最高价
23679    pub HighestPrice: TThostFtdcPriceType,
23680    /// 最低价
23681    pub LowestPrice: TThostFtdcPriceType,
23682    /// 数量
23683    pub Volume: TThostFtdcVolumeType,
23684    /// 成交金额
23685    pub Turnover: TThostFtdcMoneyType,
23686    /// 持仓量
23687    pub OpenInterest: TThostFtdcLargeVolumeType,
23688    /// 今收盘
23689    pub ClosePrice: TThostFtdcPriceType,
23690    /// 本次结算价
23691    pub SettlementPrice: TThostFtdcPriceType,
23692    /// 涨停板价
23693    pub UpperLimitPrice: TThostFtdcPriceType,
23694    /// 跌停板价
23695    pub LowerLimitPrice: TThostFtdcPriceType,
23696    /// 昨虚实度
23697    pub PreDelta: TThostFtdcRatioType,
23698    /// 今虚实度
23699    pub CurrDelta: TThostFtdcRatioType,
23700    /// 最后修改时间
23701    pub UpdateTime: TThostFtdcTimeType,
23702    /// 最后修改毫秒
23703    pub UpdateMillisec: TThostFtdcMillisecType,
23704    /// 业务日期
23705    pub ActionDay: TThostFtdcDateType,
23706}
23707#[test]
23708fn bindgen_test_layout_CThostFtdcMarketDataField() {
23709    assert_eq!(::std::mem::size_of::<CThostFtdcMarketDataField>() , 240usize ,
23710               concat ! (
23711               "Size of: " , stringify ! ( CThostFtdcMarketDataField ) ));
23712    assert_eq! (::std::mem::align_of::<CThostFtdcMarketDataField>() , 8usize ,
23713                concat ! (
23714                "Alignment of " , stringify ! ( CThostFtdcMarketDataField )
23715                ));
23716    assert_eq! (unsafe {
23717                & ( * ( 0 as * const CThostFtdcMarketDataField ) ) .
23718                TradingDay as * const _ as usize } , 0usize , concat ! (
23719                "Alignment of field: " , stringify ! (
23720                CThostFtdcMarketDataField ) , "::" , stringify ! ( TradingDay
23721                ) ));
23722    assert_eq! (unsafe {
23723                & ( * ( 0 as * const CThostFtdcMarketDataField ) ) .
23724                InstrumentID as * const _ as usize } , 9usize , concat ! (
23725                "Alignment of field: " , stringify ! (
23726                CThostFtdcMarketDataField ) , "::" , stringify ! (
23727                InstrumentID ) ));
23728    assert_eq! (unsafe {
23729                & ( * ( 0 as * const CThostFtdcMarketDataField ) ) .
23730                ExchangeID as * const _ as usize } , 40usize , concat ! (
23731                "Alignment of field: " , stringify ! (
23732                CThostFtdcMarketDataField ) , "::" , stringify ! ( ExchangeID
23733                ) ));
23734    assert_eq! (unsafe {
23735                & ( * ( 0 as * const CThostFtdcMarketDataField ) ) .
23736                ExchangeInstID as * const _ as usize } , 49usize , concat ! (
23737                "Alignment of field: " , stringify ! (
23738                CThostFtdcMarketDataField ) , "::" , stringify ! (
23739                ExchangeInstID ) ));
23740    assert_eq! (unsafe {
23741                & ( * ( 0 as * const CThostFtdcMarketDataField ) ) . LastPrice
23742                as * const _ as usize } , 80usize , concat ! (
23743                "Alignment of field: " , stringify ! (
23744                CThostFtdcMarketDataField ) , "::" , stringify ! ( LastPrice )
23745                ));
23746    assert_eq! (unsafe {
23747                & ( * ( 0 as * const CThostFtdcMarketDataField ) ) .
23748                PreSettlementPrice as * const _ as usize } , 88usize , concat
23749                ! (
23750                "Alignment of field: " , stringify ! (
23751                CThostFtdcMarketDataField ) , "::" , stringify ! (
23752                PreSettlementPrice ) ));
23753    assert_eq! (unsafe {
23754                & ( * ( 0 as * const CThostFtdcMarketDataField ) ) .
23755                PreClosePrice as * const _ as usize } , 96usize , concat ! (
23756                "Alignment of field: " , stringify ! (
23757                CThostFtdcMarketDataField ) , "::" , stringify ! (
23758                PreClosePrice ) ));
23759    assert_eq! (unsafe {
23760                & ( * ( 0 as * const CThostFtdcMarketDataField ) ) .
23761                PreOpenInterest as * const _ as usize } , 104usize , concat !
23762                (
23763                "Alignment of field: " , stringify ! (
23764                CThostFtdcMarketDataField ) , "::" , stringify ! (
23765                PreOpenInterest ) ));
23766    assert_eq! (unsafe {
23767                & ( * ( 0 as * const CThostFtdcMarketDataField ) ) . OpenPrice
23768                as * const _ as usize } , 112usize , concat ! (
23769                "Alignment of field: " , stringify ! (
23770                CThostFtdcMarketDataField ) , "::" , stringify ! ( OpenPrice )
23771                ));
23772    assert_eq! (unsafe {
23773                & ( * ( 0 as * const CThostFtdcMarketDataField ) ) .
23774                HighestPrice as * const _ as usize } , 120usize , concat ! (
23775                "Alignment of field: " , stringify ! (
23776                CThostFtdcMarketDataField ) , "::" , stringify ! (
23777                HighestPrice ) ));
23778    assert_eq! (unsafe {
23779                & ( * ( 0 as * const CThostFtdcMarketDataField ) ) .
23780                LowestPrice as * const _ as usize } , 128usize , concat ! (
23781                "Alignment of field: " , stringify ! (
23782                CThostFtdcMarketDataField ) , "::" , stringify ! ( LowestPrice
23783                ) ));
23784    assert_eq! (unsafe {
23785                & ( * ( 0 as * const CThostFtdcMarketDataField ) ) . Volume as
23786                * const _ as usize } , 136usize , concat ! (
23787                "Alignment of field: " , stringify ! (
23788                CThostFtdcMarketDataField ) , "::" , stringify ! ( Volume )
23789                ));
23790    assert_eq! (unsafe {
23791                & ( * ( 0 as * const CThostFtdcMarketDataField ) ) . Turnover
23792                as * const _ as usize } , 144usize , concat ! (
23793                "Alignment of field: " , stringify ! (
23794                CThostFtdcMarketDataField ) , "::" , stringify ! ( Turnover )
23795                ));
23796    assert_eq! (unsafe {
23797                & ( * ( 0 as * const CThostFtdcMarketDataField ) ) .
23798                OpenInterest as * const _ as usize } , 152usize , concat ! (
23799                "Alignment of field: " , stringify ! (
23800                CThostFtdcMarketDataField ) , "::" , stringify ! (
23801                OpenInterest ) ));
23802    assert_eq! (unsafe {
23803                & ( * ( 0 as * const CThostFtdcMarketDataField ) ) .
23804                ClosePrice as * const _ as usize } , 160usize , concat ! (
23805                "Alignment of field: " , stringify ! (
23806                CThostFtdcMarketDataField ) , "::" , stringify ! ( ClosePrice
23807                ) ));
23808    assert_eq! (unsafe {
23809                & ( * ( 0 as * const CThostFtdcMarketDataField ) ) .
23810                SettlementPrice as * const _ as usize } , 168usize , concat !
23811                (
23812                "Alignment of field: " , stringify ! (
23813                CThostFtdcMarketDataField ) , "::" , stringify ! (
23814                SettlementPrice ) ));
23815    assert_eq! (unsafe {
23816                & ( * ( 0 as * const CThostFtdcMarketDataField ) ) .
23817                UpperLimitPrice as * const _ as usize } , 176usize , concat !
23818                (
23819                "Alignment of field: " , stringify ! (
23820                CThostFtdcMarketDataField ) , "::" , stringify ! (
23821                UpperLimitPrice ) ));
23822    assert_eq! (unsafe {
23823                & ( * ( 0 as * const CThostFtdcMarketDataField ) ) .
23824                LowerLimitPrice as * const _ as usize } , 184usize , concat !
23825                (
23826                "Alignment of field: " , stringify ! (
23827                CThostFtdcMarketDataField ) , "::" , stringify ! (
23828                LowerLimitPrice ) ));
23829    assert_eq! (unsafe {
23830                & ( * ( 0 as * const CThostFtdcMarketDataField ) ) . PreDelta
23831                as * const _ as usize } , 192usize , concat ! (
23832                "Alignment of field: " , stringify ! (
23833                CThostFtdcMarketDataField ) , "::" , stringify ! ( PreDelta )
23834                ));
23835    assert_eq! (unsafe {
23836                & ( * ( 0 as * const CThostFtdcMarketDataField ) ) . CurrDelta
23837                as * const _ as usize } , 200usize , concat ! (
23838                "Alignment of field: " , stringify ! (
23839                CThostFtdcMarketDataField ) , "::" , stringify ! ( CurrDelta )
23840                ));
23841    assert_eq! (unsafe {
23842                & ( * ( 0 as * const CThostFtdcMarketDataField ) ) .
23843                UpdateTime as * const _ as usize } , 208usize , concat ! (
23844                "Alignment of field: " , stringify ! (
23845                CThostFtdcMarketDataField ) , "::" , stringify ! ( UpdateTime
23846                ) ));
23847    assert_eq! (unsafe {
23848                & ( * ( 0 as * const CThostFtdcMarketDataField ) ) .
23849                UpdateMillisec as * const _ as usize } , 220usize , concat ! (
23850                "Alignment of field: " , stringify ! (
23851                CThostFtdcMarketDataField ) , "::" , stringify ! (
23852                UpdateMillisec ) ));
23853    assert_eq! (unsafe {
23854                & ( * ( 0 as * const CThostFtdcMarketDataField ) ) . ActionDay
23855                as * const _ as usize } , 224usize , concat ! (
23856                "Alignment of field: " , stringify ! (
23857                CThostFtdcMarketDataField ) , "::" , stringify ! ( ActionDay )
23858                ));
23859}
23860impl Clone for CThostFtdcMarketDataField {
23861    fn clone(&self) -> Self { *self }
23862}
23863/// 行情基础属性
23864#[repr(C)]
23865#[derive(Default, Copy)]
23866pub struct CThostFtdcMarketDataBaseField {
23867    /// 交易日
23868    pub TradingDay: TThostFtdcDateType,
23869    /// 上次结算价
23870    pub PreSettlementPrice: TThostFtdcPriceType,
23871    /// 昨收盘
23872    pub PreClosePrice: TThostFtdcPriceType,
23873    /// 昨持仓量
23874    pub PreOpenInterest: TThostFtdcLargeVolumeType,
23875    /// 昨虚实度
23876    pub PreDelta: TThostFtdcRatioType,
23877}
23878#[test]
23879fn bindgen_test_layout_CThostFtdcMarketDataBaseField() {
23880    assert_eq!(::std::mem::size_of::<CThostFtdcMarketDataBaseField>() ,
23881               48usize , concat ! (
23882               "Size of: " , stringify ! ( CThostFtdcMarketDataBaseField ) ));
23883    assert_eq! (::std::mem::align_of::<CThostFtdcMarketDataBaseField>() ,
23884                8usize , concat ! (
23885                "Alignment of " , stringify ! ( CThostFtdcMarketDataBaseField
23886                ) ));
23887    assert_eq! (unsafe {
23888                & ( * ( 0 as * const CThostFtdcMarketDataBaseField ) ) .
23889                TradingDay as * const _ as usize } , 0usize , concat ! (
23890                "Alignment of field: " , stringify ! (
23891                CThostFtdcMarketDataBaseField ) , "::" , stringify ! (
23892                TradingDay ) ));
23893    assert_eq! (unsafe {
23894                & ( * ( 0 as * const CThostFtdcMarketDataBaseField ) ) .
23895                PreSettlementPrice as * const _ as usize } , 16usize , concat
23896                ! (
23897                "Alignment of field: " , stringify ! (
23898                CThostFtdcMarketDataBaseField ) , "::" , stringify ! (
23899                PreSettlementPrice ) ));
23900    assert_eq! (unsafe {
23901                & ( * ( 0 as * const CThostFtdcMarketDataBaseField ) ) .
23902                PreClosePrice as * const _ as usize } , 24usize , concat ! (
23903                "Alignment of field: " , stringify ! (
23904                CThostFtdcMarketDataBaseField ) , "::" , stringify ! (
23905                PreClosePrice ) ));
23906    assert_eq! (unsafe {
23907                & ( * ( 0 as * const CThostFtdcMarketDataBaseField ) ) .
23908                PreOpenInterest as * const _ as usize } , 32usize , concat ! (
23909                "Alignment of field: " , stringify ! (
23910                CThostFtdcMarketDataBaseField ) , "::" , stringify ! (
23911                PreOpenInterest ) ));
23912    assert_eq! (unsafe {
23913                & ( * ( 0 as * const CThostFtdcMarketDataBaseField ) ) .
23914                PreDelta as * const _ as usize } , 40usize , concat ! (
23915                "Alignment of field: " , stringify ! (
23916                CThostFtdcMarketDataBaseField ) , "::" , stringify ! (
23917                PreDelta ) ));
23918}
23919impl Clone for CThostFtdcMarketDataBaseField {
23920    fn clone(&self) -> Self { *self }
23921}
23922/// 行情静态属性
23923#[repr(C)]
23924#[derive(Default, Copy)]
23925pub struct CThostFtdcMarketDataStaticField {
23926    /// 今开盘
23927    pub OpenPrice: TThostFtdcPriceType,
23928    /// 最高价
23929    pub HighestPrice: TThostFtdcPriceType,
23930    /// 最低价
23931    pub LowestPrice: TThostFtdcPriceType,
23932    /// 今收盘
23933    pub ClosePrice: TThostFtdcPriceType,
23934    /// 涨停板价
23935    pub UpperLimitPrice: TThostFtdcPriceType,
23936    /// 跌停板价
23937    pub LowerLimitPrice: TThostFtdcPriceType,
23938    /// 本次结算价
23939    pub SettlementPrice: TThostFtdcPriceType,
23940    /// 今虚实度
23941    pub CurrDelta: TThostFtdcRatioType,
23942}
23943#[test]
23944fn bindgen_test_layout_CThostFtdcMarketDataStaticField() {
23945    assert_eq!(::std::mem::size_of::<CThostFtdcMarketDataStaticField>() ,
23946               64usize , concat ! (
23947               "Size of: " , stringify ! ( CThostFtdcMarketDataStaticField )
23948               ));
23949    assert_eq! (::std::mem::align_of::<CThostFtdcMarketDataStaticField>() ,
23950                8usize , concat ! (
23951                "Alignment of " , stringify ! (
23952                CThostFtdcMarketDataStaticField ) ));
23953    assert_eq! (unsafe {
23954                & ( * ( 0 as * const CThostFtdcMarketDataStaticField ) ) .
23955                OpenPrice as * const _ as usize } , 0usize , concat ! (
23956                "Alignment of field: " , stringify ! (
23957                CThostFtdcMarketDataStaticField ) , "::" , stringify ! (
23958                OpenPrice ) ));
23959    assert_eq! (unsafe {
23960                & ( * ( 0 as * const CThostFtdcMarketDataStaticField ) ) .
23961                HighestPrice as * const _ as usize } , 8usize , concat ! (
23962                "Alignment of field: " , stringify ! (
23963                CThostFtdcMarketDataStaticField ) , "::" , stringify ! (
23964                HighestPrice ) ));
23965    assert_eq! (unsafe {
23966                & ( * ( 0 as * const CThostFtdcMarketDataStaticField ) ) .
23967                LowestPrice as * const _ as usize } , 16usize , concat ! (
23968                "Alignment of field: " , stringify ! (
23969                CThostFtdcMarketDataStaticField ) , "::" , stringify ! (
23970                LowestPrice ) ));
23971    assert_eq! (unsafe {
23972                & ( * ( 0 as * const CThostFtdcMarketDataStaticField ) ) .
23973                ClosePrice as * const _ as usize } , 24usize , concat ! (
23974                "Alignment of field: " , stringify ! (
23975                CThostFtdcMarketDataStaticField ) , "::" , stringify ! (
23976                ClosePrice ) ));
23977    assert_eq! (unsafe {
23978                & ( * ( 0 as * const CThostFtdcMarketDataStaticField ) ) .
23979                UpperLimitPrice as * const _ as usize } , 32usize , concat ! (
23980                "Alignment of field: " , stringify ! (
23981                CThostFtdcMarketDataStaticField ) , "::" , stringify ! (
23982                UpperLimitPrice ) ));
23983    assert_eq! (unsafe {
23984                & ( * ( 0 as * const CThostFtdcMarketDataStaticField ) ) .
23985                LowerLimitPrice as * const _ as usize } , 40usize , concat ! (
23986                "Alignment of field: " , stringify ! (
23987                CThostFtdcMarketDataStaticField ) , "::" , stringify ! (
23988                LowerLimitPrice ) ));
23989    assert_eq! (unsafe {
23990                & ( * ( 0 as * const CThostFtdcMarketDataStaticField ) ) .
23991                SettlementPrice as * const _ as usize } , 48usize , concat ! (
23992                "Alignment of field: " , stringify ! (
23993                CThostFtdcMarketDataStaticField ) , "::" , stringify ! (
23994                SettlementPrice ) ));
23995    assert_eq! (unsafe {
23996                & ( * ( 0 as * const CThostFtdcMarketDataStaticField ) ) .
23997                CurrDelta as * const _ as usize } , 56usize , concat ! (
23998                "Alignment of field: " , stringify ! (
23999                CThostFtdcMarketDataStaticField ) , "::" , stringify ! (
24000                CurrDelta ) ));
24001}
24002impl Clone for CThostFtdcMarketDataStaticField {
24003    fn clone(&self) -> Self { *self }
24004}
24005/// 行情最新成交属性
24006#[repr(C)]
24007#[derive(Default, Copy)]
24008pub struct CThostFtdcMarketDataLastMatchField {
24009    /// 最新价
24010    pub LastPrice: TThostFtdcPriceType,
24011    /// 数量
24012    pub Volume: TThostFtdcVolumeType,
24013    /// 成交金额
24014    pub Turnover: TThostFtdcMoneyType,
24015    /// 持仓量
24016    pub OpenInterest: TThostFtdcLargeVolumeType,
24017}
24018#[test]
24019fn bindgen_test_layout_CThostFtdcMarketDataLastMatchField() {
24020    assert_eq!(::std::mem::size_of::<CThostFtdcMarketDataLastMatchField>() ,
24021               32usize , concat ! (
24022               "Size of: " , stringify ! ( CThostFtdcMarketDataLastMatchField
24023               ) ));
24024    assert_eq! (::std::mem::align_of::<CThostFtdcMarketDataLastMatchField>() ,
24025                8usize , concat ! (
24026                "Alignment of " , stringify ! (
24027                CThostFtdcMarketDataLastMatchField ) ));
24028    assert_eq! (unsafe {
24029                & ( * ( 0 as * const CThostFtdcMarketDataLastMatchField ) ) .
24030                LastPrice as * const _ as usize } , 0usize , concat ! (
24031                "Alignment of field: " , stringify ! (
24032                CThostFtdcMarketDataLastMatchField ) , "::" , stringify ! (
24033                LastPrice ) ));
24034    assert_eq! (unsafe {
24035                & ( * ( 0 as * const CThostFtdcMarketDataLastMatchField ) ) .
24036                Volume as * const _ as usize } , 8usize , concat ! (
24037                "Alignment of field: " , stringify ! (
24038                CThostFtdcMarketDataLastMatchField ) , "::" , stringify ! (
24039                Volume ) ));
24040    assert_eq! (unsafe {
24041                & ( * ( 0 as * const CThostFtdcMarketDataLastMatchField ) ) .
24042                Turnover as * const _ as usize } , 16usize , concat ! (
24043                "Alignment of field: " , stringify ! (
24044                CThostFtdcMarketDataLastMatchField ) , "::" , stringify ! (
24045                Turnover ) ));
24046    assert_eq! (unsafe {
24047                & ( * ( 0 as * const CThostFtdcMarketDataLastMatchField ) ) .
24048                OpenInterest as * const _ as usize } , 24usize , concat ! (
24049                "Alignment of field: " , stringify ! (
24050                CThostFtdcMarketDataLastMatchField ) , "::" , stringify ! (
24051                OpenInterest ) ));
24052}
24053impl Clone for CThostFtdcMarketDataLastMatchField {
24054    fn clone(&self) -> Self { *self }
24055}
24056/// 行情最优价属性
24057#[repr(C)]
24058#[derive(Default, Copy)]
24059pub struct CThostFtdcMarketDataBestPriceField {
24060    /// 申买价一
24061    pub BidPrice1: TThostFtdcPriceType,
24062    /// 申买量一
24063    pub BidVolume1: TThostFtdcVolumeType,
24064    /// 申卖价一
24065    pub AskPrice1: TThostFtdcPriceType,
24066    /// 申卖量一
24067    pub AskVolume1: TThostFtdcVolumeType,
24068}
24069#[test]
24070fn bindgen_test_layout_CThostFtdcMarketDataBestPriceField() {
24071    assert_eq!(::std::mem::size_of::<CThostFtdcMarketDataBestPriceField>() ,
24072               32usize , concat ! (
24073               "Size of: " , stringify ! ( CThostFtdcMarketDataBestPriceField
24074               ) ));
24075    assert_eq! (::std::mem::align_of::<CThostFtdcMarketDataBestPriceField>() ,
24076                8usize , concat ! (
24077                "Alignment of " , stringify ! (
24078                CThostFtdcMarketDataBestPriceField ) ));
24079    assert_eq! (unsafe {
24080                & ( * ( 0 as * const CThostFtdcMarketDataBestPriceField ) ) .
24081                BidPrice1 as * const _ as usize } , 0usize , concat ! (
24082                "Alignment of field: " , stringify ! (
24083                CThostFtdcMarketDataBestPriceField ) , "::" , stringify ! (
24084                BidPrice1 ) ));
24085    assert_eq! (unsafe {
24086                & ( * ( 0 as * const CThostFtdcMarketDataBestPriceField ) ) .
24087                BidVolume1 as * const _ as usize } , 8usize , concat ! (
24088                "Alignment of field: " , stringify ! (
24089                CThostFtdcMarketDataBestPriceField ) , "::" , stringify ! (
24090                BidVolume1 ) ));
24091    assert_eq! (unsafe {
24092                & ( * ( 0 as * const CThostFtdcMarketDataBestPriceField ) ) .
24093                AskPrice1 as * const _ as usize } , 16usize , concat ! (
24094                "Alignment of field: " , stringify ! (
24095                CThostFtdcMarketDataBestPriceField ) , "::" , stringify ! (
24096                AskPrice1 ) ));
24097    assert_eq! (unsafe {
24098                & ( * ( 0 as * const CThostFtdcMarketDataBestPriceField ) ) .
24099                AskVolume1 as * const _ as usize } , 24usize , concat ! (
24100                "Alignment of field: " , stringify ! (
24101                CThostFtdcMarketDataBestPriceField ) , "::" , stringify ! (
24102                AskVolume1 ) ));
24103}
24104impl Clone for CThostFtdcMarketDataBestPriceField {
24105    fn clone(&self) -> Self { *self }
24106}
24107/// 行情申买二、三属性
24108#[repr(C)]
24109#[derive(Default, Copy)]
24110pub struct CThostFtdcMarketDataBid23Field {
24111    /// 申买价二
24112    pub BidPrice2: TThostFtdcPriceType,
24113    /// 申买量二
24114    pub BidVolume2: TThostFtdcVolumeType,
24115    /// 申买价三
24116    pub BidPrice3: TThostFtdcPriceType,
24117    /// 申买量三
24118    pub BidVolume3: TThostFtdcVolumeType,
24119}
24120#[test]
24121fn bindgen_test_layout_CThostFtdcMarketDataBid23Field() {
24122    assert_eq!(::std::mem::size_of::<CThostFtdcMarketDataBid23Field>() ,
24123               32usize , concat ! (
24124               "Size of: " , stringify ! ( CThostFtdcMarketDataBid23Field )
24125               ));
24126    assert_eq! (::std::mem::align_of::<CThostFtdcMarketDataBid23Field>() ,
24127                8usize , concat ! (
24128                "Alignment of " , stringify ! ( CThostFtdcMarketDataBid23Field
24129                ) ));
24130    assert_eq! (unsafe {
24131                & ( * ( 0 as * const CThostFtdcMarketDataBid23Field ) ) .
24132                BidPrice2 as * const _ as usize } , 0usize , concat ! (
24133                "Alignment of field: " , stringify ! (
24134                CThostFtdcMarketDataBid23Field ) , "::" , stringify ! (
24135                BidPrice2 ) ));
24136    assert_eq! (unsafe {
24137                & ( * ( 0 as * const CThostFtdcMarketDataBid23Field ) ) .
24138                BidVolume2 as * const _ as usize } , 8usize , concat ! (
24139                "Alignment of field: " , stringify ! (
24140                CThostFtdcMarketDataBid23Field ) , "::" , stringify ! (
24141                BidVolume2 ) ));
24142    assert_eq! (unsafe {
24143                & ( * ( 0 as * const CThostFtdcMarketDataBid23Field ) ) .
24144                BidPrice3 as * const _ as usize } , 16usize , concat ! (
24145                "Alignment of field: " , stringify ! (
24146                CThostFtdcMarketDataBid23Field ) , "::" , stringify ! (
24147                BidPrice3 ) ));
24148    assert_eq! (unsafe {
24149                & ( * ( 0 as * const CThostFtdcMarketDataBid23Field ) ) .
24150                BidVolume3 as * const _ as usize } , 24usize , concat ! (
24151                "Alignment of field: " , stringify ! (
24152                CThostFtdcMarketDataBid23Field ) , "::" , stringify ! (
24153                BidVolume3 ) ));
24154}
24155impl Clone for CThostFtdcMarketDataBid23Field {
24156    fn clone(&self) -> Self { *self }
24157}
24158/// 行情申卖二、三属性
24159#[repr(C)]
24160#[derive(Default, Copy)]
24161pub struct CThostFtdcMarketDataAsk23Field {
24162    /// 申卖价二
24163    pub AskPrice2: TThostFtdcPriceType,
24164    /// 申卖量二
24165    pub AskVolume2: TThostFtdcVolumeType,
24166    /// 申卖价三
24167    pub AskPrice3: TThostFtdcPriceType,
24168    /// 申卖量三
24169    pub AskVolume3: TThostFtdcVolumeType,
24170}
24171#[test]
24172fn bindgen_test_layout_CThostFtdcMarketDataAsk23Field() {
24173    assert_eq!(::std::mem::size_of::<CThostFtdcMarketDataAsk23Field>() ,
24174               32usize , concat ! (
24175               "Size of: " , stringify ! ( CThostFtdcMarketDataAsk23Field )
24176               ));
24177    assert_eq! (::std::mem::align_of::<CThostFtdcMarketDataAsk23Field>() ,
24178                8usize , concat ! (
24179                "Alignment of " , stringify ! ( CThostFtdcMarketDataAsk23Field
24180                ) ));
24181    assert_eq! (unsafe {
24182                & ( * ( 0 as * const CThostFtdcMarketDataAsk23Field ) ) .
24183                AskPrice2 as * const _ as usize } , 0usize , concat ! (
24184                "Alignment of field: " , stringify ! (
24185                CThostFtdcMarketDataAsk23Field ) , "::" , stringify ! (
24186                AskPrice2 ) ));
24187    assert_eq! (unsafe {
24188                & ( * ( 0 as * const CThostFtdcMarketDataAsk23Field ) ) .
24189                AskVolume2 as * const _ as usize } , 8usize , concat ! (
24190                "Alignment of field: " , stringify ! (
24191                CThostFtdcMarketDataAsk23Field ) , "::" , stringify ! (
24192                AskVolume2 ) ));
24193    assert_eq! (unsafe {
24194                & ( * ( 0 as * const CThostFtdcMarketDataAsk23Field ) ) .
24195                AskPrice3 as * const _ as usize } , 16usize , concat ! (
24196                "Alignment of field: " , stringify ! (
24197                CThostFtdcMarketDataAsk23Field ) , "::" , stringify ! (
24198                AskPrice3 ) ));
24199    assert_eq! (unsafe {
24200                & ( * ( 0 as * const CThostFtdcMarketDataAsk23Field ) ) .
24201                AskVolume3 as * const _ as usize } , 24usize , concat ! (
24202                "Alignment of field: " , stringify ! (
24203                CThostFtdcMarketDataAsk23Field ) , "::" , stringify ! (
24204                AskVolume3 ) ));
24205}
24206impl Clone for CThostFtdcMarketDataAsk23Field {
24207    fn clone(&self) -> Self { *self }
24208}
24209/// 行情申买四、五属性
24210#[repr(C)]
24211#[derive(Default, Copy)]
24212pub struct CThostFtdcMarketDataBid45Field {
24213    /// 申买价四
24214    pub BidPrice4: TThostFtdcPriceType,
24215    /// 申买量四
24216    pub BidVolume4: TThostFtdcVolumeType,
24217    /// 申买价五
24218    pub BidPrice5: TThostFtdcPriceType,
24219    /// 申买量五
24220    pub BidVolume5: TThostFtdcVolumeType,
24221}
24222#[test]
24223fn bindgen_test_layout_CThostFtdcMarketDataBid45Field() {
24224    assert_eq!(::std::mem::size_of::<CThostFtdcMarketDataBid45Field>() ,
24225               32usize , concat ! (
24226               "Size of: " , stringify ! ( CThostFtdcMarketDataBid45Field )
24227               ));
24228    assert_eq! (::std::mem::align_of::<CThostFtdcMarketDataBid45Field>() ,
24229                8usize , concat ! (
24230                "Alignment of " , stringify ! ( CThostFtdcMarketDataBid45Field
24231                ) ));
24232    assert_eq! (unsafe {
24233                & ( * ( 0 as * const CThostFtdcMarketDataBid45Field ) ) .
24234                BidPrice4 as * const _ as usize } , 0usize , concat ! (
24235                "Alignment of field: " , stringify ! (
24236                CThostFtdcMarketDataBid45Field ) , "::" , stringify ! (
24237                BidPrice4 ) ));
24238    assert_eq! (unsafe {
24239                & ( * ( 0 as * const CThostFtdcMarketDataBid45Field ) ) .
24240                BidVolume4 as * const _ as usize } , 8usize , concat ! (
24241                "Alignment of field: " , stringify ! (
24242                CThostFtdcMarketDataBid45Field ) , "::" , stringify ! (
24243                BidVolume4 ) ));
24244    assert_eq! (unsafe {
24245                & ( * ( 0 as * const CThostFtdcMarketDataBid45Field ) ) .
24246                BidPrice5 as * const _ as usize } , 16usize , concat ! (
24247                "Alignment of field: " , stringify ! (
24248                CThostFtdcMarketDataBid45Field ) , "::" , stringify ! (
24249                BidPrice5 ) ));
24250    assert_eq! (unsafe {
24251                & ( * ( 0 as * const CThostFtdcMarketDataBid45Field ) ) .
24252                BidVolume5 as * const _ as usize } , 24usize , concat ! (
24253                "Alignment of field: " , stringify ! (
24254                CThostFtdcMarketDataBid45Field ) , "::" , stringify ! (
24255                BidVolume5 ) ));
24256}
24257impl Clone for CThostFtdcMarketDataBid45Field {
24258    fn clone(&self) -> Self { *self }
24259}
24260/// 行情申卖四、五属性
24261#[repr(C)]
24262#[derive(Default, Copy)]
24263pub struct CThostFtdcMarketDataAsk45Field {
24264    /// 申卖价四
24265    pub AskPrice4: TThostFtdcPriceType,
24266    /// 申卖量四
24267    pub AskVolume4: TThostFtdcVolumeType,
24268    /// 申卖价五
24269    pub AskPrice5: TThostFtdcPriceType,
24270    /// 申卖量五
24271    pub AskVolume5: TThostFtdcVolumeType,
24272}
24273#[test]
24274fn bindgen_test_layout_CThostFtdcMarketDataAsk45Field() {
24275    assert_eq!(::std::mem::size_of::<CThostFtdcMarketDataAsk45Field>() ,
24276               32usize , concat ! (
24277               "Size of: " , stringify ! ( CThostFtdcMarketDataAsk45Field )
24278               ));
24279    assert_eq! (::std::mem::align_of::<CThostFtdcMarketDataAsk45Field>() ,
24280                8usize , concat ! (
24281                "Alignment of " , stringify ! ( CThostFtdcMarketDataAsk45Field
24282                ) ));
24283    assert_eq! (unsafe {
24284                & ( * ( 0 as * const CThostFtdcMarketDataAsk45Field ) ) .
24285                AskPrice4 as * const _ as usize } , 0usize , concat ! (
24286                "Alignment of field: " , stringify ! (
24287                CThostFtdcMarketDataAsk45Field ) , "::" , stringify ! (
24288                AskPrice4 ) ));
24289    assert_eq! (unsafe {
24290                & ( * ( 0 as * const CThostFtdcMarketDataAsk45Field ) ) .
24291                AskVolume4 as * const _ as usize } , 8usize , concat ! (
24292                "Alignment of field: " , stringify ! (
24293                CThostFtdcMarketDataAsk45Field ) , "::" , stringify ! (
24294                AskVolume4 ) ));
24295    assert_eq! (unsafe {
24296                & ( * ( 0 as * const CThostFtdcMarketDataAsk45Field ) ) .
24297                AskPrice5 as * const _ as usize } , 16usize , concat ! (
24298                "Alignment of field: " , stringify ! (
24299                CThostFtdcMarketDataAsk45Field ) , "::" , stringify ! (
24300                AskPrice5 ) ));
24301    assert_eq! (unsafe {
24302                & ( * ( 0 as * const CThostFtdcMarketDataAsk45Field ) ) .
24303                AskVolume5 as * const _ as usize } , 24usize , concat ! (
24304                "Alignment of field: " , stringify ! (
24305                CThostFtdcMarketDataAsk45Field ) , "::" , stringify ! (
24306                AskVolume5 ) ));
24307}
24308impl Clone for CThostFtdcMarketDataAsk45Field {
24309    fn clone(&self) -> Self { *self }
24310}
24311/// 行情更新时间属性
24312#[repr(C)]
24313#[derive(Default, Copy)]
24314pub struct CThostFtdcMarketDataUpdateTimeField {
24315    /// 合约代码
24316    pub InstrumentID: TThostFtdcInstrumentIDType,
24317    /// 最后修改时间
24318    pub UpdateTime: TThostFtdcTimeType,
24319    /// 最后修改毫秒
24320    pub UpdateMillisec: TThostFtdcMillisecType,
24321    /// 业务日期
24322    pub ActionDay: TThostFtdcDateType,
24323}
24324#[test]
24325fn bindgen_test_layout_CThostFtdcMarketDataUpdateTimeField() {
24326    assert_eq!(::std::mem::size_of::<CThostFtdcMarketDataUpdateTimeField>() ,
24327               56usize , concat ! (
24328               "Size of: " , stringify ! ( CThostFtdcMarketDataUpdateTimeField
24329               ) ));
24330    assert_eq! (::std::mem::align_of::<CThostFtdcMarketDataUpdateTimeField>()
24331                , 4usize , concat ! (
24332                "Alignment of " , stringify ! (
24333                CThostFtdcMarketDataUpdateTimeField ) ));
24334    assert_eq! (unsafe {
24335                & ( * ( 0 as * const CThostFtdcMarketDataUpdateTimeField ) ) .
24336                InstrumentID as * const _ as usize } , 0usize , concat ! (
24337                "Alignment of field: " , stringify ! (
24338                CThostFtdcMarketDataUpdateTimeField ) , "::" , stringify ! (
24339                InstrumentID ) ));
24340    assert_eq! (unsafe {
24341                & ( * ( 0 as * const CThostFtdcMarketDataUpdateTimeField ) ) .
24342                UpdateTime as * const _ as usize } , 31usize , concat ! (
24343                "Alignment of field: " , stringify ! (
24344                CThostFtdcMarketDataUpdateTimeField ) , "::" , stringify ! (
24345                UpdateTime ) ));
24346    assert_eq! (unsafe {
24347                & ( * ( 0 as * const CThostFtdcMarketDataUpdateTimeField ) ) .
24348                UpdateMillisec as * const _ as usize } , 40usize , concat ! (
24349                "Alignment of field: " , stringify ! (
24350                CThostFtdcMarketDataUpdateTimeField ) , "::" , stringify ! (
24351                UpdateMillisec ) ));
24352    assert_eq! (unsafe {
24353                & ( * ( 0 as * const CThostFtdcMarketDataUpdateTimeField ) ) .
24354                ActionDay as * const _ as usize } , 44usize , concat ! (
24355                "Alignment of field: " , stringify ! (
24356                CThostFtdcMarketDataUpdateTimeField ) , "::" , stringify ! (
24357                ActionDay ) ));
24358}
24359impl Clone for CThostFtdcMarketDataUpdateTimeField {
24360    fn clone(&self) -> Self { *self }
24361}
24362/// 行情交易所代码属性
24363#[repr(C)]
24364#[derive(Default, Copy)]
24365pub struct CThostFtdcMarketDataExchangeField {
24366    /// 交易所代码
24367    pub ExchangeID: TThostFtdcExchangeIDType,
24368}
24369#[test]
24370fn bindgen_test_layout_CThostFtdcMarketDataExchangeField() {
24371    assert_eq!(::std::mem::size_of::<CThostFtdcMarketDataExchangeField>() ,
24372               9usize , concat ! (
24373               "Size of: " , stringify ! ( CThostFtdcMarketDataExchangeField )
24374               ));
24375    assert_eq! (::std::mem::align_of::<CThostFtdcMarketDataExchangeField>() ,
24376                1usize , concat ! (
24377                "Alignment of " , stringify ! (
24378                CThostFtdcMarketDataExchangeField ) ));
24379    assert_eq! (unsafe {
24380                & ( * ( 0 as * const CThostFtdcMarketDataExchangeField ) ) .
24381                ExchangeID as * const _ as usize } , 0usize , concat ! (
24382                "Alignment of field: " , stringify ! (
24383                CThostFtdcMarketDataExchangeField ) , "::" , stringify ! (
24384                ExchangeID ) ));
24385}
24386impl Clone for CThostFtdcMarketDataExchangeField {
24387    fn clone(&self) -> Self { *self }
24388}
24389/// 指定的合约
24390#[repr(C)]
24391#[derive(Default, Copy)]
24392pub struct CThostFtdcSpecificInstrumentField {
24393    /// 合约代码
24394    pub InstrumentID: TThostFtdcInstrumentIDType,
24395}
24396#[test]
24397fn bindgen_test_layout_CThostFtdcSpecificInstrumentField() {
24398    assert_eq!(::std::mem::size_of::<CThostFtdcSpecificInstrumentField>() ,
24399               31usize , concat ! (
24400               "Size of: " , stringify ! ( CThostFtdcSpecificInstrumentField )
24401               ));
24402    assert_eq! (::std::mem::align_of::<CThostFtdcSpecificInstrumentField>() ,
24403                1usize , concat ! (
24404                "Alignment of " , stringify ! (
24405                CThostFtdcSpecificInstrumentField ) ));
24406    assert_eq! (unsafe {
24407                & ( * ( 0 as * const CThostFtdcSpecificInstrumentField ) ) .
24408                InstrumentID as * const _ as usize } , 0usize , concat ! (
24409                "Alignment of field: " , stringify ! (
24410                CThostFtdcSpecificInstrumentField ) , "::" , stringify ! (
24411                InstrumentID ) ));
24412}
24413impl Clone for CThostFtdcSpecificInstrumentField {
24414    fn clone(&self) -> Self { *self }
24415}
24416/// 合约状态
24417#[repr(C)]
24418#[derive(Default, Copy)]
24419pub struct CThostFtdcInstrumentStatusField {
24420    /// 交易所代码
24421    pub ExchangeID: TThostFtdcExchangeIDType,
24422    /// 合约在交易所的代码
24423    pub ExchangeInstID: TThostFtdcExchangeInstIDType,
24424    /// 结算组代码
24425    pub SettlementGroupID: TThostFtdcSettlementGroupIDType,
24426    /// 合约代码
24427    pub InstrumentID: TThostFtdcInstrumentIDType,
24428    /// 合约交易状态
24429    pub InstrumentStatus: TThostFtdcInstrumentStatusType,
24430    /// 交易阶段编号
24431    pub TradingSegmentSN: TThostFtdcTradingSegmentSNType,
24432    /// 进入本状态时间
24433    pub EnterTime: TThostFtdcTimeType,
24434    /// 进入本状态原因
24435    pub EnterReason: TThostFtdcInstStatusEnterReasonType,
24436}
24437#[test]
24438fn bindgen_test_layout_CThostFtdcInstrumentStatusField() {
24439    assert_eq!(::std::mem::size_of::<CThostFtdcInstrumentStatusField>() ,
24440               100usize , concat ! (
24441               "Size of: " , stringify ! ( CThostFtdcInstrumentStatusField )
24442               ));
24443    assert_eq! (::std::mem::align_of::<CThostFtdcInstrumentStatusField>() ,
24444                4usize , concat ! (
24445                "Alignment of " , stringify ! (
24446                CThostFtdcInstrumentStatusField ) ));
24447    assert_eq! (unsafe {
24448                & ( * ( 0 as * const CThostFtdcInstrumentStatusField ) ) .
24449                ExchangeID as * const _ as usize } , 0usize , concat ! (
24450                "Alignment of field: " , stringify ! (
24451                CThostFtdcInstrumentStatusField ) , "::" , stringify ! (
24452                ExchangeID ) ));
24453    assert_eq! (unsafe {
24454                & ( * ( 0 as * const CThostFtdcInstrumentStatusField ) ) .
24455                ExchangeInstID as * const _ as usize } , 9usize , concat ! (
24456                "Alignment of field: " , stringify ! (
24457                CThostFtdcInstrumentStatusField ) , "::" , stringify ! (
24458                ExchangeInstID ) ));
24459    assert_eq! (unsafe {
24460                & ( * ( 0 as * const CThostFtdcInstrumentStatusField ) ) .
24461                SettlementGroupID as * const _ as usize } , 40usize , concat !
24462                (
24463                "Alignment of field: " , stringify ! (
24464                CThostFtdcInstrumentStatusField ) , "::" , stringify ! (
24465                SettlementGroupID ) ));
24466    assert_eq! (unsafe {
24467                & ( * ( 0 as * const CThostFtdcInstrumentStatusField ) ) .
24468                InstrumentID as * const _ as usize } , 49usize , concat ! (
24469                "Alignment of field: " , stringify ! (
24470                CThostFtdcInstrumentStatusField ) , "::" , stringify ! (
24471                InstrumentID ) ));
24472    assert_eq! (unsafe {
24473                & ( * ( 0 as * const CThostFtdcInstrumentStatusField ) ) .
24474                InstrumentStatus as * const _ as usize } , 80usize , concat !
24475                (
24476                "Alignment of field: " , stringify ! (
24477                CThostFtdcInstrumentStatusField ) , "::" , stringify ! (
24478                InstrumentStatus ) ));
24479    assert_eq! (unsafe {
24480                & ( * ( 0 as * const CThostFtdcInstrumentStatusField ) ) .
24481                TradingSegmentSN as * const _ as usize } , 84usize , concat !
24482                (
24483                "Alignment of field: " , stringify ! (
24484                CThostFtdcInstrumentStatusField ) , "::" , stringify ! (
24485                TradingSegmentSN ) ));
24486    assert_eq! (unsafe {
24487                & ( * ( 0 as * const CThostFtdcInstrumentStatusField ) ) .
24488                EnterTime as * const _ as usize } , 88usize , concat ! (
24489                "Alignment of field: " , stringify ! (
24490                CThostFtdcInstrumentStatusField ) , "::" , stringify ! (
24491                EnterTime ) ));
24492    assert_eq! (unsafe {
24493                & ( * ( 0 as * const CThostFtdcInstrumentStatusField ) ) .
24494                EnterReason as * const _ as usize } , 97usize , concat ! (
24495                "Alignment of field: " , stringify ! (
24496                CThostFtdcInstrumentStatusField ) , "::" , stringify ! (
24497                EnterReason ) ));
24498}
24499impl Clone for CThostFtdcInstrumentStatusField {
24500    fn clone(&self) -> Self { *self }
24501}
24502/// 查询合约状态
24503#[repr(C)]
24504#[derive(Default, Copy)]
24505pub struct CThostFtdcQryInstrumentStatusField {
24506    /// 交易所代码
24507    pub ExchangeID: TThostFtdcExchangeIDType,
24508    /// 合约在交易所的代码
24509    pub ExchangeInstID: TThostFtdcExchangeInstIDType,
24510}
24511#[test]
24512fn bindgen_test_layout_CThostFtdcQryInstrumentStatusField() {
24513    assert_eq!(::std::mem::size_of::<CThostFtdcQryInstrumentStatusField>() ,
24514               40usize , concat ! (
24515               "Size of: " , stringify ! ( CThostFtdcQryInstrumentStatusField
24516               ) ));
24517    assert_eq! (::std::mem::align_of::<CThostFtdcQryInstrumentStatusField>() ,
24518                1usize , concat ! (
24519                "Alignment of " , stringify ! (
24520                CThostFtdcQryInstrumentStatusField ) ));
24521    assert_eq! (unsafe {
24522                & ( * ( 0 as * const CThostFtdcQryInstrumentStatusField ) ) .
24523                ExchangeID as * const _ as usize } , 0usize , concat ! (
24524                "Alignment of field: " , stringify ! (
24525                CThostFtdcQryInstrumentStatusField ) , "::" , stringify ! (
24526                ExchangeID ) ));
24527    assert_eq! (unsafe {
24528                & ( * ( 0 as * const CThostFtdcQryInstrumentStatusField ) ) .
24529                ExchangeInstID as * const _ as usize } , 9usize , concat ! (
24530                "Alignment of field: " , stringify ! (
24531                CThostFtdcQryInstrumentStatusField ) , "::" , stringify ! (
24532                ExchangeInstID ) ));
24533}
24534impl Clone for CThostFtdcQryInstrumentStatusField {
24535    fn clone(&self) -> Self { *self }
24536}
24537/// 投资者账户
24538#[repr(C)]
24539#[derive(Default, Copy)]
24540pub struct CThostFtdcInvestorAccountField {
24541    /// 经纪公司代码
24542    pub BrokerID: TThostFtdcBrokerIDType,
24543    /// 投资者代码
24544    pub InvestorID: TThostFtdcInvestorIDType,
24545    /// 投资者帐号
24546    pub AccountID: TThostFtdcAccountIDType,
24547    /// 币种代码
24548    pub CurrencyID: TThostFtdcCurrencyIDType,
24549}
24550#[test]
24551fn bindgen_test_layout_CThostFtdcInvestorAccountField() {
24552    assert_eq!(::std::mem::size_of::<CThostFtdcInvestorAccountField>() ,
24553               41usize , concat ! (
24554               "Size of: " , stringify ! ( CThostFtdcInvestorAccountField )
24555               ));
24556    assert_eq! (::std::mem::align_of::<CThostFtdcInvestorAccountField>() ,
24557                1usize , concat ! (
24558                "Alignment of " , stringify ! ( CThostFtdcInvestorAccountField
24559                ) ));
24560    assert_eq! (unsafe {
24561                & ( * ( 0 as * const CThostFtdcInvestorAccountField ) ) .
24562                BrokerID as * const _ as usize } , 0usize , concat ! (
24563                "Alignment of field: " , stringify ! (
24564                CThostFtdcInvestorAccountField ) , "::" , stringify ! (
24565                BrokerID ) ));
24566    assert_eq! (unsafe {
24567                & ( * ( 0 as * const CThostFtdcInvestorAccountField ) ) .
24568                InvestorID as * const _ as usize } , 11usize , concat ! (
24569                "Alignment of field: " , stringify ! (
24570                CThostFtdcInvestorAccountField ) , "::" , stringify ! (
24571                InvestorID ) ));
24572    assert_eq! (unsafe {
24573                & ( * ( 0 as * const CThostFtdcInvestorAccountField ) ) .
24574                AccountID as * const _ as usize } , 24usize , concat ! (
24575                "Alignment of field: " , stringify ! (
24576                CThostFtdcInvestorAccountField ) , "::" , stringify ! (
24577                AccountID ) ));
24578    assert_eq! (unsafe {
24579                & ( * ( 0 as * const CThostFtdcInvestorAccountField ) ) .
24580                CurrencyID as * const _ as usize } , 37usize , concat ! (
24581                "Alignment of field: " , stringify ! (
24582                CThostFtdcInvestorAccountField ) , "::" , stringify ! (
24583                CurrencyID ) ));
24584}
24585impl Clone for CThostFtdcInvestorAccountField {
24586    fn clone(&self) -> Self { *self }
24587}
24588/// 浮动盈亏算法
24589#[repr(C)]
24590#[derive(Copy)]
24591pub struct CThostFtdcPositionProfitAlgorithmField {
24592    /// 经纪公司代码
24593    pub BrokerID: TThostFtdcBrokerIDType,
24594    /// 投资者帐号
24595    pub AccountID: TThostFtdcAccountIDType,
24596    /// 盈亏算法
24597    pub Algorithm: TThostFtdcAlgorithmType,
24598    /// 备注
24599    pub Memo: TThostFtdcMemoType,
24600    /// 币种代码
24601    pub CurrencyID: TThostFtdcCurrencyIDType,
24602}
24603#[test]
24604fn bindgen_test_layout_CThostFtdcPositionProfitAlgorithmField() {
24605    assert_eq!(::std::mem::size_of::<CThostFtdcPositionProfitAlgorithmField>()
24606               , 190usize , concat ! (
24607               "Size of: " , stringify ! (
24608               CThostFtdcPositionProfitAlgorithmField ) ));
24609    assert_eq! (::std::mem::align_of::<CThostFtdcPositionProfitAlgorithmField>()
24610                , 1usize , concat ! (
24611                "Alignment of " , stringify ! (
24612                CThostFtdcPositionProfitAlgorithmField ) ));
24613    assert_eq! (unsafe {
24614                & ( * ( 0 as * const CThostFtdcPositionProfitAlgorithmField )
24615                ) . BrokerID as * const _ as usize } , 0usize , concat ! (
24616                "Alignment of field: " , stringify ! (
24617                CThostFtdcPositionProfitAlgorithmField ) , "::" , stringify !
24618                ( BrokerID ) ));
24619    assert_eq! (unsafe {
24620                & ( * ( 0 as * const CThostFtdcPositionProfitAlgorithmField )
24621                ) . AccountID as * const _ as usize } , 11usize , concat ! (
24622                "Alignment of field: " , stringify ! (
24623                CThostFtdcPositionProfitAlgorithmField ) , "::" , stringify !
24624                ( AccountID ) ));
24625    assert_eq! (unsafe {
24626                & ( * ( 0 as * const CThostFtdcPositionProfitAlgorithmField )
24627                ) . Algorithm as * const _ as usize } , 24usize , concat ! (
24628                "Alignment of field: " , stringify ! (
24629                CThostFtdcPositionProfitAlgorithmField ) , "::" , stringify !
24630                ( Algorithm ) ));
24631    assert_eq! (unsafe {
24632                & ( * ( 0 as * const CThostFtdcPositionProfitAlgorithmField )
24633                ) . Memo as * const _ as usize } , 25usize , concat ! (
24634                "Alignment of field: " , stringify ! (
24635                CThostFtdcPositionProfitAlgorithmField ) , "::" , stringify !
24636                ( Memo ) ));
24637    assert_eq! (unsafe {
24638                & ( * ( 0 as * const CThostFtdcPositionProfitAlgorithmField )
24639                ) . CurrencyID as * const _ as usize } , 186usize , concat ! (
24640                "Alignment of field: " , stringify ! (
24641                CThostFtdcPositionProfitAlgorithmField ) , "::" , stringify !
24642                ( CurrencyID ) ));
24643}
24644impl Clone for CThostFtdcPositionProfitAlgorithmField {
24645    fn clone(&self) -> Self { *self }
24646}
24647impl Default for CThostFtdcPositionProfitAlgorithmField {
24648    fn default() -> Self { unsafe { ::std::mem::zeroed() } }
24649}
24650/// 会员资金折扣
24651#[repr(C)]
24652#[derive(Default, Copy)]
24653pub struct CThostFtdcDiscountField {
24654    /// 经纪公司代码
24655    pub BrokerID: TThostFtdcBrokerIDType,
24656    /// 投资者范围
24657    pub InvestorRange: TThostFtdcInvestorRangeType,
24658    /// 投资者代码
24659    pub InvestorID: TThostFtdcInvestorIDType,
24660    /// 资金折扣比例
24661    pub Discount: TThostFtdcRatioType,
24662}
24663#[test]
24664fn bindgen_test_layout_CThostFtdcDiscountField() {
24665    assert_eq!(::std::mem::size_of::<CThostFtdcDiscountField>() , 40usize ,
24666               concat ! (
24667               "Size of: " , stringify ! ( CThostFtdcDiscountField ) ));
24668    assert_eq! (::std::mem::align_of::<CThostFtdcDiscountField>() , 8usize ,
24669                concat ! (
24670                "Alignment of " , stringify ! ( CThostFtdcDiscountField ) ));
24671    assert_eq! (unsafe {
24672                & ( * ( 0 as * const CThostFtdcDiscountField ) ) . BrokerID as
24673                * const _ as usize } , 0usize , concat ! (
24674                "Alignment of field: " , stringify ! ( CThostFtdcDiscountField
24675                ) , "::" , stringify ! ( BrokerID ) ));
24676    assert_eq! (unsafe {
24677                & ( * ( 0 as * const CThostFtdcDiscountField ) ) .
24678                InvestorRange as * const _ as usize } , 11usize , concat ! (
24679                "Alignment of field: " , stringify ! ( CThostFtdcDiscountField
24680                ) , "::" , stringify ! ( InvestorRange ) ));
24681    assert_eq! (unsafe {
24682                & ( * ( 0 as * const CThostFtdcDiscountField ) ) . InvestorID
24683                as * const _ as usize } , 12usize , concat ! (
24684                "Alignment of field: " , stringify ! ( CThostFtdcDiscountField
24685                ) , "::" , stringify ! ( InvestorID ) ));
24686    assert_eq! (unsafe {
24687                & ( * ( 0 as * const CThostFtdcDiscountField ) ) . Discount as
24688                * const _ as usize } , 32usize , concat ! (
24689                "Alignment of field: " , stringify ! ( CThostFtdcDiscountField
24690                ) , "::" , stringify ! ( Discount ) ));
24691}
24692impl Clone for CThostFtdcDiscountField {
24693    fn clone(&self) -> Self { *self }
24694}
24695/// 查询转帐银行
24696#[repr(C)]
24697#[derive(Default, Copy)]
24698pub struct CThostFtdcQryTransferBankField {
24699    /// 银行代码
24700    pub BankID: TThostFtdcBankIDType,
24701    /// 银行分中心代码
24702    pub BankBrchID: TThostFtdcBankBrchIDType,
24703}
24704#[test]
24705fn bindgen_test_layout_CThostFtdcQryTransferBankField() {
24706    assert_eq!(::std::mem::size_of::<CThostFtdcQryTransferBankField>() ,
24707               9usize , concat ! (
24708               "Size of: " , stringify ! ( CThostFtdcQryTransferBankField )
24709               ));
24710    assert_eq! (::std::mem::align_of::<CThostFtdcQryTransferBankField>() ,
24711                1usize , concat ! (
24712                "Alignment of " , stringify ! ( CThostFtdcQryTransferBankField
24713                ) ));
24714    assert_eq! (unsafe {
24715                & ( * ( 0 as * const CThostFtdcQryTransferBankField ) ) .
24716                BankID as * const _ as usize } , 0usize , concat ! (
24717                "Alignment of field: " , stringify ! (
24718                CThostFtdcQryTransferBankField ) , "::" , stringify ! ( BankID
24719                ) ));
24720    assert_eq! (unsafe {
24721                & ( * ( 0 as * const CThostFtdcQryTransferBankField ) ) .
24722                BankBrchID as * const _ as usize } , 4usize , concat ! (
24723                "Alignment of field: " , stringify ! (
24724                CThostFtdcQryTransferBankField ) , "::" , stringify ! (
24725                BankBrchID ) ));
24726}
24727impl Clone for CThostFtdcQryTransferBankField {
24728    fn clone(&self) -> Self { *self }
24729}
24730/// 转帐银行
24731#[repr(C)]
24732#[derive(Copy)]
24733pub struct CThostFtdcTransferBankField {
24734    /// 银行代码
24735    pub BankID: TThostFtdcBankIDType,
24736    /// 银行分中心代码
24737    pub BankBrchID: TThostFtdcBankBrchIDType,
24738    /// 银行名称
24739    pub BankName: TThostFtdcBankNameType,
24740    /// 是否活跃
24741    pub IsActive: TThostFtdcBoolType,
24742}
24743#[test]
24744fn bindgen_test_layout_CThostFtdcTransferBankField() {
24745    assert_eq!(::std::mem::size_of::<CThostFtdcTransferBankField>() , 116usize
24746               , concat ! (
24747               "Size of: " , stringify ! ( CThostFtdcTransferBankField ) ));
24748    assert_eq! (::std::mem::align_of::<CThostFtdcTransferBankField>() , 4usize
24749                , concat ! (
24750                "Alignment of " , stringify ! ( CThostFtdcTransferBankField )
24751                ));
24752    assert_eq! (unsafe {
24753                & ( * ( 0 as * const CThostFtdcTransferBankField ) ) . BankID
24754                as * const _ as usize } , 0usize , concat ! (
24755                "Alignment of field: " , stringify ! (
24756                CThostFtdcTransferBankField ) , "::" , stringify ! ( BankID )
24757                ));
24758    assert_eq! (unsafe {
24759                & ( * ( 0 as * const CThostFtdcTransferBankField ) ) .
24760                BankBrchID as * const _ as usize } , 4usize , concat ! (
24761                "Alignment of field: " , stringify ! (
24762                CThostFtdcTransferBankField ) , "::" , stringify ! (
24763                BankBrchID ) ));
24764    assert_eq! (unsafe {
24765                & ( * ( 0 as * const CThostFtdcTransferBankField ) ) .
24766                BankName as * const _ as usize } , 9usize , concat ! (
24767                "Alignment of field: " , stringify ! (
24768                CThostFtdcTransferBankField ) , "::" , stringify ! ( BankName
24769                ) ));
24770    assert_eq! (unsafe {
24771                & ( * ( 0 as * const CThostFtdcTransferBankField ) ) .
24772                IsActive as * const _ as usize } , 112usize , concat ! (
24773                "Alignment of field: " , stringify ! (
24774                CThostFtdcTransferBankField ) , "::" , stringify ! ( IsActive
24775                ) ));
24776}
24777impl Clone for CThostFtdcTransferBankField {
24778    fn clone(&self) -> Self { *self }
24779}
24780impl Default for CThostFtdcTransferBankField {
24781    fn default() -> Self { unsafe { ::std::mem::zeroed() } }
24782}
24783/// 查询投资者持仓明细
24784#[repr(C)]
24785#[derive(Default, Copy)]
24786pub struct CThostFtdcQryInvestorPositionDetailField {
24787    /// 经纪公司代码
24788    pub BrokerID: TThostFtdcBrokerIDType,
24789    /// 投资者代码
24790    pub InvestorID: TThostFtdcInvestorIDType,
24791    /// 合约代码
24792    pub InstrumentID: TThostFtdcInstrumentIDType,
24793    /// 交易所代码
24794    pub ExchangeID: TThostFtdcExchangeIDType,
24795    /// 投资单元代码
24796    pub InvestUnitID: TThostFtdcInvestUnitIDType,
24797}
24798#[test]
24799fn bindgen_test_layout_CThostFtdcQryInvestorPositionDetailField() {
24800    assert_eq!(::std::mem::size_of::<CThostFtdcQryInvestorPositionDetailField>()
24801               , 81usize , concat ! (
24802               "Size of: " , stringify ! (
24803               CThostFtdcQryInvestorPositionDetailField ) ));
24804    assert_eq! (::std::mem::align_of::<CThostFtdcQryInvestorPositionDetailField>()
24805                , 1usize , concat ! (
24806                "Alignment of " , stringify ! (
24807                CThostFtdcQryInvestorPositionDetailField ) ));
24808    assert_eq! (unsafe {
24809                & (
24810                * ( 0 as * const CThostFtdcQryInvestorPositionDetailField ) )
24811                . BrokerID as * const _ as usize } , 0usize , concat ! (
24812                "Alignment of field: " , stringify ! (
24813                CThostFtdcQryInvestorPositionDetailField ) , "::" , stringify
24814                ! ( BrokerID ) ));
24815    assert_eq! (unsafe {
24816                & (
24817                * ( 0 as * const CThostFtdcQryInvestorPositionDetailField ) )
24818                . InvestorID as * const _ as usize } , 11usize , concat ! (
24819                "Alignment of field: " , stringify ! (
24820                CThostFtdcQryInvestorPositionDetailField ) , "::" , stringify
24821                ! ( InvestorID ) ));
24822    assert_eq! (unsafe {
24823                & (
24824                * ( 0 as * const CThostFtdcQryInvestorPositionDetailField ) )
24825                . InstrumentID as * const _ as usize } , 24usize , concat ! (
24826                "Alignment of field: " , stringify ! (
24827                CThostFtdcQryInvestorPositionDetailField ) , "::" , stringify
24828                ! ( InstrumentID ) ));
24829    assert_eq! (unsafe {
24830                & (
24831                * ( 0 as * const CThostFtdcQryInvestorPositionDetailField ) )
24832                . ExchangeID as * const _ as usize } , 55usize , concat ! (
24833                "Alignment of field: " , stringify ! (
24834                CThostFtdcQryInvestorPositionDetailField ) , "::" , stringify
24835                ! ( ExchangeID ) ));
24836    assert_eq! (unsafe {
24837                & (
24838                * ( 0 as * const CThostFtdcQryInvestorPositionDetailField ) )
24839                . InvestUnitID as * const _ as usize } , 64usize , concat ! (
24840                "Alignment of field: " , stringify ! (
24841                CThostFtdcQryInvestorPositionDetailField ) , "::" , stringify
24842                ! ( InvestUnitID ) ));
24843}
24844impl Clone for CThostFtdcQryInvestorPositionDetailField {
24845    fn clone(&self) -> Self { *self }
24846}
24847/// 投资者持仓明细
24848#[repr(C)]
24849#[derive(Default, Copy)]
24850pub struct CThostFtdcInvestorPositionDetailField {
24851    /// 合约代码
24852    pub InstrumentID: TThostFtdcInstrumentIDType,
24853    /// 经纪公司代码
24854    pub BrokerID: TThostFtdcBrokerIDType,
24855    /// 投资者代码
24856    pub InvestorID: TThostFtdcInvestorIDType,
24857    /// 投机套保标志
24858    pub HedgeFlag: TThostFtdcHedgeFlagType,
24859    /// 买卖
24860    pub Direction: TThostFtdcDirectionType,
24861    /// 开仓日期
24862    pub OpenDate: TThostFtdcDateType,
24863    /// 成交编号
24864    pub TradeID: TThostFtdcTradeIDType,
24865    /// 数量
24866    pub Volume: TThostFtdcVolumeType,
24867    /// 开仓价
24868    pub OpenPrice: TThostFtdcPriceType,
24869    /// 交易日
24870    pub TradingDay: TThostFtdcDateType,
24871    /// 结算编号
24872    pub SettlementID: TThostFtdcSettlementIDType,
24873    /// 成交类型
24874    pub TradeType: TThostFtdcTradeTypeType,
24875    /// 组合合约代码
24876    pub CombInstrumentID: TThostFtdcInstrumentIDType,
24877    /// 交易所代码
24878    pub ExchangeID: TThostFtdcExchangeIDType,
24879    /// 逐日盯市平仓盈亏
24880    pub CloseProfitByDate: TThostFtdcMoneyType,
24881    /// 逐笔对冲平仓盈亏
24882    pub CloseProfitByTrade: TThostFtdcMoneyType,
24883    /// 逐日盯市持仓盈亏
24884    pub PositionProfitByDate: TThostFtdcMoneyType,
24885    /// 逐笔对冲持仓盈亏
24886    pub PositionProfitByTrade: TThostFtdcMoneyType,
24887    /// 投资者保证金
24888    pub Margin: TThostFtdcMoneyType,
24889    /// 交易所保证金
24890    pub ExchMargin: TThostFtdcMoneyType,
24891    /// 保证金率
24892    pub MarginRateByMoney: TThostFtdcRatioType,
24893    /// 保证金率(按手数)
24894    pub MarginRateByVolume: TThostFtdcRatioType,
24895    /// 昨结算价
24896    pub LastSettlementPrice: TThostFtdcPriceType,
24897    /// 结算价
24898    pub SettlementPrice: TThostFtdcPriceType,
24899    /// 平仓量
24900    pub CloseVolume: TThostFtdcVolumeType,
24901    /// 平仓金额
24902    pub CloseAmount: TThostFtdcMoneyType,
24903    /// 按照时间顺序平仓的笔数,大商所专用
24904    pub TimeFirstVolume: TThostFtdcVolumeType,
24905    /// 投资单元代码
24906    pub InvestUnitID: TThostFtdcInvestUnitIDType,
24907}
24908#[test]
24909fn bindgen_test_layout_CThostFtdcInvestorPositionDetailField() {
24910    assert_eq!(::std::mem::size_of::<CThostFtdcInvestorPositionDetailField>()
24911               , 288usize , concat ! (
24912               "Size of: " , stringify ! (
24913               CThostFtdcInvestorPositionDetailField ) ));
24914    assert_eq! (::std::mem::align_of::<CThostFtdcInvestorPositionDetailField>()
24915                , 8usize , concat ! (
24916                "Alignment of " , stringify ! (
24917                CThostFtdcInvestorPositionDetailField ) ));
24918    assert_eq! (unsafe {
24919                & ( * ( 0 as * const CThostFtdcInvestorPositionDetailField ) )
24920                . InstrumentID as * const _ as usize } , 0usize , concat ! (
24921                "Alignment of field: " , stringify ! (
24922                CThostFtdcInvestorPositionDetailField ) , "::" , stringify ! (
24923                InstrumentID ) ));
24924    assert_eq! (unsafe {
24925                & ( * ( 0 as * const CThostFtdcInvestorPositionDetailField ) )
24926                . BrokerID as * const _ as usize } , 31usize , concat ! (
24927                "Alignment of field: " , stringify ! (
24928                CThostFtdcInvestorPositionDetailField ) , "::" , stringify ! (
24929                BrokerID ) ));
24930    assert_eq! (unsafe {
24931                & ( * ( 0 as * const CThostFtdcInvestorPositionDetailField ) )
24932                . InvestorID as * const _ as usize } , 42usize , concat ! (
24933                "Alignment of field: " , stringify ! (
24934                CThostFtdcInvestorPositionDetailField ) , "::" , stringify ! (
24935                InvestorID ) ));
24936    assert_eq! (unsafe {
24937                & ( * ( 0 as * const CThostFtdcInvestorPositionDetailField ) )
24938                . HedgeFlag as * const _ as usize } , 55usize , concat ! (
24939                "Alignment of field: " , stringify ! (
24940                CThostFtdcInvestorPositionDetailField ) , "::" , stringify ! (
24941                HedgeFlag ) ));
24942    assert_eq! (unsafe {
24943                & ( * ( 0 as * const CThostFtdcInvestorPositionDetailField ) )
24944                . Direction as * const _ as usize } , 56usize , concat ! (
24945                "Alignment of field: " , stringify ! (
24946                CThostFtdcInvestorPositionDetailField ) , "::" , stringify ! (
24947                Direction ) ));
24948    assert_eq! (unsafe {
24949                & ( * ( 0 as * const CThostFtdcInvestorPositionDetailField ) )
24950                . OpenDate as * const _ as usize } , 57usize , concat ! (
24951                "Alignment of field: " , stringify ! (
24952                CThostFtdcInvestorPositionDetailField ) , "::" , stringify ! (
24953                OpenDate ) ));
24954    assert_eq! (unsafe {
24955                & ( * ( 0 as * const CThostFtdcInvestorPositionDetailField ) )
24956                . TradeID as * const _ as usize } , 66usize , concat ! (
24957                "Alignment of field: " , stringify ! (
24958                CThostFtdcInvestorPositionDetailField ) , "::" , stringify ! (
24959                TradeID ) ));
24960    assert_eq! (unsafe {
24961                & ( * ( 0 as * const CThostFtdcInvestorPositionDetailField ) )
24962                . Volume as * const _ as usize } , 88usize , concat ! (
24963                "Alignment of field: " , stringify ! (
24964                CThostFtdcInvestorPositionDetailField ) , "::" , stringify ! (
24965                Volume ) ));
24966    assert_eq! (unsafe {
24967                & ( * ( 0 as * const CThostFtdcInvestorPositionDetailField ) )
24968                . OpenPrice as * const _ as usize } , 96usize , concat ! (
24969                "Alignment of field: " , stringify ! (
24970                CThostFtdcInvestorPositionDetailField ) , "::" , stringify ! (
24971                OpenPrice ) ));
24972    assert_eq! (unsafe {
24973                & ( * ( 0 as * const CThostFtdcInvestorPositionDetailField ) )
24974                . TradingDay as * const _ as usize } , 104usize , concat ! (
24975                "Alignment of field: " , stringify ! (
24976                CThostFtdcInvestorPositionDetailField ) , "::" , stringify ! (
24977                TradingDay ) ));
24978    assert_eq! (unsafe {
24979                & ( * ( 0 as * const CThostFtdcInvestorPositionDetailField ) )
24980                . SettlementID as * const _ as usize } , 116usize , concat ! (
24981                "Alignment of field: " , stringify ! (
24982                CThostFtdcInvestorPositionDetailField ) , "::" , stringify ! (
24983                SettlementID ) ));
24984    assert_eq! (unsafe {
24985                & ( * ( 0 as * const CThostFtdcInvestorPositionDetailField ) )
24986                . TradeType as * const _ as usize } , 120usize , concat ! (
24987                "Alignment of field: " , stringify ! (
24988                CThostFtdcInvestorPositionDetailField ) , "::" , stringify ! (
24989                TradeType ) ));
24990    assert_eq! (unsafe {
24991                & ( * ( 0 as * const CThostFtdcInvestorPositionDetailField ) )
24992                . CombInstrumentID as * const _ as usize } , 121usize , concat
24993                ! (
24994                "Alignment of field: " , stringify ! (
24995                CThostFtdcInvestorPositionDetailField ) , "::" , stringify ! (
24996                CombInstrumentID ) ));
24997    assert_eq! (unsafe {
24998                & ( * ( 0 as * const CThostFtdcInvestorPositionDetailField ) )
24999                . ExchangeID as * const _ as usize } , 152usize , concat ! (
25000                "Alignment of field: " , stringify ! (
25001                CThostFtdcInvestorPositionDetailField ) , "::" , stringify ! (
25002                ExchangeID ) ));
25003    assert_eq! (unsafe {
25004                & ( * ( 0 as * const CThostFtdcInvestorPositionDetailField ) )
25005                . CloseProfitByDate as * const _ as usize } , 168usize ,
25006                concat ! (
25007                "Alignment of field: " , stringify ! (
25008                CThostFtdcInvestorPositionDetailField ) , "::" , stringify ! (
25009                CloseProfitByDate ) ));
25010    assert_eq! (unsafe {
25011                & ( * ( 0 as * const CThostFtdcInvestorPositionDetailField ) )
25012                . CloseProfitByTrade as * const _ as usize } , 176usize ,
25013                concat ! (
25014                "Alignment of field: " , stringify ! (
25015                CThostFtdcInvestorPositionDetailField ) , "::" , stringify ! (
25016                CloseProfitByTrade ) ));
25017    assert_eq! (unsafe {
25018                & ( * ( 0 as * const CThostFtdcInvestorPositionDetailField ) )
25019                . PositionProfitByDate as * const _ as usize } , 184usize ,
25020                concat ! (
25021                "Alignment of field: " , stringify ! (
25022                CThostFtdcInvestorPositionDetailField ) , "::" , stringify ! (
25023                PositionProfitByDate ) ));
25024    assert_eq! (unsafe {
25025                & ( * ( 0 as * const CThostFtdcInvestorPositionDetailField ) )
25026                . PositionProfitByTrade as * const _ as usize } , 192usize ,
25027                concat ! (
25028                "Alignment of field: " , stringify ! (
25029                CThostFtdcInvestorPositionDetailField ) , "::" , stringify ! (
25030                PositionProfitByTrade ) ));
25031    assert_eq! (unsafe {
25032                & ( * ( 0 as * const CThostFtdcInvestorPositionDetailField ) )
25033                . Margin as * const _ as usize } , 200usize , concat ! (
25034                "Alignment of field: " , stringify ! (
25035                CThostFtdcInvestorPositionDetailField ) , "::" , stringify ! (
25036                Margin ) ));
25037    assert_eq! (unsafe {
25038                & ( * ( 0 as * const CThostFtdcInvestorPositionDetailField ) )
25039                . ExchMargin as * const _ as usize } , 208usize , concat ! (
25040                "Alignment of field: " , stringify ! (
25041                CThostFtdcInvestorPositionDetailField ) , "::" , stringify ! (
25042                ExchMargin ) ));
25043    assert_eq! (unsafe {
25044                & ( * ( 0 as * const CThostFtdcInvestorPositionDetailField ) )
25045                . MarginRateByMoney as * const _ as usize } , 216usize ,
25046                concat ! (
25047                "Alignment of field: " , stringify ! (
25048                CThostFtdcInvestorPositionDetailField ) , "::" , stringify ! (
25049                MarginRateByMoney ) ));
25050    assert_eq! (unsafe {
25051                & ( * ( 0 as * const CThostFtdcInvestorPositionDetailField ) )
25052                . MarginRateByVolume as * const _ as usize } , 224usize ,
25053                concat ! (
25054                "Alignment of field: " , stringify ! (
25055                CThostFtdcInvestorPositionDetailField ) , "::" , stringify ! (
25056                MarginRateByVolume ) ));
25057    assert_eq! (unsafe {
25058                & ( * ( 0 as * const CThostFtdcInvestorPositionDetailField ) )
25059                . LastSettlementPrice as * const _ as usize } , 232usize ,
25060                concat ! (
25061                "Alignment of field: " , stringify ! (
25062                CThostFtdcInvestorPositionDetailField ) , "::" , stringify ! (
25063                LastSettlementPrice ) ));
25064    assert_eq! (unsafe {
25065                & ( * ( 0 as * const CThostFtdcInvestorPositionDetailField ) )
25066                . SettlementPrice as * const _ as usize } , 240usize , concat
25067                ! (
25068                "Alignment of field: " , stringify ! (
25069                CThostFtdcInvestorPositionDetailField ) , "::" , stringify ! (
25070                SettlementPrice ) ));
25071    assert_eq! (unsafe {
25072                & ( * ( 0 as * const CThostFtdcInvestorPositionDetailField ) )
25073                . CloseVolume as * const _ as usize } , 248usize , concat ! (
25074                "Alignment of field: " , stringify ! (
25075                CThostFtdcInvestorPositionDetailField ) , "::" , stringify ! (
25076                CloseVolume ) ));
25077    assert_eq! (unsafe {
25078                & ( * ( 0 as * const CThostFtdcInvestorPositionDetailField ) )
25079                . CloseAmount as * const _ as usize } , 256usize , concat ! (
25080                "Alignment of field: " , stringify ! (
25081                CThostFtdcInvestorPositionDetailField ) , "::" , stringify ! (
25082                CloseAmount ) ));
25083    assert_eq! (unsafe {
25084                & ( * ( 0 as * const CThostFtdcInvestorPositionDetailField ) )
25085                . TimeFirstVolume as * const _ as usize } , 264usize , concat
25086                ! (
25087                "Alignment of field: " , stringify ! (
25088                CThostFtdcInvestorPositionDetailField ) , "::" , stringify ! (
25089                TimeFirstVolume ) ));
25090    assert_eq! (unsafe {
25091                & ( * ( 0 as * const CThostFtdcInvestorPositionDetailField ) )
25092                . InvestUnitID as * const _ as usize } , 268usize , concat ! (
25093                "Alignment of field: " , stringify ! (
25094                CThostFtdcInvestorPositionDetailField ) , "::" , stringify ! (
25095                InvestUnitID ) ));
25096}
25097impl Clone for CThostFtdcInvestorPositionDetailField {
25098    fn clone(&self) -> Self { *self }
25099}
25100/// 资金账户口令域
25101#[repr(C)]
25102#[derive(Copy)]
25103pub struct CThostFtdcTradingAccountPasswordField {
25104    /// 经纪公司代码
25105    pub BrokerID: TThostFtdcBrokerIDType,
25106    /// 投资者帐号
25107    pub AccountID: TThostFtdcAccountIDType,
25108    /// 密码
25109    pub Password: TThostFtdcPasswordType,
25110    /// 币种代码
25111    pub CurrencyID: TThostFtdcCurrencyIDType,
25112}
25113#[test]
25114fn bindgen_test_layout_CThostFtdcTradingAccountPasswordField() {
25115    assert_eq!(::std::mem::size_of::<CThostFtdcTradingAccountPasswordField>()
25116               , 69usize , concat ! (
25117               "Size of: " , stringify ! (
25118               CThostFtdcTradingAccountPasswordField ) ));
25119    assert_eq! (::std::mem::align_of::<CThostFtdcTradingAccountPasswordField>()
25120                , 1usize , concat ! (
25121                "Alignment of " , stringify ! (
25122                CThostFtdcTradingAccountPasswordField ) ));
25123    assert_eq! (unsafe {
25124                & ( * ( 0 as * const CThostFtdcTradingAccountPasswordField ) )
25125                . BrokerID as * const _ as usize } , 0usize , concat ! (
25126                "Alignment of field: " , stringify ! (
25127                CThostFtdcTradingAccountPasswordField ) , "::" , stringify ! (
25128                BrokerID ) ));
25129    assert_eq! (unsafe {
25130                & ( * ( 0 as * const CThostFtdcTradingAccountPasswordField ) )
25131                . AccountID as * const _ as usize } , 11usize , concat ! (
25132                "Alignment of field: " , stringify ! (
25133                CThostFtdcTradingAccountPasswordField ) , "::" , stringify ! (
25134                AccountID ) ));
25135    assert_eq! (unsafe {
25136                & ( * ( 0 as * const CThostFtdcTradingAccountPasswordField ) )
25137                . Password as * const _ as usize } , 24usize , concat ! (
25138                "Alignment of field: " , stringify ! (
25139                CThostFtdcTradingAccountPasswordField ) , "::" , stringify ! (
25140                Password ) ));
25141    assert_eq! (unsafe {
25142                & ( * ( 0 as * const CThostFtdcTradingAccountPasswordField ) )
25143                . CurrencyID as * const _ as usize } , 65usize , concat ! (
25144                "Alignment of field: " , stringify ! (
25145                CThostFtdcTradingAccountPasswordField ) , "::" , stringify ! (
25146                CurrencyID ) ));
25147}
25148impl Clone for CThostFtdcTradingAccountPasswordField {
25149    fn clone(&self) -> Self { *self }
25150}
25151impl Default for CThostFtdcTradingAccountPasswordField {
25152    fn default() -> Self { unsafe { ::std::mem::zeroed() } }
25153}
25154/// 交易所行情报盘机
25155#[repr(C)]
25156#[derive(Copy)]
25157pub struct CThostFtdcMDTraderOfferField {
25158    /// 交易所代码
25159    pub ExchangeID: TThostFtdcExchangeIDType,
25160    /// 交易所交易员代码
25161    pub TraderID: TThostFtdcTraderIDType,
25162    /// 会员代码
25163    pub ParticipantID: TThostFtdcParticipantIDType,
25164    /// 密码
25165    pub Password: TThostFtdcPasswordType,
25166    /// 安装编号
25167    pub InstallID: TThostFtdcInstallIDType,
25168    /// 本地报单编号
25169    pub OrderLocalID: TThostFtdcOrderLocalIDType,
25170    /// 交易所交易员连接状态
25171    pub TraderConnectStatus: TThostFtdcTraderConnectStatusType,
25172    /// 发出连接请求的日期
25173    pub ConnectRequestDate: TThostFtdcDateType,
25174    /// 发出连接请求的时间
25175    pub ConnectRequestTime: TThostFtdcTimeType,
25176    /// 上次报告日期
25177    pub LastReportDate: TThostFtdcDateType,
25178    /// 上次报告时间
25179    pub LastReportTime: TThostFtdcTimeType,
25180    /// 完成连接日期
25181    pub ConnectDate: TThostFtdcDateType,
25182    /// 完成连接时间
25183    pub ConnectTime: TThostFtdcTimeType,
25184    /// 启动日期
25185    pub StartDate: TThostFtdcDateType,
25186    /// 启动时间
25187    pub StartTime: TThostFtdcTimeType,
25188    /// 交易日
25189    pub TradingDay: TThostFtdcDateType,
25190    /// 经纪公司代码
25191    pub BrokerID: TThostFtdcBrokerIDType,
25192    /// 本席位最大成交编号
25193    pub MaxTradeID: TThostFtdcTradeIDType,
25194    /// 本席位最大报单备拷
25195    pub MaxOrderMessageReference: TThostFtdcReturnCodeType,
25196}
25197#[test]
25198fn bindgen_test_layout_CThostFtdcMDTraderOfferField() {
25199    assert_eq!(::std::mem::size_of::<CThostFtdcMDTraderOfferField>() ,
25200               224usize , concat ! (
25201               "Size of: " , stringify ! ( CThostFtdcMDTraderOfferField ) ));
25202    assert_eq! (::std::mem::align_of::<CThostFtdcMDTraderOfferField>() ,
25203                4usize , concat ! (
25204                "Alignment of " , stringify ! ( CThostFtdcMDTraderOfferField )
25205                ));
25206    assert_eq! (unsafe {
25207                & ( * ( 0 as * const CThostFtdcMDTraderOfferField ) ) .
25208                ExchangeID as * const _ as usize } , 0usize , concat ! (
25209                "Alignment of field: " , stringify ! (
25210                CThostFtdcMDTraderOfferField ) , "::" , stringify ! (
25211                ExchangeID ) ));
25212    assert_eq! (unsafe {
25213                & ( * ( 0 as * const CThostFtdcMDTraderOfferField ) ) .
25214                TraderID as * const _ as usize } , 9usize , concat ! (
25215                "Alignment of field: " , stringify ! (
25216                CThostFtdcMDTraderOfferField ) , "::" , stringify ! ( TraderID
25217                ) ));
25218    assert_eq! (unsafe {
25219                & ( * ( 0 as * const CThostFtdcMDTraderOfferField ) ) .
25220                ParticipantID as * const _ as usize } , 30usize , concat ! (
25221                "Alignment of field: " , stringify ! (
25222                CThostFtdcMDTraderOfferField ) , "::" , stringify ! (
25223                ParticipantID ) ));
25224    assert_eq! (unsafe {
25225                & ( * ( 0 as * const CThostFtdcMDTraderOfferField ) ) .
25226                Password as * const _ as usize } , 41usize , concat ! (
25227                "Alignment of field: " , stringify ! (
25228                CThostFtdcMDTraderOfferField ) , "::" , stringify ! ( Password
25229                ) ));
25230    assert_eq! (unsafe {
25231                & ( * ( 0 as * const CThostFtdcMDTraderOfferField ) ) .
25232                InstallID as * const _ as usize } , 84usize , concat ! (
25233                "Alignment of field: " , stringify ! (
25234                CThostFtdcMDTraderOfferField ) , "::" , stringify ! (
25235                InstallID ) ));
25236    assert_eq! (unsafe {
25237                & ( * ( 0 as * const CThostFtdcMDTraderOfferField ) ) .
25238                OrderLocalID as * const _ as usize } , 88usize , concat ! (
25239                "Alignment of field: " , stringify ! (
25240                CThostFtdcMDTraderOfferField ) , "::" , stringify ! (
25241                OrderLocalID ) ));
25242    assert_eq! (unsafe {
25243                & ( * ( 0 as * const CThostFtdcMDTraderOfferField ) ) .
25244                TraderConnectStatus as * const _ as usize } , 101usize ,
25245                concat ! (
25246                "Alignment of field: " , stringify ! (
25247                CThostFtdcMDTraderOfferField ) , "::" , stringify ! (
25248                TraderConnectStatus ) ));
25249    assert_eq! (unsafe {
25250                & ( * ( 0 as * const CThostFtdcMDTraderOfferField ) ) .
25251                ConnectRequestDate as * const _ as usize } , 102usize , concat
25252                ! (
25253                "Alignment of field: " , stringify ! (
25254                CThostFtdcMDTraderOfferField ) , "::" , stringify ! (
25255                ConnectRequestDate ) ));
25256    assert_eq! (unsafe {
25257                & ( * ( 0 as * const CThostFtdcMDTraderOfferField ) ) .
25258                ConnectRequestTime as * const _ as usize } , 111usize , concat
25259                ! (
25260                "Alignment of field: " , stringify ! (
25261                CThostFtdcMDTraderOfferField ) , "::" , stringify ! (
25262                ConnectRequestTime ) ));
25263    assert_eq! (unsafe {
25264                & ( * ( 0 as * const CThostFtdcMDTraderOfferField ) ) .
25265                LastReportDate as * const _ as usize } , 120usize , concat ! (
25266                "Alignment of field: " , stringify ! (
25267                CThostFtdcMDTraderOfferField ) , "::" , stringify ! (
25268                LastReportDate ) ));
25269    assert_eq! (unsafe {
25270                & ( * ( 0 as * const CThostFtdcMDTraderOfferField ) ) .
25271                LastReportTime as * const _ as usize } , 129usize , concat ! (
25272                "Alignment of field: " , stringify ! (
25273                CThostFtdcMDTraderOfferField ) , "::" , stringify ! (
25274                LastReportTime ) ));
25275    assert_eq! (unsafe {
25276                & ( * ( 0 as * const CThostFtdcMDTraderOfferField ) ) .
25277                ConnectDate as * const _ as usize } , 138usize , concat ! (
25278                "Alignment of field: " , stringify ! (
25279                CThostFtdcMDTraderOfferField ) , "::" , stringify ! (
25280                ConnectDate ) ));
25281    assert_eq! (unsafe {
25282                & ( * ( 0 as * const CThostFtdcMDTraderOfferField ) ) .
25283                ConnectTime as * const _ as usize } , 147usize , concat ! (
25284                "Alignment of field: " , stringify ! (
25285                CThostFtdcMDTraderOfferField ) , "::" , stringify ! (
25286                ConnectTime ) ));
25287    assert_eq! (unsafe {
25288                & ( * ( 0 as * const CThostFtdcMDTraderOfferField ) ) .
25289                StartDate as * const _ as usize } , 156usize , concat ! (
25290                "Alignment of field: " , stringify ! (
25291                CThostFtdcMDTraderOfferField ) , "::" , stringify ! (
25292                StartDate ) ));
25293    assert_eq! (unsafe {
25294                & ( * ( 0 as * const CThostFtdcMDTraderOfferField ) ) .
25295                StartTime as * const _ as usize } , 165usize , concat ! (
25296                "Alignment of field: " , stringify ! (
25297                CThostFtdcMDTraderOfferField ) , "::" , stringify ! (
25298                StartTime ) ));
25299    assert_eq! (unsafe {
25300                & ( * ( 0 as * const CThostFtdcMDTraderOfferField ) ) .
25301                TradingDay as * const _ as usize } , 174usize , concat ! (
25302                "Alignment of field: " , stringify ! (
25303                CThostFtdcMDTraderOfferField ) , "::" , stringify ! (
25304                TradingDay ) ));
25305    assert_eq! (unsafe {
25306                & ( * ( 0 as * const CThostFtdcMDTraderOfferField ) ) .
25307                BrokerID as * const _ as usize } , 183usize , concat ! (
25308                "Alignment of field: " , stringify ! (
25309                CThostFtdcMDTraderOfferField ) , "::" , stringify ! ( BrokerID
25310                ) ));
25311    assert_eq! (unsafe {
25312                & ( * ( 0 as * const CThostFtdcMDTraderOfferField ) ) .
25313                MaxTradeID as * const _ as usize } , 194usize , concat ! (
25314                "Alignment of field: " , stringify ! (
25315                CThostFtdcMDTraderOfferField ) , "::" , stringify ! (
25316                MaxTradeID ) ));
25317    assert_eq! (unsafe {
25318                & ( * ( 0 as * const CThostFtdcMDTraderOfferField ) ) .
25319                MaxOrderMessageReference as * const _ as usize } , 215usize ,
25320                concat ! (
25321                "Alignment of field: " , stringify ! (
25322                CThostFtdcMDTraderOfferField ) , "::" , stringify ! (
25323                MaxOrderMessageReference ) ));
25324}
25325impl Clone for CThostFtdcMDTraderOfferField {
25326    fn clone(&self) -> Self { *self }
25327}
25328impl Default for CThostFtdcMDTraderOfferField {
25329    fn default() -> Self { unsafe { ::std::mem::zeroed() } }
25330}
25331/// 查询行情报盘机
25332#[repr(C)]
25333#[derive(Default, Copy)]
25334pub struct CThostFtdcQryMDTraderOfferField {
25335    /// 交易所代码
25336    pub ExchangeID: TThostFtdcExchangeIDType,
25337    /// 会员代码
25338    pub ParticipantID: TThostFtdcParticipantIDType,
25339    /// 交易所交易员代码
25340    pub TraderID: TThostFtdcTraderIDType,
25341}
25342#[test]
25343fn bindgen_test_layout_CThostFtdcQryMDTraderOfferField() {
25344    assert_eq!(::std::mem::size_of::<CThostFtdcQryMDTraderOfferField>() ,
25345               41usize , concat ! (
25346               "Size of: " , stringify ! ( CThostFtdcQryMDTraderOfferField )
25347               ));
25348    assert_eq! (::std::mem::align_of::<CThostFtdcQryMDTraderOfferField>() ,
25349                1usize , concat ! (
25350                "Alignment of " , stringify ! (
25351                CThostFtdcQryMDTraderOfferField ) ));
25352    assert_eq! (unsafe {
25353                & ( * ( 0 as * const CThostFtdcQryMDTraderOfferField ) ) .
25354                ExchangeID as * const _ as usize } , 0usize , concat ! (
25355                "Alignment of field: " , stringify ! (
25356                CThostFtdcQryMDTraderOfferField ) , "::" , stringify ! (
25357                ExchangeID ) ));
25358    assert_eq! (unsafe {
25359                & ( * ( 0 as * const CThostFtdcQryMDTraderOfferField ) ) .
25360                ParticipantID as * const _ as usize } , 9usize , concat ! (
25361                "Alignment of field: " , stringify ! (
25362                CThostFtdcQryMDTraderOfferField ) , "::" , stringify ! (
25363                ParticipantID ) ));
25364    assert_eq! (unsafe {
25365                & ( * ( 0 as * const CThostFtdcQryMDTraderOfferField ) ) .
25366                TraderID as * const _ as usize } , 20usize , concat ! (
25367                "Alignment of field: " , stringify ! (
25368                CThostFtdcQryMDTraderOfferField ) , "::" , stringify ! (
25369                TraderID ) ));
25370}
25371impl Clone for CThostFtdcQryMDTraderOfferField {
25372    fn clone(&self) -> Self { *self }
25373}
25374/// 查询客户通知
25375#[repr(C)]
25376#[derive(Default, Copy)]
25377pub struct CThostFtdcQryNoticeField {
25378    /// 经纪公司代码
25379    pub BrokerID: TThostFtdcBrokerIDType,
25380}
25381#[test]
25382fn bindgen_test_layout_CThostFtdcQryNoticeField() {
25383    assert_eq!(::std::mem::size_of::<CThostFtdcQryNoticeField>() , 11usize ,
25384               concat ! (
25385               "Size of: " , stringify ! ( CThostFtdcQryNoticeField ) ));
25386    assert_eq! (::std::mem::align_of::<CThostFtdcQryNoticeField>() , 1usize ,
25387                concat ! (
25388                "Alignment of " , stringify ! ( CThostFtdcQryNoticeField ) ));
25389    assert_eq! (unsafe {
25390                & ( * ( 0 as * const CThostFtdcQryNoticeField ) ) . BrokerID
25391                as * const _ as usize } , 0usize , concat ! (
25392                "Alignment of field: " , stringify ! (
25393                CThostFtdcQryNoticeField ) , "::" , stringify ! ( BrokerID )
25394                ));
25395}
25396impl Clone for CThostFtdcQryNoticeField {
25397    fn clone(&self) -> Self { *self }
25398}
25399/// 客户通知
25400#[repr(C)]
25401#[derive(Copy)]
25402pub struct CThostFtdcNoticeField {
25403    /// 经纪公司代码
25404    pub BrokerID: TThostFtdcBrokerIDType,
25405    /// 消息正文
25406    pub Content: TThostFtdcContentType,
25407    /// 经纪公司通知内容序列号
25408    pub SequenceLabel: TThostFtdcSequenceLabelType,
25409}
25410#[test]
25411fn bindgen_test_layout_CThostFtdcNoticeField() {
25412    assert_eq!(::std::mem::size_of::<CThostFtdcNoticeField>() , 514usize ,
25413               concat ! ( "Size of: " , stringify ! ( CThostFtdcNoticeField )
25414               ));
25415    assert_eq! (::std::mem::align_of::<CThostFtdcNoticeField>() , 1usize ,
25416                concat ! (
25417                "Alignment of " , stringify ! ( CThostFtdcNoticeField ) ));
25418    assert_eq! (unsafe {
25419                & ( * ( 0 as * const CThostFtdcNoticeField ) ) . BrokerID as *
25420                const _ as usize } , 0usize , concat ! (
25421                "Alignment of field: " , stringify ! ( CThostFtdcNoticeField )
25422                , "::" , stringify ! ( BrokerID ) ));
25423    assert_eq! (unsafe {
25424                & ( * ( 0 as * const CThostFtdcNoticeField ) ) . Content as *
25425                const _ as usize } , 11usize , concat ! (
25426                "Alignment of field: " , stringify ! ( CThostFtdcNoticeField )
25427                , "::" , stringify ! ( Content ) ));
25428    assert_eq! (unsafe {
25429                & ( * ( 0 as * const CThostFtdcNoticeField ) ) . SequenceLabel
25430                as * const _ as usize } , 512usize , concat ! (
25431                "Alignment of field: " , stringify ! ( CThostFtdcNoticeField )
25432                , "::" , stringify ! ( SequenceLabel ) ));
25433}
25434impl Clone for CThostFtdcNoticeField {
25435    fn clone(&self) -> Self { *self }
25436}
25437impl Default for CThostFtdcNoticeField {
25438    fn default() -> Self { unsafe { ::std::mem::zeroed() } }
25439}
25440/// 用户权限
25441#[repr(C)]
25442#[derive(Default, Copy)]
25443pub struct CThostFtdcUserRightField {
25444    /// 经纪公司代码
25445    pub BrokerID: TThostFtdcBrokerIDType,
25446    /// 用户代码
25447    pub UserID: TThostFtdcUserIDType,
25448    /// 客户权限类型
25449    pub UserRightType: TThostFtdcUserRightTypeType,
25450    /// 是否禁止
25451    pub IsForbidden: TThostFtdcBoolType,
25452}
25453#[test]
25454fn bindgen_test_layout_CThostFtdcUserRightField() {
25455    assert_eq!(::std::mem::size_of::<CThostFtdcUserRightField>() , 32usize ,
25456               concat ! (
25457               "Size of: " , stringify ! ( CThostFtdcUserRightField ) ));
25458    assert_eq! (::std::mem::align_of::<CThostFtdcUserRightField>() , 4usize ,
25459                concat ! (
25460                "Alignment of " , stringify ! ( CThostFtdcUserRightField ) ));
25461    assert_eq! (unsafe {
25462                & ( * ( 0 as * const CThostFtdcUserRightField ) ) . BrokerID
25463                as * const _ as usize } , 0usize , concat ! (
25464                "Alignment of field: " , stringify ! (
25465                CThostFtdcUserRightField ) , "::" , stringify ! ( BrokerID )
25466                ));
25467    assert_eq! (unsafe {
25468                & ( * ( 0 as * const CThostFtdcUserRightField ) ) . UserID as
25469                * const _ as usize } , 11usize , concat ! (
25470                "Alignment of field: " , stringify ! (
25471                CThostFtdcUserRightField ) , "::" , stringify ! ( UserID ) ));
25472    assert_eq! (unsafe {
25473                & ( * ( 0 as * const CThostFtdcUserRightField ) ) .
25474                UserRightType as * const _ as usize } , 27usize , concat ! (
25475                "Alignment of field: " , stringify ! (
25476                CThostFtdcUserRightField ) , "::" , stringify ! (
25477                UserRightType ) ));
25478    assert_eq! (unsafe {
25479                & ( * ( 0 as * const CThostFtdcUserRightField ) ) .
25480                IsForbidden as * const _ as usize } , 28usize , concat ! (
25481                "Alignment of field: " , stringify ! (
25482                CThostFtdcUserRightField ) , "::" , stringify ! ( IsForbidden
25483                ) ));
25484}
25485impl Clone for CThostFtdcUserRightField {
25486    fn clone(&self) -> Self { *self }
25487}
25488/// 查询结算信息确认域
25489#[repr(C)]
25490#[derive(Default, Copy)]
25491pub struct CThostFtdcQrySettlementInfoConfirmField {
25492    /// 经纪公司代码
25493    pub BrokerID: TThostFtdcBrokerIDType,
25494    /// 投资者代码
25495    pub InvestorID: TThostFtdcInvestorIDType,
25496    /// 投资者帐号
25497    pub AccountID: TThostFtdcAccountIDType,
25498    /// 币种代码
25499    pub CurrencyID: TThostFtdcCurrencyIDType,
25500}
25501#[test]
25502fn bindgen_test_layout_CThostFtdcQrySettlementInfoConfirmField() {
25503    assert_eq!(::std::mem::size_of::<CThostFtdcQrySettlementInfoConfirmField>()
25504               , 41usize , concat ! (
25505               "Size of: " , stringify ! (
25506               CThostFtdcQrySettlementInfoConfirmField ) ));
25507    assert_eq! (::std::mem::align_of::<CThostFtdcQrySettlementInfoConfirmField>()
25508                , 1usize , concat ! (
25509                "Alignment of " , stringify ! (
25510                CThostFtdcQrySettlementInfoConfirmField ) ));
25511    assert_eq! (unsafe {
25512                & ( * ( 0 as * const CThostFtdcQrySettlementInfoConfirmField )
25513                ) . BrokerID as * const _ as usize } , 0usize , concat ! (
25514                "Alignment of field: " , stringify ! (
25515                CThostFtdcQrySettlementInfoConfirmField ) , "::" , stringify !
25516                ( BrokerID ) ));
25517    assert_eq! (unsafe {
25518                & ( * ( 0 as * const CThostFtdcQrySettlementInfoConfirmField )
25519                ) . InvestorID as * const _ as usize } , 11usize , concat ! (
25520                "Alignment of field: " , stringify ! (
25521                CThostFtdcQrySettlementInfoConfirmField ) , "::" , stringify !
25522                ( InvestorID ) ));
25523    assert_eq! (unsafe {
25524                & ( * ( 0 as * const CThostFtdcQrySettlementInfoConfirmField )
25525                ) . AccountID as * const _ as usize } , 24usize , concat ! (
25526                "Alignment of field: " , stringify ! (
25527                CThostFtdcQrySettlementInfoConfirmField ) , "::" , stringify !
25528                ( AccountID ) ));
25529    assert_eq! (unsafe {
25530                & ( * ( 0 as * const CThostFtdcQrySettlementInfoConfirmField )
25531                ) . CurrencyID as * const _ as usize } , 37usize , concat ! (
25532                "Alignment of field: " , stringify ! (
25533                CThostFtdcQrySettlementInfoConfirmField ) , "::" , stringify !
25534                ( CurrencyID ) ));
25535}
25536impl Clone for CThostFtdcQrySettlementInfoConfirmField {
25537    fn clone(&self) -> Self { *self }
25538}
25539/// 装载结算信息
25540#[repr(C)]
25541#[derive(Default, Copy)]
25542pub struct CThostFtdcLoadSettlementInfoField {
25543    /// 经纪公司代码
25544    pub BrokerID: TThostFtdcBrokerIDType,
25545}
25546#[test]
25547fn bindgen_test_layout_CThostFtdcLoadSettlementInfoField() {
25548    assert_eq!(::std::mem::size_of::<CThostFtdcLoadSettlementInfoField>() ,
25549               11usize , concat ! (
25550               "Size of: " , stringify ! ( CThostFtdcLoadSettlementInfoField )
25551               ));
25552    assert_eq! (::std::mem::align_of::<CThostFtdcLoadSettlementInfoField>() ,
25553                1usize , concat ! (
25554                "Alignment of " , stringify ! (
25555                CThostFtdcLoadSettlementInfoField ) ));
25556    assert_eq! (unsafe {
25557                & ( * ( 0 as * const CThostFtdcLoadSettlementInfoField ) ) .
25558                BrokerID as * const _ as usize } , 0usize , concat ! (
25559                "Alignment of field: " , stringify ! (
25560                CThostFtdcLoadSettlementInfoField ) , "::" , stringify ! (
25561                BrokerID ) ));
25562}
25563impl Clone for CThostFtdcLoadSettlementInfoField {
25564    fn clone(&self) -> Self { *self }
25565}
25566/// 经纪公司可提资金算法表
25567#[repr(C)]
25568#[derive(Default, Copy)]
25569pub struct CThostFtdcBrokerWithdrawAlgorithmField {
25570    /// 经纪公司代码
25571    pub BrokerID: TThostFtdcBrokerIDType,
25572    /// 可提资金算法
25573    pub WithdrawAlgorithm: TThostFtdcAlgorithmType,
25574    /// 资金使用率
25575    pub UsingRatio: TThostFtdcRatioType,
25576    /// 可提是否包含平仓盈利
25577    pub IncludeCloseProfit: TThostFtdcIncludeCloseProfitType,
25578    /// 本日无仓且无成交客户是否受可提比例限制
25579    pub AllWithoutTrade: TThostFtdcAllWithoutTradeType,
25580    /// 可用是否包含平仓盈利
25581    pub AvailIncludeCloseProfit: TThostFtdcIncludeCloseProfitType,
25582    /// 是否启用用户事件
25583    pub IsBrokerUserEvent: TThostFtdcBoolType,
25584    /// 币种代码
25585    pub CurrencyID: TThostFtdcCurrencyIDType,
25586    /// 货币质押比率
25587    pub FundMortgageRatio: TThostFtdcRatioType,
25588    /// 权益算法
25589    pub BalanceAlgorithm: TThostFtdcBalanceAlgorithmType,
25590}
25591#[test]
25592fn bindgen_test_layout_CThostFtdcBrokerWithdrawAlgorithmField() {
25593    assert_eq!(::std::mem::size_of::<CThostFtdcBrokerWithdrawAlgorithmField>()
25594               , 56usize , concat ! (
25595               "Size of: " , stringify ! (
25596               CThostFtdcBrokerWithdrawAlgorithmField ) ));
25597    assert_eq! (::std::mem::align_of::<CThostFtdcBrokerWithdrawAlgorithmField>()
25598                , 8usize , concat ! (
25599                "Alignment of " , stringify ! (
25600                CThostFtdcBrokerWithdrawAlgorithmField ) ));
25601    assert_eq! (unsafe {
25602                & ( * ( 0 as * const CThostFtdcBrokerWithdrawAlgorithmField )
25603                ) . BrokerID as * const _ as usize } , 0usize , concat ! (
25604                "Alignment of field: " , stringify ! (
25605                CThostFtdcBrokerWithdrawAlgorithmField ) , "::" , stringify !
25606                ( BrokerID ) ));
25607    assert_eq! (unsafe {
25608                & ( * ( 0 as * const CThostFtdcBrokerWithdrawAlgorithmField )
25609                ) . WithdrawAlgorithm as * const _ as usize } , 11usize ,
25610                concat ! (
25611                "Alignment of field: " , stringify ! (
25612                CThostFtdcBrokerWithdrawAlgorithmField ) , "::" , stringify !
25613                ( WithdrawAlgorithm ) ));
25614    assert_eq! (unsafe {
25615                & ( * ( 0 as * const CThostFtdcBrokerWithdrawAlgorithmField )
25616                ) . UsingRatio as * const _ as usize } , 16usize , concat ! (
25617                "Alignment of field: " , stringify ! (
25618                CThostFtdcBrokerWithdrawAlgorithmField ) , "::" , stringify !
25619                ( UsingRatio ) ));
25620    assert_eq! (unsafe {
25621                & ( * ( 0 as * const CThostFtdcBrokerWithdrawAlgorithmField )
25622                ) . IncludeCloseProfit as * const _ as usize } , 24usize ,
25623                concat ! (
25624                "Alignment of field: " , stringify ! (
25625                CThostFtdcBrokerWithdrawAlgorithmField ) , "::" , stringify !
25626                ( IncludeCloseProfit ) ));
25627    assert_eq! (unsafe {
25628                & ( * ( 0 as * const CThostFtdcBrokerWithdrawAlgorithmField )
25629                ) . AllWithoutTrade as * const _ as usize } , 25usize , concat
25630                ! (
25631                "Alignment of field: " , stringify ! (
25632                CThostFtdcBrokerWithdrawAlgorithmField ) , "::" , stringify !
25633                ( AllWithoutTrade ) ));
25634    assert_eq! (unsafe {
25635                & ( * ( 0 as * const CThostFtdcBrokerWithdrawAlgorithmField )
25636                ) . AvailIncludeCloseProfit as * const _ as usize } , 26usize
25637                , concat ! (
25638                "Alignment of field: " , stringify ! (
25639                CThostFtdcBrokerWithdrawAlgorithmField ) , "::" , stringify !
25640                ( AvailIncludeCloseProfit ) ));
25641    assert_eq! (unsafe {
25642                & ( * ( 0 as * const CThostFtdcBrokerWithdrawAlgorithmField )
25643                ) . IsBrokerUserEvent as * const _ as usize } , 28usize ,
25644                concat ! (
25645                "Alignment of field: " , stringify ! (
25646                CThostFtdcBrokerWithdrawAlgorithmField ) , "::" , stringify !
25647                ( IsBrokerUserEvent ) ));
25648    assert_eq! (unsafe {
25649                & ( * ( 0 as * const CThostFtdcBrokerWithdrawAlgorithmField )
25650                ) . CurrencyID as * const _ as usize } , 32usize , concat ! (
25651                "Alignment of field: " , stringify ! (
25652                CThostFtdcBrokerWithdrawAlgorithmField ) , "::" , stringify !
25653                ( CurrencyID ) ));
25654    assert_eq! (unsafe {
25655                & ( * ( 0 as * const CThostFtdcBrokerWithdrawAlgorithmField )
25656                ) . FundMortgageRatio as * const _ as usize } , 40usize ,
25657                concat ! (
25658                "Alignment of field: " , stringify ! (
25659                CThostFtdcBrokerWithdrawAlgorithmField ) , "::" , stringify !
25660                ( FundMortgageRatio ) ));
25661    assert_eq! (unsafe {
25662                & ( * ( 0 as * const CThostFtdcBrokerWithdrawAlgorithmField )
25663                ) . BalanceAlgorithm as * const _ as usize } , 48usize ,
25664                concat ! (
25665                "Alignment of field: " , stringify ! (
25666                CThostFtdcBrokerWithdrawAlgorithmField ) , "::" , stringify !
25667                ( BalanceAlgorithm ) ));
25668}
25669impl Clone for CThostFtdcBrokerWithdrawAlgorithmField {
25670    fn clone(&self) -> Self { *self }
25671}
25672/// 资金账户口令变更域
25673#[repr(C)]
25674#[derive(Copy)]
25675pub struct CThostFtdcTradingAccountPasswordUpdateV1Field {
25676    /// 经纪公司代码
25677    pub BrokerID: TThostFtdcBrokerIDType,
25678    /// 投资者代码
25679    pub InvestorID: TThostFtdcInvestorIDType,
25680    /// 原来的口令
25681    pub OldPassword: TThostFtdcPasswordType,
25682    /// 新的口令
25683    pub NewPassword: TThostFtdcPasswordType,
25684}
25685#[test]
25686fn bindgen_test_layout_CThostFtdcTradingAccountPasswordUpdateV1Field() {
25687    assert_eq!(::std::mem::size_of::<CThostFtdcTradingAccountPasswordUpdateV1Field>()
25688               , 106usize , concat ! (
25689               "Size of: " , stringify ! (
25690               CThostFtdcTradingAccountPasswordUpdateV1Field ) ));
25691    assert_eq! (::std::mem::align_of::<CThostFtdcTradingAccountPasswordUpdateV1Field>()
25692                , 1usize , concat ! (
25693                "Alignment of " , stringify ! (
25694                CThostFtdcTradingAccountPasswordUpdateV1Field ) ));
25695    assert_eq! (unsafe {
25696                & (
25697                * ( 0 as * const CThostFtdcTradingAccountPasswordUpdateV1Field
25698                ) ) . BrokerID as * const _ as usize } , 0usize , concat ! (
25699                "Alignment of field: " , stringify ! (
25700                CThostFtdcTradingAccountPasswordUpdateV1Field ) , "::" ,
25701                stringify ! ( BrokerID ) ));
25702    assert_eq! (unsafe {
25703                & (
25704                * ( 0 as * const CThostFtdcTradingAccountPasswordUpdateV1Field
25705                ) ) . InvestorID as * const _ as usize } , 11usize , concat !
25706                (
25707                "Alignment of field: " , stringify ! (
25708                CThostFtdcTradingAccountPasswordUpdateV1Field ) , "::" ,
25709                stringify ! ( InvestorID ) ));
25710    assert_eq! (unsafe {
25711                & (
25712                * ( 0 as * const CThostFtdcTradingAccountPasswordUpdateV1Field
25713                ) ) . OldPassword as * const _ as usize } , 24usize , concat !
25714                (
25715                "Alignment of field: " , stringify ! (
25716                CThostFtdcTradingAccountPasswordUpdateV1Field ) , "::" ,
25717                stringify ! ( OldPassword ) ));
25718    assert_eq! (unsafe {
25719                & (
25720                * ( 0 as * const CThostFtdcTradingAccountPasswordUpdateV1Field
25721                ) ) . NewPassword as * const _ as usize } , 65usize , concat !
25722                (
25723                "Alignment of field: " , stringify ! (
25724                CThostFtdcTradingAccountPasswordUpdateV1Field ) , "::" ,
25725                stringify ! ( NewPassword ) ));
25726}
25727impl Clone for CThostFtdcTradingAccountPasswordUpdateV1Field {
25728    fn clone(&self) -> Self { *self }
25729}
25730impl Default for CThostFtdcTradingAccountPasswordUpdateV1Field {
25731    fn default() -> Self { unsafe { ::std::mem::zeroed() } }
25732}
25733/// 资金账户口令变更域
25734#[repr(C)]
25735#[derive(Copy)]
25736pub struct CThostFtdcTradingAccountPasswordUpdateField {
25737    /// 经纪公司代码
25738    pub BrokerID: TThostFtdcBrokerIDType,
25739    /// 投资者帐号
25740    pub AccountID: TThostFtdcAccountIDType,
25741    /// 原来的口令
25742    pub OldPassword: TThostFtdcPasswordType,
25743    /// 新的口令
25744    pub NewPassword: TThostFtdcPasswordType,
25745    /// 币种代码
25746    pub CurrencyID: TThostFtdcCurrencyIDType,
25747}
25748#[test]
25749fn bindgen_test_layout_CThostFtdcTradingAccountPasswordUpdateField() {
25750    assert_eq!(::std::mem::size_of::<CThostFtdcTradingAccountPasswordUpdateField>()
25751               , 110usize , concat ! (
25752               "Size of: " , stringify ! (
25753               CThostFtdcTradingAccountPasswordUpdateField ) ));
25754    assert_eq! (::std::mem::align_of::<CThostFtdcTradingAccountPasswordUpdateField>()
25755                , 1usize , concat ! (
25756                "Alignment of " , stringify ! (
25757                CThostFtdcTradingAccountPasswordUpdateField ) ));
25758    assert_eq! (unsafe {
25759                & (
25760                * ( 0 as * const CThostFtdcTradingAccountPasswordUpdateField )
25761                ) . BrokerID as * const _ as usize } , 0usize , concat ! (
25762                "Alignment of field: " , stringify ! (
25763                CThostFtdcTradingAccountPasswordUpdateField ) , "::" ,
25764                stringify ! ( BrokerID ) ));
25765    assert_eq! (unsafe {
25766                & (
25767                * ( 0 as * const CThostFtdcTradingAccountPasswordUpdateField )
25768                ) . AccountID as * const _ as usize } , 11usize , concat ! (
25769                "Alignment of field: " , stringify ! (
25770                CThostFtdcTradingAccountPasswordUpdateField ) , "::" ,
25771                stringify ! ( AccountID ) ));
25772    assert_eq! (unsafe {
25773                & (
25774                * ( 0 as * const CThostFtdcTradingAccountPasswordUpdateField )
25775                ) . OldPassword as * const _ as usize } , 24usize , concat ! (
25776                "Alignment of field: " , stringify ! (
25777                CThostFtdcTradingAccountPasswordUpdateField ) , "::" ,
25778                stringify ! ( OldPassword ) ));
25779    assert_eq! (unsafe {
25780                & (
25781                * ( 0 as * const CThostFtdcTradingAccountPasswordUpdateField )
25782                ) . NewPassword as * const _ as usize } , 65usize , concat ! (
25783                "Alignment of field: " , stringify ! (
25784                CThostFtdcTradingAccountPasswordUpdateField ) , "::" ,
25785                stringify ! ( NewPassword ) ));
25786    assert_eq! (unsafe {
25787                & (
25788                * ( 0 as * const CThostFtdcTradingAccountPasswordUpdateField )
25789                ) . CurrencyID as * const _ as usize } , 106usize , concat ! (
25790                "Alignment of field: " , stringify ! (
25791                CThostFtdcTradingAccountPasswordUpdateField ) , "::" ,
25792                stringify ! ( CurrencyID ) ));
25793}
25794impl Clone for CThostFtdcTradingAccountPasswordUpdateField {
25795    fn clone(&self) -> Self { *self }
25796}
25797impl Default for CThostFtdcTradingAccountPasswordUpdateField {
25798    fn default() -> Self { unsafe { ::std::mem::zeroed() } }
25799}
25800/// 查询组合合约分腿
25801#[repr(C)]
25802#[derive(Default, Copy)]
25803pub struct CThostFtdcQryCombinationLegField {
25804    /// 组合合约代码
25805    pub CombInstrumentID: TThostFtdcInstrumentIDType,
25806    /// 单腿编号
25807    pub LegID: TThostFtdcLegIDType,
25808    /// 单腿合约代码
25809    pub LegInstrumentID: TThostFtdcInstrumentIDType,
25810}
25811#[test]
25812fn bindgen_test_layout_CThostFtdcQryCombinationLegField() {
25813    assert_eq!(::std::mem::size_of::<CThostFtdcQryCombinationLegField>() ,
25814               68usize , concat ! (
25815               "Size of: " , stringify ! ( CThostFtdcQryCombinationLegField )
25816               ));
25817    assert_eq! (::std::mem::align_of::<CThostFtdcQryCombinationLegField>() ,
25818                4usize , concat ! (
25819                "Alignment of " , stringify ! (
25820                CThostFtdcQryCombinationLegField ) ));
25821    assert_eq! (unsafe {
25822                & ( * ( 0 as * const CThostFtdcQryCombinationLegField ) ) .
25823                CombInstrumentID as * const _ as usize } , 0usize , concat ! (
25824                "Alignment of field: " , stringify ! (
25825                CThostFtdcQryCombinationLegField ) , "::" , stringify ! (
25826                CombInstrumentID ) ));
25827    assert_eq! (unsafe {
25828                & ( * ( 0 as * const CThostFtdcQryCombinationLegField ) ) .
25829                LegID as * const _ as usize } , 32usize , concat ! (
25830                "Alignment of field: " , stringify ! (
25831                CThostFtdcQryCombinationLegField ) , "::" , stringify ! (
25832                LegID ) ));
25833    assert_eq! (unsafe {
25834                & ( * ( 0 as * const CThostFtdcQryCombinationLegField ) ) .
25835                LegInstrumentID as * const _ as usize } , 36usize , concat ! (
25836                "Alignment of field: " , stringify ! (
25837                CThostFtdcQryCombinationLegField ) , "::" , stringify ! (
25838                LegInstrumentID ) ));
25839}
25840impl Clone for CThostFtdcQryCombinationLegField {
25841    fn clone(&self) -> Self { *self }
25842}
25843/// 查询组合合约分腿
25844#[repr(C)]
25845#[derive(Default, Copy)]
25846pub struct CThostFtdcQrySyncStatusField {
25847    /// 交易日
25848    pub TradingDay: TThostFtdcDateType,
25849}
25850#[test]
25851fn bindgen_test_layout_CThostFtdcQrySyncStatusField() {
25852    assert_eq!(::std::mem::size_of::<CThostFtdcQrySyncStatusField>() , 9usize
25853               , concat ! (
25854               "Size of: " , stringify ! ( CThostFtdcQrySyncStatusField ) ));
25855    assert_eq! (::std::mem::align_of::<CThostFtdcQrySyncStatusField>() ,
25856                1usize , concat ! (
25857                "Alignment of " , stringify ! ( CThostFtdcQrySyncStatusField )
25858                ));
25859    assert_eq! (unsafe {
25860                & ( * ( 0 as * const CThostFtdcQrySyncStatusField ) ) .
25861                TradingDay as * const _ as usize } , 0usize , concat ! (
25862                "Alignment of field: " , stringify ! (
25863                CThostFtdcQrySyncStatusField ) , "::" , stringify ! (
25864                TradingDay ) ));
25865}
25866impl Clone for CThostFtdcQrySyncStatusField {
25867    fn clone(&self) -> Self { *self }
25868}
25869/// 组合交易合约的单腿
25870#[repr(C)]
25871#[derive(Default, Copy)]
25872pub struct CThostFtdcCombinationLegField {
25873    /// 组合合约代码
25874    pub CombInstrumentID: TThostFtdcInstrumentIDType,
25875    /// 单腿编号
25876    pub LegID: TThostFtdcLegIDType,
25877    /// 单腿合约代码
25878    pub LegInstrumentID: TThostFtdcInstrumentIDType,
25879    /// 买卖方向
25880    pub Direction: TThostFtdcDirectionType,
25881    /// 单腿乘数
25882    pub LegMultiple: TThostFtdcLegMultipleType,
25883    /// 派生层数
25884    pub ImplyLevel: TThostFtdcImplyLevelType,
25885}
25886#[test]
25887fn bindgen_test_layout_CThostFtdcCombinationLegField() {
25888    assert_eq!(::std::mem::size_of::<CThostFtdcCombinationLegField>() ,
25889               76usize , concat ! (
25890               "Size of: " , stringify ! ( CThostFtdcCombinationLegField ) ));
25891    assert_eq! (::std::mem::align_of::<CThostFtdcCombinationLegField>() ,
25892                4usize , concat ! (
25893                "Alignment of " , stringify ! ( CThostFtdcCombinationLegField
25894                ) ));
25895    assert_eq! (unsafe {
25896                & ( * ( 0 as * const CThostFtdcCombinationLegField ) ) .
25897                CombInstrumentID as * const _ as usize } , 0usize , concat ! (
25898                "Alignment of field: " , stringify ! (
25899                CThostFtdcCombinationLegField ) , "::" , stringify ! (
25900                CombInstrumentID ) ));
25901    assert_eq! (unsafe {
25902                & ( * ( 0 as * const CThostFtdcCombinationLegField ) ) . LegID
25903                as * const _ as usize } , 32usize , concat ! (
25904                "Alignment of field: " , stringify ! (
25905                CThostFtdcCombinationLegField ) , "::" , stringify ! ( LegID )
25906                ));
25907    assert_eq! (unsafe {
25908                & ( * ( 0 as * const CThostFtdcCombinationLegField ) ) .
25909                LegInstrumentID as * const _ as usize } , 36usize , concat ! (
25910                "Alignment of field: " , stringify ! (
25911                CThostFtdcCombinationLegField ) , "::" , stringify ! (
25912                LegInstrumentID ) ));
25913    assert_eq! (unsafe {
25914                & ( * ( 0 as * const CThostFtdcCombinationLegField ) ) .
25915                Direction as * const _ as usize } , 67usize , concat ! (
25916                "Alignment of field: " , stringify ! (
25917                CThostFtdcCombinationLegField ) , "::" , stringify ! (
25918                Direction ) ));
25919    assert_eq! (unsafe {
25920                & ( * ( 0 as * const CThostFtdcCombinationLegField ) ) .
25921                LegMultiple as * const _ as usize } , 68usize , concat ! (
25922                "Alignment of field: " , stringify ! (
25923                CThostFtdcCombinationLegField ) , "::" , stringify ! (
25924                LegMultiple ) ));
25925    assert_eq! (unsafe {
25926                & ( * ( 0 as * const CThostFtdcCombinationLegField ) ) .
25927                ImplyLevel as * const _ as usize } , 72usize , concat ! (
25928                "Alignment of field: " , stringify ! (
25929                CThostFtdcCombinationLegField ) , "::" , stringify ! (
25930                ImplyLevel ) ));
25931}
25932impl Clone for CThostFtdcCombinationLegField {
25933    fn clone(&self) -> Self { *self }
25934}
25935/// 数据同步状态
25936#[repr(C)]
25937#[derive(Default, Copy)]
25938pub struct CThostFtdcSyncStatusField {
25939    /// 交易日
25940    pub TradingDay: TThostFtdcDateType,
25941    /// 数据同步状态
25942    pub DataSyncStatus: TThostFtdcDataSyncStatusType,
25943}
25944#[test]
25945fn bindgen_test_layout_CThostFtdcSyncStatusField() {
25946    assert_eq!(::std::mem::size_of::<CThostFtdcSyncStatusField>() , 10usize ,
25947               concat ! (
25948               "Size of: " , stringify ! ( CThostFtdcSyncStatusField ) ));
25949    assert_eq! (::std::mem::align_of::<CThostFtdcSyncStatusField>() , 1usize ,
25950                concat ! (
25951                "Alignment of " , stringify ! ( CThostFtdcSyncStatusField )
25952                ));
25953    assert_eq! (unsafe {
25954                & ( * ( 0 as * const CThostFtdcSyncStatusField ) ) .
25955                TradingDay as * const _ as usize } , 0usize , concat ! (
25956                "Alignment of field: " , stringify ! (
25957                CThostFtdcSyncStatusField ) , "::" , stringify ! ( TradingDay
25958                ) ));
25959    assert_eq! (unsafe {
25960                & ( * ( 0 as * const CThostFtdcSyncStatusField ) ) .
25961                DataSyncStatus as * const _ as usize } , 9usize , concat ! (
25962                "Alignment of field: " , stringify ! (
25963                CThostFtdcSyncStatusField ) , "::" , stringify ! (
25964                DataSyncStatus ) ));
25965}
25966impl Clone for CThostFtdcSyncStatusField {
25967    fn clone(&self) -> Self { *self }
25968}
25969/// 查询联系人
25970#[repr(C)]
25971#[derive(Default, Copy)]
25972pub struct CThostFtdcQryLinkManField {
25973    /// 经纪公司代码
25974    pub BrokerID: TThostFtdcBrokerIDType,
25975    /// 投资者代码
25976    pub InvestorID: TThostFtdcInvestorIDType,
25977}
25978#[test]
25979fn bindgen_test_layout_CThostFtdcQryLinkManField() {
25980    assert_eq!(::std::mem::size_of::<CThostFtdcQryLinkManField>() , 24usize ,
25981               concat ! (
25982               "Size of: " , stringify ! ( CThostFtdcQryLinkManField ) ));
25983    assert_eq! (::std::mem::align_of::<CThostFtdcQryLinkManField>() , 1usize ,
25984                concat ! (
25985                "Alignment of " , stringify ! ( CThostFtdcQryLinkManField )
25986                ));
25987    assert_eq! (unsafe {
25988                & ( * ( 0 as * const CThostFtdcQryLinkManField ) ) . BrokerID
25989                as * const _ as usize } , 0usize , concat ! (
25990                "Alignment of field: " , stringify ! (
25991                CThostFtdcQryLinkManField ) , "::" , stringify ! ( BrokerID )
25992                ));
25993    assert_eq! (unsafe {
25994                & ( * ( 0 as * const CThostFtdcQryLinkManField ) ) .
25995                InvestorID as * const _ as usize } , 11usize , concat ! (
25996                "Alignment of field: " , stringify ! (
25997                CThostFtdcQryLinkManField ) , "::" , stringify ! ( InvestorID
25998                ) ));
25999}
26000impl Clone for CThostFtdcQryLinkManField {
26001    fn clone(&self) -> Self { *self }
26002}
26003/// 联系人
26004#[repr(C)]
26005#[derive(Copy)]
26006pub struct CThostFtdcLinkManField {
26007    /// 经纪公司代码
26008    pub BrokerID: TThostFtdcBrokerIDType,
26009    /// 投资者代码
26010    pub InvestorID: TThostFtdcInvestorIDType,
26011    /// 联系人类型
26012    pub PersonType: TThostFtdcPersonTypeType,
26013    /// 证件类型
26014    pub IdentifiedCardType: TThostFtdcIdCardTypeType,
26015    /// 证件号码
26016    pub IdentifiedCardNo: TThostFtdcIdentifiedCardNoType,
26017    /// 名称
26018    pub PersonName: TThostFtdcPartyNameType,
26019    /// 联系电话
26020    pub Telephone: TThostFtdcTelephoneType,
26021    /// 通讯地址
26022    pub Address: TThostFtdcAddressType,
26023    /// 邮政编码
26024    pub ZipCode: TThostFtdcZipCodeType,
26025    /// 优先级
26026    pub Priority: TThostFtdcPriorityType,
26027    /// 开户邮政编码
26028    pub UOAZipCode: TThostFtdcUOAZipCodeType,
26029    /// 全称
26030    pub PersonFullName: TThostFtdcInvestorFullNameType,
26031}
26032#[test]
26033fn bindgen_test_layout_CThostFtdcLinkManField() {
26034    assert_eq!(::std::mem::size_of::<CThostFtdcLinkManField>() , 424usize ,
26035               concat ! ( "Size of: " , stringify ! ( CThostFtdcLinkManField )
26036               ));
26037    assert_eq! (::std::mem::align_of::<CThostFtdcLinkManField>() , 4usize ,
26038                concat ! (
26039                "Alignment of " , stringify ! ( CThostFtdcLinkManField ) ));
26040    assert_eq! (unsafe {
26041                & ( * ( 0 as * const CThostFtdcLinkManField ) ) . BrokerID as
26042                * const _ as usize } , 0usize , concat ! (
26043                "Alignment of field: " , stringify ! ( CThostFtdcLinkManField
26044                ) , "::" , stringify ! ( BrokerID ) ));
26045    assert_eq! (unsafe {
26046                & ( * ( 0 as * const CThostFtdcLinkManField ) ) . InvestorID
26047                as * const _ as usize } , 11usize , concat ! (
26048                "Alignment of field: " , stringify ! ( CThostFtdcLinkManField
26049                ) , "::" , stringify ! ( InvestorID ) ));
26050    assert_eq! (unsafe {
26051                & ( * ( 0 as * const CThostFtdcLinkManField ) ) . PersonType
26052                as * const _ as usize } , 24usize , concat ! (
26053                "Alignment of field: " , stringify ! ( CThostFtdcLinkManField
26054                ) , "::" , stringify ! ( PersonType ) ));
26055    assert_eq! (unsafe {
26056                & ( * ( 0 as * const CThostFtdcLinkManField ) ) .
26057                IdentifiedCardType as * const _ as usize } , 25usize , concat
26058                ! (
26059                "Alignment of field: " , stringify ! ( CThostFtdcLinkManField
26060                ) , "::" , stringify ! ( IdentifiedCardType ) ));
26061    assert_eq! (unsafe {
26062                & ( * ( 0 as * const CThostFtdcLinkManField ) ) .
26063                IdentifiedCardNo as * const _ as usize } , 26usize , concat !
26064                (
26065                "Alignment of field: " , stringify ! ( CThostFtdcLinkManField
26066                ) , "::" , stringify ! ( IdentifiedCardNo ) ));
26067    assert_eq! (unsafe {
26068                & ( * ( 0 as * const CThostFtdcLinkManField ) ) . PersonName
26069                as * const _ as usize } , 77usize , concat ! (
26070                "Alignment of field: " , stringify ! ( CThostFtdcLinkManField
26071                ) , "::" , stringify ! ( PersonName ) ));
26072    assert_eq! (unsafe {
26073                & ( * ( 0 as * const CThostFtdcLinkManField ) ) . Telephone as
26074                * const _ as usize } , 158usize , concat ! (
26075                "Alignment of field: " , stringify ! ( CThostFtdcLinkManField
26076                ) , "::" , stringify ! ( Telephone ) ));
26077    assert_eq! (unsafe {
26078                & ( * ( 0 as * const CThostFtdcLinkManField ) ) . Address as *
26079                const _ as usize } , 199usize , concat ! (
26080                "Alignment of field: " , stringify ! ( CThostFtdcLinkManField
26081                ) , "::" , stringify ! ( Address ) ));
26082    assert_eq! (unsafe {
26083                & ( * ( 0 as * const CThostFtdcLinkManField ) ) . ZipCode as *
26084                const _ as usize } , 300usize , concat ! (
26085                "Alignment of field: " , stringify ! ( CThostFtdcLinkManField
26086                ) , "::" , stringify ! ( ZipCode ) ));
26087    assert_eq! (unsafe {
26088                & ( * ( 0 as * const CThostFtdcLinkManField ) ) . Priority as
26089                * const _ as usize } , 308usize , concat ! (
26090                "Alignment of field: " , stringify ! ( CThostFtdcLinkManField
26091                ) , "::" , stringify ! ( Priority ) ));
26092    assert_eq! (unsafe {
26093                & ( * ( 0 as * const CThostFtdcLinkManField ) ) . UOAZipCode
26094                as * const _ as usize } , 312usize , concat ! (
26095                "Alignment of field: " , stringify ! ( CThostFtdcLinkManField
26096                ) , "::" , stringify ! ( UOAZipCode ) ));
26097    assert_eq! (unsafe {
26098                & ( * ( 0 as * const CThostFtdcLinkManField ) ) .
26099                PersonFullName as * const _ as usize } , 323usize , concat ! (
26100                "Alignment of field: " , stringify ! ( CThostFtdcLinkManField
26101                ) , "::" , stringify ! ( PersonFullName ) ));
26102}
26103impl Clone for CThostFtdcLinkManField {
26104    fn clone(&self) -> Self { *self }
26105}
26106impl Default for CThostFtdcLinkManField {
26107    fn default() -> Self { unsafe { ::std::mem::zeroed() } }
26108}
26109/// 查询经纪公司用户事件
26110#[repr(C)]
26111#[derive(Default, Copy)]
26112pub struct CThostFtdcQryBrokerUserEventField {
26113    /// 经纪公司代码
26114    pub BrokerID: TThostFtdcBrokerIDType,
26115    /// 用户代码
26116    pub UserID: TThostFtdcUserIDType,
26117    /// 用户事件类型
26118    pub UserEventType: TThostFtdcUserEventTypeType,
26119}
26120#[test]
26121fn bindgen_test_layout_CThostFtdcQryBrokerUserEventField() {
26122    assert_eq!(::std::mem::size_of::<CThostFtdcQryBrokerUserEventField>() ,
26123               28usize , concat ! (
26124               "Size of: " , stringify ! ( CThostFtdcQryBrokerUserEventField )
26125               ));
26126    assert_eq! (::std::mem::align_of::<CThostFtdcQryBrokerUserEventField>() ,
26127                1usize , concat ! (
26128                "Alignment of " , stringify ! (
26129                CThostFtdcQryBrokerUserEventField ) ));
26130    assert_eq! (unsafe {
26131                & ( * ( 0 as * const CThostFtdcQryBrokerUserEventField ) ) .
26132                BrokerID as * const _ as usize } , 0usize , concat ! (
26133                "Alignment of field: " , stringify ! (
26134                CThostFtdcQryBrokerUserEventField ) , "::" , stringify ! (
26135                BrokerID ) ));
26136    assert_eq! (unsafe {
26137                & ( * ( 0 as * const CThostFtdcQryBrokerUserEventField ) ) .
26138                UserID as * const _ as usize } , 11usize , concat ! (
26139                "Alignment of field: " , stringify ! (
26140                CThostFtdcQryBrokerUserEventField ) , "::" , stringify ! (
26141                UserID ) ));
26142    assert_eq! (unsafe {
26143                & ( * ( 0 as * const CThostFtdcQryBrokerUserEventField ) ) .
26144                UserEventType as * const _ as usize } , 27usize , concat ! (
26145                "Alignment of field: " , stringify ! (
26146                CThostFtdcQryBrokerUserEventField ) , "::" , stringify ! (
26147                UserEventType ) ));
26148}
26149impl Clone for CThostFtdcQryBrokerUserEventField {
26150    fn clone(&self) -> Self { *self }
26151}
26152/// 查询经纪公司用户事件
26153#[repr(C)]
26154#[derive(Copy)]
26155pub struct CThostFtdcBrokerUserEventField {
26156    /// 经纪公司代码
26157    pub BrokerID: TThostFtdcBrokerIDType,
26158    /// 用户代码
26159    pub UserID: TThostFtdcUserIDType,
26160    /// 用户事件类型
26161    pub UserEventType: TThostFtdcUserEventTypeType,
26162    /// 用户事件序号
26163    pub EventSequenceNo: TThostFtdcSequenceNoType,
26164    /// 事件发生日期
26165    pub EventDate: TThostFtdcDateType,
26166    /// 事件发生时间
26167    pub EventTime: TThostFtdcTimeType,
26168    /// 用户事件信息
26169    pub UserEventInfo: TThostFtdcUserEventInfoType,
26170    /// 投资者代码
26171    pub InvestorID: TThostFtdcInvestorIDType,
26172    /// 合约代码
26173    pub InstrumentID: TThostFtdcInstrumentIDType,
26174}
26175#[test]
26176fn bindgen_test_layout_CThostFtdcBrokerUserEventField() {
26177    assert_eq!(::std::mem::size_of::<CThostFtdcBrokerUserEventField>() ,
26178               1120usize , concat ! (
26179               "Size of: " , stringify ! ( CThostFtdcBrokerUserEventField )
26180               ));
26181    assert_eq! (::std::mem::align_of::<CThostFtdcBrokerUserEventField>() ,
26182                4usize , concat ! (
26183                "Alignment of " , stringify ! ( CThostFtdcBrokerUserEventField
26184                ) ));
26185    assert_eq! (unsafe {
26186                & ( * ( 0 as * const CThostFtdcBrokerUserEventField ) ) .
26187                BrokerID as * const _ as usize } , 0usize , concat ! (
26188                "Alignment of field: " , stringify ! (
26189                CThostFtdcBrokerUserEventField ) , "::" , stringify ! (
26190                BrokerID ) ));
26191    assert_eq! (unsafe {
26192                & ( * ( 0 as * const CThostFtdcBrokerUserEventField ) ) .
26193                UserID as * const _ as usize } , 11usize , concat ! (
26194                "Alignment of field: " , stringify ! (
26195                CThostFtdcBrokerUserEventField ) , "::" , stringify ! ( UserID
26196                ) ));
26197    assert_eq! (unsafe {
26198                & ( * ( 0 as * const CThostFtdcBrokerUserEventField ) ) .
26199                UserEventType as * const _ as usize } , 27usize , concat ! (
26200                "Alignment of field: " , stringify ! (
26201                CThostFtdcBrokerUserEventField ) , "::" , stringify ! (
26202                UserEventType ) ));
26203    assert_eq! (unsafe {
26204                & ( * ( 0 as * const CThostFtdcBrokerUserEventField ) ) .
26205                EventSequenceNo as * const _ as usize } , 28usize , concat ! (
26206                "Alignment of field: " , stringify ! (
26207                CThostFtdcBrokerUserEventField ) , "::" , stringify ! (
26208                EventSequenceNo ) ));
26209    assert_eq! (unsafe {
26210                & ( * ( 0 as * const CThostFtdcBrokerUserEventField ) ) .
26211                EventDate as * const _ as usize } , 32usize , concat ! (
26212                "Alignment of field: " , stringify ! (
26213                CThostFtdcBrokerUserEventField ) , "::" , stringify ! (
26214                EventDate ) ));
26215    assert_eq! (unsafe {
26216                & ( * ( 0 as * const CThostFtdcBrokerUserEventField ) ) .
26217                EventTime as * const _ as usize } , 41usize , concat ! (
26218                "Alignment of field: " , stringify ! (
26219                CThostFtdcBrokerUserEventField ) , "::" , stringify ! (
26220                EventTime ) ));
26221    assert_eq! (unsafe {
26222                & ( * ( 0 as * const CThostFtdcBrokerUserEventField ) ) .
26223                UserEventInfo as * const _ as usize } , 50usize , concat ! (
26224                "Alignment of field: " , stringify ! (
26225                CThostFtdcBrokerUserEventField ) , "::" , stringify ! (
26226                UserEventInfo ) ));
26227    assert_eq! (unsafe {
26228                & ( * ( 0 as * const CThostFtdcBrokerUserEventField ) ) .
26229                InvestorID as * const _ as usize } , 1075usize , concat ! (
26230                "Alignment of field: " , stringify ! (
26231                CThostFtdcBrokerUserEventField ) , "::" , stringify ! (
26232                InvestorID ) ));
26233    assert_eq! (unsafe {
26234                & ( * ( 0 as * const CThostFtdcBrokerUserEventField ) ) .
26235                InstrumentID as * const _ as usize } , 1088usize , concat ! (
26236                "Alignment of field: " , stringify ! (
26237                CThostFtdcBrokerUserEventField ) , "::" , stringify ! (
26238                InstrumentID ) ));
26239}
26240impl Clone for CThostFtdcBrokerUserEventField {
26241    fn clone(&self) -> Self { *self }
26242}
26243impl Default for CThostFtdcBrokerUserEventField {
26244    fn default() -> Self { unsafe { ::std::mem::zeroed() } }
26245}
26246/// 查询签约银行请求
26247#[repr(C)]
26248#[derive(Default, Copy)]
26249pub struct CThostFtdcQryContractBankField {
26250    /// 经纪公司代码
26251    pub BrokerID: TThostFtdcBrokerIDType,
26252    /// 银行代码
26253    pub BankID: TThostFtdcBankIDType,
26254    /// 银行分中心代码
26255    pub BankBrchID: TThostFtdcBankBrchIDType,
26256}
26257#[test]
26258fn bindgen_test_layout_CThostFtdcQryContractBankField() {
26259    assert_eq!(::std::mem::size_of::<CThostFtdcQryContractBankField>() ,
26260               20usize , concat ! (
26261               "Size of: " , stringify ! ( CThostFtdcQryContractBankField )
26262               ));
26263    assert_eq! (::std::mem::align_of::<CThostFtdcQryContractBankField>() ,
26264                1usize , concat ! (
26265                "Alignment of " , stringify ! ( CThostFtdcQryContractBankField
26266                ) ));
26267    assert_eq! (unsafe {
26268                & ( * ( 0 as * const CThostFtdcQryContractBankField ) ) .
26269                BrokerID as * const _ as usize } , 0usize , concat ! (
26270                "Alignment of field: " , stringify ! (
26271                CThostFtdcQryContractBankField ) , "::" , stringify ! (
26272                BrokerID ) ));
26273    assert_eq! (unsafe {
26274                & ( * ( 0 as * const CThostFtdcQryContractBankField ) ) .
26275                BankID as * const _ as usize } , 11usize , concat ! (
26276                "Alignment of field: " , stringify ! (
26277                CThostFtdcQryContractBankField ) , "::" , stringify ! ( BankID
26278                ) ));
26279    assert_eq! (unsafe {
26280                & ( * ( 0 as * const CThostFtdcQryContractBankField ) ) .
26281                BankBrchID as * const _ as usize } , 15usize , concat ! (
26282                "Alignment of field: " , stringify ! (
26283                CThostFtdcQryContractBankField ) , "::" , stringify ! (
26284                BankBrchID ) ));
26285}
26286impl Clone for CThostFtdcQryContractBankField {
26287    fn clone(&self) -> Self { *self }
26288}
26289/// 查询签约银行响应
26290#[repr(C)]
26291#[derive(Copy)]
26292pub struct CThostFtdcContractBankField {
26293    /// 经纪公司代码
26294    pub BrokerID: TThostFtdcBrokerIDType,
26295    /// 银行代码
26296    pub BankID: TThostFtdcBankIDType,
26297    /// 银行分中心代码
26298    pub BankBrchID: TThostFtdcBankBrchIDType,
26299    /// 银行名称
26300    pub BankName: TThostFtdcBankNameType,
26301}
26302#[test]
26303fn bindgen_test_layout_CThostFtdcContractBankField() {
26304    assert_eq!(::std::mem::size_of::<CThostFtdcContractBankField>() , 121usize
26305               , concat ! (
26306               "Size of: " , stringify ! ( CThostFtdcContractBankField ) ));
26307    assert_eq! (::std::mem::align_of::<CThostFtdcContractBankField>() , 1usize
26308                , concat ! (
26309                "Alignment of " , stringify ! ( CThostFtdcContractBankField )
26310                ));
26311    assert_eq! (unsafe {
26312                & ( * ( 0 as * const CThostFtdcContractBankField ) ) .
26313                BrokerID as * const _ as usize } , 0usize , concat ! (
26314                "Alignment of field: " , stringify ! (
26315                CThostFtdcContractBankField ) , "::" , stringify ! ( BrokerID
26316                ) ));
26317    assert_eq! (unsafe {
26318                & ( * ( 0 as * const CThostFtdcContractBankField ) ) . BankID
26319                as * const _ as usize } , 11usize , concat ! (
26320                "Alignment of field: " , stringify ! (
26321                CThostFtdcContractBankField ) , "::" , stringify ! ( BankID )
26322                ));
26323    assert_eq! (unsafe {
26324                & ( * ( 0 as * const CThostFtdcContractBankField ) ) .
26325                BankBrchID as * const _ as usize } , 15usize , concat ! (
26326                "Alignment of field: " , stringify ! (
26327                CThostFtdcContractBankField ) , "::" , stringify ! (
26328                BankBrchID ) ));
26329    assert_eq! (unsafe {
26330                & ( * ( 0 as * const CThostFtdcContractBankField ) ) .
26331                BankName as * const _ as usize } , 20usize , concat ! (
26332                "Alignment of field: " , stringify ! (
26333                CThostFtdcContractBankField ) , "::" , stringify ! ( BankName
26334                ) ));
26335}
26336impl Clone for CThostFtdcContractBankField {
26337    fn clone(&self) -> Self { *self }
26338}
26339impl Default for CThostFtdcContractBankField {
26340    fn default() -> Self { unsafe { ::std::mem::zeroed() } }
26341}
26342/// 投资者组合持仓明细
26343#[repr(C)]
26344#[derive(Default, Copy)]
26345pub struct CThostFtdcInvestorPositionCombineDetailField {
26346    /// 交易日
26347    pub TradingDay: TThostFtdcDateType,
26348    /// 开仓日期
26349    pub OpenDate: TThostFtdcDateType,
26350    /// 交易所代码
26351    pub ExchangeID: TThostFtdcExchangeIDType,
26352    /// 结算编号
26353    pub SettlementID: TThostFtdcSettlementIDType,
26354    /// 经纪公司代码
26355    pub BrokerID: TThostFtdcBrokerIDType,
26356    /// 投资者代码
26357    pub InvestorID: TThostFtdcInvestorIDType,
26358    /// 组合编号
26359    pub ComTradeID: TThostFtdcTradeIDType,
26360    /// 撮合编号
26361    pub TradeID: TThostFtdcTradeIDType,
26362    /// 合约代码
26363    pub InstrumentID: TThostFtdcInstrumentIDType,
26364    /// 投机套保标志
26365    pub HedgeFlag: TThostFtdcHedgeFlagType,
26366    /// 买卖
26367    pub Direction: TThostFtdcDirectionType,
26368    /// 持仓量
26369    pub TotalAmt: TThostFtdcVolumeType,
26370    /// 投资者保证金
26371    pub Margin: TThostFtdcMoneyType,
26372    /// 交易所保证金
26373    pub ExchMargin: TThostFtdcMoneyType,
26374    /// 保证金率
26375    pub MarginRateByMoney: TThostFtdcRatioType,
26376    /// 保证金率(按手数)
26377    pub MarginRateByVolume: TThostFtdcRatioType,
26378    /// 单腿编号
26379    pub LegID: TThostFtdcLegIDType,
26380    /// 单腿乘数
26381    pub LegMultiple: TThostFtdcLegMultipleType,
26382    /// 组合持仓合约编码
26383    pub CombInstrumentID: TThostFtdcInstrumentIDType,
26384    /// 成交组号
26385    pub TradeGroupID: TThostFtdcTradeGroupIDType,
26386    /// 投资单元代码
26387    pub InvestUnitID: TThostFtdcInvestUnitIDType,
26388}
26389#[test]
26390fn bindgen_test_layout_CThostFtdcInvestorPositionCombineDetailField() {
26391    assert_eq!(::std::mem::size_of::<CThostFtdcInvestorPositionCombineDetailField>()
26392               , 232usize , concat ! (
26393               "Size of: " , stringify ! (
26394               CThostFtdcInvestorPositionCombineDetailField ) ));
26395    assert_eq! (::std::mem::align_of::<CThostFtdcInvestorPositionCombineDetailField>()
26396                , 8usize , concat ! (
26397                "Alignment of " , stringify ! (
26398                CThostFtdcInvestorPositionCombineDetailField ) ));
26399    assert_eq! (unsafe {
26400                & (
26401                * ( 0 as * const CThostFtdcInvestorPositionCombineDetailField
26402                ) ) . TradingDay as * const _ as usize } , 0usize , concat ! (
26403                "Alignment of field: " , stringify ! (
26404                CThostFtdcInvestorPositionCombineDetailField ) , "::" ,
26405                stringify ! ( TradingDay ) ));
26406    assert_eq! (unsafe {
26407                & (
26408                * ( 0 as * const CThostFtdcInvestorPositionCombineDetailField
26409                ) ) . OpenDate as * const _ as usize } , 9usize , concat ! (
26410                "Alignment of field: " , stringify ! (
26411                CThostFtdcInvestorPositionCombineDetailField ) , "::" ,
26412                stringify ! ( OpenDate ) ));
26413    assert_eq! (unsafe {
26414                & (
26415                * ( 0 as * const CThostFtdcInvestorPositionCombineDetailField
26416                ) ) . ExchangeID as * const _ as usize } , 18usize , concat !
26417                (
26418                "Alignment of field: " , stringify ! (
26419                CThostFtdcInvestorPositionCombineDetailField ) , "::" ,
26420                stringify ! ( ExchangeID ) ));
26421    assert_eq! (unsafe {
26422                & (
26423                * ( 0 as * const CThostFtdcInvestorPositionCombineDetailField
26424                ) ) . SettlementID as * const _ as usize } , 28usize , concat
26425                ! (
26426                "Alignment of field: " , stringify ! (
26427                CThostFtdcInvestorPositionCombineDetailField ) , "::" ,
26428                stringify ! ( SettlementID ) ));
26429    assert_eq! (unsafe {
26430                & (
26431                * ( 0 as * const CThostFtdcInvestorPositionCombineDetailField
26432                ) ) . BrokerID as * const _ as usize } , 32usize , concat ! (
26433                "Alignment of field: " , stringify ! (
26434                CThostFtdcInvestorPositionCombineDetailField ) , "::" ,
26435                stringify ! ( BrokerID ) ));
26436    assert_eq! (unsafe {
26437                & (
26438                * ( 0 as * const CThostFtdcInvestorPositionCombineDetailField
26439                ) ) . InvestorID as * const _ as usize } , 43usize , concat !
26440                (
26441                "Alignment of field: " , stringify ! (
26442                CThostFtdcInvestorPositionCombineDetailField ) , "::" ,
26443                stringify ! ( InvestorID ) ));
26444    assert_eq! (unsafe {
26445                & (
26446                * ( 0 as * const CThostFtdcInvestorPositionCombineDetailField
26447                ) ) . ComTradeID as * const _ as usize } , 56usize , concat !
26448                (
26449                "Alignment of field: " , stringify ! (
26450                CThostFtdcInvestorPositionCombineDetailField ) , "::" ,
26451                stringify ! ( ComTradeID ) ));
26452    assert_eq! (unsafe {
26453                & (
26454                * ( 0 as * const CThostFtdcInvestorPositionCombineDetailField
26455                ) ) . TradeID as * const _ as usize } , 77usize , concat ! (
26456                "Alignment of field: " , stringify ! (
26457                CThostFtdcInvestorPositionCombineDetailField ) , "::" ,
26458                stringify ! ( TradeID ) ));
26459    assert_eq! (unsafe {
26460                & (
26461                * ( 0 as * const CThostFtdcInvestorPositionCombineDetailField
26462                ) ) . InstrumentID as * const _ as usize } , 98usize , concat
26463                ! (
26464                "Alignment of field: " , stringify ! (
26465                CThostFtdcInvestorPositionCombineDetailField ) , "::" ,
26466                stringify ! ( InstrumentID ) ));
26467    assert_eq! (unsafe {
26468                & (
26469                * ( 0 as * const CThostFtdcInvestorPositionCombineDetailField
26470                ) ) . HedgeFlag as * const _ as usize } , 129usize , concat !
26471                (
26472                "Alignment of field: " , stringify ! (
26473                CThostFtdcInvestorPositionCombineDetailField ) , "::" ,
26474                stringify ! ( HedgeFlag ) ));
26475    assert_eq! (unsafe {
26476                & (
26477                * ( 0 as * const CThostFtdcInvestorPositionCombineDetailField
26478                ) ) . Direction as * const _ as usize } , 130usize , concat !
26479                (
26480                "Alignment of field: " , stringify ! (
26481                CThostFtdcInvestorPositionCombineDetailField ) , "::" ,
26482                stringify ! ( Direction ) ));
26483    assert_eq! (unsafe {
26484                & (
26485                * ( 0 as * const CThostFtdcInvestorPositionCombineDetailField
26486                ) ) . TotalAmt as * const _ as usize } , 132usize , concat ! (
26487                "Alignment of field: " , stringify ! (
26488                CThostFtdcInvestorPositionCombineDetailField ) , "::" ,
26489                stringify ! ( TotalAmt ) ));
26490    assert_eq! (unsafe {
26491                & (
26492                * ( 0 as * const CThostFtdcInvestorPositionCombineDetailField
26493                ) ) . Margin as * const _ as usize } , 136usize , concat ! (
26494                "Alignment of field: " , stringify ! (
26495                CThostFtdcInvestorPositionCombineDetailField ) , "::" ,
26496                stringify ! ( Margin ) ));
26497    assert_eq! (unsafe {
26498                & (
26499                * ( 0 as * const CThostFtdcInvestorPositionCombineDetailField
26500                ) ) . ExchMargin as * const _ as usize } , 144usize , concat !
26501                (
26502                "Alignment of field: " , stringify ! (
26503                CThostFtdcInvestorPositionCombineDetailField ) , "::" ,
26504                stringify ! ( ExchMargin ) ));
26505    assert_eq! (unsafe {
26506                & (
26507                * ( 0 as * const CThostFtdcInvestorPositionCombineDetailField
26508                ) ) . MarginRateByMoney as * const _ as usize } , 152usize ,
26509                concat ! (
26510                "Alignment of field: " , stringify ! (
26511                CThostFtdcInvestorPositionCombineDetailField ) , "::" ,
26512                stringify ! ( MarginRateByMoney ) ));
26513    assert_eq! (unsafe {
26514                & (
26515                * ( 0 as * const CThostFtdcInvestorPositionCombineDetailField
26516                ) ) . MarginRateByVolume as * const _ as usize } , 160usize ,
26517                concat ! (
26518                "Alignment of field: " , stringify ! (
26519                CThostFtdcInvestorPositionCombineDetailField ) , "::" ,
26520                stringify ! ( MarginRateByVolume ) ));
26521    assert_eq! (unsafe {
26522                & (
26523                * ( 0 as * const CThostFtdcInvestorPositionCombineDetailField
26524                ) ) . LegID as * const _ as usize } , 168usize , concat ! (
26525                "Alignment of field: " , stringify ! (
26526                CThostFtdcInvestorPositionCombineDetailField ) , "::" ,
26527                stringify ! ( LegID ) ));
26528    assert_eq! (unsafe {
26529                & (
26530                * ( 0 as * const CThostFtdcInvestorPositionCombineDetailField
26531                ) ) . LegMultiple as * const _ as usize } , 172usize , concat
26532                ! (
26533                "Alignment of field: " , stringify ! (
26534                CThostFtdcInvestorPositionCombineDetailField ) , "::" ,
26535                stringify ! ( LegMultiple ) ));
26536    assert_eq! (unsafe {
26537                & (
26538                * ( 0 as * const CThostFtdcInvestorPositionCombineDetailField
26539                ) ) . CombInstrumentID as * const _ as usize } , 176usize ,
26540                concat ! (
26541                "Alignment of field: " , stringify ! (
26542                CThostFtdcInvestorPositionCombineDetailField ) , "::" ,
26543                stringify ! ( CombInstrumentID ) ));
26544    assert_eq! (unsafe {
26545                & (
26546                * ( 0 as * const CThostFtdcInvestorPositionCombineDetailField
26547                ) ) . TradeGroupID as * const _ as usize } , 208usize , concat
26548                ! (
26549                "Alignment of field: " , stringify ! (
26550                CThostFtdcInvestorPositionCombineDetailField ) , "::" ,
26551                stringify ! ( TradeGroupID ) ));
26552    assert_eq! (unsafe {
26553                & (
26554                * ( 0 as * const CThostFtdcInvestorPositionCombineDetailField
26555                ) ) . InvestUnitID as * const _ as usize } , 212usize , concat
26556                ! (
26557                "Alignment of field: " , stringify ! (
26558                CThostFtdcInvestorPositionCombineDetailField ) , "::" ,
26559                stringify ! ( InvestUnitID ) ));
26560}
26561impl Clone for CThostFtdcInvestorPositionCombineDetailField {
26562    fn clone(&self) -> Self { *self }
26563}
26564/// 预埋单
26565#[repr(C)]
26566#[derive(Copy)]
26567pub struct CThostFtdcParkedOrderField {
26568    /// 经纪公司代码
26569    pub BrokerID: TThostFtdcBrokerIDType,
26570    /// 投资者代码
26571    pub InvestorID: TThostFtdcInvestorIDType,
26572    /// 合约代码
26573    pub InstrumentID: TThostFtdcInstrumentIDType,
26574    /// 报单引用
26575    pub OrderRef: TThostFtdcOrderRefType,
26576    /// 用户代码
26577    pub UserID: TThostFtdcUserIDType,
26578    /// 报单价格条件
26579    pub OrderPriceType: TThostFtdcOrderPriceTypeType,
26580    /// 买卖方向
26581    pub Direction: TThostFtdcDirectionType,
26582    /// 组合开平标志
26583    pub CombOffsetFlag: TThostFtdcCombOffsetFlagType,
26584    /// 组合投机套保标志
26585    pub CombHedgeFlag: TThostFtdcCombHedgeFlagType,
26586    /// 价格
26587    pub LimitPrice: TThostFtdcPriceType,
26588    /// 数量
26589    pub VolumeTotalOriginal: TThostFtdcVolumeType,
26590    /// 有效期类型
26591    pub TimeCondition: TThostFtdcTimeConditionType,
26592    /// GTD日期
26593    pub GTDDate: TThostFtdcDateType,
26594    /// 成交量类型
26595    pub VolumeCondition: TThostFtdcVolumeConditionType,
26596    /// 最小成交量
26597    pub MinVolume: TThostFtdcVolumeType,
26598    /// 触发条件
26599    pub ContingentCondition: TThostFtdcContingentConditionType,
26600    /// 止损价
26601    pub StopPrice: TThostFtdcPriceType,
26602    /// 强平原因
26603    pub ForceCloseReason: TThostFtdcForceCloseReasonType,
26604    /// 自动挂起标志
26605    pub IsAutoSuspend: TThostFtdcBoolType,
26606    /// 业务单元
26607    pub BusinessUnit: TThostFtdcBusinessUnitType,
26608    /// 请求编号
26609    pub RequestID: TThostFtdcRequestIDType,
26610    /// 用户强评标志
26611    pub UserForceClose: TThostFtdcBoolType,
26612    /// 交易所代码
26613    pub ExchangeID: TThostFtdcExchangeIDType,
26614    /// 预埋报单编号
26615    pub ParkedOrderID: TThostFtdcParkedOrderIDType,
26616    /// 用户类型
26617    pub UserType: TThostFtdcUserTypeType,
26618    /// 预埋单状态
26619    pub Status: TThostFtdcParkedOrderStatusType,
26620    /// 错误代码
26621    pub ErrorID: TThostFtdcErrorIDType,
26622    /// 错误信息
26623    pub ErrorMsg: TThostFtdcErrorMsgType,
26624    /// 互换单标志
26625    pub IsSwapOrder: TThostFtdcBoolType,
26626    /// 资金账号
26627    pub AccountID: TThostFtdcAccountIDType,
26628    /// 币种代码
26629    pub CurrencyID: TThostFtdcCurrencyIDType,
26630    /// 交易编码
26631    pub ClientID: TThostFtdcClientIDType,
26632    /// 投资单元代码
26633    pub InvestUnitID: TThostFtdcInvestUnitIDType,
26634    /// IP地址
26635    pub IPAddress: TThostFtdcIPAddressType,
26636    /// Mac地址
26637    pub MacAddress: TThostFtdcMacAddressType,
26638}
26639#[test]
26640fn bindgen_test_layout_CThostFtdcParkedOrderField() {
26641    assert_eq!(::std::mem::size_of::<CThostFtdcParkedOrderField>() , 376usize
26642               , concat ! (
26643               "Size of: " , stringify ! ( CThostFtdcParkedOrderField ) ));
26644    assert_eq! (::std::mem::align_of::<CThostFtdcParkedOrderField>() , 8usize
26645                , concat ! (
26646                "Alignment of " , stringify ! ( CThostFtdcParkedOrderField )
26647                ));
26648    assert_eq! (unsafe {
26649                & ( * ( 0 as * const CThostFtdcParkedOrderField ) ) . BrokerID
26650                as * const _ as usize } , 0usize , concat ! (
26651                "Alignment of field: " , stringify ! (
26652                CThostFtdcParkedOrderField ) , "::" , stringify ! ( BrokerID )
26653                ));
26654    assert_eq! (unsafe {
26655                & ( * ( 0 as * const CThostFtdcParkedOrderField ) ) .
26656                InvestorID as * const _ as usize } , 11usize , concat ! (
26657                "Alignment of field: " , stringify ! (
26658                CThostFtdcParkedOrderField ) , "::" , stringify ! ( InvestorID
26659                ) ));
26660    assert_eq! (unsafe {
26661                & ( * ( 0 as * const CThostFtdcParkedOrderField ) ) .
26662                InstrumentID as * const _ as usize } , 24usize , concat ! (
26663                "Alignment of field: " , stringify ! (
26664                CThostFtdcParkedOrderField ) , "::" , stringify ! (
26665                InstrumentID ) ));
26666    assert_eq! (unsafe {
26667                & ( * ( 0 as * const CThostFtdcParkedOrderField ) ) . OrderRef
26668                as * const _ as usize } , 55usize , concat ! (
26669                "Alignment of field: " , stringify ! (
26670                CThostFtdcParkedOrderField ) , "::" , stringify ! ( OrderRef )
26671                ));
26672    assert_eq! (unsafe {
26673                & ( * ( 0 as * const CThostFtdcParkedOrderField ) ) . UserID
26674                as * const _ as usize } , 68usize , concat ! (
26675                "Alignment of field: " , stringify ! (
26676                CThostFtdcParkedOrderField ) , "::" , stringify ! ( UserID )
26677                ));
26678    assert_eq! (unsafe {
26679                & ( * ( 0 as * const CThostFtdcParkedOrderField ) ) .
26680                OrderPriceType as * const _ as usize } , 84usize , concat ! (
26681                "Alignment of field: " , stringify ! (
26682                CThostFtdcParkedOrderField ) , "::" , stringify ! (
26683                OrderPriceType ) ));
26684    assert_eq! (unsafe {
26685                & ( * ( 0 as * const CThostFtdcParkedOrderField ) ) .
26686                Direction as * const _ as usize } , 85usize , concat ! (
26687                "Alignment of field: " , stringify ! (
26688                CThostFtdcParkedOrderField ) , "::" , stringify ! ( Direction
26689                ) ));
26690    assert_eq! (unsafe {
26691                & ( * ( 0 as * const CThostFtdcParkedOrderField ) ) .
26692                CombOffsetFlag as * const _ as usize } , 86usize , concat ! (
26693                "Alignment of field: " , stringify ! (
26694                CThostFtdcParkedOrderField ) , "::" , stringify ! (
26695                CombOffsetFlag ) ));
26696    assert_eq! (unsafe {
26697                & ( * ( 0 as * const CThostFtdcParkedOrderField ) ) .
26698                CombHedgeFlag as * const _ as usize } , 91usize , concat ! (
26699                "Alignment of field: " , stringify ! (
26700                CThostFtdcParkedOrderField ) , "::" , stringify ! (
26701                CombHedgeFlag ) ));
26702    assert_eq! (unsafe {
26703                & ( * ( 0 as * const CThostFtdcParkedOrderField ) ) .
26704                LimitPrice as * const _ as usize } , 96usize , concat ! (
26705                "Alignment of field: " , stringify ! (
26706                CThostFtdcParkedOrderField ) , "::" , stringify ! ( LimitPrice
26707                ) ));
26708    assert_eq! (unsafe {
26709                & ( * ( 0 as * const CThostFtdcParkedOrderField ) ) .
26710                VolumeTotalOriginal as * const _ as usize } , 104usize ,
26711                concat ! (
26712                "Alignment of field: " , stringify ! (
26713                CThostFtdcParkedOrderField ) , "::" , stringify ! (
26714                VolumeTotalOriginal ) ));
26715    assert_eq! (unsafe {
26716                & ( * ( 0 as * const CThostFtdcParkedOrderField ) ) .
26717                TimeCondition as * const _ as usize } , 108usize , concat ! (
26718                "Alignment of field: " , stringify ! (
26719                CThostFtdcParkedOrderField ) , "::" , stringify ! (
26720                TimeCondition ) ));
26721    assert_eq! (unsafe {
26722                & ( * ( 0 as * const CThostFtdcParkedOrderField ) ) . GTDDate
26723                as * const _ as usize } , 109usize , concat ! (
26724                "Alignment of field: " , stringify ! (
26725                CThostFtdcParkedOrderField ) , "::" , stringify ! ( GTDDate )
26726                ));
26727    assert_eq! (unsafe {
26728                & ( * ( 0 as * const CThostFtdcParkedOrderField ) ) .
26729                VolumeCondition as * const _ as usize } , 118usize , concat !
26730                (
26731                "Alignment of field: " , stringify ! (
26732                CThostFtdcParkedOrderField ) , "::" , stringify ! (
26733                VolumeCondition ) ));
26734    assert_eq! (unsafe {
26735                & ( * ( 0 as * const CThostFtdcParkedOrderField ) ) .
26736                MinVolume as * const _ as usize } , 120usize , concat ! (
26737                "Alignment of field: " , stringify ! (
26738                CThostFtdcParkedOrderField ) , "::" , stringify ! ( MinVolume
26739                ) ));
26740    assert_eq! (unsafe {
26741                & ( * ( 0 as * const CThostFtdcParkedOrderField ) ) .
26742                ContingentCondition as * const _ as usize } , 124usize ,
26743                concat ! (
26744                "Alignment of field: " , stringify ! (
26745                CThostFtdcParkedOrderField ) , "::" , stringify ! (
26746                ContingentCondition ) ));
26747    assert_eq! (unsafe {
26748                & ( * ( 0 as * const CThostFtdcParkedOrderField ) ) .
26749                StopPrice as * const _ as usize } , 128usize , concat ! (
26750                "Alignment of field: " , stringify ! (
26751                CThostFtdcParkedOrderField ) , "::" , stringify ! ( StopPrice
26752                ) ));
26753    assert_eq! (unsafe {
26754                & ( * ( 0 as * const CThostFtdcParkedOrderField ) ) .
26755                ForceCloseReason as * const _ as usize } , 136usize , concat !
26756                (
26757                "Alignment of field: " , stringify ! (
26758                CThostFtdcParkedOrderField ) , "::" , stringify ! (
26759                ForceCloseReason ) ));
26760    assert_eq! (unsafe {
26761                & ( * ( 0 as * const CThostFtdcParkedOrderField ) ) .
26762                IsAutoSuspend as * const _ as usize } , 140usize , concat ! (
26763                "Alignment of field: " , stringify ! (
26764                CThostFtdcParkedOrderField ) , "::" , stringify ! (
26765                IsAutoSuspend ) ));
26766    assert_eq! (unsafe {
26767                & ( * ( 0 as * const CThostFtdcParkedOrderField ) ) .
26768                BusinessUnit as * const _ as usize } , 144usize , concat ! (
26769                "Alignment of field: " , stringify ! (
26770                CThostFtdcParkedOrderField ) , "::" , stringify ! (
26771                BusinessUnit ) ));
26772    assert_eq! (unsafe {
26773                & ( * ( 0 as * const CThostFtdcParkedOrderField ) ) .
26774                RequestID as * const _ as usize } , 168usize , concat ! (
26775                "Alignment of field: " , stringify ! (
26776                CThostFtdcParkedOrderField ) , "::" , stringify ! ( RequestID
26777                ) ));
26778    assert_eq! (unsafe {
26779                & ( * ( 0 as * const CThostFtdcParkedOrderField ) ) .
26780                UserForceClose as * const _ as usize } , 172usize , concat ! (
26781                "Alignment of field: " , stringify ! (
26782                CThostFtdcParkedOrderField ) , "::" , stringify ! (
26783                UserForceClose ) ));
26784    assert_eq! (unsafe {
26785                & ( * ( 0 as * const CThostFtdcParkedOrderField ) ) .
26786                ExchangeID as * const _ as usize } , 176usize , concat ! (
26787                "Alignment of field: " , stringify ! (
26788                CThostFtdcParkedOrderField ) , "::" , stringify ! ( ExchangeID
26789                ) ));
26790    assert_eq! (unsafe {
26791                & ( * ( 0 as * const CThostFtdcParkedOrderField ) ) .
26792                ParkedOrderID as * const _ as usize } , 185usize , concat ! (
26793                "Alignment of field: " , stringify ! (
26794                CThostFtdcParkedOrderField ) , "::" , stringify ! (
26795                ParkedOrderID ) ));
26796    assert_eq! (unsafe {
26797                & ( * ( 0 as * const CThostFtdcParkedOrderField ) ) . UserType
26798                as * const _ as usize } , 198usize , concat ! (
26799                "Alignment of field: " , stringify ! (
26800                CThostFtdcParkedOrderField ) , "::" , stringify ! ( UserType )
26801                ));
26802    assert_eq! (unsafe {
26803                & ( * ( 0 as * const CThostFtdcParkedOrderField ) ) . Status
26804                as * const _ as usize } , 199usize , concat ! (
26805                "Alignment of field: " , stringify ! (
26806                CThostFtdcParkedOrderField ) , "::" , stringify ! ( Status )
26807                ));
26808    assert_eq! (unsafe {
26809                & ( * ( 0 as * const CThostFtdcParkedOrderField ) ) . ErrorID
26810                as * const _ as usize } , 200usize , concat ! (
26811                "Alignment of field: " , stringify ! (
26812                CThostFtdcParkedOrderField ) , "::" , stringify ! ( ErrorID )
26813                ));
26814    assert_eq! (unsafe {
26815                & ( * ( 0 as * const CThostFtdcParkedOrderField ) ) . ErrorMsg
26816                as * const _ as usize } , 204usize , concat ! (
26817                "Alignment of field: " , stringify ! (
26818                CThostFtdcParkedOrderField ) , "::" , stringify ! ( ErrorMsg )
26819                ));
26820    assert_eq! (unsafe {
26821                & ( * ( 0 as * const CThostFtdcParkedOrderField ) ) .
26822                IsSwapOrder as * const _ as usize } , 288usize , concat ! (
26823                "Alignment of field: " , stringify ! (
26824                CThostFtdcParkedOrderField ) , "::" , stringify ! (
26825                IsSwapOrder ) ));
26826    assert_eq! (unsafe {
26827                & ( * ( 0 as * const CThostFtdcParkedOrderField ) ) .
26828                AccountID as * const _ as usize } , 292usize , concat ! (
26829                "Alignment of field: " , stringify ! (
26830                CThostFtdcParkedOrderField ) , "::" , stringify ! ( AccountID
26831                ) ));
26832    assert_eq! (unsafe {
26833                & ( * ( 0 as * const CThostFtdcParkedOrderField ) ) .
26834                CurrencyID as * const _ as usize } , 305usize , concat ! (
26835                "Alignment of field: " , stringify ! (
26836                CThostFtdcParkedOrderField ) , "::" , stringify ! ( CurrencyID
26837                ) ));
26838    assert_eq! (unsafe {
26839                & ( * ( 0 as * const CThostFtdcParkedOrderField ) ) . ClientID
26840                as * const _ as usize } , 309usize , concat ! (
26841                "Alignment of field: " , stringify ! (
26842                CThostFtdcParkedOrderField ) , "::" , stringify ! ( ClientID )
26843                ));
26844    assert_eq! (unsafe {
26845                & ( * ( 0 as * const CThostFtdcParkedOrderField ) ) .
26846                InvestUnitID as * const _ as usize } , 320usize , concat ! (
26847                "Alignment of field: " , stringify ! (
26848                CThostFtdcParkedOrderField ) , "::" , stringify ! (
26849                InvestUnitID ) ));
26850    assert_eq! (unsafe {
26851                & ( * ( 0 as * const CThostFtdcParkedOrderField ) ) .
26852                IPAddress as * const _ as usize } , 337usize , concat ! (
26853                "Alignment of field: " , stringify ! (
26854                CThostFtdcParkedOrderField ) , "::" , stringify ! ( IPAddress
26855                ) ));
26856    assert_eq! (unsafe {
26857                & ( * ( 0 as * const CThostFtdcParkedOrderField ) ) .
26858                MacAddress as * const _ as usize } , 353usize , concat ! (
26859                "Alignment of field: " , stringify ! (
26860                CThostFtdcParkedOrderField ) , "::" , stringify ! ( MacAddress
26861                ) ));
26862}
26863impl Clone for CThostFtdcParkedOrderField {
26864    fn clone(&self) -> Self { *self }
26865}
26866impl Default for CThostFtdcParkedOrderField {
26867    fn default() -> Self { unsafe { ::std::mem::zeroed() } }
26868}
26869/// 输入预埋单操作
26870#[repr(C)]
26871#[derive(Copy)]
26872pub struct CThostFtdcParkedOrderActionField {
26873    /// 经纪公司代码
26874    pub BrokerID: TThostFtdcBrokerIDType,
26875    /// 投资者代码
26876    pub InvestorID: TThostFtdcInvestorIDType,
26877    /// 报单操作引用
26878    pub OrderActionRef: TThostFtdcOrderActionRefType,
26879    /// 报单引用
26880    pub OrderRef: TThostFtdcOrderRefType,
26881    /// 请求编号
26882    pub RequestID: TThostFtdcRequestIDType,
26883    /// 前置编号
26884    pub FrontID: TThostFtdcFrontIDType,
26885    /// 会话编号
26886    pub SessionID: TThostFtdcSessionIDType,
26887    /// 交易所代码
26888    pub ExchangeID: TThostFtdcExchangeIDType,
26889    /// 报单编号
26890    pub OrderSysID: TThostFtdcOrderSysIDType,
26891    /// 操作标志
26892    pub ActionFlag: TThostFtdcActionFlagType,
26893    /// 价格
26894    pub LimitPrice: TThostFtdcPriceType,
26895    /// 数量变化
26896    pub VolumeChange: TThostFtdcVolumeType,
26897    /// 用户代码
26898    pub UserID: TThostFtdcUserIDType,
26899    /// 合约代码
26900    pub InstrumentID: TThostFtdcInstrumentIDType,
26901    /// 预埋撤单单编号
26902    pub ParkedOrderActionID: TThostFtdcParkedOrderActionIDType,
26903    /// 用户类型
26904    pub UserType: TThostFtdcUserTypeType,
26905    /// 预埋撤单状态
26906    pub Status: TThostFtdcParkedOrderStatusType,
26907    /// 错误代码
26908    pub ErrorID: TThostFtdcErrorIDType,
26909    /// 错误信息
26910    pub ErrorMsg: TThostFtdcErrorMsgType,
26911    /// 投资单元代码
26912    pub InvestUnitID: TThostFtdcInvestUnitIDType,
26913    /// IP地址
26914    pub IPAddress: TThostFtdcIPAddressType,
26915    /// Mac地址
26916    pub MacAddress: TThostFtdcMacAddressType,
26917}
26918#[test]
26919fn bindgen_test_layout_CThostFtdcParkedOrderActionField() {
26920    assert_eq!(::std::mem::size_of::<CThostFtdcParkedOrderActionField>() ,
26921               304usize , concat ! (
26922               "Size of: " , stringify ! ( CThostFtdcParkedOrderActionField )
26923               ));
26924    assert_eq! (::std::mem::align_of::<CThostFtdcParkedOrderActionField>() ,
26925                8usize , concat ! (
26926                "Alignment of " , stringify ! (
26927                CThostFtdcParkedOrderActionField ) ));
26928    assert_eq! (unsafe {
26929                & ( * ( 0 as * const CThostFtdcParkedOrderActionField ) ) .
26930                BrokerID as * const _ as usize } , 0usize , concat ! (
26931                "Alignment of field: " , stringify ! (
26932                CThostFtdcParkedOrderActionField ) , "::" , stringify ! (
26933                BrokerID ) ));
26934    assert_eq! (unsafe {
26935                & ( * ( 0 as * const CThostFtdcParkedOrderActionField ) ) .
26936                InvestorID as * const _ as usize } , 11usize , concat ! (
26937                "Alignment of field: " , stringify ! (
26938                CThostFtdcParkedOrderActionField ) , "::" , stringify ! (
26939                InvestorID ) ));
26940    assert_eq! (unsafe {
26941                & ( * ( 0 as * const CThostFtdcParkedOrderActionField ) ) .
26942                OrderActionRef as * const _ as usize } , 24usize , concat ! (
26943                "Alignment of field: " , stringify ! (
26944                CThostFtdcParkedOrderActionField ) , "::" , stringify ! (
26945                OrderActionRef ) ));
26946    assert_eq! (unsafe {
26947                & ( * ( 0 as * const CThostFtdcParkedOrderActionField ) ) .
26948                OrderRef as * const _ as usize } , 28usize , concat ! (
26949                "Alignment of field: " , stringify ! (
26950                CThostFtdcParkedOrderActionField ) , "::" , stringify ! (
26951                OrderRef ) ));
26952    assert_eq! (unsafe {
26953                & ( * ( 0 as * const CThostFtdcParkedOrderActionField ) ) .
26954                RequestID as * const _ as usize } , 44usize , concat ! (
26955                "Alignment of field: " , stringify ! (
26956                CThostFtdcParkedOrderActionField ) , "::" , stringify ! (
26957                RequestID ) ));
26958    assert_eq! (unsafe {
26959                & ( * ( 0 as * const CThostFtdcParkedOrderActionField ) ) .
26960                FrontID as * const _ as usize } , 48usize , concat ! (
26961                "Alignment of field: " , stringify ! (
26962                CThostFtdcParkedOrderActionField ) , "::" , stringify ! (
26963                FrontID ) ));
26964    assert_eq! (unsafe {
26965                & ( * ( 0 as * const CThostFtdcParkedOrderActionField ) ) .
26966                SessionID as * const _ as usize } , 52usize , concat ! (
26967                "Alignment of field: " , stringify ! (
26968                CThostFtdcParkedOrderActionField ) , "::" , stringify ! (
26969                SessionID ) ));
26970    assert_eq! (unsafe {
26971                & ( * ( 0 as * const CThostFtdcParkedOrderActionField ) ) .
26972                ExchangeID as * const _ as usize } , 56usize , concat ! (
26973                "Alignment of field: " , stringify ! (
26974                CThostFtdcParkedOrderActionField ) , "::" , stringify ! (
26975                ExchangeID ) ));
26976    assert_eq! (unsafe {
26977                & ( * ( 0 as * const CThostFtdcParkedOrderActionField ) ) .
26978                OrderSysID as * const _ as usize } , 65usize , concat ! (
26979                "Alignment of field: " , stringify ! (
26980                CThostFtdcParkedOrderActionField ) , "::" , stringify ! (
26981                OrderSysID ) ));
26982    assert_eq! (unsafe {
26983                & ( * ( 0 as * const CThostFtdcParkedOrderActionField ) ) .
26984                ActionFlag as * const _ as usize } , 86usize , concat ! (
26985                "Alignment of field: " , stringify ! (
26986                CThostFtdcParkedOrderActionField ) , "::" , stringify ! (
26987                ActionFlag ) ));
26988    assert_eq! (unsafe {
26989                & ( * ( 0 as * const CThostFtdcParkedOrderActionField ) ) .
26990                LimitPrice as * const _ as usize } , 88usize , concat ! (
26991                "Alignment of field: " , stringify ! (
26992                CThostFtdcParkedOrderActionField ) , "::" , stringify ! (
26993                LimitPrice ) ));
26994    assert_eq! (unsafe {
26995                & ( * ( 0 as * const CThostFtdcParkedOrderActionField ) ) .
26996                VolumeChange as * const _ as usize } , 96usize , concat ! (
26997                "Alignment of field: " , stringify ! (
26998                CThostFtdcParkedOrderActionField ) , "::" , stringify ! (
26999                VolumeChange ) ));
27000    assert_eq! (unsafe {
27001                & ( * ( 0 as * const CThostFtdcParkedOrderActionField ) ) .
27002                UserID as * const _ as usize } , 100usize , concat ! (
27003                "Alignment of field: " , stringify ! (
27004                CThostFtdcParkedOrderActionField ) , "::" , stringify ! (
27005                UserID ) ));
27006    assert_eq! (unsafe {
27007                & ( * ( 0 as * const CThostFtdcParkedOrderActionField ) ) .
27008                InstrumentID as * const _ as usize } , 116usize , concat ! (
27009                "Alignment of field: " , stringify ! (
27010                CThostFtdcParkedOrderActionField ) , "::" , stringify ! (
27011                InstrumentID ) ));
27012    assert_eq! (unsafe {
27013                & ( * ( 0 as * const CThostFtdcParkedOrderActionField ) ) .
27014                ParkedOrderActionID as * const _ as usize } , 147usize ,
27015                concat ! (
27016                "Alignment of field: " , stringify ! (
27017                CThostFtdcParkedOrderActionField ) , "::" , stringify ! (
27018                ParkedOrderActionID ) ));
27019    assert_eq! (unsafe {
27020                & ( * ( 0 as * const CThostFtdcParkedOrderActionField ) ) .
27021                UserType as * const _ as usize } , 160usize , concat ! (
27022                "Alignment of field: " , stringify ! (
27023                CThostFtdcParkedOrderActionField ) , "::" , stringify ! (
27024                UserType ) ));
27025    assert_eq! (unsafe {
27026                & ( * ( 0 as * const CThostFtdcParkedOrderActionField ) ) .
27027                Status as * const _ as usize } , 161usize , concat ! (
27028                "Alignment of field: " , stringify ! (
27029                CThostFtdcParkedOrderActionField ) , "::" , stringify ! (
27030                Status ) ));
27031    assert_eq! (unsafe {
27032                & ( * ( 0 as * const CThostFtdcParkedOrderActionField ) ) .
27033                ErrorID as * const _ as usize } , 164usize , concat ! (
27034                "Alignment of field: " , stringify ! (
27035                CThostFtdcParkedOrderActionField ) , "::" , stringify ! (
27036                ErrorID ) ));
27037    assert_eq! (unsafe {
27038                & ( * ( 0 as * const CThostFtdcParkedOrderActionField ) ) .
27039                ErrorMsg as * const _ as usize } , 168usize , concat ! (
27040                "Alignment of field: " , stringify ! (
27041                CThostFtdcParkedOrderActionField ) , "::" , stringify ! (
27042                ErrorMsg ) ));
27043    assert_eq! (unsafe {
27044                & ( * ( 0 as * const CThostFtdcParkedOrderActionField ) ) .
27045                InvestUnitID as * const _ as usize } , 249usize , concat ! (
27046                "Alignment of field: " , stringify ! (
27047                CThostFtdcParkedOrderActionField ) , "::" , stringify ! (
27048                InvestUnitID ) ));
27049    assert_eq! (unsafe {
27050                & ( * ( 0 as * const CThostFtdcParkedOrderActionField ) ) .
27051                IPAddress as * const _ as usize } , 266usize , concat ! (
27052                "Alignment of field: " , stringify ! (
27053                CThostFtdcParkedOrderActionField ) , "::" , stringify ! (
27054                IPAddress ) ));
27055    assert_eq! (unsafe {
27056                & ( * ( 0 as * const CThostFtdcParkedOrderActionField ) ) .
27057                MacAddress as * const _ as usize } , 282usize , concat ! (
27058                "Alignment of field: " , stringify ! (
27059                CThostFtdcParkedOrderActionField ) , "::" , stringify ! (
27060                MacAddress ) ));
27061}
27062impl Clone for CThostFtdcParkedOrderActionField {
27063    fn clone(&self) -> Self { *self }
27064}
27065impl Default for CThostFtdcParkedOrderActionField {
27066    fn default() -> Self { unsafe { ::std::mem::zeroed() } }
27067}
27068/// 查询预埋单
27069#[repr(C)]
27070#[derive(Default, Copy)]
27071pub struct CThostFtdcQryParkedOrderField {
27072    /// 经纪公司代码
27073    pub BrokerID: TThostFtdcBrokerIDType,
27074    /// 投资者代码
27075    pub InvestorID: TThostFtdcInvestorIDType,
27076    /// 合约代码
27077    pub InstrumentID: TThostFtdcInstrumentIDType,
27078    /// 交易所代码
27079    pub ExchangeID: TThostFtdcExchangeIDType,
27080    /// 投资单元代码
27081    pub InvestUnitID: TThostFtdcInvestUnitIDType,
27082}
27083#[test]
27084fn bindgen_test_layout_CThostFtdcQryParkedOrderField() {
27085    assert_eq!(::std::mem::size_of::<CThostFtdcQryParkedOrderField>() ,
27086               81usize , concat ! (
27087               "Size of: " , stringify ! ( CThostFtdcQryParkedOrderField ) ));
27088    assert_eq! (::std::mem::align_of::<CThostFtdcQryParkedOrderField>() ,
27089                1usize , concat ! (
27090                "Alignment of " , stringify ! ( CThostFtdcQryParkedOrderField
27091                ) ));
27092    assert_eq! (unsafe {
27093                & ( * ( 0 as * const CThostFtdcQryParkedOrderField ) ) .
27094                BrokerID as * const _ as usize } , 0usize , concat ! (
27095                "Alignment of field: " , stringify ! (
27096                CThostFtdcQryParkedOrderField ) , "::" , stringify ! (
27097                BrokerID ) ));
27098    assert_eq! (unsafe {
27099                & ( * ( 0 as * const CThostFtdcQryParkedOrderField ) ) .
27100                InvestorID as * const _ as usize } , 11usize , concat ! (
27101                "Alignment of field: " , stringify ! (
27102                CThostFtdcQryParkedOrderField ) , "::" , stringify ! (
27103                InvestorID ) ));
27104    assert_eq! (unsafe {
27105                & ( * ( 0 as * const CThostFtdcQryParkedOrderField ) ) .
27106                InstrumentID as * const _ as usize } , 24usize , concat ! (
27107                "Alignment of field: " , stringify ! (
27108                CThostFtdcQryParkedOrderField ) , "::" , stringify ! (
27109                InstrumentID ) ));
27110    assert_eq! (unsafe {
27111                & ( * ( 0 as * const CThostFtdcQryParkedOrderField ) ) .
27112                ExchangeID as * const _ as usize } , 55usize , concat ! (
27113                "Alignment of field: " , stringify ! (
27114                CThostFtdcQryParkedOrderField ) , "::" , stringify ! (
27115                ExchangeID ) ));
27116    assert_eq! (unsafe {
27117                & ( * ( 0 as * const CThostFtdcQryParkedOrderField ) ) .
27118                InvestUnitID as * const _ as usize } , 64usize , concat ! (
27119                "Alignment of field: " , stringify ! (
27120                CThostFtdcQryParkedOrderField ) , "::" , stringify ! (
27121                InvestUnitID ) ));
27122}
27123impl Clone for CThostFtdcQryParkedOrderField {
27124    fn clone(&self) -> Self { *self }
27125}
27126/// 查询预埋撤单
27127#[repr(C)]
27128#[derive(Default, Copy)]
27129pub struct CThostFtdcQryParkedOrderActionField {
27130    /// 经纪公司代码
27131    pub BrokerID: TThostFtdcBrokerIDType,
27132    /// 投资者代码
27133    pub InvestorID: TThostFtdcInvestorIDType,
27134    /// 合约代码
27135    pub InstrumentID: TThostFtdcInstrumentIDType,
27136    /// 交易所代码
27137    pub ExchangeID: TThostFtdcExchangeIDType,
27138    /// 投资单元代码
27139    pub InvestUnitID: TThostFtdcInvestUnitIDType,
27140}
27141#[test]
27142fn bindgen_test_layout_CThostFtdcQryParkedOrderActionField() {
27143    assert_eq!(::std::mem::size_of::<CThostFtdcQryParkedOrderActionField>() ,
27144               81usize , concat ! (
27145               "Size of: " , stringify ! ( CThostFtdcQryParkedOrderActionField
27146               ) ));
27147    assert_eq! (::std::mem::align_of::<CThostFtdcQryParkedOrderActionField>()
27148                , 1usize , concat ! (
27149                "Alignment of " , stringify ! (
27150                CThostFtdcQryParkedOrderActionField ) ));
27151    assert_eq! (unsafe {
27152                & ( * ( 0 as * const CThostFtdcQryParkedOrderActionField ) ) .
27153                BrokerID as * const _ as usize } , 0usize , concat ! (
27154                "Alignment of field: " , stringify ! (
27155                CThostFtdcQryParkedOrderActionField ) , "::" , stringify ! (
27156                BrokerID ) ));
27157    assert_eq! (unsafe {
27158                & ( * ( 0 as * const CThostFtdcQryParkedOrderActionField ) ) .
27159                InvestorID as * const _ as usize } , 11usize , concat ! (
27160                "Alignment of field: " , stringify ! (
27161                CThostFtdcQryParkedOrderActionField ) , "::" , stringify ! (
27162                InvestorID ) ));
27163    assert_eq! (unsafe {
27164                & ( * ( 0 as * const CThostFtdcQryParkedOrderActionField ) ) .
27165                InstrumentID as * const _ as usize } , 24usize , concat ! (
27166                "Alignment of field: " , stringify ! (
27167                CThostFtdcQryParkedOrderActionField ) , "::" , stringify ! (
27168                InstrumentID ) ));
27169    assert_eq! (unsafe {
27170                & ( * ( 0 as * const CThostFtdcQryParkedOrderActionField ) ) .
27171                ExchangeID as * const _ as usize } , 55usize , concat ! (
27172                "Alignment of field: " , stringify ! (
27173                CThostFtdcQryParkedOrderActionField ) , "::" , stringify ! (
27174                ExchangeID ) ));
27175    assert_eq! (unsafe {
27176                & ( * ( 0 as * const CThostFtdcQryParkedOrderActionField ) ) .
27177                InvestUnitID as * const _ as usize } , 64usize , concat ! (
27178                "Alignment of field: " , stringify ! (
27179                CThostFtdcQryParkedOrderActionField ) , "::" , stringify ! (
27180                InvestUnitID ) ));
27181}
27182impl Clone for CThostFtdcQryParkedOrderActionField {
27183    fn clone(&self) -> Self { *self }
27184}
27185/// 删除预埋单
27186#[repr(C)]
27187#[derive(Default, Copy)]
27188pub struct CThostFtdcRemoveParkedOrderField {
27189    /// 经纪公司代码
27190    pub BrokerID: TThostFtdcBrokerIDType,
27191    /// 投资者代码
27192    pub InvestorID: TThostFtdcInvestorIDType,
27193    /// 预埋报单编号
27194    pub ParkedOrderID: TThostFtdcParkedOrderIDType,
27195    /// 投资单元代码
27196    pub InvestUnitID: TThostFtdcInvestUnitIDType,
27197}
27198#[test]
27199fn bindgen_test_layout_CThostFtdcRemoveParkedOrderField() {
27200    assert_eq!(::std::mem::size_of::<CThostFtdcRemoveParkedOrderField>() ,
27201               54usize , concat ! (
27202               "Size of: " , stringify ! ( CThostFtdcRemoveParkedOrderField )
27203               ));
27204    assert_eq! (::std::mem::align_of::<CThostFtdcRemoveParkedOrderField>() ,
27205                1usize , concat ! (
27206                "Alignment of " , stringify ! (
27207                CThostFtdcRemoveParkedOrderField ) ));
27208    assert_eq! (unsafe {
27209                & ( * ( 0 as * const CThostFtdcRemoveParkedOrderField ) ) .
27210                BrokerID as * const _ as usize } , 0usize , concat ! (
27211                "Alignment of field: " , stringify ! (
27212                CThostFtdcRemoveParkedOrderField ) , "::" , stringify ! (
27213                BrokerID ) ));
27214    assert_eq! (unsafe {
27215                & ( * ( 0 as * const CThostFtdcRemoveParkedOrderField ) ) .
27216                InvestorID as * const _ as usize } , 11usize , concat ! (
27217                "Alignment of field: " , stringify ! (
27218                CThostFtdcRemoveParkedOrderField ) , "::" , stringify ! (
27219                InvestorID ) ));
27220    assert_eq! (unsafe {
27221                & ( * ( 0 as * const CThostFtdcRemoveParkedOrderField ) ) .
27222                ParkedOrderID as * const _ as usize } , 24usize , concat ! (
27223                "Alignment of field: " , stringify ! (
27224                CThostFtdcRemoveParkedOrderField ) , "::" , stringify ! (
27225                ParkedOrderID ) ));
27226    assert_eq! (unsafe {
27227                & ( * ( 0 as * const CThostFtdcRemoveParkedOrderField ) ) .
27228                InvestUnitID as * const _ as usize } , 37usize , concat ! (
27229                "Alignment of field: " , stringify ! (
27230                CThostFtdcRemoveParkedOrderField ) , "::" , stringify ! (
27231                InvestUnitID ) ));
27232}
27233impl Clone for CThostFtdcRemoveParkedOrderField {
27234    fn clone(&self) -> Self { *self }
27235}
27236/// 删除预埋撤单
27237#[repr(C)]
27238#[derive(Default, Copy)]
27239pub struct CThostFtdcRemoveParkedOrderActionField {
27240    /// 经纪公司代码
27241    pub BrokerID: TThostFtdcBrokerIDType,
27242    /// 投资者代码
27243    pub InvestorID: TThostFtdcInvestorIDType,
27244    /// 预埋撤单编号
27245    pub ParkedOrderActionID: TThostFtdcParkedOrderActionIDType,
27246    /// 投资单元代码
27247    pub InvestUnitID: TThostFtdcInvestUnitIDType,
27248}
27249#[test]
27250fn bindgen_test_layout_CThostFtdcRemoveParkedOrderActionField() {
27251    assert_eq!(::std::mem::size_of::<CThostFtdcRemoveParkedOrderActionField>()
27252               , 54usize , concat ! (
27253               "Size of: " , stringify ! (
27254               CThostFtdcRemoveParkedOrderActionField ) ));
27255    assert_eq! (::std::mem::align_of::<CThostFtdcRemoveParkedOrderActionField>()
27256                , 1usize , concat ! (
27257                "Alignment of " , stringify ! (
27258                CThostFtdcRemoveParkedOrderActionField ) ));
27259    assert_eq! (unsafe {
27260                & ( * ( 0 as * const CThostFtdcRemoveParkedOrderActionField )
27261                ) . BrokerID as * const _ as usize } , 0usize , concat ! (
27262                "Alignment of field: " , stringify ! (
27263                CThostFtdcRemoveParkedOrderActionField ) , "::" , stringify !
27264                ( BrokerID ) ));
27265    assert_eq! (unsafe {
27266                & ( * ( 0 as * const CThostFtdcRemoveParkedOrderActionField )
27267                ) . InvestorID as * const _ as usize } , 11usize , concat ! (
27268                "Alignment of field: " , stringify ! (
27269                CThostFtdcRemoveParkedOrderActionField ) , "::" , stringify !
27270                ( InvestorID ) ));
27271    assert_eq! (unsafe {
27272                & ( * ( 0 as * const CThostFtdcRemoveParkedOrderActionField )
27273                ) . ParkedOrderActionID as * const _ as usize } , 24usize ,
27274                concat ! (
27275                "Alignment of field: " , stringify ! (
27276                CThostFtdcRemoveParkedOrderActionField ) , "::" , stringify !
27277                ( ParkedOrderActionID ) ));
27278    assert_eq! (unsafe {
27279                & ( * ( 0 as * const CThostFtdcRemoveParkedOrderActionField )
27280                ) . InvestUnitID as * const _ as usize } , 37usize , concat !
27281                (
27282                "Alignment of field: " , stringify ! (
27283                CThostFtdcRemoveParkedOrderActionField ) , "::" , stringify !
27284                ( InvestUnitID ) ));
27285}
27286impl Clone for CThostFtdcRemoveParkedOrderActionField {
27287    fn clone(&self) -> Self { *self }
27288}
27289/// 经纪公司可提资金算法表
27290#[repr(C)]
27291#[derive(Default, Copy)]
27292pub struct CThostFtdcInvestorWithdrawAlgorithmField {
27293    /// 经纪公司代码
27294    pub BrokerID: TThostFtdcBrokerIDType,
27295    /// 投资者范围
27296    pub InvestorRange: TThostFtdcInvestorRangeType,
27297    /// 投资者代码
27298    pub InvestorID: TThostFtdcInvestorIDType,
27299    /// 可提资金比例
27300    pub UsingRatio: TThostFtdcRatioType,
27301    /// 币种代码
27302    pub CurrencyID: TThostFtdcCurrencyIDType,
27303    /// 货币质押比率
27304    pub FundMortgageRatio: TThostFtdcRatioType,
27305}
27306#[test]
27307fn bindgen_test_layout_CThostFtdcInvestorWithdrawAlgorithmField() {
27308    assert_eq!(::std::mem::size_of::<CThostFtdcInvestorWithdrawAlgorithmField>()
27309               , 56usize , concat ! (
27310               "Size of: " , stringify ! (
27311               CThostFtdcInvestorWithdrawAlgorithmField ) ));
27312    assert_eq! (::std::mem::align_of::<CThostFtdcInvestorWithdrawAlgorithmField>()
27313                , 8usize , concat ! (
27314                "Alignment of " , stringify ! (
27315                CThostFtdcInvestorWithdrawAlgorithmField ) ));
27316    assert_eq! (unsafe {
27317                & (
27318                * ( 0 as * const CThostFtdcInvestorWithdrawAlgorithmField ) )
27319                . BrokerID as * const _ as usize } , 0usize , concat ! (
27320                "Alignment of field: " , stringify ! (
27321                CThostFtdcInvestorWithdrawAlgorithmField ) , "::" , stringify
27322                ! ( BrokerID ) ));
27323    assert_eq! (unsafe {
27324                & (
27325                * ( 0 as * const CThostFtdcInvestorWithdrawAlgorithmField ) )
27326                . InvestorRange as * const _ as usize } , 11usize , concat ! (
27327                "Alignment of field: " , stringify ! (
27328                CThostFtdcInvestorWithdrawAlgorithmField ) , "::" , stringify
27329                ! ( InvestorRange ) ));
27330    assert_eq! (unsafe {
27331                & (
27332                * ( 0 as * const CThostFtdcInvestorWithdrawAlgorithmField ) )
27333                . InvestorID as * const _ as usize } , 12usize , concat ! (
27334                "Alignment of field: " , stringify ! (
27335                CThostFtdcInvestorWithdrawAlgorithmField ) , "::" , stringify
27336                ! ( InvestorID ) ));
27337    assert_eq! (unsafe {
27338                & (
27339                * ( 0 as * const CThostFtdcInvestorWithdrawAlgorithmField ) )
27340                . UsingRatio as * const _ as usize } , 32usize , concat ! (
27341                "Alignment of field: " , stringify ! (
27342                CThostFtdcInvestorWithdrawAlgorithmField ) , "::" , stringify
27343                ! ( UsingRatio ) ));
27344    assert_eq! (unsafe {
27345                & (
27346                * ( 0 as * const CThostFtdcInvestorWithdrawAlgorithmField ) )
27347                . CurrencyID as * const _ as usize } , 40usize , concat ! (
27348                "Alignment of field: " , stringify ! (
27349                CThostFtdcInvestorWithdrawAlgorithmField ) , "::" , stringify
27350                ! ( CurrencyID ) ));
27351    assert_eq! (unsafe {
27352                & (
27353                * ( 0 as * const CThostFtdcInvestorWithdrawAlgorithmField ) )
27354                . FundMortgageRatio as * const _ as usize } , 48usize , concat
27355                ! (
27356                "Alignment of field: " , stringify ! (
27357                CThostFtdcInvestorWithdrawAlgorithmField ) , "::" , stringify
27358                ! ( FundMortgageRatio ) ));
27359}
27360impl Clone for CThostFtdcInvestorWithdrawAlgorithmField {
27361    fn clone(&self) -> Self { *self }
27362}
27363/// 查询组合持仓明细
27364#[repr(C)]
27365#[derive(Default, Copy)]
27366pub struct CThostFtdcQryInvestorPositionCombineDetailField {
27367    /// 经纪公司代码
27368    pub BrokerID: TThostFtdcBrokerIDType,
27369    /// 投资者代码
27370    pub InvestorID: TThostFtdcInvestorIDType,
27371    /// 组合持仓合约编码
27372    pub CombInstrumentID: TThostFtdcInstrumentIDType,
27373    /// 交易所代码
27374    pub ExchangeID: TThostFtdcExchangeIDType,
27375    /// 投资单元代码
27376    pub InvestUnitID: TThostFtdcInvestUnitIDType,
27377}
27378#[test]
27379fn bindgen_test_layout_CThostFtdcQryInvestorPositionCombineDetailField() {
27380    assert_eq!(::std::mem::size_of::<CThostFtdcQryInvestorPositionCombineDetailField>()
27381               , 81usize , concat ! (
27382               "Size of: " , stringify ! (
27383               CThostFtdcQryInvestorPositionCombineDetailField ) ));
27384    assert_eq! (::std::mem::align_of::<CThostFtdcQryInvestorPositionCombineDetailField>()
27385                , 1usize , concat ! (
27386                "Alignment of " , stringify ! (
27387                CThostFtdcQryInvestorPositionCombineDetailField ) ));
27388    assert_eq! (unsafe {
27389                & (
27390                * (
27391                0 as * const CThostFtdcQryInvestorPositionCombineDetailField )
27392                ) . BrokerID as * const _ as usize } , 0usize , concat ! (
27393                "Alignment of field: " , stringify ! (
27394                CThostFtdcQryInvestorPositionCombineDetailField ) , "::" ,
27395                stringify ! ( BrokerID ) ));
27396    assert_eq! (unsafe {
27397                & (
27398                * (
27399                0 as * const CThostFtdcQryInvestorPositionCombineDetailField )
27400                ) . InvestorID as * const _ as usize } , 11usize , concat ! (
27401                "Alignment of field: " , stringify ! (
27402                CThostFtdcQryInvestorPositionCombineDetailField ) , "::" ,
27403                stringify ! ( InvestorID ) ));
27404    assert_eq! (unsafe {
27405                & (
27406                * (
27407                0 as * const CThostFtdcQryInvestorPositionCombineDetailField )
27408                ) . CombInstrumentID as * const _ as usize } , 24usize ,
27409                concat ! (
27410                "Alignment of field: " , stringify ! (
27411                CThostFtdcQryInvestorPositionCombineDetailField ) , "::" ,
27412                stringify ! ( CombInstrumentID ) ));
27413    assert_eq! (unsafe {
27414                & (
27415                * (
27416                0 as * const CThostFtdcQryInvestorPositionCombineDetailField )
27417                ) . ExchangeID as * const _ as usize } , 55usize , concat ! (
27418                "Alignment of field: " , stringify ! (
27419                CThostFtdcQryInvestorPositionCombineDetailField ) , "::" ,
27420                stringify ! ( ExchangeID ) ));
27421    assert_eq! (unsafe {
27422                & (
27423                * (
27424                0 as * const CThostFtdcQryInvestorPositionCombineDetailField )
27425                ) . InvestUnitID as * const _ as usize } , 64usize , concat !
27426                (
27427                "Alignment of field: " , stringify ! (
27428                CThostFtdcQryInvestorPositionCombineDetailField ) , "::" ,
27429                stringify ! ( InvestUnitID ) ));
27430}
27431impl Clone for CThostFtdcQryInvestorPositionCombineDetailField {
27432    fn clone(&self) -> Self { *self }
27433}
27434/// 成交均价
27435#[repr(C)]
27436#[derive(Default, Copy)]
27437pub struct CThostFtdcMarketDataAveragePriceField {
27438    /// 当日均价
27439    pub AveragePrice: TThostFtdcPriceType,
27440}
27441#[test]
27442fn bindgen_test_layout_CThostFtdcMarketDataAveragePriceField() {
27443    assert_eq!(::std::mem::size_of::<CThostFtdcMarketDataAveragePriceField>()
27444               , 8usize , concat ! (
27445               "Size of: " , stringify ! (
27446               CThostFtdcMarketDataAveragePriceField ) ));
27447    assert_eq! (::std::mem::align_of::<CThostFtdcMarketDataAveragePriceField>()
27448                , 8usize , concat ! (
27449                "Alignment of " , stringify ! (
27450                CThostFtdcMarketDataAveragePriceField ) ));
27451    assert_eq! (unsafe {
27452                & ( * ( 0 as * const CThostFtdcMarketDataAveragePriceField ) )
27453                . AveragePrice as * const _ as usize } , 0usize , concat ! (
27454                "Alignment of field: " , stringify ! (
27455                CThostFtdcMarketDataAveragePriceField ) , "::" , stringify ! (
27456                AveragePrice ) ));
27457}
27458impl Clone for CThostFtdcMarketDataAveragePriceField {
27459    fn clone(&self) -> Self { *self }
27460}
27461/// 校验投资者密码
27462#[repr(C)]
27463#[derive(Copy)]
27464pub struct CThostFtdcVerifyInvestorPasswordField {
27465    /// 经纪公司代码
27466    pub BrokerID: TThostFtdcBrokerIDType,
27467    /// 投资者代码
27468    pub InvestorID: TThostFtdcInvestorIDType,
27469    /// 密码
27470    pub Password: TThostFtdcPasswordType,
27471}
27472#[test]
27473fn bindgen_test_layout_CThostFtdcVerifyInvestorPasswordField() {
27474    assert_eq!(::std::mem::size_of::<CThostFtdcVerifyInvestorPasswordField>()
27475               , 65usize , concat ! (
27476               "Size of: " , stringify ! (
27477               CThostFtdcVerifyInvestorPasswordField ) ));
27478    assert_eq! (::std::mem::align_of::<CThostFtdcVerifyInvestorPasswordField>()
27479                , 1usize , concat ! (
27480                "Alignment of " , stringify ! (
27481                CThostFtdcVerifyInvestorPasswordField ) ));
27482    assert_eq! (unsafe {
27483                & ( * ( 0 as * const CThostFtdcVerifyInvestorPasswordField ) )
27484                . BrokerID as * const _ as usize } , 0usize , concat ! (
27485                "Alignment of field: " , stringify ! (
27486                CThostFtdcVerifyInvestorPasswordField ) , "::" , stringify ! (
27487                BrokerID ) ));
27488    assert_eq! (unsafe {
27489                & ( * ( 0 as * const CThostFtdcVerifyInvestorPasswordField ) )
27490                . InvestorID as * const _ as usize } , 11usize , concat ! (
27491                "Alignment of field: " , stringify ! (
27492                CThostFtdcVerifyInvestorPasswordField ) , "::" , stringify ! (
27493                InvestorID ) ));
27494    assert_eq! (unsafe {
27495                & ( * ( 0 as * const CThostFtdcVerifyInvestorPasswordField ) )
27496                . Password as * const _ as usize } , 24usize , concat ! (
27497                "Alignment of field: " , stringify ! (
27498                CThostFtdcVerifyInvestorPasswordField ) , "::" , stringify ! (
27499                Password ) ));
27500}
27501impl Clone for CThostFtdcVerifyInvestorPasswordField {
27502    fn clone(&self) -> Self { *self }
27503}
27504impl Default for CThostFtdcVerifyInvestorPasswordField {
27505    fn default() -> Self { unsafe { ::std::mem::zeroed() } }
27506}
27507/// 用户IP
27508#[repr(C)]
27509#[derive(Default, Copy)]
27510pub struct CThostFtdcUserIPField {
27511    /// 经纪公司代码
27512    pub BrokerID: TThostFtdcBrokerIDType,
27513    /// 用户代码
27514    pub UserID: TThostFtdcUserIDType,
27515    /// IP地址
27516    pub IPAddress: TThostFtdcIPAddressType,
27517    /// IP地址掩码
27518    pub IPMask: TThostFtdcIPAddressType,
27519    /// Mac地址
27520    pub MacAddress: TThostFtdcMacAddressType,
27521}
27522#[test]
27523fn bindgen_test_layout_CThostFtdcUserIPField() {
27524    assert_eq!(::std::mem::size_of::<CThostFtdcUserIPField>() , 80usize ,
27525               concat ! ( "Size of: " , stringify ! ( CThostFtdcUserIPField )
27526               ));
27527    assert_eq! (::std::mem::align_of::<CThostFtdcUserIPField>() , 1usize ,
27528                concat ! (
27529                "Alignment of " , stringify ! ( CThostFtdcUserIPField ) ));
27530    assert_eq! (unsafe {
27531                & ( * ( 0 as * const CThostFtdcUserIPField ) ) . BrokerID as *
27532                const _ as usize } , 0usize , concat ! (
27533                "Alignment of field: " , stringify ! ( CThostFtdcUserIPField )
27534                , "::" , stringify ! ( BrokerID ) ));
27535    assert_eq! (unsafe {
27536                & ( * ( 0 as * const CThostFtdcUserIPField ) ) . UserID as *
27537                const _ as usize } , 11usize , concat ! (
27538                "Alignment of field: " , stringify ! ( CThostFtdcUserIPField )
27539                , "::" , stringify ! ( UserID ) ));
27540    assert_eq! (unsafe {
27541                & ( * ( 0 as * const CThostFtdcUserIPField ) ) . IPAddress as
27542                * const _ as usize } , 27usize , concat ! (
27543                "Alignment of field: " , stringify ! ( CThostFtdcUserIPField )
27544                , "::" , stringify ! ( IPAddress ) ));
27545    assert_eq! (unsafe {
27546                & ( * ( 0 as * const CThostFtdcUserIPField ) ) . IPMask as *
27547                const _ as usize } , 43usize , concat ! (
27548                "Alignment of field: " , stringify ! ( CThostFtdcUserIPField )
27549                , "::" , stringify ! ( IPMask ) ));
27550    assert_eq! (unsafe {
27551                & ( * ( 0 as * const CThostFtdcUserIPField ) ) . MacAddress as
27552                * const _ as usize } , 59usize , concat ! (
27553                "Alignment of field: " , stringify ! ( CThostFtdcUserIPField )
27554                , "::" , stringify ! ( MacAddress ) ));
27555}
27556impl Clone for CThostFtdcUserIPField {
27557    fn clone(&self) -> Self { *self }
27558}
27559/// 用户事件通知信息
27560#[repr(C)]
27561#[derive(Copy)]
27562pub struct CThostFtdcTradingNoticeInfoField {
27563    /// 经纪公司代码
27564    pub BrokerID: TThostFtdcBrokerIDType,
27565    /// 投资者代码
27566    pub InvestorID: TThostFtdcInvestorIDType,
27567    /// 发送时间
27568    pub SendTime: TThostFtdcTimeType,
27569    /// 消息正文
27570    pub FieldContent: TThostFtdcContentType,
27571    /// 序列系列号
27572    pub SequenceSeries: TThostFtdcSequenceSeriesType,
27573    /// 序列号
27574    pub SequenceNo: TThostFtdcSequenceNoType,
27575    /// 投资单元代码
27576    pub InvestUnitID: TThostFtdcInvestUnitIDType,
27577}
27578#[test]
27579fn bindgen_test_layout_CThostFtdcTradingNoticeInfoField() {
27580    assert_eq!(::std::mem::size_of::<CThostFtdcTradingNoticeInfoField>() ,
27581               560usize , concat ! (
27582               "Size of: " , stringify ! ( CThostFtdcTradingNoticeInfoField )
27583               ));
27584    assert_eq! (::std::mem::align_of::<CThostFtdcTradingNoticeInfoField>() ,
27585                4usize , concat ! (
27586                "Alignment of " , stringify ! (
27587                CThostFtdcTradingNoticeInfoField ) ));
27588    assert_eq! (unsafe {
27589                & ( * ( 0 as * const CThostFtdcTradingNoticeInfoField ) ) .
27590                BrokerID as * const _ as usize } , 0usize , concat ! (
27591                "Alignment of field: " , stringify ! (
27592                CThostFtdcTradingNoticeInfoField ) , "::" , stringify ! (
27593                BrokerID ) ));
27594    assert_eq! (unsafe {
27595                & ( * ( 0 as * const CThostFtdcTradingNoticeInfoField ) ) .
27596                InvestorID as * const _ as usize } , 11usize , concat ! (
27597                "Alignment of field: " , stringify ! (
27598                CThostFtdcTradingNoticeInfoField ) , "::" , stringify ! (
27599                InvestorID ) ));
27600    assert_eq! (unsafe {
27601                & ( * ( 0 as * const CThostFtdcTradingNoticeInfoField ) ) .
27602                SendTime as * const _ as usize } , 24usize , concat ! (
27603                "Alignment of field: " , stringify ! (
27604                CThostFtdcTradingNoticeInfoField ) , "::" , stringify ! (
27605                SendTime ) ));
27606    assert_eq! (unsafe {
27607                & ( * ( 0 as * const CThostFtdcTradingNoticeInfoField ) ) .
27608                FieldContent as * const _ as usize } , 33usize , concat ! (
27609                "Alignment of field: " , stringify ! (
27610                CThostFtdcTradingNoticeInfoField ) , "::" , stringify ! (
27611                FieldContent ) ));
27612    assert_eq! (unsafe {
27613                & ( * ( 0 as * const CThostFtdcTradingNoticeInfoField ) ) .
27614                SequenceSeries as * const _ as usize } , 534usize , concat ! (
27615                "Alignment of field: " , stringify ! (
27616                CThostFtdcTradingNoticeInfoField ) , "::" , stringify ! (
27617                SequenceSeries ) ));
27618    assert_eq! (unsafe {
27619                & ( * ( 0 as * const CThostFtdcTradingNoticeInfoField ) ) .
27620                SequenceNo as * const _ as usize } , 536usize , concat ! (
27621                "Alignment of field: " , stringify ! (
27622                CThostFtdcTradingNoticeInfoField ) , "::" , stringify ! (
27623                SequenceNo ) ));
27624    assert_eq! (unsafe {
27625                & ( * ( 0 as * const CThostFtdcTradingNoticeInfoField ) ) .
27626                InvestUnitID as * const _ as usize } , 540usize , concat ! (
27627                "Alignment of field: " , stringify ! (
27628                CThostFtdcTradingNoticeInfoField ) , "::" , stringify ! (
27629                InvestUnitID ) ));
27630}
27631impl Clone for CThostFtdcTradingNoticeInfoField {
27632    fn clone(&self) -> Self { *self }
27633}
27634impl Default for CThostFtdcTradingNoticeInfoField {
27635    fn default() -> Self { unsafe { ::std::mem::zeroed() } }
27636}
27637/// 用户事件通知
27638#[repr(C)]
27639#[derive(Copy)]
27640pub struct CThostFtdcTradingNoticeField {
27641    /// 经纪公司代码
27642    pub BrokerID: TThostFtdcBrokerIDType,
27643    /// 投资者范围
27644    pub InvestorRange: TThostFtdcInvestorRangeType,
27645    /// 投资者代码
27646    pub InvestorID: TThostFtdcInvestorIDType,
27647    /// 序列系列号
27648    pub SequenceSeries: TThostFtdcSequenceSeriesType,
27649    /// 用户代码
27650    pub UserID: TThostFtdcUserIDType,
27651    /// 发送时间
27652    pub SendTime: TThostFtdcTimeType,
27653    /// 序列号
27654    pub SequenceNo: TThostFtdcSequenceNoType,
27655    /// 消息正文
27656    pub FieldContent: TThostFtdcContentType,
27657    /// 投资单元代码
27658    pub InvestUnitID: TThostFtdcInvestUnitIDType,
27659}
27660#[test]
27661fn bindgen_test_layout_CThostFtdcTradingNoticeField() {
27662    assert_eq!(::std::mem::size_of::<CThostFtdcTradingNoticeField>() ,
27663               580usize , concat ! (
27664               "Size of: " , stringify ! ( CThostFtdcTradingNoticeField ) ));
27665    assert_eq! (::std::mem::align_of::<CThostFtdcTradingNoticeField>() ,
27666                4usize , concat ! (
27667                "Alignment of " , stringify ! ( CThostFtdcTradingNoticeField )
27668                ));
27669    assert_eq! (unsafe {
27670                & ( * ( 0 as * const CThostFtdcTradingNoticeField ) ) .
27671                BrokerID as * const _ as usize } , 0usize , concat ! (
27672                "Alignment of field: " , stringify ! (
27673                CThostFtdcTradingNoticeField ) , "::" , stringify ! ( BrokerID
27674                ) ));
27675    assert_eq! (unsafe {
27676                & ( * ( 0 as * const CThostFtdcTradingNoticeField ) ) .
27677                InvestorRange as * const _ as usize } , 11usize , concat ! (
27678                "Alignment of field: " , stringify ! (
27679                CThostFtdcTradingNoticeField ) , "::" , stringify ! (
27680                InvestorRange ) ));
27681    assert_eq! (unsafe {
27682                & ( * ( 0 as * const CThostFtdcTradingNoticeField ) ) .
27683                InvestorID as * const _ as usize } , 12usize , concat ! (
27684                "Alignment of field: " , stringify ! (
27685                CThostFtdcTradingNoticeField ) , "::" , stringify ! (
27686                InvestorID ) ));
27687    assert_eq! (unsafe {
27688                & ( * ( 0 as * const CThostFtdcTradingNoticeField ) ) .
27689                SequenceSeries as * const _ as usize } , 26usize , concat ! (
27690                "Alignment of field: " , stringify ! (
27691                CThostFtdcTradingNoticeField ) , "::" , stringify ! (
27692                SequenceSeries ) ));
27693    assert_eq! (unsafe {
27694                & ( * ( 0 as * const CThostFtdcTradingNoticeField ) ) . UserID
27695                as * const _ as usize } , 28usize , concat ! (
27696                "Alignment of field: " , stringify ! (
27697                CThostFtdcTradingNoticeField ) , "::" , stringify ! ( UserID )
27698                ));
27699    assert_eq! (unsafe {
27700                & ( * ( 0 as * const CThostFtdcTradingNoticeField ) ) .
27701                SendTime as * const _ as usize } , 44usize , concat ! (
27702                "Alignment of field: " , stringify ! (
27703                CThostFtdcTradingNoticeField ) , "::" , stringify ! ( SendTime
27704                ) ));
27705    assert_eq! (unsafe {
27706                & ( * ( 0 as * const CThostFtdcTradingNoticeField ) ) .
27707                SequenceNo as * const _ as usize } , 56usize , concat ! (
27708                "Alignment of field: " , stringify ! (
27709                CThostFtdcTradingNoticeField ) , "::" , stringify ! (
27710                SequenceNo ) ));
27711    assert_eq! (unsafe {
27712                & ( * ( 0 as * const CThostFtdcTradingNoticeField ) ) .
27713                FieldContent as * const _ as usize } , 60usize , concat ! (
27714                "Alignment of field: " , stringify ! (
27715                CThostFtdcTradingNoticeField ) , "::" , stringify ! (
27716                FieldContent ) ));
27717    assert_eq! (unsafe {
27718                & ( * ( 0 as * const CThostFtdcTradingNoticeField ) ) .
27719                InvestUnitID as * const _ as usize } , 561usize , concat ! (
27720                "Alignment of field: " , stringify ! (
27721                CThostFtdcTradingNoticeField ) , "::" , stringify ! (
27722                InvestUnitID ) ));
27723}
27724impl Clone for CThostFtdcTradingNoticeField {
27725    fn clone(&self) -> Self { *self }
27726}
27727impl Default for CThostFtdcTradingNoticeField {
27728    fn default() -> Self { unsafe { ::std::mem::zeroed() } }
27729}
27730/// 查询交易事件通知
27731#[repr(C)]
27732#[derive(Default, Copy)]
27733pub struct CThostFtdcQryTradingNoticeField {
27734    /// 经纪公司代码
27735    pub BrokerID: TThostFtdcBrokerIDType,
27736    /// 投资者代码
27737    pub InvestorID: TThostFtdcInvestorIDType,
27738    /// 投资单元代码
27739    pub InvestUnitID: TThostFtdcInvestUnitIDType,
27740}
27741#[test]
27742fn bindgen_test_layout_CThostFtdcQryTradingNoticeField() {
27743    assert_eq!(::std::mem::size_of::<CThostFtdcQryTradingNoticeField>() ,
27744               41usize , concat ! (
27745               "Size of: " , stringify ! ( CThostFtdcQryTradingNoticeField )
27746               ));
27747    assert_eq! (::std::mem::align_of::<CThostFtdcQryTradingNoticeField>() ,
27748                1usize , concat ! (
27749                "Alignment of " , stringify ! (
27750                CThostFtdcQryTradingNoticeField ) ));
27751    assert_eq! (unsafe {
27752                & ( * ( 0 as * const CThostFtdcQryTradingNoticeField ) ) .
27753                BrokerID as * const _ as usize } , 0usize , concat ! (
27754                "Alignment of field: " , stringify ! (
27755                CThostFtdcQryTradingNoticeField ) , "::" , stringify ! (
27756                BrokerID ) ));
27757    assert_eq! (unsafe {
27758                & ( * ( 0 as * const CThostFtdcQryTradingNoticeField ) ) .
27759                InvestorID as * const _ as usize } , 11usize , concat ! (
27760                "Alignment of field: " , stringify ! (
27761                CThostFtdcQryTradingNoticeField ) , "::" , stringify ! (
27762                InvestorID ) ));
27763    assert_eq! (unsafe {
27764                & ( * ( 0 as * const CThostFtdcQryTradingNoticeField ) ) .
27765                InvestUnitID as * const _ as usize } , 24usize , concat ! (
27766                "Alignment of field: " , stringify ! (
27767                CThostFtdcQryTradingNoticeField ) , "::" , stringify ! (
27768                InvestUnitID ) ));
27769}
27770impl Clone for CThostFtdcQryTradingNoticeField {
27771    fn clone(&self) -> Self { *self }
27772}
27773/// 查询错误报单
27774#[repr(C)]
27775#[derive(Default, Copy)]
27776pub struct CThostFtdcQryErrOrderField {
27777    /// 经纪公司代码
27778    pub BrokerID: TThostFtdcBrokerIDType,
27779    /// 投资者代码
27780    pub InvestorID: TThostFtdcInvestorIDType,
27781}
27782#[test]
27783fn bindgen_test_layout_CThostFtdcQryErrOrderField() {
27784    assert_eq!(::std::mem::size_of::<CThostFtdcQryErrOrderField>() , 24usize ,
27785               concat ! (
27786               "Size of: " , stringify ! ( CThostFtdcQryErrOrderField ) ));
27787    assert_eq! (::std::mem::align_of::<CThostFtdcQryErrOrderField>() , 1usize
27788                , concat ! (
27789                "Alignment of " , stringify ! ( CThostFtdcQryErrOrderField )
27790                ));
27791    assert_eq! (unsafe {
27792                & ( * ( 0 as * const CThostFtdcQryErrOrderField ) ) . BrokerID
27793                as * const _ as usize } , 0usize , concat ! (
27794                "Alignment of field: " , stringify ! (
27795                CThostFtdcQryErrOrderField ) , "::" , stringify ! ( BrokerID )
27796                ));
27797    assert_eq! (unsafe {
27798                & ( * ( 0 as * const CThostFtdcQryErrOrderField ) ) .
27799                InvestorID as * const _ as usize } , 11usize , concat ! (
27800                "Alignment of field: " , stringify ! (
27801                CThostFtdcQryErrOrderField ) , "::" , stringify ! ( InvestorID
27802                ) ));
27803}
27804impl Clone for CThostFtdcQryErrOrderField {
27805    fn clone(&self) -> Self { *self }
27806}
27807/// 错误报单
27808#[repr(C)]
27809#[derive(Copy)]
27810pub struct CThostFtdcErrOrderField {
27811    /// 经纪公司代码
27812    pub BrokerID: TThostFtdcBrokerIDType,
27813    /// 投资者代码
27814    pub InvestorID: TThostFtdcInvestorIDType,
27815    /// 合约代码
27816    pub InstrumentID: TThostFtdcInstrumentIDType,
27817    /// 报单引用
27818    pub OrderRef: TThostFtdcOrderRefType,
27819    /// 用户代码
27820    pub UserID: TThostFtdcUserIDType,
27821    /// 报单价格条件
27822    pub OrderPriceType: TThostFtdcOrderPriceTypeType,
27823    /// 买卖方向
27824    pub Direction: TThostFtdcDirectionType,
27825    /// 组合开平标志
27826    pub CombOffsetFlag: TThostFtdcCombOffsetFlagType,
27827    /// 组合投机套保标志
27828    pub CombHedgeFlag: TThostFtdcCombHedgeFlagType,
27829    /// 价格
27830    pub LimitPrice: TThostFtdcPriceType,
27831    /// 数量
27832    pub VolumeTotalOriginal: TThostFtdcVolumeType,
27833    /// 有效期类型
27834    pub TimeCondition: TThostFtdcTimeConditionType,
27835    /// GTD日期
27836    pub GTDDate: TThostFtdcDateType,
27837    /// 成交量类型
27838    pub VolumeCondition: TThostFtdcVolumeConditionType,
27839    /// 最小成交量
27840    pub MinVolume: TThostFtdcVolumeType,
27841    /// 触发条件
27842    pub ContingentCondition: TThostFtdcContingentConditionType,
27843    /// 止损价
27844    pub StopPrice: TThostFtdcPriceType,
27845    /// 强平原因
27846    pub ForceCloseReason: TThostFtdcForceCloseReasonType,
27847    /// 自动挂起标志
27848    pub IsAutoSuspend: TThostFtdcBoolType,
27849    /// 业务单元
27850    pub BusinessUnit: TThostFtdcBusinessUnitType,
27851    /// 请求编号
27852    pub RequestID: TThostFtdcRequestIDType,
27853    /// 用户强评标志
27854    pub UserForceClose: TThostFtdcBoolType,
27855    /// 错误代码
27856    pub ErrorID: TThostFtdcErrorIDType,
27857    /// 错误信息
27858    pub ErrorMsg: TThostFtdcErrorMsgType,
27859    /// 互换单标志
27860    pub IsSwapOrder: TThostFtdcBoolType,
27861    /// 交易所代码
27862    pub ExchangeID: TThostFtdcExchangeIDType,
27863    /// 投资单元代码
27864    pub InvestUnitID: TThostFtdcInvestUnitIDType,
27865    /// 资金账号
27866    pub AccountID: TThostFtdcAccountIDType,
27867    /// 币种代码
27868    pub CurrencyID: TThostFtdcCurrencyIDType,
27869    /// 交易编码
27870    pub ClientID: TThostFtdcClientIDType,
27871    /// IP地址
27872    pub IPAddress: TThostFtdcIPAddressType,
27873    /// Mac地址
27874    pub MacAddress: TThostFtdcMacAddressType,
27875}
27876#[test]
27877fn bindgen_test_layout_CThostFtdcErrOrderField() {
27878    assert_eq!(::std::mem::size_of::<CThostFtdcErrOrderField>() , 360usize ,
27879               concat ! (
27880               "Size of: " , stringify ! ( CThostFtdcErrOrderField ) ));
27881    assert_eq! (::std::mem::align_of::<CThostFtdcErrOrderField>() , 8usize ,
27882                concat ! (
27883                "Alignment of " , stringify ! ( CThostFtdcErrOrderField ) ));
27884    assert_eq! (unsafe {
27885                & ( * ( 0 as * const CThostFtdcErrOrderField ) ) . BrokerID as
27886                * const _ as usize } , 0usize , concat ! (
27887                "Alignment of field: " , stringify ! ( CThostFtdcErrOrderField
27888                ) , "::" , stringify ! ( BrokerID ) ));
27889    assert_eq! (unsafe {
27890                & ( * ( 0 as * const CThostFtdcErrOrderField ) ) . InvestorID
27891                as * const _ as usize } , 11usize , concat ! (
27892                "Alignment of field: " , stringify ! ( CThostFtdcErrOrderField
27893                ) , "::" , stringify ! ( InvestorID ) ));
27894    assert_eq! (unsafe {
27895                & ( * ( 0 as * const CThostFtdcErrOrderField ) ) .
27896                InstrumentID as * const _ as usize } , 24usize , concat ! (
27897                "Alignment of field: " , stringify ! ( CThostFtdcErrOrderField
27898                ) , "::" , stringify ! ( InstrumentID ) ));
27899    assert_eq! (unsafe {
27900                & ( * ( 0 as * const CThostFtdcErrOrderField ) ) . OrderRef as
27901                * const _ as usize } , 55usize , concat ! (
27902                "Alignment of field: " , stringify ! ( CThostFtdcErrOrderField
27903                ) , "::" , stringify ! ( OrderRef ) ));
27904    assert_eq! (unsafe {
27905                & ( * ( 0 as * const CThostFtdcErrOrderField ) ) . UserID as *
27906                const _ as usize } , 68usize , concat ! (
27907                "Alignment of field: " , stringify ! ( CThostFtdcErrOrderField
27908                ) , "::" , stringify ! ( UserID ) ));
27909    assert_eq! (unsafe {
27910                & ( * ( 0 as * const CThostFtdcErrOrderField ) ) .
27911                OrderPriceType as * const _ as usize } , 84usize , concat ! (
27912                "Alignment of field: " , stringify ! ( CThostFtdcErrOrderField
27913                ) , "::" , stringify ! ( OrderPriceType ) ));
27914    assert_eq! (unsafe {
27915                & ( * ( 0 as * const CThostFtdcErrOrderField ) ) . Direction
27916                as * const _ as usize } , 85usize , concat ! (
27917                "Alignment of field: " , stringify ! ( CThostFtdcErrOrderField
27918                ) , "::" , stringify ! ( Direction ) ));
27919    assert_eq! (unsafe {
27920                & ( * ( 0 as * const CThostFtdcErrOrderField ) ) .
27921                CombOffsetFlag as * const _ as usize } , 86usize , concat ! (
27922                "Alignment of field: " , stringify ! ( CThostFtdcErrOrderField
27923                ) , "::" , stringify ! ( CombOffsetFlag ) ));
27924    assert_eq! (unsafe {
27925                & ( * ( 0 as * const CThostFtdcErrOrderField ) ) .
27926                CombHedgeFlag as * const _ as usize } , 91usize , concat ! (
27927                "Alignment of field: " , stringify ! ( CThostFtdcErrOrderField
27928                ) , "::" , stringify ! ( CombHedgeFlag ) ));
27929    assert_eq! (unsafe {
27930                & ( * ( 0 as * const CThostFtdcErrOrderField ) ) . LimitPrice
27931                as * const _ as usize } , 96usize , concat ! (
27932                "Alignment of field: " , stringify ! ( CThostFtdcErrOrderField
27933                ) , "::" , stringify ! ( LimitPrice ) ));
27934    assert_eq! (unsafe {
27935                & ( * ( 0 as * const CThostFtdcErrOrderField ) ) .
27936                VolumeTotalOriginal as * const _ as usize } , 104usize ,
27937                concat ! (
27938                "Alignment of field: " , stringify ! ( CThostFtdcErrOrderField
27939                ) , "::" , stringify ! ( VolumeTotalOriginal ) ));
27940    assert_eq! (unsafe {
27941                & ( * ( 0 as * const CThostFtdcErrOrderField ) ) .
27942                TimeCondition as * const _ as usize } , 108usize , concat ! (
27943                "Alignment of field: " , stringify ! ( CThostFtdcErrOrderField
27944                ) , "::" , stringify ! ( TimeCondition ) ));
27945    assert_eq! (unsafe {
27946                & ( * ( 0 as * const CThostFtdcErrOrderField ) ) . GTDDate as
27947                * const _ as usize } , 109usize , concat ! (
27948                "Alignment of field: " , stringify ! ( CThostFtdcErrOrderField
27949                ) , "::" , stringify ! ( GTDDate ) ));
27950    assert_eq! (unsafe {
27951                & ( * ( 0 as * const CThostFtdcErrOrderField ) ) .
27952                VolumeCondition as * const _ as usize } , 118usize , concat !
27953                (
27954                "Alignment of field: " , stringify ! ( CThostFtdcErrOrderField
27955                ) , "::" , stringify ! ( VolumeCondition ) ));
27956    assert_eq! (unsafe {
27957                & ( * ( 0 as * const CThostFtdcErrOrderField ) ) . MinVolume
27958                as * const _ as usize } , 120usize , concat ! (
27959                "Alignment of field: " , stringify ! ( CThostFtdcErrOrderField
27960                ) , "::" , stringify ! ( MinVolume ) ));
27961    assert_eq! (unsafe {
27962                & ( * ( 0 as * const CThostFtdcErrOrderField ) ) .
27963                ContingentCondition as * const _ as usize } , 124usize ,
27964                concat ! (
27965                "Alignment of field: " , stringify ! ( CThostFtdcErrOrderField
27966                ) , "::" , stringify ! ( ContingentCondition ) ));
27967    assert_eq! (unsafe {
27968                & ( * ( 0 as * const CThostFtdcErrOrderField ) ) . StopPrice
27969                as * const _ as usize } , 128usize , concat ! (
27970                "Alignment of field: " , stringify ! ( CThostFtdcErrOrderField
27971                ) , "::" , stringify ! ( StopPrice ) ));
27972    assert_eq! (unsafe {
27973                & ( * ( 0 as * const CThostFtdcErrOrderField ) ) .
27974                ForceCloseReason as * const _ as usize } , 136usize , concat !
27975                (
27976                "Alignment of field: " , stringify ! ( CThostFtdcErrOrderField
27977                ) , "::" , stringify ! ( ForceCloseReason ) ));
27978    assert_eq! (unsafe {
27979                & ( * ( 0 as * const CThostFtdcErrOrderField ) ) .
27980                IsAutoSuspend as * const _ as usize } , 140usize , concat ! (
27981                "Alignment of field: " , stringify ! ( CThostFtdcErrOrderField
27982                ) , "::" , stringify ! ( IsAutoSuspend ) ));
27983    assert_eq! (unsafe {
27984                & ( * ( 0 as * const CThostFtdcErrOrderField ) ) .
27985                BusinessUnit as * const _ as usize } , 144usize , concat ! (
27986                "Alignment of field: " , stringify ! ( CThostFtdcErrOrderField
27987                ) , "::" , stringify ! ( BusinessUnit ) ));
27988    assert_eq! (unsafe {
27989                & ( * ( 0 as * const CThostFtdcErrOrderField ) ) . RequestID
27990                as * const _ as usize } , 168usize , concat ! (
27991                "Alignment of field: " , stringify ! ( CThostFtdcErrOrderField
27992                ) , "::" , stringify ! ( RequestID ) ));
27993    assert_eq! (unsafe {
27994                & ( * ( 0 as * const CThostFtdcErrOrderField ) ) .
27995                UserForceClose as * const _ as usize } , 172usize , concat ! (
27996                "Alignment of field: " , stringify ! ( CThostFtdcErrOrderField
27997                ) , "::" , stringify ! ( UserForceClose ) ));
27998    assert_eq! (unsafe {
27999                & ( * ( 0 as * const CThostFtdcErrOrderField ) ) . ErrorID as
28000                * const _ as usize } , 176usize , concat ! (
28001                "Alignment of field: " , stringify ! ( CThostFtdcErrOrderField
28002                ) , "::" , stringify ! ( ErrorID ) ));
28003    assert_eq! (unsafe {
28004                & ( * ( 0 as * const CThostFtdcErrOrderField ) ) . ErrorMsg as
28005                * const _ as usize } , 180usize , concat ! (
28006                "Alignment of field: " , stringify ! ( CThostFtdcErrOrderField
28007                ) , "::" , stringify ! ( ErrorMsg ) ));
28008    assert_eq! (unsafe {
28009                & ( * ( 0 as * const CThostFtdcErrOrderField ) ) . IsSwapOrder
28010                as * const _ as usize } , 264usize , concat ! (
28011                "Alignment of field: " , stringify ! ( CThostFtdcErrOrderField
28012                ) , "::" , stringify ! ( IsSwapOrder ) ));
28013    assert_eq! (unsafe {
28014                & ( * ( 0 as * const CThostFtdcErrOrderField ) ) . ExchangeID
28015                as * const _ as usize } , 268usize , concat ! (
28016                "Alignment of field: " , stringify ! ( CThostFtdcErrOrderField
28017                ) , "::" , stringify ! ( ExchangeID ) ));
28018    assert_eq! (unsafe {
28019                & ( * ( 0 as * const CThostFtdcErrOrderField ) ) .
28020                InvestUnitID as * const _ as usize } , 277usize , concat ! (
28021                "Alignment of field: " , stringify ! ( CThostFtdcErrOrderField
28022                ) , "::" , stringify ! ( InvestUnitID ) ));
28023    assert_eq! (unsafe {
28024                & ( * ( 0 as * const CThostFtdcErrOrderField ) ) . AccountID
28025                as * const _ as usize } , 294usize , concat ! (
28026                "Alignment of field: " , stringify ! ( CThostFtdcErrOrderField
28027                ) , "::" , stringify ! ( AccountID ) ));
28028    assert_eq! (unsafe {
28029                & ( * ( 0 as * const CThostFtdcErrOrderField ) ) . CurrencyID
28030                as * const _ as usize } , 307usize , concat ! (
28031                "Alignment of field: " , stringify ! ( CThostFtdcErrOrderField
28032                ) , "::" , stringify ! ( CurrencyID ) ));
28033    assert_eq! (unsafe {
28034                & ( * ( 0 as * const CThostFtdcErrOrderField ) ) . ClientID as
28035                * const _ as usize } , 311usize , concat ! (
28036                "Alignment of field: " , stringify ! ( CThostFtdcErrOrderField
28037                ) , "::" , stringify ! ( ClientID ) ));
28038    assert_eq! (unsafe {
28039                & ( * ( 0 as * const CThostFtdcErrOrderField ) ) . IPAddress
28040                as * const _ as usize } , 322usize , concat ! (
28041                "Alignment of field: " , stringify ! ( CThostFtdcErrOrderField
28042                ) , "::" , stringify ! ( IPAddress ) ));
28043    assert_eq! (unsafe {
28044                & ( * ( 0 as * const CThostFtdcErrOrderField ) ) . MacAddress
28045                as * const _ as usize } , 338usize , concat ! (
28046                "Alignment of field: " , stringify ! ( CThostFtdcErrOrderField
28047                ) , "::" , stringify ! ( MacAddress ) ));
28048}
28049impl Clone for CThostFtdcErrOrderField {
28050    fn clone(&self) -> Self { *self }
28051}
28052impl Default for CThostFtdcErrOrderField {
28053    fn default() -> Self { unsafe { ::std::mem::zeroed() } }
28054}
28055/// 查询错误报单操作
28056#[repr(C)]
28057#[derive(Copy)]
28058pub struct CThostFtdcErrorConditionalOrderField {
28059    /// 经纪公司代码
28060    pub BrokerID: TThostFtdcBrokerIDType,
28061    /// 投资者代码
28062    pub InvestorID: TThostFtdcInvestorIDType,
28063    /// 合约代码
28064    pub InstrumentID: TThostFtdcInstrumentIDType,
28065    /// 报单引用
28066    pub OrderRef: TThostFtdcOrderRefType,
28067    /// 用户代码
28068    pub UserID: TThostFtdcUserIDType,
28069    /// 报单价格条件
28070    pub OrderPriceType: TThostFtdcOrderPriceTypeType,
28071    /// 买卖方向
28072    pub Direction: TThostFtdcDirectionType,
28073    /// 组合开平标志
28074    pub CombOffsetFlag: TThostFtdcCombOffsetFlagType,
28075    /// 组合投机套保标志
28076    pub CombHedgeFlag: TThostFtdcCombHedgeFlagType,
28077    /// 价格
28078    pub LimitPrice: TThostFtdcPriceType,
28079    /// 数量
28080    pub VolumeTotalOriginal: TThostFtdcVolumeType,
28081    /// 有效期类型
28082    pub TimeCondition: TThostFtdcTimeConditionType,
28083    /// GTD日期
28084    pub GTDDate: TThostFtdcDateType,
28085    /// 成交量类型
28086    pub VolumeCondition: TThostFtdcVolumeConditionType,
28087    /// 最小成交量
28088    pub MinVolume: TThostFtdcVolumeType,
28089    /// 触发条件
28090    pub ContingentCondition: TThostFtdcContingentConditionType,
28091    /// 止损价
28092    pub StopPrice: TThostFtdcPriceType,
28093    /// 强平原因
28094    pub ForceCloseReason: TThostFtdcForceCloseReasonType,
28095    /// 自动挂起标志
28096    pub IsAutoSuspend: TThostFtdcBoolType,
28097    /// 业务单元
28098    pub BusinessUnit: TThostFtdcBusinessUnitType,
28099    /// 请求编号
28100    pub RequestID: TThostFtdcRequestIDType,
28101    /// 本地报单编号
28102    pub OrderLocalID: TThostFtdcOrderLocalIDType,
28103    /// 交易所代码
28104    pub ExchangeID: TThostFtdcExchangeIDType,
28105    /// 会员代码
28106    pub ParticipantID: TThostFtdcParticipantIDType,
28107    /// 客户代码
28108    pub ClientID: TThostFtdcClientIDType,
28109    /// 合约在交易所的代码
28110    pub ExchangeInstID: TThostFtdcExchangeInstIDType,
28111    /// 交易所交易员代码
28112    pub TraderID: TThostFtdcTraderIDType,
28113    /// 安装编号
28114    pub InstallID: TThostFtdcInstallIDType,
28115    /// 报单提交状态
28116    pub OrderSubmitStatus: TThostFtdcOrderSubmitStatusType,
28117    /// 报单提示序号
28118    pub NotifySequence: TThostFtdcSequenceNoType,
28119    /// 交易日
28120    pub TradingDay: TThostFtdcDateType,
28121    /// 结算编号
28122    pub SettlementID: TThostFtdcSettlementIDType,
28123    /// 报单编号
28124    pub OrderSysID: TThostFtdcOrderSysIDType,
28125    /// 报单来源
28126    pub OrderSource: TThostFtdcOrderSourceType,
28127    /// 报单状态
28128    pub OrderStatus: TThostFtdcOrderStatusType,
28129    /// 报单类型
28130    pub OrderType: TThostFtdcOrderTypeType,
28131    /// 今成交数量
28132    pub VolumeTraded: TThostFtdcVolumeType,
28133    /// 剩余数量
28134    pub VolumeTotal: TThostFtdcVolumeType,
28135    /// 报单日期
28136    pub InsertDate: TThostFtdcDateType,
28137    /// 委托时间
28138    pub InsertTime: TThostFtdcTimeType,
28139    /// 激活时间
28140    pub ActiveTime: TThostFtdcTimeType,
28141    /// 挂起时间
28142    pub SuspendTime: TThostFtdcTimeType,
28143    /// 最后修改时间
28144    pub UpdateTime: TThostFtdcTimeType,
28145    /// 撤销时间
28146    pub CancelTime: TThostFtdcTimeType,
28147    /// 最后修改交易所交易员代码
28148    pub ActiveTraderID: TThostFtdcTraderIDType,
28149    /// 结算会员编号
28150    pub ClearingPartID: TThostFtdcParticipantIDType,
28151    /// 序号
28152    pub SequenceNo: TThostFtdcSequenceNoType,
28153    /// 前置编号
28154    pub FrontID: TThostFtdcFrontIDType,
28155    /// 会话编号
28156    pub SessionID: TThostFtdcSessionIDType,
28157    /// 用户端产品信息
28158    pub UserProductInfo: TThostFtdcProductInfoType,
28159    /// 状态信息
28160    pub StatusMsg: TThostFtdcErrorMsgType,
28161    /// 用户强评标志
28162    pub UserForceClose: TThostFtdcBoolType,
28163    /// 操作用户代码
28164    pub ActiveUserID: TThostFtdcUserIDType,
28165    /// 经纪公司报单编号
28166    pub BrokerOrderSeq: TThostFtdcSequenceNoType,
28167    /// 相关报单
28168    pub RelativeOrderSysID: TThostFtdcOrderSysIDType,
28169    /// 郑商所成交数量
28170    pub ZCETotalTradedVolume: TThostFtdcVolumeType,
28171    /// 错误代码
28172    pub ErrorID: TThostFtdcErrorIDType,
28173    /// 错误信息
28174    pub ErrorMsg: TThostFtdcErrorMsgType,
28175    /// 互换单标志
28176    pub IsSwapOrder: TThostFtdcBoolType,
28177    /// 营业部编号
28178    pub BranchID: TThostFtdcBranchIDType,
28179    /// 投资单元代码
28180    pub InvestUnitID: TThostFtdcInvestUnitIDType,
28181    /// 资金账号
28182    pub AccountID: TThostFtdcAccountIDType,
28183    /// 币种代码
28184    pub CurrencyID: TThostFtdcCurrencyIDType,
28185    /// IP地址
28186    pub IPAddress: TThostFtdcIPAddressType,
28187    /// Mac地址
28188    pub MacAddress: TThostFtdcMacAddressType,
28189}
28190#[test]
28191fn bindgen_test_layout_CThostFtdcErrorConditionalOrderField() {
28192    assert_eq!(::std::mem::size_of::<CThostFtdcErrorConditionalOrderField>() ,
28193               744usize , concat ! (
28194               "Size of: " , stringify ! (
28195               CThostFtdcErrorConditionalOrderField ) ));
28196    assert_eq! (::std::mem::align_of::<CThostFtdcErrorConditionalOrderField>()
28197                , 8usize , concat ! (
28198                "Alignment of " , stringify ! (
28199                CThostFtdcErrorConditionalOrderField ) ));
28200    assert_eq! (unsafe {
28201                & ( * ( 0 as * const CThostFtdcErrorConditionalOrderField ) )
28202                . BrokerID as * const _ as usize } , 0usize , concat ! (
28203                "Alignment of field: " , stringify ! (
28204                CThostFtdcErrorConditionalOrderField ) , "::" , stringify ! (
28205                BrokerID ) ));
28206    assert_eq! (unsafe {
28207                & ( * ( 0 as * const CThostFtdcErrorConditionalOrderField ) )
28208                . InvestorID as * const _ as usize } , 11usize , concat ! (
28209                "Alignment of field: " , stringify ! (
28210                CThostFtdcErrorConditionalOrderField ) , "::" , stringify ! (
28211                InvestorID ) ));
28212    assert_eq! (unsafe {
28213                & ( * ( 0 as * const CThostFtdcErrorConditionalOrderField ) )
28214                . InstrumentID as * const _ as usize } , 24usize , concat ! (
28215                "Alignment of field: " , stringify ! (
28216                CThostFtdcErrorConditionalOrderField ) , "::" , stringify ! (
28217                InstrumentID ) ));
28218    assert_eq! (unsafe {
28219                & ( * ( 0 as * const CThostFtdcErrorConditionalOrderField ) )
28220                . OrderRef as * const _ as usize } , 55usize , concat ! (
28221                "Alignment of field: " , stringify ! (
28222                CThostFtdcErrorConditionalOrderField ) , "::" , stringify ! (
28223                OrderRef ) ));
28224    assert_eq! (unsafe {
28225                & ( * ( 0 as * const CThostFtdcErrorConditionalOrderField ) )
28226                . UserID as * const _ as usize } , 68usize , concat ! (
28227                "Alignment of field: " , stringify ! (
28228                CThostFtdcErrorConditionalOrderField ) , "::" , stringify ! (
28229                UserID ) ));
28230    assert_eq! (unsafe {
28231                & ( * ( 0 as * const CThostFtdcErrorConditionalOrderField ) )
28232                . OrderPriceType as * const _ as usize } , 84usize , concat !
28233                (
28234                "Alignment of field: " , stringify ! (
28235                CThostFtdcErrorConditionalOrderField ) , "::" , stringify ! (
28236                OrderPriceType ) ));
28237    assert_eq! (unsafe {
28238                & ( * ( 0 as * const CThostFtdcErrorConditionalOrderField ) )
28239                . Direction as * const _ as usize } , 85usize , concat ! (
28240                "Alignment of field: " , stringify ! (
28241                CThostFtdcErrorConditionalOrderField ) , "::" , stringify ! (
28242                Direction ) ));
28243    assert_eq! (unsafe {
28244                & ( * ( 0 as * const CThostFtdcErrorConditionalOrderField ) )
28245                . CombOffsetFlag as * const _ as usize } , 86usize , concat !
28246                (
28247                "Alignment of field: " , stringify ! (
28248                CThostFtdcErrorConditionalOrderField ) , "::" , stringify ! (
28249                CombOffsetFlag ) ));
28250    assert_eq! (unsafe {
28251                & ( * ( 0 as * const CThostFtdcErrorConditionalOrderField ) )
28252                . CombHedgeFlag as * const _ as usize } , 91usize , concat ! (
28253                "Alignment of field: " , stringify ! (
28254                CThostFtdcErrorConditionalOrderField ) , "::" , stringify ! (
28255                CombHedgeFlag ) ));
28256    assert_eq! (unsafe {
28257                & ( * ( 0 as * const CThostFtdcErrorConditionalOrderField ) )
28258                . LimitPrice as * const _ as usize } , 96usize , concat ! (
28259                "Alignment of field: " , stringify ! (
28260                CThostFtdcErrorConditionalOrderField ) , "::" , stringify ! (
28261                LimitPrice ) ));
28262    assert_eq! (unsafe {
28263                & ( * ( 0 as * const CThostFtdcErrorConditionalOrderField ) )
28264                . VolumeTotalOriginal as * const _ as usize } , 104usize ,
28265                concat ! (
28266                "Alignment of field: " , stringify ! (
28267                CThostFtdcErrorConditionalOrderField ) , "::" , stringify ! (
28268                VolumeTotalOriginal ) ));
28269    assert_eq! (unsafe {
28270                & ( * ( 0 as * const CThostFtdcErrorConditionalOrderField ) )
28271                . TimeCondition as * const _ as usize } , 108usize , concat !
28272                (
28273                "Alignment of field: " , stringify ! (
28274                CThostFtdcErrorConditionalOrderField ) , "::" , stringify ! (
28275                TimeCondition ) ));
28276    assert_eq! (unsafe {
28277                & ( * ( 0 as * const CThostFtdcErrorConditionalOrderField ) )
28278                . GTDDate as * const _ as usize } , 109usize , concat ! (
28279                "Alignment of field: " , stringify ! (
28280                CThostFtdcErrorConditionalOrderField ) , "::" , stringify ! (
28281                GTDDate ) ));
28282    assert_eq! (unsafe {
28283                & ( * ( 0 as * const CThostFtdcErrorConditionalOrderField ) )
28284                . VolumeCondition as * const _ as usize } , 118usize , concat
28285                ! (
28286                "Alignment of field: " , stringify ! (
28287                CThostFtdcErrorConditionalOrderField ) , "::" , stringify ! (
28288                VolumeCondition ) ));
28289    assert_eq! (unsafe {
28290                & ( * ( 0 as * const CThostFtdcErrorConditionalOrderField ) )
28291                . MinVolume as * const _ as usize } , 120usize , concat ! (
28292                "Alignment of field: " , stringify ! (
28293                CThostFtdcErrorConditionalOrderField ) , "::" , stringify ! (
28294                MinVolume ) ));
28295    assert_eq! (unsafe {
28296                & ( * ( 0 as * const CThostFtdcErrorConditionalOrderField ) )
28297                . ContingentCondition as * const _ as usize } , 124usize ,
28298                concat ! (
28299                "Alignment of field: " , stringify ! (
28300                CThostFtdcErrorConditionalOrderField ) , "::" , stringify ! (
28301                ContingentCondition ) ));
28302    assert_eq! (unsafe {
28303                & ( * ( 0 as * const CThostFtdcErrorConditionalOrderField ) )
28304                . StopPrice as * const _ as usize } , 128usize , concat ! (
28305                "Alignment of field: " , stringify ! (
28306                CThostFtdcErrorConditionalOrderField ) , "::" , stringify ! (
28307                StopPrice ) ));
28308    assert_eq! (unsafe {
28309                & ( * ( 0 as * const CThostFtdcErrorConditionalOrderField ) )
28310                . ForceCloseReason as * const _ as usize } , 136usize , concat
28311                ! (
28312                "Alignment of field: " , stringify ! (
28313                CThostFtdcErrorConditionalOrderField ) , "::" , stringify ! (
28314                ForceCloseReason ) ));
28315    assert_eq! (unsafe {
28316                & ( * ( 0 as * const CThostFtdcErrorConditionalOrderField ) )
28317                . IsAutoSuspend as * const _ as usize } , 140usize , concat !
28318                (
28319                "Alignment of field: " , stringify ! (
28320                CThostFtdcErrorConditionalOrderField ) , "::" , stringify ! (
28321                IsAutoSuspend ) ));
28322    assert_eq! (unsafe {
28323                & ( * ( 0 as * const CThostFtdcErrorConditionalOrderField ) )
28324                . BusinessUnit as * const _ as usize } , 144usize , concat ! (
28325                "Alignment of field: " , stringify ! (
28326                CThostFtdcErrorConditionalOrderField ) , "::" , stringify ! (
28327                BusinessUnit ) ));
28328    assert_eq! (unsafe {
28329                & ( * ( 0 as * const CThostFtdcErrorConditionalOrderField ) )
28330                . RequestID as * const _ as usize } , 168usize , concat ! (
28331                "Alignment of field: " , stringify ! (
28332                CThostFtdcErrorConditionalOrderField ) , "::" , stringify ! (
28333                RequestID ) ));
28334    assert_eq! (unsafe {
28335                & ( * ( 0 as * const CThostFtdcErrorConditionalOrderField ) )
28336                . OrderLocalID as * const _ as usize } , 172usize , concat ! (
28337                "Alignment of field: " , stringify ! (
28338                CThostFtdcErrorConditionalOrderField ) , "::" , stringify ! (
28339                OrderLocalID ) ));
28340    assert_eq! (unsafe {
28341                & ( * ( 0 as * const CThostFtdcErrorConditionalOrderField ) )
28342                . ExchangeID as * const _ as usize } , 185usize , concat ! (
28343                "Alignment of field: " , stringify ! (
28344                CThostFtdcErrorConditionalOrderField ) , "::" , stringify ! (
28345                ExchangeID ) ));
28346    assert_eq! (unsafe {
28347                & ( * ( 0 as * const CThostFtdcErrorConditionalOrderField ) )
28348                . ParticipantID as * const _ as usize } , 194usize , concat !
28349                (
28350                "Alignment of field: " , stringify ! (
28351                CThostFtdcErrorConditionalOrderField ) , "::" , stringify ! (
28352                ParticipantID ) ));
28353    assert_eq! (unsafe {
28354                & ( * ( 0 as * const CThostFtdcErrorConditionalOrderField ) )
28355                . ClientID as * const _ as usize } , 205usize , concat ! (
28356                "Alignment of field: " , stringify ! (
28357                CThostFtdcErrorConditionalOrderField ) , "::" , stringify ! (
28358                ClientID ) ));
28359    assert_eq! (unsafe {
28360                & ( * ( 0 as * const CThostFtdcErrorConditionalOrderField ) )
28361                . ExchangeInstID as * const _ as usize } , 216usize , concat !
28362                (
28363                "Alignment of field: " , stringify ! (
28364                CThostFtdcErrorConditionalOrderField ) , "::" , stringify ! (
28365                ExchangeInstID ) ));
28366    assert_eq! (unsafe {
28367                & ( * ( 0 as * const CThostFtdcErrorConditionalOrderField ) )
28368                . TraderID as * const _ as usize } , 247usize , concat ! (
28369                "Alignment of field: " , stringify ! (
28370                CThostFtdcErrorConditionalOrderField ) , "::" , stringify ! (
28371                TraderID ) ));
28372    assert_eq! (unsafe {
28373                & ( * ( 0 as * const CThostFtdcErrorConditionalOrderField ) )
28374                . InstallID as * const _ as usize } , 268usize , concat ! (
28375                "Alignment of field: " , stringify ! (
28376                CThostFtdcErrorConditionalOrderField ) , "::" , stringify ! (
28377                InstallID ) ));
28378    assert_eq! (unsafe {
28379                & ( * ( 0 as * const CThostFtdcErrorConditionalOrderField ) )
28380                . OrderSubmitStatus as * const _ as usize } , 272usize ,
28381                concat ! (
28382                "Alignment of field: " , stringify ! (
28383                CThostFtdcErrorConditionalOrderField ) , "::" , stringify ! (
28384                OrderSubmitStatus ) ));
28385    assert_eq! (unsafe {
28386                & ( * ( 0 as * const CThostFtdcErrorConditionalOrderField ) )
28387                . NotifySequence as * const _ as usize } , 276usize , concat !
28388                (
28389                "Alignment of field: " , stringify ! (
28390                CThostFtdcErrorConditionalOrderField ) , "::" , stringify ! (
28391                NotifySequence ) ));
28392    assert_eq! (unsafe {
28393                & ( * ( 0 as * const CThostFtdcErrorConditionalOrderField ) )
28394                . TradingDay as * const _ as usize } , 280usize , concat ! (
28395                "Alignment of field: " , stringify ! (
28396                CThostFtdcErrorConditionalOrderField ) , "::" , stringify ! (
28397                TradingDay ) ));
28398    assert_eq! (unsafe {
28399                & ( * ( 0 as * const CThostFtdcErrorConditionalOrderField ) )
28400                . SettlementID as * const _ as usize } , 292usize , concat ! (
28401                "Alignment of field: " , stringify ! (
28402                CThostFtdcErrorConditionalOrderField ) , "::" , stringify ! (
28403                SettlementID ) ));
28404    assert_eq! (unsafe {
28405                & ( * ( 0 as * const CThostFtdcErrorConditionalOrderField ) )
28406                . OrderSysID as * const _ as usize } , 296usize , concat ! (
28407                "Alignment of field: " , stringify ! (
28408                CThostFtdcErrorConditionalOrderField ) , "::" , stringify ! (
28409                OrderSysID ) ));
28410    assert_eq! (unsafe {
28411                & ( * ( 0 as * const CThostFtdcErrorConditionalOrderField ) )
28412                . OrderSource as * const _ as usize } , 317usize , concat ! (
28413                "Alignment of field: " , stringify ! (
28414                CThostFtdcErrorConditionalOrderField ) , "::" , stringify ! (
28415                OrderSource ) ));
28416    assert_eq! (unsafe {
28417                & ( * ( 0 as * const CThostFtdcErrorConditionalOrderField ) )
28418                . OrderStatus as * const _ as usize } , 318usize , concat ! (
28419                "Alignment of field: " , stringify ! (
28420                CThostFtdcErrorConditionalOrderField ) , "::" , stringify ! (
28421                OrderStatus ) ));
28422    assert_eq! (unsafe {
28423                & ( * ( 0 as * const CThostFtdcErrorConditionalOrderField ) )
28424                . OrderType as * const _ as usize } , 319usize , concat ! (
28425                "Alignment of field: " , stringify ! (
28426                CThostFtdcErrorConditionalOrderField ) , "::" , stringify ! (
28427                OrderType ) ));
28428    assert_eq! (unsafe {
28429                & ( * ( 0 as * const CThostFtdcErrorConditionalOrderField ) )
28430                . VolumeTraded as * const _ as usize } , 320usize , concat ! (
28431                "Alignment of field: " , stringify ! (
28432                CThostFtdcErrorConditionalOrderField ) , "::" , stringify ! (
28433                VolumeTraded ) ));
28434    assert_eq! (unsafe {
28435                & ( * ( 0 as * const CThostFtdcErrorConditionalOrderField ) )
28436                . VolumeTotal as * const _ as usize } , 324usize , concat ! (
28437                "Alignment of field: " , stringify ! (
28438                CThostFtdcErrorConditionalOrderField ) , "::" , stringify ! (
28439                VolumeTotal ) ));
28440    assert_eq! (unsafe {
28441                & ( * ( 0 as * const CThostFtdcErrorConditionalOrderField ) )
28442                . InsertDate as * const _ as usize } , 328usize , concat ! (
28443                "Alignment of field: " , stringify ! (
28444                CThostFtdcErrorConditionalOrderField ) , "::" , stringify ! (
28445                InsertDate ) ));
28446    assert_eq! (unsafe {
28447                & ( * ( 0 as * const CThostFtdcErrorConditionalOrderField ) )
28448                . InsertTime as * const _ as usize } , 337usize , concat ! (
28449                "Alignment of field: " , stringify ! (
28450                CThostFtdcErrorConditionalOrderField ) , "::" , stringify ! (
28451                InsertTime ) ));
28452    assert_eq! (unsafe {
28453                & ( * ( 0 as * const CThostFtdcErrorConditionalOrderField ) )
28454                . ActiveTime as * const _ as usize } , 346usize , concat ! (
28455                "Alignment of field: " , stringify ! (
28456                CThostFtdcErrorConditionalOrderField ) , "::" , stringify ! (
28457                ActiveTime ) ));
28458    assert_eq! (unsafe {
28459                & ( * ( 0 as * const CThostFtdcErrorConditionalOrderField ) )
28460                . SuspendTime as * const _ as usize } , 355usize , concat ! (
28461                "Alignment of field: " , stringify ! (
28462                CThostFtdcErrorConditionalOrderField ) , "::" , stringify ! (
28463                SuspendTime ) ));
28464    assert_eq! (unsafe {
28465                & ( * ( 0 as * const CThostFtdcErrorConditionalOrderField ) )
28466                . UpdateTime as * const _ as usize } , 364usize , concat ! (
28467                "Alignment of field: " , stringify ! (
28468                CThostFtdcErrorConditionalOrderField ) , "::" , stringify ! (
28469                UpdateTime ) ));
28470    assert_eq! (unsafe {
28471                & ( * ( 0 as * const CThostFtdcErrorConditionalOrderField ) )
28472                . CancelTime as * const _ as usize } , 373usize , concat ! (
28473                "Alignment of field: " , stringify ! (
28474                CThostFtdcErrorConditionalOrderField ) , "::" , stringify ! (
28475                CancelTime ) ));
28476    assert_eq! (unsafe {
28477                & ( * ( 0 as * const CThostFtdcErrorConditionalOrderField ) )
28478                . ActiveTraderID as * const _ as usize } , 382usize , concat !
28479                (
28480                "Alignment of field: " , stringify ! (
28481                CThostFtdcErrorConditionalOrderField ) , "::" , stringify ! (
28482                ActiveTraderID ) ));
28483    assert_eq! (unsafe {
28484                & ( * ( 0 as * const CThostFtdcErrorConditionalOrderField ) )
28485                . ClearingPartID as * const _ as usize } , 403usize , concat !
28486                (
28487                "Alignment of field: " , stringify ! (
28488                CThostFtdcErrorConditionalOrderField ) , "::" , stringify ! (
28489                ClearingPartID ) ));
28490    assert_eq! (unsafe {
28491                & ( * ( 0 as * const CThostFtdcErrorConditionalOrderField ) )
28492                . SequenceNo as * const _ as usize } , 416usize , concat ! (
28493                "Alignment of field: " , stringify ! (
28494                CThostFtdcErrorConditionalOrderField ) , "::" , stringify ! (
28495                SequenceNo ) ));
28496    assert_eq! (unsafe {
28497                & ( * ( 0 as * const CThostFtdcErrorConditionalOrderField ) )
28498                . FrontID as * const _ as usize } , 420usize , concat ! (
28499                "Alignment of field: " , stringify ! (
28500                CThostFtdcErrorConditionalOrderField ) , "::" , stringify ! (
28501                FrontID ) ));
28502    assert_eq! (unsafe {
28503                & ( * ( 0 as * const CThostFtdcErrorConditionalOrderField ) )
28504                . SessionID as * const _ as usize } , 424usize , concat ! (
28505                "Alignment of field: " , stringify ! (
28506                CThostFtdcErrorConditionalOrderField ) , "::" , stringify ! (
28507                SessionID ) ));
28508    assert_eq! (unsafe {
28509                & ( * ( 0 as * const CThostFtdcErrorConditionalOrderField ) )
28510                . UserProductInfo as * const _ as usize } , 428usize , concat
28511                ! (
28512                "Alignment of field: " , stringify ! (
28513                CThostFtdcErrorConditionalOrderField ) , "::" , stringify ! (
28514                UserProductInfo ) ));
28515    assert_eq! (unsafe {
28516                & ( * ( 0 as * const CThostFtdcErrorConditionalOrderField ) )
28517                . StatusMsg as * const _ as usize } , 439usize , concat ! (
28518                "Alignment of field: " , stringify ! (
28519                CThostFtdcErrorConditionalOrderField ) , "::" , stringify ! (
28520                StatusMsg ) ));
28521    assert_eq! (unsafe {
28522                & ( * ( 0 as * const CThostFtdcErrorConditionalOrderField ) )
28523                . UserForceClose as * const _ as usize } , 520usize , concat !
28524                (
28525                "Alignment of field: " , stringify ! (
28526                CThostFtdcErrorConditionalOrderField ) , "::" , stringify ! (
28527                UserForceClose ) ));
28528    assert_eq! (unsafe {
28529                & ( * ( 0 as * const CThostFtdcErrorConditionalOrderField ) )
28530                . ActiveUserID as * const _ as usize } , 524usize , concat ! (
28531                "Alignment of field: " , stringify ! (
28532                CThostFtdcErrorConditionalOrderField ) , "::" , stringify ! (
28533                ActiveUserID ) ));
28534    assert_eq! (unsafe {
28535                & ( * ( 0 as * const CThostFtdcErrorConditionalOrderField ) )
28536                . BrokerOrderSeq as * const _ as usize } , 540usize , concat !
28537                (
28538                "Alignment of field: " , stringify ! (
28539                CThostFtdcErrorConditionalOrderField ) , "::" , stringify ! (
28540                BrokerOrderSeq ) ));
28541    assert_eq! (unsafe {
28542                & ( * ( 0 as * const CThostFtdcErrorConditionalOrderField ) )
28543                . RelativeOrderSysID as * const _ as usize } , 544usize ,
28544                concat ! (
28545                "Alignment of field: " , stringify ! (
28546                CThostFtdcErrorConditionalOrderField ) , "::" , stringify ! (
28547                RelativeOrderSysID ) ));
28548    assert_eq! (unsafe {
28549                & ( * ( 0 as * const CThostFtdcErrorConditionalOrderField ) )
28550                . ZCETotalTradedVolume as * const _ as usize } , 568usize ,
28551                concat ! (
28552                "Alignment of field: " , stringify ! (
28553                CThostFtdcErrorConditionalOrderField ) , "::" , stringify ! (
28554                ZCETotalTradedVolume ) ));
28555    assert_eq! (unsafe {
28556                & ( * ( 0 as * const CThostFtdcErrorConditionalOrderField ) )
28557                . ErrorID as * const _ as usize } , 572usize , concat ! (
28558                "Alignment of field: " , stringify ! (
28559                CThostFtdcErrorConditionalOrderField ) , "::" , stringify ! (
28560                ErrorID ) ));
28561    assert_eq! (unsafe {
28562                & ( * ( 0 as * const CThostFtdcErrorConditionalOrderField ) )
28563                . ErrorMsg as * const _ as usize } , 576usize , concat ! (
28564                "Alignment of field: " , stringify ! (
28565                CThostFtdcErrorConditionalOrderField ) , "::" , stringify ! (
28566                ErrorMsg ) ));
28567    assert_eq! (unsafe {
28568                & ( * ( 0 as * const CThostFtdcErrorConditionalOrderField ) )
28569                . IsSwapOrder as * const _ as usize } , 660usize , concat ! (
28570                "Alignment of field: " , stringify ! (
28571                CThostFtdcErrorConditionalOrderField ) , "::" , stringify ! (
28572                IsSwapOrder ) ));
28573    assert_eq! (unsafe {
28574                & ( * ( 0 as * const CThostFtdcErrorConditionalOrderField ) )
28575                . BranchID as * const _ as usize } , 664usize , concat ! (
28576                "Alignment of field: " , stringify ! (
28577                CThostFtdcErrorConditionalOrderField ) , "::" , stringify ! (
28578                BranchID ) ));
28579    assert_eq! (unsafe {
28580                & ( * ( 0 as * const CThostFtdcErrorConditionalOrderField ) )
28581                . InvestUnitID as * const _ as usize } , 673usize , concat ! (
28582                "Alignment of field: " , stringify ! (
28583                CThostFtdcErrorConditionalOrderField ) , "::" , stringify ! (
28584                InvestUnitID ) ));
28585    assert_eq! (unsafe {
28586                & ( * ( 0 as * const CThostFtdcErrorConditionalOrderField ) )
28587                . AccountID as * const _ as usize } , 690usize , concat ! (
28588                "Alignment of field: " , stringify ! (
28589                CThostFtdcErrorConditionalOrderField ) , "::" , stringify ! (
28590                AccountID ) ));
28591    assert_eq! (unsafe {
28592                & ( * ( 0 as * const CThostFtdcErrorConditionalOrderField ) )
28593                . CurrencyID as * const _ as usize } , 703usize , concat ! (
28594                "Alignment of field: " , stringify ! (
28595                CThostFtdcErrorConditionalOrderField ) , "::" , stringify ! (
28596                CurrencyID ) ));
28597    assert_eq! (unsafe {
28598                & ( * ( 0 as * const CThostFtdcErrorConditionalOrderField ) )
28599                . IPAddress as * const _ as usize } , 707usize , concat ! (
28600                "Alignment of field: " , stringify ! (
28601                CThostFtdcErrorConditionalOrderField ) , "::" , stringify ! (
28602                IPAddress ) ));
28603    assert_eq! (unsafe {
28604                & ( * ( 0 as * const CThostFtdcErrorConditionalOrderField ) )
28605                . MacAddress as * const _ as usize } , 723usize , concat ! (
28606                "Alignment of field: " , stringify ! (
28607                CThostFtdcErrorConditionalOrderField ) , "::" , stringify ! (
28608                MacAddress ) ));
28609}
28610impl Clone for CThostFtdcErrorConditionalOrderField {
28611    fn clone(&self) -> Self { *self }
28612}
28613impl Default for CThostFtdcErrorConditionalOrderField {
28614    fn default() -> Self { unsafe { ::std::mem::zeroed() } }
28615}
28616/// 查询错误报单操作
28617#[repr(C)]
28618#[derive(Default, Copy)]
28619pub struct CThostFtdcQryErrOrderActionField {
28620    /// 经纪公司代码
28621    pub BrokerID: TThostFtdcBrokerIDType,
28622    /// 投资者代码
28623    pub InvestorID: TThostFtdcInvestorIDType,
28624}
28625#[test]
28626fn bindgen_test_layout_CThostFtdcQryErrOrderActionField() {
28627    assert_eq!(::std::mem::size_of::<CThostFtdcQryErrOrderActionField>() ,
28628               24usize , concat ! (
28629               "Size of: " , stringify ! ( CThostFtdcQryErrOrderActionField )
28630               ));
28631    assert_eq! (::std::mem::align_of::<CThostFtdcQryErrOrderActionField>() ,
28632                1usize , concat ! (
28633                "Alignment of " , stringify ! (
28634                CThostFtdcQryErrOrderActionField ) ));
28635    assert_eq! (unsafe {
28636                & ( * ( 0 as * const CThostFtdcQryErrOrderActionField ) ) .
28637                BrokerID as * const _ as usize } , 0usize , concat ! (
28638                "Alignment of field: " , stringify ! (
28639                CThostFtdcQryErrOrderActionField ) , "::" , stringify ! (
28640                BrokerID ) ));
28641    assert_eq! (unsafe {
28642                & ( * ( 0 as * const CThostFtdcQryErrOrderActionField ) ) .
28643                InvestorID as * const _ as usize } , 11usize , concat ! (
28644                "Alignment of field: " , stringify ! (
28645                CThostFtdcQryErrOrderActionField ) , "::" , stringify ! (
28646                InvestorID ) ));
28647}
28648impl Clone for CThostFtdcQryErrOrderActionField {
28649    fn clone(&self) -> Self { *self }
28650}
28651/// 错误报单操作
28652#[repr(C)]
28653#[derive(Copy)]
28654pub struct CThostFtdcErrOrderActionField {
28655    /// 经纪公司代码
28656    pub BrokerID: TThostFtdcBrokerIDType,
28657    /// 投资者代码
28658    pub InvestorID: TThostFtdcInvestorIDType,
28659    /// 报单操作引用
28660    pub OrderActionRef: TThostFtdcOrderActionRefType,
28661    /// 报单引用
28662    pub OrderRef: TThostFtdcOrderRefType,
28663    /// 请求编号
28664    pub RequestID: TThostFtdcRequestIDType,
28665    /// 前置编号
28666    pub FrontID: TThostFtdcFrontIDType,
28667    /// 会话编号
28668    pub SessionID: TThostFtdcSessionIDType,
28669    /// 交易所代码
28670    pub ExchangeID: TThostFtdcExchangeIDType,
28671    /// 报单编号
28672    pub OrderSysID: TThostFtdcOrderSysIDType,
28673    /// 操作标志
28674    pub ActionFlag: TThostFtdcActionFlagType,
28675    /// 价格
28676    pub LimitPrice: TThostFtdcPriceType,
28677    /// 数量变化
28678    pub VolumeChange: TThostFtdcVolumeType,
28679    /// 操作日期
28680    pub ActionDate: TThostFtdcDateType,
28681    /// 操作时间
28682    pub ActionTime: TThostFtdcTimeType,
28683    /// 交易所交易员代码
28684    pub TraderID: TThostFtdcTraderIDType,
28685    /// 安装编号
28686    pub InstallID: TThostFtdcInstallIDType,
28687    /// 本地报单编号
28688    pub OrderLocalID: TThostFtdcOrderLocalIDType,
28689    /// 操作本地编号
28690    pub ActionLocalID: TThostFtdcOrderLocalIDType,
28691    /// 会员代码
28692    pub ParticipantID: TThostFtdcParticipantIDType,
28693    /// 客户代码
28694    pub ClientID: TThostFtdcClientIDType,
28695    /// 业务单元
28696    pub BusinessUnit: TThostFtdcBusinessUnitType,
28697    /// 报单操作状态
28698    pub OrderActionStatus: TThostFtdcOrderActionStatusType,
28699    /// 用户代码
28700    pub UserID: TThostFtdcUserIDType,
28701    /// 状态信息
28702    pub StatusMsg: TThostFtdcErrorMsgType,
28703    /// 合约代码
28704    pub InstrumentID: TThostFtdcInstrumentIDType,
28705    /// 营业部编号
28706    pub BranchID: TThostFtdcBranchIDType,
28707    /// 投资单元代码
28708    pub InvestUnitID: TThostFtdcInvestUnitIDType,
28709    /// IP地址
28710    pub IPAddress: TThostFtdcIPAddressType,
28711    /// Mac地址
28712    pub MacAddress: TThostFtdcMacAddressType,
28713    /// 错误代码
28714    pub ErrorID: TThostFtdcErrorIDType,
28715    /// 错误信息
28716    pub ErrorMsg: TThostFtdcErrorMsgType,
28717}
28718#[test]
28719fn bindgen_test_layout_CThostFtdcErrOrderActionField() {
28720    assert_eq!(::std::mem::size_of::<CThostFtdcErrOrderActionField>() ,
28721               496usize , concat ! (
28722               "Size of: " , stringify ! ( CThostFtdcErrOrderActionField ) ));
28723    assert_eq! (::std::mem::align_of::<CThostFtdcErrOrderActionField>() ,
28724                8usize , concat ! (
28725                "Alignment of " , stringify ! ( CThostFtdcErrOrderActionField
28726                ) ));
28727    assert_eq! (unsafe {
28728                & ( * ( 0 as * const CThostFtdcErrOrderActionField ) ) .
28729                BrokerID as * const _ as usize } , 0usize , concat ! (
28730                "Alignment of field: " , stringify ! (
28731                CThostFtdcErrOrderActionField ) , "::" , stringify ! (
28732                BrokerID ) ));
28733    assert_eq! (unsafe {
28734                & ( * ( 0 as * const CThostFtdcErrOrderActionField ) ) .
28735                InvestorID as * const _ as usize } , 11usize , concat ! (
28736                "Alignment of field: " , stringify ! (
28737                CThostFtdcErrOrderActionField ) , "::" , stringify ! (
28738                InvestorID ) ));
28739    assert_eq! (unsafe {
28740                & ( * ( 0 as * const CThostFtdcErrOrderActionField ) ) .
28741                OrderActionRef as * const _ as usize } , 24usize , concat ! (
28742                "Alignment of field: " , stringify ! (
28743                CThostFtdcErrOrderActionField ) , "::" , stringify ! (
28744                OrderActionRef ) ));
28745    assert_eq! (unsafe {
28746                & ( * ( 0 as * const CThostFtdcErrOrderActionField ) ) .
28747                OrderRef as * const _ as usize } , 28usize , concat ! (
28748                "Alignment of field: " , stringify ! (
28749                CThostFtdcErrOrderActionField ) , "::" , stringify ! (
28750                OrderRef ) ));
28751    assert_eq! (unsafe {
28752                & ( * ( 0 as * const CThostFtdcErrOrderActionField ) ) .
28753                RequestID as * const _ as usize } , 44usize , concat ! (
28754                "Alignment of field: " , stringify ! (
28755                CThostFtdcErrOrderActionField ) , "::" , stringify ! (
28756                RequestID ) ));
28757    assert_eq! (unsafe {
28758                & ( * ( 0 as * const CThostFtdcErrOrderActionField ) ) .
28759                FrontID as * const _ as usize } , 48usize , concat ! (
28760                "Alignment of field: " , stringify ! (
28761                CThostFtdcErrOrderActionField ) , "::" , stringify ! ( FrontID
28762                ) ));
28763    assert_eq! (unsafe {
28764                & ( * ( 0 as * const CThostFtdcErrOrderActionField ) ) .
28765                SessionID as * const _ as usize } , 52usize , concat ! (
28766                "Alignment of field: " , stringify ! (
28767                CThostFtdcErrOrderActionField ) , "::" , stringify ! (
28768                SessionID ) ));
28769    assert_eq! (unsafe {
28770                & ( * ( 0 as * const CThostFtdcErrOrderActionField ) ) .
28771                ExchangeID as * const _ as usize } , 56usize , concat ! (
28772                "Alignment of field: " , stringify ! (
28773                CThostFtdcErrOrderActionField ) , "::" , stringify ! (
28774                ExchangeID ) ));
28775    assert_eq! (unsafe {
28776                & ( * ( 0 as * const CThostFtdcErrOrderActionField ) ) .
28777                OrderSysID as * const _ as usize } , 65usize , concat ! (
28778                "Alignment of field: " , stringify ! (
28779                CThostFtdcErrOrderActionField ) , "::" , stringify ! (
28780                OrderSysID ) ));
28781    assert_eq! (unsafe {
28782                & ( * ( 0 as * const CThostFtdcErrOrderActionField ) ) .
28783                ActionFlag as * const _ as usize } , 86usize , concat ! (
28784                "Alignment of field: " , stringify ! (
28785                CThostFtdcErrOrderActionField ) , "::" , stringify ! (
28786                ActionFlag ) ));
28787    assert_eq! (unsafe {
28788                & ( * ( 0 as * const CThostFtdcErrOrderActionField ) ) .
28789                LimitPrice as * const _ as usize } , 88usize , concat ! (
28790                "Alignment of field: " , stringify ! (
28791                CThostFtdcErrOrderActionField ) , "::" , stringify ! (
28792                LimitPrice ) ));
28793    assert_eq! (unsafe {
28794                & ( * ( 0 as * const CThostFtdcErrOrderActionField ) ) .
28795                VolumeChange as * const _ as usize } , 96usize , concat ! (
28796                "Alignment of field: " , stringify ! (
28797                CThostFtdcErrOrderActionField ) , "::" , stringify ! (
28798                VolumeChange ) ));
28799    assert_eq! (unsafe {
28800                & ( * ( 0 as * const CThostFtdcErrOrderActionField ) ) .
28801                ActionDate as * const _ as usize } , 100usize , concat ! (
28802                "Alignment of field: " , stringify ! (
28803                CThostFtdcErrOrderActionField ) , "::" , stringify ! (
28804                ActionDate ) ));
28805    assert_eq! (unsafe {
28806                & ( * ( 0 as * const CThostFtdcErrOrderActionField ) ) .
28807                ActionTime as * const _ as usize } , 109usize , concat ! (
28808                "Alignment of field: " , stringify ! (
28809                CThostFtdcErrOrderActionField ) , "::" , stringify ! (
28810                ActionTime ) ));
28811    assert_eq! (unsafe {
28812                & ( * ( 0 as * const CThostFtdcErrOrderActionField ) ) .
28813                TraderID as * const _ as usize } , 118usize , concat ! (
28814                "Alignment of field: " , stringify ! (
28815                CThostFtdcErrOrderActionField ) , "::" , stringify ! (
28816                TraderID ) ));
28817    assert_eq! (unsafe {
28818                & ( * ( 0 as * const CThostFtdcErrOrderActionField ) ) .
28819                InstallID as * const _ as usize } , 140usize , concat ! (
28820                "Alignment of field: " , stringify ! (
28821                CThostFtdcErrOrderActionField ) , "::" , stringify ! (
28822                InstallID ) ));
28823    assert_eq! (unsafe {
28824                & ( * ( 0 as * const CThostFtdcErrOrderActionField ) ) .
28825                OrderLocalID as * const _ as usize } , 144usize , concat ! (
28826                "Alignment of field: " , stringify ! (
28827                CThostFtdcErrOrderActionField ) , "::" , stringify ! (
28828                OrderLocalID ) ));
28829    assert_eq! (unsafe {
28830                & ( * ( 0 as * const CThostFtdcErrOrderActionField ) ) .
28831                ActionLocalID as * const _ as usize } , 157usize , concat ! (
28832                "Alignment of field: " , stringify ! (
28833                CThostFtdcErrOrderActionField ) , "::" , stringify ! (
28834                ActionLocalID ) ));
28835    assert_eq! (unsafe {
28836                & ( * ( 0 as * const CThostFtdcErrOrderActionField ) ) .
28837                ParticipantID as * const _ as usize } , 170usize , concat ! (
28838                "Alignment of field: " , stringify ! (
28839                CThostFtdcErrOrderActionField ) , "::" , stringify ! (
28840                ParticipantID ) ));
28841    assert_eq! (unsafe {
28842                & ( * ( 0 as * const CThostFtdcErrOrderActionField ) ) .
28843                ClientID as * const _ as usize } , 181usize , concat ! (
28844                "Alignment of field: " , stringify ! (
28845                CThostFtdcErrOrderActionField ) , "::" , stringify ! (
28846                ClientID ) ));
28847    assert_eq! (unsafe {
28848                & ( * ( 0 as * const CThostFtdcErrOrderActionField ) ) .
28849                BusinessUnit as * const _ as usize } , 192usize , concat ! (
28850                "Alignment of field: " , stringify ! (
28851                CThostFtdcErrOrderActionField ) , "::" , stringify ! (
28852                BusinessUnit ) ));
28853    assert_eq! (unsafe {
28854                & ( * ( 0 as * const CThostFtdcErrOrderActionField ) ) .
28855                OrderActionStatus as * const _ as usize } , 213usize , concat
28856                ! (
28857                "Alignment of field: " , stringify ! (
28858                CThostFtdcErrOrderActionField ) , "::" , stringify ! (
28859                OrderActionStatus ) ));
28860    assert_eq! (unsafe {
28861                & ( * ( 0 as * const CThostFtdcErrOrderActionField ) ) .
28862                UserID as * const _ as usize } , 214usize , concat ! (
28863                "Alignment of field: " , stringify ! (
28864                CThostFtdcErrOrderActionField ) , "::" , stringify ! ( UserID
28865                ) ));
28866    assert_eq! (unsafe {
28867                & ( * ( 0 as * const CThostFtdcErrOrderActionField ) ) .
28868                StatusMsg as * const _ as usize } , 230usize , concat ! (
28869                "Alignment of field: " , stringify ! (
28870                CThostFtdcErrOrderActionField ) , "::" , stringify ! (
28871                StatusMsg ) ));
28872    assert_eq! (unsafe {
28873                & ( * ( 0 as * const CThostFtdcErrOrderActionField ) ) .
28874                InstrumentID as * const _ as usize } , 311usize , concat ! (
28875                "Alignment of field: " , stringify ! (
28876                CThostFtdcErrOrderActionField ) , "::" , stringify ! (
28877                InstrumentID ) ));
28878    assert_eq! (unsafe {
28879                & ( * ( 0 as * const CThostFtdcErrOrderActionField ) ) .
28880                BranchID as * const _ as usize } , 342usize , concat ! (
28881                "Alignment of field: " , stringify ! (
28882                CThostFtdcErrOrderActionField ) , "::" , stringify ! (
28883                BranchID ) ));
28884    assert_eq! (unsafe {
28885                & ( * ( 0 as * const CThostFtdcErrOrderActionField ) ) .
28886                InvestUnitID as * const _ as usize } , 351usize , concat ! (
28887                "Alignment of field: " , stringify ! (
28888                CThostFtdcErrOrderActionField ) , "::" , stringify ! (
28889                InvestUnitID ) ));
28890    assert_eq! (unsafe {
28891                & ( * ( 0 as * const CThostFtdcErrOrderActionField ) ) .
28892                IPAddress as * const _ as usize } , 368usize , concat ! (
28893                "Alignment of field: " , stringify ! (
28894                CThostFtdcErrOrderActionField ) , "::" , stringify ! (
28895                IPAddress ) ));
28896    assert_eq! (unsafe {
28897                & ( * ( 0 as * const CThostFtdcErrOrderActionField ) ) .
28898                MacAddress as * const _ as usize } , 384usize , concat ! (
28899                "Alignment of field: " , stringify ! (
28900                CThostFtdcErrOrderActionField ) , "::" , stringify ! (
28901                MacAddress ) ));
28902    assert_eq! (unsafe {
28903                & ( * ( 0 as * const CThostFtdcErrOrderActionField ) ) .
28904                ErrorID as * const _ as usize } , 408usize , concat ! (
28905                "Alignment of field: " , stringify ! (
28906                CThostFtdcErrOrderActionField ) , "::" , stringify ! ( ErrorID
28907                ) ));
28908    assert_eq! (unsafe {
28909                & ( * ( 0 as * const CThostFtdcErrOrderActionField ) ) .
28910                ErrorMsg as * const _ as usize } , 412usize , concat ! (
28911                "Alignment of field: " , stringify ! (
28912                CThostFtdcErrOrderActionField ) , "::" , stringify ! (
28913                ErrorMsg ) ));
28914}
28915impl Clone for CThostFtdcErrOrderActionField {
28916    fn clone(&self) -> Self { *self }
28917}
28918impl Default for CThostFtdcErrOrderActionField {
28919    fn default() -> Self { unsafe { ::std::mem::zeroed() } }
28920}
28921/// 查询交易所状态
28922#[repr(C)]
28923#[derive(Default, Copy)]
28924pub struct CThostFtdcQryExchangeSequenceField {
28925    /// 交易所代码
28926    pub ExchangeID: TThostFtdcExchangeIDType,
28927}
28928#[test]
28929fn bindgen_test_layout_CThostFtdcQryExchangeSequenceField() {
28930    assert_eq!(::std::mem::size_of::<CThostFtdcQryExchangeSequenceField>() ,
28931               9usize , concat ! (
28932               "Size of: " , stringify ! ( CThostFtdcQryExchangeSequenceField
28933               ) ));
28934    assert_eq! (::std::mem::align_of::<CThostFtdcQryExchangeSequenceField>() ,
28935                1usize , concat ! (
28936                "Alignment of " , stringify ! (
28937                CThostFtdcQryExchangeSequenceField ) ));
28938    assert_eq! (unsafe {
28939                & ( * ( 0 as * const CThostFtdcQryExchangeSequenceField ) ) .
28940                ExchangeID as * const _ as usize } , 0usize , concat ! (
28941                "Alignment of field: " , stringify ! (
28942                CThostFtdcQryExchangeSequenceField ) , "::" , stringify ! (
28943                ExchangeID ) ));
28944}
28945impl Clone for CThostFtdcQryExchangeSequenceField {
28946    fn clone(&self) -> Self { *self }
28947}
28948/// 交易所状态
28949#[repr(C)]
28950#[derive(Default, Copy)]
28951pub struct CThostFtdcExchangeSequenceField {
28952    /// 交易所代码
28953    pub ExchangeID: TThostFtdcExchangeIDType,
28954    /// 序号
28955    pub SequenceNo: TThostFtdcSequenceNoType,
28956    /// 合约交易状态
28957    pub MarketStatus: TThostFtdcInstrumentStatusType,
28958}
28959#[test]
28960fn bindgen_test_layout_CThostFtdcExchangeSequenceField() {
28961    assert_eq!(::std::mem::size_of::<CThostFtdcExchangeSequenceField>() ,
28962               20usize , concat ! (
28963               "Size of: " , stringify ! ( CThostFtdcExchangeSequenceField )
28964               ));
28965    assert_eq! (::std::mem::align_of::<CThostFtdcExchangeSequenceField>() ,
28966                4usize , concat ! (
28967                "Alignment of " , stringify ! (
28968                CThostFtdcExchangeSequenceField ) ));
28969    assert_eq! (unsafe {
28970                & ( * ( 0 as * const CThostFtdcExchangeSequenceField ) ) .
28971                ExchangeID as * const _ as usize } , 0usize , concat ! (
28972                "Alignment of field: " , stringify ! (
28973                CThostFtdcExchangeSequenceField ) , "::" , stringify ! (
28974                ExchangeID ) ));
28975    assert_eq! (unsafe {
28976                & ( * ( 0 as * const CThostFtdcExchangeSequenceField ) ) .
28977                SequenceNo as * const _ as usize } , 12usize , concat ! (
28978                "Alignment of field: " , stringify ! (
28979                CThostFtdcExchangeSequenceField ) , "::" , stringify ! (
28980                SequenceNo ) ));
28981    assert_eq! (unsafe {
28982                & ( * ( 0 as * const CThostFtdcExchangeSequenceField ) ) .
28983                MarketStatus as * const _ as usize } , 16usize , concat ! (
28984                "Alignment of field: " , stringify ! (
28985                CThostFtdcExchangeSequenceField ) , "::" , stringify ! (
28986                MarketStatus ) ));
28987}
28988impl Clone for CThostFtdcExchangeSequenceField {
28989    fn clone(&self) -> Self { *self }
28990}
28991/// 根据价格查询最大报单数量
28992#[repr(C)]
28993#[derive(Default, Copy)]
28994pub struct CThostFtdcQueryMaxOrderVolumeWithPriceField {
28995    /// 经纪公司代码
28996    pub BrokerID: TThostFtdcBrokerIDType,
28997    /// 投资者代码
28998    pub InvestorID: TThostFtdcInvestorIDType,
28999    /// 合约代码
29000    pub InstrumentID: TThostFtdcInstrumentIDType,
29001    /// 买卖方向
29002    pub Direction: TThostFtdcDirectionType,
29003    /// 开平标志
29004    pub OffsetFlag: TThostFtdcOffsetFlagType,
29005    /// 投机套保标志
29006    pub HedgeFlag: TThostFtdcHedgeFlagType,
29007    /// 最大允许报单数量
29008    pub MaxVolume: TThostFtdcVolumeType,
29009    /// 报单价格
29010    pub Price: TThostFtdcPriceType,
29011    /// 交易所代码
29012    pub ExchangeID: TThostFtdcExchangeIDType,
29013    /// 投资单元代码
29014    pub InvestUnitID: TThostFtdcInvestUnitIDType,
29015}
29016#[test]
29017fn bindgen_test_layout_CThostFtdcQueryMaxOrderVolumeWithPriceField() {
29018    assert_eq!(::std::mem::size_of::<CThostFtdcQueryMaxOrderVolumeWithPriceField>()
29019               , 104usize , concat ! (
29020               "Size of: " , stringify ! (
29021               CThostFtdcQueryMaxOrderVolumeWithPriceField ) ));
29022    assert_eq! (::std::mem::align_of::<CThostFtdcQueryMaxOrderVolumeWithPriceField>()
29023                , 8usize , concat ! (
29024                "Alignment of " , stringify ! (
29025                CThostFtdcQueryMaxOrderVolumeWithPriceField ) ));
29026    assert_eq! (unsafe {
29027                & (
29028                * ( 0 as * const CThostFtdcQueryMaxOrderVolumeWithPriceField )
29029                ) . BrokerID as * const _ as usize } , 0usize , concat ! (
29030                "Alignment of field: " , stringify ! (
29031                CThostFtdcQueryMaxOrderVolumeWithPriceField ) , "::" ,
29032                stringify ! ( BrokerID ) ));
29033    assert_eq! (unsafe {
29034                & (
29035                * ( 0 as * const CThostFtdcQueryMaxOrderVolumeWithPriceField )
29036                ) . InvestorID as * const _ as usize } , 11usize , concat ! (
29037                "Alignment of field: " , stringify ! (
29038                CThostFtdcQueryMaxOrderVolumeWithPriceField ) , "::" ,
29039                stringify ! ( InvestorID ) ));
29040    assert_eq! (unsafe {
29041                & (
29042                * ( 0 as * const CThostFtdcQueryMaxOrderVolumeWithPriceField )
29043                ) . InstrumentID as * const _ as usize } , 24usize , concat !
29044                (
29045                "Alignment of field: " , stringify ! (
29046                CThostFtdcQueryMaxOrderVolumeWithPriceField ) , "::" ,
29047                stringify ! ( InstrumentID ) ));
29048    assert_eq! (unsafe {
29049                & (
29050                * ( 0 as * const CThostFtdcQueryMaxOrderVolumeWithPriceField )
29051                ) . Direction as * const _ as usize } , 55usize , concat ! (
29052                "Alignment of field: " , stringify ! (
29053                CThostFtdcQueryMaxOrderVolumeWithPriceField ) , "::" ,
29054                stringify ! ( Direction ) ));
29055    assert_eq! (unsafe {
29056                & (
29057                * ( 0 as * const CThostFtdcQueryMaxOrderVolumeWithPriceField )
29058                ) . OffsetFlag as * const _ as usize } , 56usize , concat ! (
29059                "Alignment of field: " , stringify ! (
29060                CThostFtdcQueryMaxOrderVolumeWithPriceField ) , "::" ,
29061                stringify ! ( OffsetFlag ) ));
29062    assert_eq! (unsafe {
29063                & (
29064                * ( 0 as * const CThostFtdcQueryMaxOrderVolumeWithPriceField )
29065                ) . HedgeFlag as * const _ as usize } , 57usize , concat ! (
29066                "Alignment of field: " , stringify ! (
29067                CThostFtdcQueryMaxOrderVolumeWithPriceField ) , "::" ,
29068                stringify ! ( HedgeFlag ) ));
29069    assert_eq! (unsafe {
29070                & (
29071                * ( 0 as * const CThostFtdcQueryMaxOrderVolumeWithPriceField )
29072                ) . MaxVolume as * const _ as usize } , 60usize , concat ! (
29073                "Alignment of field: " , stringify ! (
29074                CThostFtdcQueryMaxOrderVolumeWithPriceField ) , "::" ,
29075                stringify ! ( MaxVolume ) ));
29076    assert_eq! (unsafe {
29077                & (
29078                * ( 0 as * const CThostFtdcQueryMaxOrderVolumeWithPriceField )
29079                ) . Price as * const _ as usize } , 64usize , concat ! (
29080                "Alignment of field: " , stringify ! (
29081                CThostFtdcQueryMaxOrderVolumeWithPriceField ) , "::" ,
29082                stringify ! ( Price ) ));
29083    assert_eq! (unsafe {
29084                & (
29085                * ( 0 as * const CThostFtdcQueryMaxOrderVolumeWithPriceField )
29086                ) . ExchangeID as * const _ as usize } , 72usize , concat ! (
29087                "Alignment of field: " , stringify ! (
29088                CThostFtdcQueryMaxOrderVolumeWithPriceField ) , "::" ,
29089                stringify ! ( ExchangeID ) ));
29090    assert_eq! (unsafe {
29091                & (
29092                * ( 0 as * const CThostFtdcQueryMaxOrderVolumeWithPriceField )
29093                ) . InvestUnitID as * const _ as usize } , 81usize , concat !
29094                (
29095                "Alignment of field: " , stringify ! (
29096                CThostFtdcQueryMaxOrderVolumeWithPriceField ) , "::" ,
29097                stringify ! ( InvestUnitID ) ));
29098}
29099impl Clone for CThostFtdcQueryMaxOrderVolumeWithPriceField {
29100    fn clone(&self) -> Self { *self }
29101}
29102/// 查询经纪公司交易参数
29103#[repr(C)]
29104#[derive(Default, Copy)]
29105pub struct CThostFtdcQryBrokerTradingParamsField {
29106    /// 经纪公司代码
29107    pub BrokerID: TThostFtdcBrokerIDType,
29108    /// 投资者代码
29109    pub InvestorID: TThostFtdcInvestorIDType,
29110    /// 币种代码
29111    pub CurrencyID: TThostFtdcCurrencyIDType,
29112    /// 投资者帐号
29113    pub AccountID: TThostFtdcAccountIDType,
29114}
29115#[test]
29116fn bindgen_test_layout_CThostFtdcQryBrokerTradingParamsField() {
29117    assert_eq!(::std::mem::size_of::<CThostFtdcQryBrokerTradingParamsField>()
29118               , 41usize , concat ! (
29119               "Size of: " , stringify ! (
29120               CThostFtdcQryBrokerTradingParamsField ) ));
29121    assert_eq! (::std::mem::align_of::<CThostFtdcQryBrokerTradingParamsField>()
29122                , 1usize , concat ! (
29123                "Alignment of " , stringify ! (
29124                CThostFtdcQryBrokerTradingParamsField ) ));
29125    assert_eq! (unsafe {
29126                & ( * ( 0 as * const CThostFtdcQryBrokerTradingParamsField ) )
29127                . BrokerID as * const _ as usize } , 0usize , concat ! (
29128                "Alignment of field: " , stringify ! (
29129                CThostFtdcQryBrokerTradingParamsField ) , "::" , stringify ! (
29130                BrokerID ) ));
29131    assert_eq! (unsafe {
29132                & ( * ( 0 as * const CThostFtdcQryBrokerTradingParamsField ) )
29133                . InvestorID as * const _ as usize } , 11usize , concat ! (
29134                "Alignment of field: " , stringify ! (
29135                CThostFtdcQryBrokerTradingParamsField ) , "::" , stringify ! (
29136                InvestorID ) ));
29137    assert_eq! (unsafe {
29138                & ( * ( 0 as * const CThostFtdcQryBrokerTradingParamsField ) )
29139                . CurrencyID as * const _ as usize } , 24usize , concat ! (
29140                "Alignment of field: " , stringify ! (
29141                CThostFtdcQryBrokerTradingParamsField ) , "::" , stringify ! (
29142                CurrencyID ) ));
29143    assert_eq! (unsafe {
29144                & ( * ( 0 as * const CThostFtdcQryBrokerTradingParamsField ) )
29145                . AccountID as * const _ as usize } , 28usize , concat ! (
29146                "Alignment of field: " , stringify ! (
29147                CThostFtdcQryBrokerTradingParamsField ) , "::" , stringify ! (
29148                AccountID ) ));
29149}
29150impl Clone for CThostFtdcQryBrokerTradingParamsField {
29151    fn clone(&self) -> Self { *self }
29152}
29153/// 经纪公司交易参数
29154#[repr(C)]
29155#[derive(Default, Copy)]
29156pub struct CThostFtdcBrokerTradingParamsField {
29157    /// 经纪公司代码
29158    pub BrokerID: TThostFtdcBrokerIDType,
29159    /// 投资者代码
29160    pub InvestorID: TThostFtdcInvestorIDType,
29161    /// 保证金价格类型
29162    pub MarginPriceType: TThostFtdcMarginPriceTypeType,
29163    /// 盈亏算法
29164    pub Algorithm: TThostFtdcAlgorithmType,
29165    /// 可用是否包含平仓盈利
29166    pub AvailIncludeCloseProfit: TThostFtdcIncludeCloseProfitType,
29167    /// 币种代码
29168    pub CurrencyID: TThostFtdcCurrencyIDType,
29169    /// 期权权利金价格类型
29170    pub OptionRoyaltyPriceType: TThostFtdcOptionRoyaltyPriceTypeType,
29171    /// 投资者帐号
29172    pub AccountID: TThostFtdcAccountIDType,
29173}
29174#[test]
29175fn bindgen_test_layout_CThostFtdcBrokerTradingParamsField() {
29176    assert_eq!(::std::mem::size_of::<CThostFtdcBrokerTradingParamsField>() ,
29177               45usize , concat ! (
29178               "Size of: " , stringify ! ( CThostFtdcBrokerTradingParamsField
29179               ) ));
29180    assert_eq! (::std::mem::align_of::<CThostFtdcBrokerTradingParamsField>() ,
29181                1usize , concat ! (
29182                "Alignment of " , stringify ! (
29183                CThostFtdcBrokerTradingParamsField ) ));
29184    assert_eq! (unsafe {
29185                & ( * ( 0 as * const CThostFtdcBrokerTradingParamsField ) ) .
29186                BrokerID as * const _ as usize } , 0usize , concat ! (
29187                "Alignment of field: " , stringify ! (
29188                CThostFtdcBrokerTradingParamsField ) , "::" , stringify ! (
29189                BrokerID ) ));
29190    assert_eq! (unsafe {
29191                & ( * ( 0 as * const CThostFtdcBrokerTradingParamsField ) ) .
29192                InvestorID as * const _ as usize } , 11usize , concat ! (
29193                "Alignment of field: " , stringify ! (
29194                CThostFtdcBrokerTradingParamsField ) , "::" , stringify ! (
29195                InvestorID ) ));
29196    assert_eq! (unsafe {
29197                & ( * ( 0 as * const CThostFtdcBrokerTradingParamsField ) ) .
29198                MarginPriceType as * const _ as usize } , 24usize , concat ! (
29199                "Alignment of field: " , stringify ! (
29200                CThostFtdcBrokerTradingParamsField ) , "::" , stringify ! (
29201                MarginPriceType ) ));
29202    assert_eq! (unsafe {
29203                & ( * ( 0 as * const CThostFtdcBrokerTradingParamsField ) ) .
29204                Algorithm as * const _ as usize } , 25usize , concat ! (
29205                "Alignment of field: " , stringify ! (
29206                CThostFtdcBrokerTradingParamsField ) , "::" , stringify ! (
29207                Algorithm ) ));
29208    assert_eq! (unsafe {
29209                & ( * ( 0 as * const CThostFtdcBrokerTradingParamsField ) ) .
29210                AvailIncludeCloseProfit as * const _ as usize } , 26usize ,
29211                concat ! (
29212                "Alignment of field: " , stringify ! (
29213                CThostFtdcBrokerTradingParamsField ) , "::" , stringify ! (
29214                AvailIncludeCloseProfit ) ));
29215    assert_eq! (unsafe {
29216                & ( * ( 0 as * const CThostFtdcBrokerTradingParamsField ) ) .
29217                CurrencyID as * const _ as usize } , 27usize , concat ! (
29218                "Alignment of field: " , stringify ! (
29219                CThostFtdcBrokerTradingParamsField ) , "::" , stringify ! (
29220                CurrencyID ) ));
29221    assert_eq! (unsafe {
29222                & ( * ( 0 as * const CThostFtdcBrokerTradingParamsField ) ) .
29223                OptionRoyaltyPriceType as * const _ as usize } , 31usize ,
29224                concat ! (
29225                "Alignment of field: " , stringify ! (
29226                CThostFtdcBrokerTradingParamsField ) , "::" , stringify ! (
29227                OptionRoyaltyPriceType ) ));
29228    assert_eq! (unsafe {
29229                & ( * ( 0 as * const CThostFtdcBrokerTradingParamsField ) ) .
29230                AccountID as * const _ as usize } , 32usize , concat ! (
29231                "Alignment of field: " , stringify ! (
29232                CThostFtdcBrokerTradingParamsField ) , "::" , stringify ! (
29233                AccountID ) ));
29234}
29235impl Clone for CThostFtdcBrokerTradingParamsField {
29236    fn clone(&self) -> Self { *self }
29237}
29238/// 查询经纪公司交易算法
29239#[repr(C)]
29240#[derive(Default, Copy)]
29241pub struct CThostFtdcQryBrokerTradingAlgosField {
29242    /// 经纪公司代码
29243    pub BrokerID: TThostFtdcBrokerIDType,
29244    /// 交易所代码
29245    pub ExchangeID: TThostFtdcExchangeIDType,
29246    /// 合约代码
29247    pub InstrumentID: TThostFtdcInstrumentIDType,
29248}
29249#[test]
29250fn bindgen_test_layout_CThostFtdcQryBrokerTradingAlgosField() {
29251    assert_eq!(::std::mem::size_of::<CThostFtdcQryBrokerTradingAlgosField>() ,
29252               51usize , concat ! (
29253               "Size of: " , stringify ! (
29254               CThostFtdcQryBrokerTradingAlgosField ) ));
29255    assert_eq! (::std::mem::align_of::<CThostFtdcQryBrokerTradingAlgosField>()
29256                , 1usize , concat ! (
29257                "Alignment of " , stringify ! (
29258                CThostFtdcQryBrokerTradingAlgosField ) ));
29259    assert_eq! (unsafe {
29260                & ( * ( 0 as * const CThostFtdcQryBrokerTradingAlgosField ) )
29261                . BrokerID as * const _ as usize } , 0usize , concat ! (
29262                "Alignment of field: " , stringify ! (
29263                CThostFtdcQryBrokerTradingAlgosField ) , "::" , stringify ! (
29264                BrokerID ) ));
29265    assert_eq! (unsafe {
29266                & ( * ( 0 as * const CThostFtdcQryBrokerTradingAlgosField ) )
29267                . ExchangeID as * const _ as usize } , 11usize , concat ! (
29268                "Alignment of field: " , stringify ! (
29269                CThostFtdcQryBrokerTradingAlgosField ) , "::" , stringify ! (
29270                ExchangeID ) ));
29271    assert_eq! (unsafe {
29272                & ( * ( 0 as * const CThostFtdcQryBrokerTradingAlgosField ) )
29273                . InstrumentID as * const _ as usize } , 20usize , concat ! (
29274                "Alignment of field: " , stringify ! (
29275                CThostFtdcQryBrokerTradingAlgosField ) , "::" , stringify ! (
29276                InstrumentID ) ));
29277}
29278impl Clone for CThostFtdcQryBrokerTradingAlgosField {
29279    fn clone(&self) -> Self { *self }
29280}
29281/// 经纪公司交易算法
29282#[repr(C)]
29283#[derive(Default, Copy)]
29284pub struct CThostFtdcBrokerTradingAlgosField {
29285    /// 经纪公司代码
29286    pub BrokerID: TThostFtdcBrokerIDType,
29287    /// 交易所代码
29288    pub ExchangeID: TThostFtdcExchangeIDType,
29289    /// 合约代码
29290    pub InstrumentID: TThostFtdcInstrumentIDType,
29291    /// 持仓处理算法编号
29292    pub HandlePositionAlgoID: TThostFtdcHandlePositionAlgoIDType,
29293    /// 寻找保证金率算法编号
29294    pub FindMarginRateAlgoID: TThostFtdcFindMarginRateAlgoIDType,
29295    /// 资金处理算法编号
29296    pub HandleTradingAccountAlgoID: TThostFtdcHandleTradingAccountAlgoIDType,
29297}
29298#[test]
29299fn bindgen_test_layout_CThostFtdcBrokerTradingAlgosField() {
29300    assert_eq!(::std::mem::size_of::<CThostFtdcBrokerTradingAlgosField>() ,
29301               54usize , concat ! (
29302               "Size of: " , stringify ! ( CThostFtdcBrokerTradingAlgosField )
29303               ));
29304    assert_eq! (::std::mem::align_of::<CThostFtdcBrokerTradingAlgosField>() ,
29305                1usize , concat ! (
29306                "Alignment of " , stringify ! (
29307                CThostFtdcBrokerTradingAlgosField ) ));
29308    assert_eq! (unsafe {
29309                & ( * ( 0 as * const CThostFtdcBrokerTradingAlgosField ) ) .
29310                BrokerID as * const _ as usize } , 0usize , concat ! (
29311                "Alignment of field: " , stringify ! (
29312                CThostFtdcBrokerTradingAlgosField ) , "::" , stringify ! (
29313                BrokerID ) ));
29314    assert_eq! (unsafe {
29315                & ( * ( 0 as * const CThostFtdcBrokerTradingAlgosField ) ) .
29316                ExchangeID as * const _ as usize } , 11usize , concat ! (
29317                "Alignment of field: " , stringify ! (
29318                CThostFtdcBrokerTradingAlgosField ) , "::" , stringify ! (
29319                ExchangeID ) ));
29320    assert_eq! (unsafe {
29321                & ( * ( 0 as * const CThostFtdcBrokerTradingAlgosField ) ) .
29322                InstrumentID as * const _ as usize } , 20usize , concat ! (
29323                "Alignment of field: " , stringify ! (
29324                CThostFtdcBrokerTradingAlgosField ) , "::" , stringify ! (
29325                InstrumentID ) ));
29326    assert_eq! (unsafe {
29327                & ( * ( 0 as * const CThostFtdcBrokerTradingAlgosField ) ) .
29328                HandlePositionAlgoID as * const _ as usize } , 51usize ,
29329                concat ! (
29330                "Alignment of field: " , stringify ! (
29331                CThostFtdcBrokerTradingAlgosField ) , "::" , stringify ! (
29332                HandlePositionAlgoID ) ));
29333    assert_eq! (unsafe {
29334                & ( * ( 0 as * const CThostFtdcBrokerTradingAlgosField ) ) .
29335                FindMarginRateAlgoID as * const _ as usize } , 52usize ,
29336                concat ! (
29337                "Alignment of field: " , stringify ! (
29338                CThostFtdcBrokerTradingAlgosField ) , "::" , stringify ! (
29339                FindMarginRateAlgoID ) ));
29340    assert_eq! (unsafe {
29341                & ( * ( 0 as * const CThostFtdcBrokerTradingAlgosField ) ) .
29342                HandleTradingAccountAlgoID as * const _ as usize } , 53usize ,
29343                concat ! (
29344                "Alignment of field: " , stringify ! (
29345                CThostFtdcBrokerTradingAlgosField ) , "::" , stringify ! (
29346                HandleTradingAccountAlgoID ) ));
29347}
29348impl Clone for CThostFtdcBrokerTradingAlgosField {
29349    fn clone(&self) -> Self { *self }
29350}
29351/// 查询经纪公司资金
29352#[repr(C)]
29353#[derive(Default, Copy)]
29354pub struct CThostFtdcQueryBrokerDepositField {
29355    /// 经纪公司代码
29356    pub BrokerID: TThostFtdcBrokerIDType,
29357    /// 交易所代码
29358    pub ExchangeID: TThostFtdcExchangeIDType,
29359}
29360#[test]
29361fn bindgen_test_layout_CThostFtdcQueryBrokerDepositField() {
29362    assert_eq!(::std::mem::size_of::<CThostFtdcQueryBrokerDepositField>() ,
29363               20usize , concat ! (
29364               "Size of: " , stringify ! ( CThostFtdcQueryBrokerDepositField )
29365               ));
29366    assert_eq! (::std::mem::align_of::<CThostFtdcQueryBrokerDepositField>() ,
29367                1usize , concat ! (
29368                "Alignment of " , stringify ! (
29369                CThostFtdcQueryBrokerDepositField ) ));
29370    assert_eq! (unsafe {
29371                & ( * ( 0 as * const CThostFtdcQueryBrokerDepositField ) ) .
29372                BrokerID as * const _ as usize } , 0usize , concat ! (
29373                "Alignment of field: " , stringify ! (
29374                CThostFtdcQueryBrokerDepositField ) , "::" , stringify ! (
29375                BrokerID ) ));
29376    assert_eq! (unsafe {
29377                & ( * ( 0 as * const CThostFtdcQueryBrokerDepositField ) ) .
29378                ExchangeID as * const _ as usize } , 11usize , concat ! (
29379                "Alignment of field: " , stringify ! (
29380                CThostFtdcQueryBrokerDepositField ) , "::" , stringify ! (
29381                ExchangeID ) ));
29382}
29383impl Clone for CThostFtdcQueryBrokerDepositField {
29384    fn clone(&self) -> Self { *self }
29385}
29386/// 经纪公司资金
29387#[repr(C)]
29388#[derive(Default, Copy)]
29389pub struct CThostFtdcBrokerDepositField {
29390    /// 交易日期
29391    pub TradingDay: TThostFtdcTradeDateType,
29392    /// 经纪公司代码
29393    pub BrokerID: TThostFtdcBrokerIDType,
29394    /// 会员代码
29395    pub ParticipantID: TThostFtdcParticipantIDType,
29396    /// 交易所代码
29397    pub ExchangeID: TThostFtdcExchangeIDType,
29398    /// 上次结算准备金
29399    pub PreBalance: TThostFtdcMoneyType,
29400    /// 当前保证金总额
29401    pub CurrMargin: TThostFtdcMoneyType,
29402    /// 平仓盈亏
29403    pub CloseProfit: TThostFtdcMoneyType,
29404    /// 期货结算准备金
29405    pub Balance: TThostFtdcMoneyType,
29406    /// 入金金额
29407    pub Deposit: TThostFtdcMoneyType,
29408    /// 出金金额
29409    pub Withdraw: TThostFtdcMoneyType,
29410    /// 可提资金
29411    pub Available: TThostFtdcMoneyType,
29412    /// 基本准备金
29413    pub Reserve: TThostFtdcMoneyType,
29414    /// 冻结的保证金
29415    pub FrozenMargin: TThostFtdcMoneyType,
29416}
29417#[test]
29418fn bindgen_test_layout_CThostFtdcBrokerDepositField() {
29419    assert_eq!(::std::mem::size_of::<CThostFtdcBrokerDepositField>() ,
29420               112usize , concat ! (
29421               "Size of: " , stringify ! ( CThostFtdcBrokerDepositField ) ));
29422    assert_eq! (::std::mem::align_of::<CThostFtdcBrokerDepositField>() ,
29423                8usize , concat ! (
29424                "Alignment of " , stringify ! ( CThostFtdcBrokerDepositField )
29425                ));
29426    assert_eq! (unsafe {
29427                & ( * ( 0 as * const CThostFtdcBrokerDepositField ) ) .
29428                TradingDay as * const _ as usize } , 0usize , concat ! (
29429                "Alignment of field: " , stringify ! (
29430                CThostFtdcBrokerDepositField ) , "::" , stringify ! (
29431                TradingDay ) ));
29432    assert_eq! (unsafe {
29433                & ( * ( 0 as * const CThostFtdcBrokerDepositField ) ) .
29434                BrokerID as * const _ as usize } , 9usize , concat ! (
29435                "Alignment of field: " , stringify ! (
29436                CThostFtdcBrokerDepositField ) , "::" , stringify ! ( BrokerID
29437                ) ));
29438    assert_eq! (unsafe {
29439                & ( * ( 0 as * const CThostFtdcBrokerDepositField ) ) .
29440                ParticipantID as * const _ as usize } , 20usize , concat ! (
29441                "Alignment of field: " , stringify ! (
29442                CThostFtdcBrokerDepositField ) , "::" , stringify ! (
29443                ParticipantID ) ));
29444    assert_eq! (unsafe {
29445                & ( * ( 0 as * const CThostFtdcBrokerDepositField ) ) .
29446                ExchangeID as * const _ as usize } , 31usize , concat ! (
29447                "Alignment of field: " , stringify ! (
29448                CThostFtdcBrokerDepositField ) , "::" , stringify ! (
29449                ExchangeID ) ));
29450    assert_eq! (unsafe {
29451                & ( * ( 0 as * const CThostFtdcBrokerDepositField ) ) .
29452                PreBalance as * const _ as usize } , 40usize , concat ! (
29453                "Alignment of field: " , stringify ! (
29454                CThostFtdcBrokerDepositField ) , "::" , stringify ! (
29455                PreBalance ) ));
29456    assert_eq! (unsafe {
29457                & ( * ( 0 as * const CThostFtdcBrokerDepositField ) ) .
29458                CurrMargin as * const _ as usize } , 48usize , concat ! (
29459                "Alignment of field: " , stringify ! (
29460                CThostFtdcBrokerDepositField ) , "::" , stringify ! (
29461                CurrMargin ) ));
29462    assert_eq! (unsafe {
29463                & ( * ( 0 as * const CThostFtdcBrokerDepositField ) ) .
29464                CloseProfit as * const _ as usize } , 56usize , concat ! (
29465                "Alignment of field: " , stringify ! (
29466                CThostFtdcBrokerDepositField ) , "::" , stringify ! (
29467                CloseProfit ) ));
29468    assert_eq! (unsafe {
29469                & ( * ( 0 as * const CThostFtdcBrokerDepositField ) ) .
29470                Balance as * const _ as usize } , 64usize , concat ! (
29471                "Alignment of field: " , stringify ! (
29472                CThostFtdcBrokerDepositField ) , "::" , stringify ! ( Balance
29473                ) ));
29474    assert_eq! (unsafe {
29475                & ( * ( 0 as * const CThostFtdcBrokerDepositField ) ) .
29476                Deposit as * const _ as usize } , 72usize , concat ! (
29477                "Alignment of field: " , stringify ! (
29478                CThostFtdcBrokerDepositField ) , "::" , stringify ! ( Deposit
29479                ) ));
29480    assert_eq! (unsafe {
29481                & ( * ( 0 as * const CThostFtdcBrokerDepositField ) ) .
29482                Withdraw as * const _ as usize } , 80usize , concat ! (
29483                "Alignment of field: " , stringify ! (
29484                CThostFtdcBrokerDepositField ) , "::" , stringify ! ( Withdraw
29485                ) ));
29486    assert_eq! (unsafe {
29487                & ( * ( 0 as * const CThostFtdcBrokerDepositField ) ) .
29488                Available as * const _ as usize } , 88usize , concat ! (
29489                "Alignment of field: " , stringify ! (
29490                CThostFtdcBrokerDepositField ) , "::" , stringify ! (
29491                Available ) ));
29492    assert_eq! (unsafe {
29493                & ( * ( 0 as * const CThostFtdcBrokerDepositField ) ) .
29494                Reserve as * const _ as usize } , 96usize , concat ! (
29495                "Alignment of field: " , stringify ! (
29496                CThostFtdcBrokerDepositField ) , "::" , stringify ! ( Reserve
29497                ) ));
29498    assert_eq! (unsafe {
29499                & ( * ( 0 as * const CThostFtdcBrokerDepositField ) ) .
29500                FrozenMargin as * const _ as usize } , 104usize , concat ! (
29501                "Alignment of field: " , stringify ! (
29502                CThostFtdcBrokerDepositField ) , "::" , stringify ! (
29503                FrozenMargin ) ));
29504}
29505impl Clone for CThostFtdcBrokerDepositField {
29506    fn clone(&self) -> Self { *self }
29507}
29508/// 查询保证金监管系统经纪公司密钥
29509#[repr(C)]
29510#[derive(Default, Copy)]
29511pub struct CThostFtdcQryCFMMCBrokerKeyField {
29512    /// 经纪公司代码
29513    pub BrokerID: TThostFtdcBrokerIDType,
29514}
29515#[test]
29516fn bindgen_test_layout_CThostFtdcQryCFMMCBrokerKeyField() {
29517    assert_eq!(::std::mem::size_of::<CThostFtdcQryCFMMCBrokerKeyField>() ,
29518               11usize , concat ! (
29519               "Size of: " , stringify ! ( CThostFtdcQryCFMMCBrokerKeyField )
29520               ));
29521    assert_eq! (::std::mem::align_of::<CThostFtdcQryCFMMCBrokerKeyField>() ,
29522                1usize , concat ! (
29523                "Alignment of " , stringify ! (
29524                CThostFtdcQryCFMMCBrokerKeyField ) ));
29525    assert_eq! (unsafe {
29526                & ( * ( 0 as * const CThostFtdcQryCFMMCBrokerKeyField ) ) .
29527                BrokerID as * const _ as usize } , 0usize , concat ! (
29528                "Alignment of field: " , stringify ! (
29529                CThostFtdcQryCFMMCBrokerKeyField ) , "::" , stringify ! (
29530                BrokerID ) ));
29531}
29532impl Clone for CThostFtdcQryCFMMCBrokerKeyField {
29533    fn clone(&self) -> Self { *self }
29534}
29535/// 保证金监管系统经纪公司密钥
29536#[repr(C)]
29537#[derive(Default, Copy)]
29538pub struct CThostFtdcCFMMCBrokerKeyField {
29539    /// 经纪公司代码
29540    pub BrokerID: TThostFtdcBrokerIDType,
29541    /// 经纪公司统一编码
29542    pub ParticipantID: TThostFtdcParticipantIDType,
29543    /// 密钥生成日期
29544    pub CreateDate: TThostFtdcDateType,
29545    /// 密钥生成时间
29546    pub CreateTime: TThostFtdcTimeType,
29547    /// 密钥编号
29548    pub KeyID: TThostFtdcSequenceNoType,
29549    /// 动态密钥
29550    pub CurrentKey: TThostFtdcCFMMCKeyType,
29551    /// 动态密钥类型
29552    pub KeyKind: TThostFtdcCFMMCKeyKindType,
29553}
29554#[test]
29555fn bindgen_test_layout_CThostFtdcCFMMCBrokerKeyField() {
29556    assert_eq!(::std::mem::size_of::<CThostFtdcCFMMCBrokerKeyField>() ,
29557               68usize , concat ! (
29558               "Size of: " , stringify ! ( CThostFtdcCFMMCBrokerKeyField ) ));
29559    assert_eq! (::std::mem::align_of::<CThostFtdcCFMMCBrokerKeyField>() ,
29560                4usize , concat ! (
29561                "Alignment of " , stringify ! ( CThostFtdcCFMMCBrokerKeyField
29562                ) ));
29563    assert_eq! (unsafe {
29564                & ( * ( 0 as * const CThostFtdcCFMMCBrokerKeyField ) ) .
29565                BrokerID as * const _ as usize } , 0usize , concat ! (
29566                "Alignment of field: " , stringify ! (
29567                CThostFtdcCFMMCBrokerKeyField ) , "::" , stringify ! (
29568                BrokerID ) ));
29569    assert_eq! (unsafe {
29570                & ( * ( 0 as * const CThostFtdcCFMMCBrokerKeyField ) ) .
29571                ParticipantID as * const _ as usize } , 11usize , concat ! (
29572                "Alignment of field: " , stringify ! (
29573                CThostFtdcCFMMCBrokerKeyField ) , "::" , stringify ! (
29574                ParticipantID ) ));
29575    assert_eq! (unsafe {
29576                & ( * ( 0 as * const CThostFtdcCFMMCBrokerKeyField ) ) .
29577                CreateDate as * const _ as usize } , 22usize , concat ! (
29578                "Alignment of field: " , stringify ! (
29579                CThostFtdcCFMMCBrokerKeyField ) , "::" , stringify ! (
29580                CreateDate ) ));
29581    assert_eq! (unsafe {
29582                & ( * ( 0 as * const CThostFtdcCFMMCBrokerKeyField ) ) .
29583                CreateTime as * const _ as usize } , 31usize , concat ! (
29584                "Alignment of field: " , stringify ! (
29585                CThostFtdcCFMMCBrokerKeyField ) , "::" , stringify ! (
29586                CreateTime ) ));
29587    assert_eq! (unsafe {
29588                & ( * ( 0 as * const CThostFtdcCFMMCBrokerKeyField ) ) . KeyID
29589                as * const _ as usize } , 40usize , concat ! (
29590                "Alignment of field: " , stringify ! (
29591                CThostFtdcCFMMCBrokerKeyField ) , "::" , stringify ! ( KeyID )
29592                ));
29593    assert_eq! (unsafe {
29594                & ( * ( 0 as * const CThostFtdcCFMMCBrokerKeyField ) ) .
29595                CurrentKey as * const _ as usize } , 44usize , concat ! (
29596                "Alignment of field: " , stringify ! (
29597                CThostFtdcCFMMCBrokerKeyField ) , "::" , stringify ! (
29598                CurrentKey ) ));
29599    assert_eq! (unsafe {
29600                & ( * ( 0 as * const CThostFtdcCFMMCBrokerKeyField ) ) .
29601                KeyKind as * const _ as usize } , 65usize , concat ! (
29602                "Alignment of field: " , stringify ! (
29603                CThostFtdcCFMMCBrokerKeyField ) , "::" , stringify ! ( KeyKind
29604                ) ));
29605}
29606impl Clone for CThostFtdcCFMMCBrokerKeyField {
29607    fn clone(&self) -> Self { *self }
29608}
29609/// 保证金监管系统经纪公司资金账户密钥
29610#[repr(C)]
29611#[derive(Default, Copy)]
29612pub struct CThostFtdcCFMMCTradingAccountKeyField {
29613    /// 经纪公司代码
29614    pub BrokerID: TThostFtdcBrokerIDType,
29615    /// 经纪公司统一编码
29616    pub ParticipantID: TThostFtdcParticipantIDType,
29617    /// 投资者帐号
29618    pub AccountID: TThostFtdcAccountIDType,
29619    /// 密钥编号
29620    pub KeyID: TThostFtdcSequenceNoType,
29621    /// 动态密钥
29622    pub CurrentKey: TThostFtdcCFMMCKeyType,
29623}
29624#[test]
29625fn bindgen_test_layout_CThostFtdcCFMMCTradingAccountKeyField() {
29626    assert_eq!(::std::mem::size_of::<CThostFtdcCFMMCTradingAccountKeyField>()
29627               , 64usize , concat ! (
29628               "Size of: " , stringify ! (
29629               CThostFtdcCFMMCTradingAccountKeyField ) ));
29630    assert_eq! (::std::mem::align_of::<CThostFtdcCFMMCTradingAccountKeyField>()
29631                , 4usize , concat ! (
29632                "Alignment of " , stringify ! (
29633                CThostFtdcCFMMCTradingAccountKeyField ) ));
29634    assert_eq! (unsafe {
29635                & ( * ( 0 as * const CThostFtdcCFMMCTradingAccountKeyField ) )
29636                . BrokerID as * const _ as usize } , 0usize , concat ! (
29637                "Alignment of field: " , stringify ! (
29638                CThostFtdcCFMMCTradingAccountKeyField ) , "::" , stringify ! (
29639                BrokerID ) ));
29640    assert_eq! (unsafe {
29641                & ( * ( 0 as * const CThostFtdcCFMMCTradingAccountKeyField ) )
29642                . ParticipantID as * const _ as usize } , 11usize , concat ! (
29643                "Alignment of field: " , stringify ! (
29644                CThostFtdcCFMMCTradingAccountKeyField ) , "::" , stringify ! (
29645                ParticipantID ) ));
29646    assert_eq! (unsafe {
29647                & ( * ( 0 as * const CThostFtdcCFMMCTradingAccountKeyField ) )
29648                . AccountID as * const _ as usize } , 22usize , concat ! (
29649                "Alignment of field: " , stringify ! (
29650                CThostFtdcCFMMCTradingAccountKeyField ) , "::" , stringify ! (
29651                AccountID ) ));
29652    assert_eq! (unsafe {
29653                & ( * ( 0 as * const CThostFtdcCFMMCTradingAccountKeyField ) )
29654                . KeyID as * const _ as usize } , 36usize , concat ! (
29655                "Alignment of field: " , stringify ! (
29656                CThostFtdcCFMMCTradingAccountKeyField ) , "::" , stringify ! (
29657                KeyID ) ));
29658    assert_eq! (unsafe {
29659                & ( * ( 0 as * const CThostFtdcCFMMCTradingAccountKeyField ) )
29660                . CurrentKey as * const _ as usize } , 40usize , concat ! (
29661                "Alignment of field: " , stringify ! (
29662                CThostFtdcCFMMCTradingAccountKeyField ) , "::" , stringify ! (
29663                CurrentKey ) ));
29664}
29665impl Clone for CThostFtdcCFMMCTradingAccountKeyField {
29666    fn clone(&self) -> Self { *self }
29667}
29668/// 请求查询保证金监管系统经纪公司资金账户密钥
29669#[repr(C)]
29670#[derive(Default, Copy)]
29671pub struct CThostFtdcQryCFMMCTradingAccountKeyField {
29672    /// 经纪公司代码
29673    pub BrokerID: TThostFtdcBrokerIDType,
29674    /// 投资者代码
29675    pub InvestorID: TThostFtdcInvestorIDType,
29676}
29677#[test]
29678fn bindgen_test_layout_CThostFtdcQryCFMMCTradingAccountKeyField() {
29679    assert_eq!(::std::mem::size_of::<CThostFtdcQryCFMMCTradingAccountKeyField>()
29680               , 24usize , concat ! (
29681               "Size of: " , stringify ! (
29682               CThostFtdcQryCFMMCTradingAccountKeyField ) ));
29683    assert_eq! (::std::mem::align_of::<CThostFtdcQryCFMMCTradingAccountKeyField>()
29684                , 1usize , concat ! (
29685                "Alignment of " , stringify ! (
29686                CThostFtdcQryCFMMCTradingAccountKeyField ) ));
29687    assert_eq! (unsafe {
29688                & (
29689                * ( 0 as * const CThostFtdcQryCFMMCTradingAccountKeyField ) )
29690                . BrokerID as * const _ as usize } , 0usize , concat ! (
29691                "Alignment of field: " , stringify ! (
29692                CThostFtdcQryCFMMCTradingAccountKeyField ) , "::" , stringify
29693                ! ( BrokerID ) ));
29694    assert_eq! (unsafe {
29695                & (
29696                * ( 0 as * const CThostFtdcQryCFMMCTradingAccountKeyField ) )
29697                . InvestorID as * const _ as usize } , 11usize , concat ! (
29698                "Alignment of field: " , stringify ! (
29699                CThostFtdcQryCFMMCTradingAccountKeyField ) , "::" , stringify
29700                ! ( InvestorID ) ));
29701}
29702impl Clone for CThostFtdcQryCFMMCTradingAccountKeyField {
29703    fn clone(&self) -> Self { *self }
29704}
29705/// 用户动态令牌参数
29706#[repr(C)]
29707#[derive(Copy)]
29708pub struct CThostFtdcBrokerUserOTPParamField {
29709    /// 经纪公司代码
29710    pub BrokerID: TThostFtdcBrokerIDType,
29711    /// 用户代码
29712    pub UserID: TThostFtdcUserIDType,
29713    /// 动态令牌提供商
29714    pub OTPVendorsID: TThostFtdcOTPVendorsIDType,
29715    /// 动态令牌序列号
29716    pub SerialNumber: TThostFtdcSerialNumberType,
29717    /// 令牌密钥
29718    pub AuthKey: TThostFtdcAuthKeyType,
29719    /// 漂移值
29720    pub LastDrift: TThostFtdcLastDriftType,
29721    /// 成功值
29722    pub LastSuccess: TThostFtdcLastSuccessType,
29723    /// 动态令牌类型
29724    pub OTPType: TThostFtdcOTPTypeType,
29725}
29726#[test]
29727fn bindgen_test_layout_CThostFtdcBrokerUserOTPParamField() {
29728    assert_eq!(::std::mem::size_of::<CThostFtdcBrokerUserOTPParamField>() ,
29729               100usize , concat ! (
29730               "Size of: " , stringify ! ( CThostFtdcBrokerUserOTPParamField )
29731               ));
29732    assert_eq! (::std::mem::align_of::<CThostFtdcBrokerUserOTPParamField>() ,
29733                4usize , concat ! (
29734                "Alignment of " , stringify ! (
29735                CThostFtdcBrokerUserOTPParamField ) ));
29736    assert_eq! (unsafe {
29737                & ( * ( 0 as * const CThostFtdcBrokerUserOTPParamField ) ) .
29738                BrokerID as * const _ as usize } , 0usize , concat ! (
29739                "Alignment of field: " , stringify ! (
29740                CThostFtdcBrokerUserOTPParamField ) , "::" , stringify ! (
29741                BrokerID ) ));
29742    assert_eq! (unsafe {
29743                & ( * ( 0 as * const CThostFtdcBrokerUserOTPParamField ) ) .
29744                UserID as * const _ as usize } , 11usize , concat ! (
29745                "Alignment of field: " , stringify ! (
29746                CThostFtdcBrokerUserOTPParamField ) , "::" , stringify ! (
29747                UserID ) ));
29748    assert_eq! (unsafe {
29749                & ( * ( 0 as * const CThostFtdcBrokerUserOTPParamField ) ) .
29750                OTPVendorsID as * const _ as usize } , 27usize , concat ! (
29751                "Alignment of field: " , stringify ! (
29752                CThostFtdcBrokerUserOTPParamField ) , "::" , stringify ! (
29753                OTPVendorsID ) ));
29754    assert_eq! (unsafe {
29755                & ( * ( 0 as * const CThostFtdcBrokerUserOTPParamField ) ) .
29756                SerialNumber as * const _ as usize } , 29usize , concat ! (
29757                "Alignment of field: " , stringify ! (
29758                CThostFtdcBrokerUserOTPParamField ) , "::" , stringify ! (
29759                SerialNumber ) ));
29760    assert_eq! (unsafe {
29761                & ( * ( 0 as * const CThostFtdcBrokerUserOTPParamField ) ) .
29762                AuthKey as * const _ as usize } , 46usize , concat ! (
29763                "Alignment of field: " , stringify ! (
29764                CThostFtdcBrokerUserOTPParamField ) , "::" , stringify ! (
29765                AuthKey ) ));
29766    assert_eq! (unsafe {
29767                & ( * ( 0 as * const CThostFtdcBrokerUserOTPParamField ) ) .
29768                LastDrift as * const _ as usize } , 88usize , concat ! (
29769                "Alignment of field: " , stringify ! (
29770                CThostFtdcBrokerUserOTPParamField ) , "::" , stringify ! (
29771                LastDrift ) ));
29772    assert_eq! (unsafe {
29773                & ( * ( 0 as * const CThostFtdcBrokerUserOTPParamField ) ) .
29774                LastSuccess as * const _ as usize } , 92usize , concat ! (
29775                "Alignment of field: " , stringify ! (
29776                CThostFtdcBrokerUserOTPParamField ) , "::" , stringify ! (
29777                LastSuccess ) ));
29778    assert_eq! (unsafe {
29779                & ( * ( 0 as * const CThostFtdcBrokerUserOTPParamField ) ) .
29780                OTPType as * const _ as usize } , 96usize , concat ! (
29781                "Alignment of field: " , stringify ! (
29782                CThostFtdcBrokerUserOTPParamField ) , "::" , stringify ! (
29783                OTPType ) ));
29784}
29785impl Clone for CThostFtdcBrokerUserOTPParamField {
29786    fn clone(&self) -> Self { *self }
29787}
29788impl Default for CThostFtdcBrokerUserOTPParamField {
29789    fn default() -> Self { unsafe { ::std::mem::zeroed() } }
29790}
29791/// 手工同步用户动态令牌
29792#[repr(C)]
29793#[derive(Copy)]
29794pub struct CThostFtdcManualSyncBrokerUserOTPField {
29795    /// 经纪公司代码
29796    pub BrokerID: TThostFtdcBrokerIDType,
29797    /// 用户代码
29798    pub UserID: TThostFtdcUserIDType,
29799    /// 动态令牌类型
29800    pub OTPType: TThostFtdcOTPTypeType,
29801    /// 第一个动态密码
29802    pub FirstOTP: TThostFtdcPasswordType,
29803    /// 第二个动态密码
29804    pub SecondOTP: TThostFtdcPasswordType,
29805}
29806#[test]
29807fn bindgen_test_layout_CThostFtdcManualSyncBrokerUserOTPField() {
29808    assert_eq!(::std::mem::size_of::<CThostFtdcManualSyncBrokerUserOTPField>()
29809               , 110usize , concat ! (
29810               "Size of: " , stringify ! (
29811               CThostFtdcManualSyncBrokerUserOTPField ) ));
29812    assert_eq! (::std::mem::align_of::<CThostFtdcManualSyncBrokerUserOTPField>()
29813                , 1usize , concat ! (
29814                "Alignment of " , stringify ! (
29815                CThostFtdcManualSyncBrokerUserOTPField ) ));
29816    assert_eq! (unsafe {
29817                & ( * ( 0 as * const CThostFtdcManualSyncBrokerUserOTPField )
29818                ) . BrokerID as * const _ as usize } , 0usize , concat ! (
29819                "Alignment of field: " , stringify ! (
29820                CThostFtdcManualSyncBrokerUserOTPField ) , "::" , stringify !
29821                ( BrokerID ) ));
29822    assert_eq! (unsafe {
29823                & ( * ( 0 as * const CThostFtdcManualSyncBrokerUserOTPField )
29824                ) . UserID as * const _ as usize } , 11usize , concat ! (
29825                "Alignment of field: " , stringify ! (
29826                CThostFtdcManualSyncBrokerUserOTPField ) , "::" , stringify !
29827                ( UserID ) ));
29828    assert_eq! (unsafe {
29829                & ( * ( 0 as * const CThostFtdcManualSyncBrokerUserOTPField )
29830                ) . OTPType as * const _ as usize } , 27usize , concat ! (
29831                "Alignment of field: " , stringify ! (
29832                CThostFtdcManualSyncBrokerUserOTPField ) , "::" , stringify !
29833                ( OTPType ) ));
29834    assert_eq! (unsafe {
29835                & ( * ( 0 as * const CThostFtdcManualSyncBrokerUserOTPField )
29836                ) . FirstOTP as * const _ as usize } , 28usize , concat ! (
29837                "Alignment of field: " , stringify ! (
29838                CThostFtdcManualSyncBrokerUserOTPField ) , "::" , stringify !
29839                ( FirstOTP ) ));
29840    assert_eq! (unsafe {
29841                & ( * ( 0 as * const CThostFtdcManualSyncBrokerUserOTPField )
29842                ) . SecondOTP as * const _ as usize } , 69usize , concat ! (
29843                "Alignment of field: " , stringify ! (
29844                CThostFtdcManualSyncBrokerUserOTPField ) , "::" , stringify !
29845                ( SecondOTP ) ));
29846}
29847impl Clone for CThostFtdcManualSyncBrokerUserOTPField {
29848    fn clone(&self) -> Self { *self }
29849}
29850impl Default for CThostFtdcManualSyncBrokerUserOTPField {
29851    fn default() -> Self { unsafe { ::std::mem::zeroed() } }
29852}
29853/// 投资者手续费率模板
29854#[repr(C)]
29855#[derive(Copy)]
29856pub struct CThostFtdcCommRateModelField {
29857    /// 经纪公司代码
29858    pub BrokerID: TThostFtdcBrokerIDType,
29859    /// 手续费率模板代码
29860    pub CommModelID: TThostFtdcInvestorIDType,
29861    /// 模板名称
29862    pub CommModelName: TThostFtdcCommModelNameType,
29863}
29864#[test]
29865fn bindgen_test_layout_CThostFtdcCommRateModelField() {
29866    assert_eq!(::std::mem::size_of::<CThostFtdcCommRateModelField>() ,
29867               185usize , concat ! (
29868               "Size of: " , stringify ! ( CThostFtdcCommRateModelField ) ));
29869    assert_eq! (::std::mem::align_of::<CThostFtdcCommRateModelField>() ,
29870                1usize , concat ! (
29871                "Alignment of " , stringify ! ( CThostFtdcCommRateModelField )
29872                ));
29873    assert_eq! (unsafe {
29874                & ( * ( 0 as * const CThostFtdcCommRateModelField ) ) .
29875                BrokerID as * const _ as usize } , 0usize , concat ! (
29876                "Alignment of field: " , stringify ! (
29877                CThostFtdcCommRateModelField ) , "::" , stringify ! ( BrokerID
29878                ) ));
29879    assert_eq! (unsafe {
29880                & ( * ( 0 as * const CThostFtdcCommRateModelField ) ) .
29881                CommModelID as * const _ as usize } , 11usize , concat ! (
29882                "Alignment of field: " , stringify ! (
29883                CThostFtdcCommRateModelField ) , "::" , stringify ! (
29884                CommModelID ) ));
29885    assert_eq! (unsafe {
29886                & ( * ( 0 as * const CThostFtdcCommRateModelField ) ) .
29887                CommModelName as * const _ as usize } , 24usize , concat ! (
29888                "Alignment of field: " , stringify ! (
29889                CThostFtdcCommRateModelField ) , "::" , stringify ! (
29890                CommModelName ) ));
29891}
29892impl Clone for CThostFtdcCommRateModelField {
29893    fn clone(&self) -> Self { *self }
29894}
29895impl Default for CThostFtdcCommRateModelField {
29896    fn default() -> Self { unsafe { ::std::mem::zeroed() } }
29897}
29898/// 请求查询投资者手续费率模板
29899#[repr(C)]
29900#[derive(Default, Copy)]
29901pub struct CThostFtdcQryCommRateModelField {
29902    /// 经纪公司代码
29903    pub BrokerID: TThostFtdcBrokerIDType,
29904    /// 手续费率模板代码
29905    pub CommModelID: TThostFtdcInvestorIDType,
29906}
29907#[test]
29908fn bindgen_test_layout_CThostFtdcQryCommRateModelField() {
29909    assert_eq!(::std::mem::size_of::<CThostFtdcQryCommRateModelField>() ,
29910               24usize , concat ! (
29911               "Size of: " , stringify ! ( CThostFtdcQryCommRateModelField )
29912               ));
29913    assert_eq! (::std::mem::align_of::<CThostFtdcQryCommRateModelField>() ,
29914                1usize , concat ! (
29915                "Alignment of " , stringify ! (
29916                CThostFtdcQryCommRateModelField ) ));
29917    assert_eq! (unsafe {
29918                & ( * ( 0 as * const CThostFtdcQryCommRateModelField ) ) .
29919                BrokerID as * const _ as usize } , 0usize , concat ! (
29920                "Alignment of field: " , stringify ! (
29921                CThostFtdcQryCommRateModelField ) , "::" , stringify ! (
29922                BrokerID ) ));
29923    assert_eq! (unsafe {
29924                & ( * ( 0 as * const CThostFtdcQryCommRateModelField ) ) .
29925                CommModelID as * const _ as usize } , 11usize , concat ! (
29926                "Alignment of field: " , stringify ! (
29927                CThostFtdcQryCommRateModelField ) , "::" , stringify ! (
29928                CommModelID ) ));
29929}
29930impl Clone for CThostFtdcQryCommRateModelField {
29931    fn clone(&self) -> Self { *self }
29932}
29933/// 投资者保证金率模板
29934#[repr(C)]
29935#[derive(Copy)]
29936pub struct CThostFtdcMarginModelField {
29937    /// 经纪公司代码
29938    pub BrokerID: TThostFtdcBrokerIDType,
29939    /// 保证金率模板代码
29940    pub MarginModelID: TThostFtdcInvestorIDType,
29941    /// 模板名称
29942    pub MarginModelName: TThostFtdcCommModelNameType,
29943}
29944#[test]
29945fn bindgen_test_layout_CThostFtdcMarginModelField() {
29946    assert_eq!(::std::mem::size_of::<CThostFtdcMarginModelField>() , 185usize
29947               , concat ! (
29948               "Size of: " , stringify ! ( CThostFtdcMarginModelField ) ));
29949    assert_eq! (::std::mem::align_of::<CThostFtdcMarginModelField>() , 1usize
29950                , concat ! (
29951                "Alignment of " , stringify ! ( CThostFtdcMarginModelField )
29952                ));
29953    assert_eq! (unsafe {
29954                & ( * ( 0 as * const CThostFtdcMarginModelField ) ) . BrokerID
29955                as * const _ as usize } , 0usize , concat ! (
29956                "Alignment of field: " , stringify ! (
29957                CThostFtdcMarginModelField ) , "::" , stringify ! ( BrokerID )
29958                ));
29959    assert_eq! (unsafe {
29960                & ( * ( 0 as * const CThostFtdcMarginModelField ) ) .
29961                MarginModelID as * const _ as usize } , 11usize , concat ! (
29962                "Alignment of field: " , stringify ! (
29963                CThostFtdcMarginModelField ) , "::" , stringify ! (
29964                MarginModelID ) ));
29965    assert_eq! (unsafe {
29966                & ( * ( 0 as * const CThostFtdcMarginModelField ) ) .
29967                MarginModelName as * const _ as usize } , 24usize , concat ! (
29968                "Alignment of field: " , stringify ! (
29969                CThostFtdcMarginModelField ) , "::" , stringify ! (
29970                MarginModelName ) ));
29971}
29972impl Clone for CThostFtdcMarginModelField {
29973    fn clone(&self) -> Self { *self }
29974}
29975impl Default for CThostFtdcMarginModelField {
29976    fn default() -> Self { unsafe { ::std::mem::zeroed() } }
29977}
29978/// 请求查询投资者保证金率模板
29979#[repr(C)]
29980#[derive(Default, Copy)]
29981pub struct CThostFtdcQryMarginModelField {
29982    /// 经纪公司代码
29983    pub BrokerID: TThostFtdcBrokerIDType,
29984    /// 保证金率模板代码
29985    pub MarginModelID: TThostFtdcInvestorIDType,
29986}
29987#[test]
29988fn bindgen_test_layout_CThostFtdcQryMarginModelField() {
29989    assert_eq!(::std::mem::size_of::<CThostFtdcQryMarginModelField>() ,
29990               24usize , concat ! (
29991               "Size of: " , stringify ! ( CThostFtdcQryMarginModelField ) ));
29992    assert_eq! (::std::mem::align_of::<CThostFtdcQryMarginModelField>() ,
29993                1usize , concat ! (
29994                "Alignment of " , stringify ! ( CThostFtdcQryMarginModelField
29995                ) ));
29996    assert_eq! (unsafe {
29997                & ( * ( 0 as * const CThostFtdcQryMarginModelField ) ) .
29998                BrokerID as * const _ as usize } , 0usize , concat ! (
29999                "Alignment of field: " , stringify ! (
30000                CThostFtdcQryMarginModelField ) , "::" , stringify ! (
30001                BrokerID ) ));
30002    assert_eq! (unsafe {
30003                & ( * ( 0 as * const CThostFtdcQryMarginModelField ) ) .
30004                MarginModelID as * const _ as usize } , 11usize , concat ! (
30005                "Alignment of field: " , stringify ! (
30006                CThostFtdcQryMarginModelField ) , "::" , stringify ! (
30007                MarginModelID ) ));
30008}
30009impl Clone for CThostFtdcQryMarginModelField {
30010    fn clone(&self) -> Self { *self }
30011}
30012/// 仓单折抵信息
30013#[repr(C)]
30014#[derive(Default, Copy)]
30015pub struct CThostFtdcEWarrantOffsetField {
30016    /// 交易日期
30017    pub TradingDay: TThostFtdcTradeDateType,
30018    /// 经纪公司代码
30019    pub BrokerID: TThostFtdcBrokerIDType,
30020    /// 投资者代码
30021    pub InvestorID: TThostFtdcInvestorIDType,
30022    /// 交易所代码
30023    pub ExchangeID: TThostFtdcExchangeIDType,
30024    /// 合约代码
30025    pub InstrumentID: TThostFtdcInstrumentIDType,
30026    /// 买卖方向
30027    pub Direction: TThostFtdcDirectionType,
30028    /// 投机套保标志
30029    pub HedgeFlag: TThostFtdcHedgeFlagType,
30030    /// 数量
30031    pub Volume: TThostFtdcVolumeType,
30032    /// 投资单元代码
30033    pub InvestUnitID: TThostFtdcInvestUnitIDType,
30034}
30035#[test]
30036fn bindgen_test_layout_CThostFtdcEWarrantOffsetField() {
30037    assert_eq!(::std::mem::size_of::<CThostFtdcEWarrantOffsetField>() ,
30038               100usize , concat ! (
30039               "Size of: " , stringify ! ( CThostFtdcEWarrantOffsetField ) ));
30040    assert_eq! (::std::mem::align_of::<CThostFtdcEWarrantOffsetField>() ,
30041                4usize , concat ! (
30042                "Alignment of " , stringify ! ( CThostFtdcEWarrantOffsetField
30043                ) ));
30044    assert_eq! (unsafe {
30045                & ( * ( 0 as * const CThostFtdcEWarrantOffsetField ) ) .
30046                TradingDay as * const _ as usize } , 0usize , concat ! (
30047                "Alignment of field: " , stringify ! (
30048                CThostFtdcEWarrantOffsetField ) , "::" , stringify ! (
30049                TradingDay ) ));
30050    assert_eq! (unsafe {
30051                & ( * ( 0 as * const CThostFtdcEWarrantOffsetField ) ) .
30052                BrokerID as * const _ as usize } , 9usize , concat ! (
30053                "Alignment of field: " , stringify ! (
30054                CThostFtdcEWarrantOffsetField ) , "::" , stringify ! (
30055                BrokerID ) ));
30056    assert_eq! (unsafe {
30057                & ( * ( 0 as * const CThostFtdcEWarrantOffsetField ) ) .
30058                InvestorID as * const _ as usize } , 20usize , concat ! (
30059                "Alignment of field: " , stringify ! (
30060                CThostFtdcEWarrantOffsetField ) , "::" , stringify ! (
30061                InvestorID ) ));
30062    assert_eq! (unsafe {
30063                & ( * ( 0 as * const CThostFtdcEWarrantOffsetField ) ) .
30064                ExchangeID as * const _ as usize } , 33usize , concat ! (
30065                "Alignment of field: " , stringify ! (
30066                CThostFtdcEWarrantOffsetField ) , "::" , stringify ! (
30067                ExchangeID ) ));
30068    assert_eq! (unsafe {
30069                & ( * ( 0 as * const CThostFtdcEWarrantOffsetField ) ) .
30070                InstrumentID as * const _ as usize } , 42usize , concat ! (
30071                "Alignment of field: " , stringify ! (
30072                CThostFtdcEWarrantOffsetField ) , "::" , stringify ! (
30073                InstrumentID ) ));
30074    assert_eq! (unsafe {
30075                & ( * ( 0 as * const CThostFtdcEWarrantOffsetField ) ) .
30076                Direction as * const _ as usize } , 73usize , concat ! (
30077                "Alignment of field: " , stringify ! (
30078                CThostFtdcEWarrantOffsetField ) , "::" , stringify ! (
30079                Direction ) ));
30080    assert_eq! (unsafe {
30081                & ( * ( 0 as * const CThostFtdcEWarrantOffsetField ) ) .
30082                HedgeFlag as * const _ as usize } , 74usize , concat ! (
30083                "Alignment of field: " , stringify ! (
30084                CThostFtdcEWarrantOffsetField ) , "::" , stringify ! (
30085                HedgeFlag ) ));
30086    assert_eq! (unsafe {
30087                & ( * ( 0 as * const CThostFtdcEWarrantOffsetField ) ) .
30088                Volume as * const _ as usize } , 76usize , concat ! (
30089                "Alignment of field: " , stringify ! (
30090                CThostFtdcEWarrantOffsetField ) , "::" , stringify ! ( Volume
30091                ) ));
30092    assert_eq! (unsafe {
30093                & ( * ( 0 as * const CThostFtdcEWarrantOffsetField ) ) .
30094                InvestUnitID as * const _ as usize } , 80usize , concat ! (
30095                "Alignment of field: " , stringify ! (
30096                CThostFtdcEWarrantOffsetField ) , "::" , stringify ! (
30097                InvestUnitID ) ));
30098}
30099impl Clone for CThostFtdcEWarrantOffsetField {
30100    fn clone(&self) -> Self { *self }
30101}
30102/// 查询仓单折抵信息
30103#[repr(C)]
30104#[derive(Default, Copy)]
30105pub struct CThostFtdcQryEWarrantOffsetField {
30106    /// 经纪公司代码
30107    pub BrokerID: TThostFtdcBrokerIDType,
30108    /// 投资者代码
30109    pub InvestorID: TThostFtdcInvestorIDType,
30110    /// 交易所代码
30111    pub ExchangeID: TThostFtdcExchangeIDType,
30112    /// 合约代码
30113    pub InstrumentID: TThostFtdcInstrumentIDType,
30114    /// 投资单元代码
30115    pub InvestUnitID: TThostFtdcInvestUnitIDType,
30116}
30117#[test]
30118fn bindgen_test_layout_CThostFtdcQryEWarrantOffsetField() {
30119    assert_eq!(::std::mem::size_of::<CThostFtdcQryEWarrantOffsetField>() ,
30120               81usize , concat ! (
30121               "Size of: " , stringify ! ( CThostFtdcQryEWarrantOffsetField )
30122               ));
30123    assert_eq! (::std::mem::align_of::<CThostFtdcQryEWarrantOffsetField>() ,
30124                1usize , concat ! (
30125                "Alignment of " , stringify ! (
30126                CThostFtdcQryEWarrantOffsetField ) ));
30127    assert_eq! (unsafe {
30128                & ( * ( 0 as * const CThostFtdcQryEWarrantOffsetField ) ) .
30129                BrokerID as * const _ as usize } , 0usize , concat ! (
30130                "Alignment of field: " , stringify ! (
30131                CThostFtdcQryEWarrantOffsetField ) , "::" , stringify ! (
30132                BrokerID ) ));
30133    assert_eq! (unsafe {
30134                & ( * ( 0 as * const CThostFtdcQryEWarrantOffsetField ) ) .
30135                InvestorID as * const _ as usize } , 11usize , concat ! (
30136                "Alignment of field: " , stringify ! (
30137                CThostFtdcQryEWarrantOffsetField ) , "::" , stringify ! (
30138                InvestorID ) ));
30139    assert_eq! (unsafe {
30140                & ( * ( 0 as * const CThostFtdcQryEWarrantOffsetField ) ) .
30141                ExchangeID as * const _ as usize } , 24usize , concat ! (
30142                "Alignment of field: " , stringify ! (
30143                CThostFtdcQryEWarrantOffsetField ) , "::" , stringify ! (
30144                ExchangeID ) ));
30145    assert_eq! (unsafe {
30146                & ( * ( 0 as * const CThostFtdcQryEWarrantOffsetField ) ) .
30147                InstrumentID as * const _ as usize } , 33usize , concat ! (
30148                "Alignment of field: " , stringify ! (
30149                CThostFtdcQryEWarrantOffsetField ) , "::" , stringify ! (
30150                InstrumentID ) ));
30151    assert_eq! (unsafe {
30152                & ( * ( 0 as * const CThostFtdcQryEWarrantOffsetField ) ) .
30153                InvestUnitID as * const _ as usize } , 64usize , concat ! (
30154                "Alignment of field: " , stringify ! (
30155                CThostFtdcQryEWarrantOffsetField ) , "::" , stringify ! (
30156                InvestUnitID ) ));
30157}
30158impl Clone for CThostFtdcQryEWarrantOffsetField {
30159    fn clone(&self) -> Self { *self }
30160}
30161/// 查询投资者品种/跨品种保证金
30162#[repr(C)]
30163#[derive(Default, Copy)]
30164pub struct CThostFtdcQryInvestorProductGroupMarginField {
30165    /// 经纪公司代码
30166    pub BrokerID: TThostFtdcBrokerIDType,
30167    /// 投资者代码
30168    pub InvestorID: TThostFtdcInvestorIDType,
30169    /// 品种/跨品种标示
30170    pub ProductGroupID: TThostFtdcInstrumentIDType,
30171    /// 投机套保标志
30172    pub HedgeFlag: TThostFtdcHedgeFlagType,
30173    /// 交易所代码
30174    pub ExchangeID: TThostFtdcExchangeIDType,
30175    /// 投资单元代码
30176    pub InvestUnitID: TThostFtdcInvestUnitIDType,
30177}
30178#[test]
30179fn bindgen_test_layout_CThostFtdcQryInvestorProductGroupMarginField() {
30180    assert_eq!(::std::mem::size_of::<CThostFtdcQryInvestorProductGroupMarginField>()
30181               , 82usize , concat ! (
30182               "Size of: " , stringify ! (
30183               CThostFtdcQryInvestorProductGroupMarginField ) ));
30184    assert_eq! (::std::mem::align_of::<CThostFtdcQryInvestorProductGroupMarginField>()
30185                , 1usize , concat ! (
30186                "Alignment of " , stringify ! (
30187                CThostFtdcQryInvestorProductGroupMarginField ) ));
30188    assert_eq! (unsafe {
30189                & (
30190                * ( 0 as * const CThostFtdcQryInvestorProductGroupMarginField
30191                ) ) . BrokerID as * const _ as usize } , 0usize , concat ! (
30192                "Alignment of field: " , stringify ! (
30193                CThostFtdcQryInvestorProductGroupMarginField ) , "::" ,
30194                stringify ! ( BrokerID ) ));
30195    assert_eq! (unsafe {
30196                & (
30197                * ( 0 as * const CThostFtdcQryInvestorProductGroupMarginField
30198                ) ) . InvestorID as * const _ as usize } , 11usize , concat !
30199                (
30200                "Alignment of field: " , stringify ! (
30201                CThostFtdcQryInvestorProductGroupMarginField ) , "::" ,
30202                stringify ! ( InvestorID ) ));
30203    assert_eq! (unsafe {
30204                & (
30205                * ( 0 as * const CThostFtdcQryInvestorProductGroupMarginField
30206                ) ) . ProductGroupID as * const _ as usize } , 24usize ,
30207                concat ! (
30208                "Alignment of field: " , stringify ! (
30209                CThostFtdcQryInvestorProductGroupMarginField ) , "::" ,
30210                stringify ! ( ProductGroupID ) ));
30211    assert_eq! (unsafe {
30212                & (
30213                * ( 0 as * const CThostFtdcQryInvestorProductGroupMarginField
30214                ) ) . HedgeFlag as * const _ as usize } , 55usize , concat ! (
30215                "Alignment of field: " , stringify ! (
30216                CThostFtdcQryInvestorProductGroupMarginField ) , "::" ,
30217                stringify ! ( HedgeFlag ) ));
30218    assert_eq! (unsafe {
30219                & (
30220                * ( 0 as * const CThostFtdcQryInvestorProductGroupMarginField
30221                ) ) . ExchangeID as * const _ as usize } , 56usize , concat !
30222                (
30223                "Alignment of field: " , stringify ! (
30224                CThostFtdcQryInvestorProductGroupMarginField ) , "::" ,
30225                stringify ! ( ExchangeID ) ));
30226    assert_eq! (unsafe {
30227                & (
30228                * ( 0 as * const CThostFtdcQryInvestorProductGroupMarginField
30229                ) ) . InvestUnitID as * const _ as usize } , 65usize , concat
30230                ! (
30231                "Alignment of field: " , stringify ! (
30232                CThostFtdcQryInvestorProductGroupMarginField ) , "::" ,
30233                stringify ! ( InvestUnitID ) ));
30234}
30235impl Clone for CThostFtdcQryInvestorProductGroupMarginField {
30236    fn clone(&self) -> Self { *self }
30237}
30238/// 投资者品种/跨品种保证金
30239#[repr(C)]
30240#[derive(Default, Copy)]
30241pub struct CThostFtdcInvestorProductGroupMarginField {
30242    /// 品种/跨品种标示
30243    pub ProductGroupID: TThostFtdcInstrumentIDType,
30244    /// 经纪公司代码
30245    pub BrokerID: TThostFtdcBrokerIDType,
30246    /// 投资者代码
30247    pub InvestorID: TThostFtdcInvestorIDType,
30248    /// 交易日
30249    pub TradingDay: TThostFtdcDateType,
30250    /// 结算编号
30251    pub SettlementID: TThostFtdcSettlementIDType,
30252    /// 冻结的保证金
30253    pub FrozenMargin: TThostFtdcMoneyType,
30254    /// 多头冻结的保证金
30255    pub LongFrozenMargin: TThostFtdcMoneyType,
30256    /// 空头冻结的保证金
30257    pub ShortFrozenMargin: TThostFtdcMoneyType,
30258    /// 占用的保证金
30259    pub UseMargin: TThostFtdcMoneyType,
30260    /// 多头保证金
30261    pub LongUseMargin: TThostFtdcMoneyType,
30262    /// 空头保证金
30263    pub ShortUseMargin: TThostFtdcMoneyType,
30264    /// 交易所保证金
30265    pub ExchMargin: TThostFtdcMoneyType,
30266    /// 交易所多头保证金
30267    pub LongExchMargin: TThostFtdcMoneyType,
30268    /// 交易所空头保证金
30269    pub ShortExchMargin: TThostFtdcMoneyType,
30270    /// 平仓盈亏
30271    pub CloseProfit: TThostFtdcMoneyType,
30272    /// 冻结的手续费
30273    pub FrozenCommission: TThostFtdcMoneyType,
30274    /// 手续费
30275    pub Commission: TThostFtdcMoneyType,
30276    /// 冻结的资金
30277    pub FrozenCash: TThostFtdcMoneyType,
30278    /// 资金差额
30279    pub CashIn: TThostFtdcMoneyType,
30280    /// 持仓盈亏
30281    pub PositionProfit: TThostFtdcMoneyType,
30282    /// 折抵总金额
30283    pub OffsetAmount: TThostFtdcMoneyType,
30284    /// 多头折抵总金额
30285    pub LongOffsetAmount: TThostFtdcMoneyType,
30286    /// 空头折抵总金额
30287    pub ShortOffsetAmount: TThostFtdcMoneyType,
30288    /// 交易所折抵总金额
30289    pub ExchOffsetAmount: TThostFtdcMoneyType,
30290    /// 交易所多头折抵总金额
30291    pub LongExchOffsetAmount: TThostFtdcMoneyType,
30292    /// 交易所空头折抵总金额
30293    pub ShortExchOffsetAmount: TThostFtdcMoneyType,
30294    /// 投机套保标志
30295    pub HedgeFlag: TThostFtdcHedgeFlagType,
30296    /// 交易所代码
30297    pub ExchangeID: TThostFtdcExchangeIDType,
30298    /// 投资单元代码
30299    pub InvestUnitID: TThostFtdcInvestUnitIDType,
30300}
30301#[test]
30302fn bindgen_test_layout_CThostFtdcInvestorProductGroupMarginField() {
30303    assert_eq!(::std::mem::size_of::<CThostFtdcInvestorProductGroupMarginField>()
30304               , 272usize , concat ! (
30305               "Size of: " , stringify ! (
30306               CThostFtdcInvestorProductGroupMarginField ) ));
30307    assert_eq! (::std::mem::align_of::<CThostFtdcInvestorProductGroupMarginField>()
30308                , 8usize , concat ! (
30309                "Alignment of " , stringify ! (
30310                CThostFtdcInvestorProductGroupMarginField ) ));
30311    assert_eq! (unsafe {
30312                & (
30313                * ( 0 as * const CThostFtdcInvestorProductGroupMarginField ) )
30314                . ProductGroupID as * const _ as usize } , 0usize , concat ! (
30315                "Alignment of field: " , stringify ! (
30316                CThostFtdcInvestorProductGroupMarginField ) , "::" , stringify
30317                ! ( ProductGroupID ) ));
30318    assert_eq! (unsafe {
30319                & (
30320                * ( 0 as * const CThostFtdcInvestorProductGroupMarginField ) )
30321                . BrokerID as * const _ as usize } , 31usize , concat ! (
30322                "Alignment of field: " , stringify ! (
30323                CThostFtdcInvestorProductGroupMarginField ) , "::" , stringify
30324                ! ( BrokerID ) ));
30325    assert_eq! (unsafe {
30326                & (
30327                * ( 0 as * const CThostFtdcInvestorProductGroupMarginField ) )
30328                . InvestorID as * const _ as usize } , 42usize , concat ! (
30329                "Alignment of field: " , stringify ! (
30330                CThostFtdcInvestorProductGroupMarginField ) , "::" , stringify
30331                ! ( InvestorID ) ));
30332    assert_eq! (unsafe {
30333                & (
30334                * ( 0 as * const CThostFtdcInvestorProductGroupMarginField ) )
30335                . TradingDay as * const _ as usize } , 55usize , concat ! (
30336                "Alignment of field: " , stringify ! (
30337                CThostFtdcInvestorProductGroupMarginField ) , "::" , stringify
30338                ! ( TradingDay ) ));
30339    assert_eq! (unsafe {
30340                & (
30341                * ( 0 as * const CThostFtdcInvestorProductGroupMarginField ) )
30342                . SettlementID as * const _ as usize } , 64usize , concat ! (
30343                "Alignment of field: " , stringify ! (
30344                CThostFtdcInvestorProductGroupMarginField ) , "::" , stringify
30345                ! ( SettlementID ) ));
30346    assert_eq! (unsafe {
30347                & (
30348                * ( 0 as * const CThostFtdcInvestorProductGroupMarginField ) )
30349                . FrozenMargin as * const _ as usize } , 72usize , concat ! (
30350                "Alignment of field: " , stringify ! (
30351                CThostFtdcInvestorProductGroupMarginField ) , "::" , stringify
30352                ! ( FrozenMargin ) ));
30353    assert_eq! (unsafe {
30354                & (
30355                * ( 0 as * const CThostFtdcInvestorProductGroupMarginField ) )
30356                . LongFrozenMargin as * const _ as usize } , 80usize , concat
30357                ! (
30358                "Alignment of field: " , stringify ! (
30359                CThostFtdcInvestorProductGroupMarginField ) , "::" , stringify
30360                ! ( LongFrozenMargin ) ));
30361    assert_eq! (unsafe {
30362                & (
30363                * ( 0 as * const CThostFtdcInvestorProductGroupMarginField ) )
30364                . ShortFrozenMargin as * const _ as usize } , 88usize , concat
30365                ! (
30366                "Alignment of field: " , stringify ! (
30367                CThostFtdcInvestorProductGroupMarginField ) , "::" , stringify
30368                ! ( ShortFrozenMargin ) ));
30369    assert_eq! (unsafe {
30370                & (
30371                * ( 0 as * const CThostFtdcInvestorProductGroupMarginField ) )
30372                . UseMargin as * const _ as usize } , 96usize , concat ! (
30373                "Alignment of field: " , stringify ! (
30374                CThostFtdcInvestorProductGroupMarginField ) , "::" , stringify
30375                ! ( UseMargin ) ));
30376    assert_eq! (unsafe {
30377                & (
30378                * ( 0 as * const CThostFtdcInvestorProductGroupMarginField ) )
30379                . LongUseMargin as * const _ as usize } , 104usize , concat !
30380                (
30381                "Alignment of field: " , stringify ! (
30382                CThostFtdcInvestorProductGroupMarginField ) , "::" , stringify
30383                ! ( LongUseMargin ) ));
30384    assert_eq! (unsafe {
30385                & (
30386                * ( 0 as * const CThostFtdcInvestorProductGroupMarginField ) )
30387                . ShortUseMargin as * const _ as usize } , 112usize , concat !
30388                (
30389                "Alignment of field: " , stringify ! (
30390                CThostFtdcInvestorProductGroupMarginField ) , "::" , stringify
30391                ! ( ShortUseMargin ) ));
30392    assert_eq! (unsafe {
30393                & (
30394                * ( 0 as * const CThostFtdcInvestorProductGroupMarginField ) )
30395                . ExchMargin as * const _ as usize } , 120usize , concat ! (
30396                "Alignment of field: " , stringify ! (
30397                CThostFtdcInvestorProductGroupMarginField ) , "::" , stringify
30398                ! ( ExchMargin ) ));
30399    assert_eq! (unsafe {
30400                & (
30401                * ( 0 as * const CThostFtdcInvestorProductGroupMarginField ) )
30402                . LongExchMargin as * const _ as usize } , 128usize , concat !
30403                (
30404                "Alignment of field: " , stringify ! (
30405                CThostFtdcInvestorProductGroupMarginField ) , "::" , stringify
30406                ! ( LongExchMargin ) ));
30407    assert_eq! (unsafe {
30408                & (
30409                * ( 0 as * const CThostFtdcInvestorProductGroupMarginField ) )
30410                . ShortExchMargin as * const _ as usize } , 136usize , concat
30411                ! (
30412                "Alignment of field: " , stringify ! (
30413                CThostFtdcInvestorProductGroupMarginField ) , "::" , stringify
30414                ! ( ShortExchMargin ) ));
30415    assert_eq! (unsafe {
30416                & (
30417                * ( 0 as * const CThostFtdcInvestorProductGroupMarginField ) )
30418                . CloseProfit as * const _ as usize } , 144usize , concat ! (
30419                "Alignment of field: " , stringify ! (
30420                CThostFtdcInvestorProductGroupMarginField ) , "::" , stringify
30421                ! ( CloseProfit ) ));
30422    assert_eq! (unsafe {
30423                & (
30424                * ( 0 as * const CThostFtdcInvestorProductGroupMarginField ) )
30425                . FrozenCommission as * const _ as usize } , 152usize , concat
30426                ! (
30427                "Alignment of field: " , stringify ! (
30428                CThostFtdcInvestorProductGroupMarginField ) , "::" , stringify
30429                ! ( FrozenCommission ) ));
30430    assert_eq! (unsafe {
30431                & (
30432                * ( 0 as * const CThostFtdcInvestorProductGroupMarginField ) )
30433                . Commission as * const _ as usize } , 160usize , concat ! (
30434                "Alignment of field: " , stringify ! (
30435                CThostFtdcInvestorProductGroupMarginField ) , "::" , stringify
30436                ! ( Commission ) ));
30437    assert_eq! (unsafe {
30438                & (
30439                * ( 0 as * const CThostFtdcInvestorProductGroupMarginField ) )
30440                . FrozenCash as * const _ as usize } , 168usize , concat ! (
30441                "Alignment of field: " , stringify ! (
30442                CThostFtdcInvestorProductGroupMarginField ) , "::" , stringify
30443                ! ( FrozenCash ) ));
30444    assert_eq! (unsafe {
30445                & (
30446                * ( 0 as * const CThostFtdcInvestorProductGroupMarginField ) )
30447                . CashIn as * const _ as usize } , 176usize , concat ! (
30448                "Alignment of field: " , stringify ! (
30449                CThostFtdcInvestorProductGroupMarginField ) , "::" , stringify
30450                ! ( CashIn ) ));
30451    assert_eq! (unsafe {
30452                & (
30453                * ( 0 as * const CThostFtdcInvestorProductGroupMarginField ) )
30454                . PositionProfit as * const _ as usize } , 184usize , concat !
30455                (
30456                "Alignment of field: " , stringify ! (
30457                CThostFtdcInvestorProductGroupMarginField ) , "::" , stringify
30458                ! ( PositionProfit ) ));
30459    assert_eq! (unsafe {
30460                & (
30461                * ( 0 as * const CThostFtdcInvestorProductGroupMarginField ) )
30462                . OffsetAmount as * const _ as usize } , 192usize , concat ! (
30463                "Alignment of field: " , stringify ! (
30464                CThostFtdcInvestorProductGroupMarginField ) , "::" , stringify
30465                ! ( OffsetAmount ) ));
30466    assert_eq! (unsafe {
30467                & (
30468                * ( 0 as * const CThostFtdcInvestorProductGroupMarginField ) )
30469                . LongOffsetAmount as * const _ as usize } , 200usize , concat
30470                ! (
30471                "Alignment of field: " , stringify ! (
30472                CThostFtdcInvestorProductGroupMarginField ) , "::" , stringify
30473                ! ( LongOffsetAmount ) ));
30474    assert_eq! (unsafe {
30475                & (
30476                * ( 0 as * const CThostFtdcInvestorProductGroupMarginField ) )
30477                . ShortOffsetAmount as * const _ as usize } , 208usize ,
30478                concat ! (
30479                "Alignment of field: " , stringify ! (
30480                CThostFtdcInvestorProductGroupMarginField ) , "::" , stringify
30481                ! ( ShortOffsetAmount ) ));
30482    assert_eq! (unsafe {
30483                & (
30484                * ( 0 as * const CThostFtdcInvestorProductGroupMarginField ) )
30485                . ExchOffsetAmount as * const _ as usize } , 216usize , concat
30486                ! (
30487                "Alignment of field: " , stringify ! (
30488                CThostFtdcInvestorProductGroupMarginField ) , "::" , stringify
30489                ! ( ExchOffsetAmount ) ));
30490    assert_eq! (unsafe {
30491                & (
30492                * ( 0 as * const CThostFtdcInvestorProductGroupMarginField ) )
30493                . LongExchOffsetAmount as * const _ as usize } , 224usize ,
30494                concat ! (
30495                "Alignment of field: " , stringify ! (
30496                CThostFtdcInvestorProductGroupMarginField ) , "::" , stringify
30497                ! ( LongExchOffsetAmount ) ));
30498    assert_eq! (unsafe {
30499                & (
30500                * ( 0 as * const CThostFtdcInvestorProductGroupMarginField ) )
30501                . ShortExchOffsetAmount as * const _ as usize } , 232usize ,
30502                concat ! (
30503                "Alignment of field: " , stringify ! (
30504                CThostFtdcInvestorProductGroupMarginField ) , "::" , stringify
30505                ! ( ShortExchOffsetAmount ) ));
30506    assert_eq! (unsafe {
30507                & (
30508                * ( 0 as * const CThostFtdcInvestorProductGroupMarginField ) )
30509                . HedgeFlag as * const _ as usize } , 240usize , concat ! (
30510                "Alignment of field: " , stringify ! (
30511                CThostFtdcInvestorProductGroupMarginField ) , "::" , stringify
30512                ! ( HedgeFlag ) ));
30513    assert_eq! (unsafe {
30514                & (
30515                * ( 0 as * const CThostFtdcInvestorProductGroupMarginField ) )
30516                . ExchangeID as * const _ as usize } , 241usize , concat ! (
30517                "Alignment of field: " , stringify ! (
30518                CThostFtdcInvestorProductGroupMarginField ) , "::" , stringify
30519                ! ( ExchangeID ) ));
30520    assert_eq! (unsafe {
30521                & (
30522                * ( 0 as * const CThostFtdcInvestorProductGroupMarginField ) )
30523                . InvestUnitID as * const _ as usize } , 250usize , concat ! (
30524                "Alignment of field: " , stringify ! (
30525                CThostFtdcInvestorProductGroupMarginField ) , "::" , stringify
30526                ! ( InvestUnitID ) ));
30527}
30528impl Clone for CThostFtdcInvestorProductGroupMarginField {
30529    fn clone(&self) -> Self { *self }
30530}
30531/// 查询监控中心用户令牌
30532#[repr(C)]
30533#[derive(Default, Copy)]
30534pub struct CThostFtdcQueryCFMMCTradingAccountTokenField {
30535    /// 经纪公司代码
30536    pub BrokerID: TThostFtdcBrokerIDType,
30537    /// 投资者代码
30538    pub InvestorID: TThostFtdcInvestorIDType,
30539    /// 投资单元代码
30540    pub InvestUnitID: TThostFtdcInvestUnitIDType,
30541}
30542#[test]
30543fn bindgen_test_layout_CThostFtdcQueryCFMMCTradingAccountTokenField() {
30544    assert_eq!(::std::mem::size_of::<CThostFtdcQueryCFMMCTradingAccountTokenField>()
30545               , 41usize , concat ! (
30546               "Size of: " , stringify ! (
30547               CThostFtdcQueryCFMMCTradingAccountTokenField ) ));
30548    assert_eq! (::std::mem::align_of::<CThostFtdcQueryCFMMCTradingAccountTokenField>()
30549                , 1usize , concat ! (
30550                "Alignment of " , stringify ! (
30551                CThostFtdcQueryCFMMCTradingAccountTokenField ) ));
30552    assert_eq! (unsafe {
30553                & (
30554                * ( 0 as * const CThostFtdcQueryCFMMCTradingAccountTokenField
30555                ) ) . BrokerID as * const _ as usize } , 0usize , concat ! (
30556                "Alignment of field: " , stringify ! (
30557                CThostFtdcQueryCFMMCTradingAccountTokenField ) , "::" ,
30558                stringify ! ( BrokerID ) ));
30559    assert_eq! (unsafe {
30560                & (
30561                * ( 0 as * const CThostFtdcQueryCFMMCTradingAccountTokenField
30562                ) ) . InvestorID as * const _ as usize } , 11usize , concat !
30563                (
30564                "Alignment of field: " , stringify ! (
30565                CThostFtdcQueryCFMMCTradingAccountTokenField ) , "::" ,
30566                stringify ! ( InvestorID ) ));
30567    assert_eq! (unsafe {
30568                & (
30569                * ( 0 as * const CThostFtdcQueryCFMMCTradingAccountTokenField
30570                ) ) . InvestUnitID as * const _ as usize } , 24usize , concat
30571                ! (
30572                "Alignment of field: " , stringify ! (
30573                CThostFtdcQueryCFMMCTradingAccountTokenField ) , "::" ,
30574                stringify ! ( InvestUnitID ) ));
30575}
30576impl Clone for CThostFtdcQueryCFMMCTradingAccountTokenField {
30577    fn clone(&self) -> Self { *self }
30578}
30579/// 监控中心用户令牌
30580#[repr(C)]
30581#[derive(Default, Copy)]
30582pub struct CThostFtdcCFMMCTradingAccountTokenField {
30583    /// 经纪公司代码
30584    pub BrokerID: TThostFtdcBrokerIDType,
30585    /// 经纪公司统一编码
30586    pub ParticipantID: TThostFtdcParticipantIDType,
30587    /// 投资者帐号
30588    pub AccountID: TThostFtdcAccountIDType,
30589    /// 密钥编号
30590    pub KeyID: TThostFtdcSequenceNoType,
30591    /// 动态令牌
30592    pub Token: TThostFtdcCFMMCTokenType,
30593}
30594#[test]
30595fn bindgen_test_layout_CThostFtdcCFMMCTradingAccountTokenField() {
30596    assert_eq!(::std::mem::size_of::<CThostFtdcCFMMCTradingAccountTokenField>()
30597               , 64usize , concat ! (
30598               "Size of: " , stringify ! (
30599               CThostFtdcCFMMCTradingAccountTokenField ) ));
30600    assert_eq! (::std::mem::align_of::<CThostFtdcCFMMCTradingAccountTokenField>()
30601                , 4usize , concat ! (
30602                "Alignment of " , stringify ! (
30603                CThostFtdcCFMMCTradingAccountTokenField ) ));
30604    assert_eq! (unsafe {
30605                & ( * ( 0 as * const CThostFtdcCFMMCTradingAccountTokenField )
30606                ) . BrokerID as * const _ as usize } , 0usize , concat ! (
30607                "Alignment of field: " , stringify ! (
30608                CThostFtdcCFMMCTradingAccountTokenField ) , "::" , stringify !
30609                ( BrokerID ) ));
30610    assert_eq! (unsafe {
30611                & ( * ( 0 as * const CThostFtdcCFMMCTradingAccountTokenField )
30612                ) . ParticipantID as * const _ as usize } , 11usize , concat !
30613                (
30614                "Alignment of field: " , stringify ! (
30615                CThostFtdcCFMMCTradingAccountTokenField ) , "::" , stringify !
30616                ( ParticipantID ) ));
30617    assert_eq! (unsafe {
30618                & ( * ( 0 as * const CThostFtdcCFMMCTradingAccountTokenField )
30619                ) . AccountID as * const _ as usize } , 22usize , concat ! (
30620                "Alignment of field: " , stringify ! (
30621                CThostFtdcCFMMCTradingAccountTokenField ) , "::" , stringify !
30622                ( AccountID ) ));
30623    assert_eq! (unsafe {
30624                & ( * ( 0 as * const CThostFtdcCFMMCTradingAccountTokenField )
30625                ) . KeyID as * const _ as usize } , 36usize , concat ! (
30626                "Alignment of field: " , stringify ! (
30627                CThostFtdcCFMMCTradingAccountTokenField ) , "::" , stringify !
30628                ( KeyID ) ));
30629    assert_eq! (unsafe {
30630                & ( * ( 0 as * const CThostFtdcCFMMCTradingAccountTokenField )
30631                ) . Token as * const _ as usize } , 40usize , concat ! (
30632                "Alignment of field: " , stringify ! (
30633                CThostFtdcCFMMCTradingAccountTokenField ) , "::" , stringify !
30634                ( Token ) ));
30635}
30636impl Clone for CThostFtdcCFMMCTradingAccountTokenField {
30637    fn clone(&self) -> Self { *self }
30638}
30639/// 查询产品组
30640#[repr(C)]
30641#[derive(Default, Copy)]
30642pub struct CThostFtdcQryProductGroupField {
30643    /// 产品代码
30644    pub ProductID: TThostFtdcInstrumentIDType,
30645    /// 交易所代码
30646    pub ExchangeID: TThostFtdcExchangeIDType,
30647}
30648#[test]
30649fn bindgen_test_layout_CThostFtdcQryProductGroupField() {
30650    assert_eq!(::std::mem::size_of::<CThostFtdcQryProductGroupField>() ,
30651               40usize , concat ! (
30652               "Size of: " , stringify ! ( CThostFtdcQryProductGroupField )
30653               ));
30654    assert_eq! (::std::mem::align_of::<CThostFtdcQryProductGroupField>() ,
30655                1usize , concat ! (
30656                "Alignment of " , stringify ! ( CThostFtdcQryProductGroupField
30657                ) ));
30658    assert_eq! (unsafe {
30659                & ( * ( 0 as * const CThostFtdcQryProductGroupField ) ) .
30660                ProductID as * const _ as usize } , 0usize , concat ! (
30661                "Alignment of field: " , stringify ! (
30662                CThostFtdcQryProductGroupField ) , "::" , stringify ! (
30663                ProductID ) ));
30664    assert_eq! (unsafe {
30665                & ( * ( 0 as * const CThostFtdcQryProductGroupField ) ) .
30666                ExchangeID as * const _ as usize } , 31usize , concat ! (
30667                "Alignment of field: " , stringify ! (
30668                CThostFtdcQryProductGroupField ) , "::" , stringify ! (
30669                ExchangeID ) ));
30670}
30671impl Clone for CThostFtdcQryProductGroupField {
30672    fn clone(&self) -> Self { *self }
30673}
30674/// 投资者品种/跨品种保证金产品组
30675#[repr(C)]
30676#[derive(Default, Copy)]
30677pub struct CThostFtdcProductGroupField {
30678    /// 产品代码
30679    pub ProductID: TThostFtdcInstrumentIDType,
30680    /// 交易所代码
30681    pub ExchangeID: TThostFtdcExchangeIDType,
30682    /// 产品组代码
30683    pub ProductGroupID: TThostFtdcInstrumentIDType,
30684}
30685#[test]
30686fn bindgen_test_layout_CThostFtdcProductGroupField() {
30687    assert_eq!(::std::mem::size_of::<CThostFtdcProductGroupField>() , 71usize
30688               , concat ! (
30689               "Size of: " , stringify ! ( CThostFtdcProductGroupField ) ));
30690    assert_eq! (::std::mem::align_of::<CThostFtdcProductGroupField>() , 1usize
30691                , concat ! (
30692                "Alignment of " , stringify ! ( CThostFtdcProductGroupField )
30693                ));
30694    assert_eq! (unsafe {
30695                & ( * ( 0 as * const CThostFtdcProductGroupField ) ) .
30696                ProductID as * const _ as usize } , 0usize , concat ! (
30697                "Alignment of field: " , stringify ! (
30698                CThostFtdcProductGroupField ) , "::" , stringify ! ( ProductID
30699                ) ));
30700    assert_eq! (unsafe {
30701                & ( * ( 0 as * const CThostFtdcProductGroupField ) ) .
30702                ExchangeID as * const _ as usize } , 31usize , concat ! (
30703                "Alignment of field: " , stringify ! (
30704                CThostFtdcProductGroupField ) , "::" , stringify ! (
30705                ExchangeID ) ));
30706    assert_eq! (unsafe {
30707                & ( * ( 0 as * const CThostFtdcProductGroupField ) ) .
30708                ProductGroupID as * const _ as usize } , 40usize , concat ! (
30709                "Alignment of field: " , stringify ! (
30710                CThostFtdcProductGroupField ) , "::" , stringify ! (
30711                ProductGroupID ) ));
30712}
30713impl Clone for CThostFtdcProductGroupField {
30714    fn clone(&self) -> Self { *self }
30715}
30716/// 交易所公告
30717#[repr(C)]
30718#[derive(Copy)]
30719pub struct CThostFtdcBulletinField {
30720    /// 交易所代码
30721    pub ExchangeID: TThostFtdcExchangeIDType,
30722    /// 交易日
30723    pub TradingDay: TThostFtdcDateType,
30724    /// 公告编号
30725    pub BulletinID: TThostFtdcBulletinIDType,
30726    /// 序列号
30727    pub SequenceNo: TThostFtdcSequenceNoType,
30728    /// 公告类型
30729    pub NewsType: TThostFtdcNewsTypeType,
30730    /// 紧急程度
30731    pub NewsUrgency: TThostFtdcNewsUrgencyType,
30732    /// 发送时间
30733    pub SendTime: TThostFtdcTimeType,
30734    /// 消息摘要
30735    pub Abstract: TThostFtdcAbstractType,
30736    /// 消息来源
30737    pub ComeFrom: TThostFtdcComeFromType,
30738    /// 消息正文
30739    pub Content: TThostFtdcContentType,
30740    /// WEB地址
30741    pub URLLink: TThostFtdcURLLinkType,
30742    /// 市场代码
30743    pub MarketID: TThostFtdcMarketIDType,
30744}
30745#[test]
30746fn bindgen_test_layout_CThostFtdcBulletinField() {
30747    assert_eq!(::std::mem::size_of::<CThostFtdcBulletinField>() , 876usize ,
30748               concat ! (
30749               "Size of: " , stringify ! ( CThostFtdcBulletinField ) ));
30750    assert_eq! (::std::mem::align_of::<CThostFtdcBulletinField>() , 4usize ,
30751                concat ! (
30752                "Alignment of " , stringify ! ( CThostFtdcBulletinField ) ));
30753    assert_eq! (unsafe {
30754                & ( * ( 0 as * const CThostFtdcBulletinField ) ) . ExchangeID
30755                as * const _ as usize } , 0usize , concat ! (
30756                "Alignment of field: " , stringify ! ( CThostFtdcBulletinField
30757                ) , "::" , stringify ! ( ExchangeID ) ));
30758    assert_eq! (unsafe {
30759                & ( * ( 0 as * const CThostFtdcBulletinField ) ) . TradingDay
30760                as * const _ as usize } , 9usize , concat ! (
30761                "Alignment of field: " , stringify ! ( CThostFtdcBulletinField
30762                ) , "::" , stringify ! ( TradingDay ) ));
30763    assert_eq! (unsafe {
30764                & ( * ( 0 as * const CThostFtdcBulletinField ) ) . BulletinID
30765                as * const _ as usize } , 20usize , concat ! (
30766                "Alignment of field: " , stringify ! ( CThostFtdcBulletinField
30767                ) , "::" , stringify ! ( BulletinID ) ));
30768    assert_eq! (unsafe {
30769                & ( * ( 0 as * const CThostFtdcBulletinField ) ) . SequenceNo
30770                as * const _ as usize } , 24usize , concat ! (
30771                "Alignment of field: " , stringify ! ( CThostFtdcBulletinField
30772                ) , "::" , stringify ! ( SequenceNo ) ));
30773    assert_eq! (unsafe {
30774                & ( * ( 0 as * const CThostFtdcBulletinField ) ) . NewsType as
30775                * const _ as usize } , 28usize , concat ! (
30776                "Alignment of field: " , stringify ! ( CThostFtdcBulletinField
30777                ) , "::" , stringify ! ( NewsType ) ));
30778    assert_eq! (unsafe {
30779                & ( * ( 0 as * const CThostFtdcBulletinField ) ) . NewsUrgency
30780                as * const _ as usize } , 31usize , concat ! (
30781                "Alignment of field: " , stringify ! ( CThostFtdcBulletinField
30782                ) , "::" , stringify ! ( NewsUrgency ) ));
30783    assert_eq! (unsafe {
30784                & ( * ( 0 as * const CThostFtdcBulletinField ) ) . SendTime as
30785                * const _ as usize } , 32usize , concat ! (
30786                "Alignment of field: " , stringify ! ( CThostFtdcBulletinField
30787                ) , "::" , stringify ! ( SendTime ) ));
30788    assert_eq! (unsafe {
30789                & ( * ( 0 as * const CThostFtdcBulletinField ) ) . Abstract as
30790                * const _ as usize } , 41usize , concat ! (
30791                "Alignment of field: " , stringify ! ( CThostFtdcBulletinField
30792                ) , "::" , stringify ! ( Abstract ) ));
30793    assert_eq! (unsafe {
30794                & ( * ( 0 as * const CThostFtdcBulletinField ) ) . ComeFrom as
30795                * const _ as usize } , 122usize , concat ! (
30796                "Alignment of field: " , stringify ! ( CThostFtdcBulletinField
30797                ) , "::" , stringify ! ( ComeFrom ) ));
30798    assert_eq! (unsafe {
30799                & ( * ( 0 as * const CThostFtdcBulletinField ) ) . Content as
30800                * const _ as usize } , 143usize , concat ! (
30801                "Alignment of field: " , stringify ! ( CThostFtdcBulletinField
30802                ) , "::" , stringify ! ( Content ) ));
30803    assert_eq! (unsafe {
30804                & ( * ( 0 as * const CThostFtdcBulletinField ) ) . URLLink as
30805                * const _ as usize } , 644usize , concat ! (
30806                "Alignment of field: " , stringify ! ( CThostFtdcBulletinField
30807                ) , "::" , stringify ! ( URLLink ) ));
30808    assert_eq! (unsafe {
30809                & ( * ( 0 as * const CThostFtdcBulletinField ) ) . MarketID as
30810                * const _ as usize } , 845usize , concat ! (
30811                "Alignment of field: " , stringify ! ( CThostFtdcBulletinField
30812                ) , "::" , stringify ! ( MarketID ) ));
30813}
30814impl Clone for CThostFtdcBulletinField {
30815    fn clone(&self) -> Self { *self }
30816}
30817impl Default for CThostFtdcBulletinField {
30818    fn default() -> Self { unsafe { ::std::mem::zeroed() } }
30819}
30820/// 查询交易所公告
30821#[repr(C)]
30822#[derive(Default, Copy)]
30823pub struct CThostFtdcQryBulletinField {
30824    /// 交易所代码
30825    pub ExchangeID: TThostFtdcExchangeIDType,
30826    /// 公告编号
30827    pub BulletinID: TThostFtdcBulletinIDType,
30828    /// 序列号
30829    pub SequenceNo: TThostFtdcSequenceNoType,
30830    /// 公告类型
30831    pub NewsType: TThostFtdcNewsTypeType,
30832    /// 紧急程度
30833    pub NewsUrgency: TThostFtdcNewsUrgencyType,
30834}
30835#[test]
30836fn bindgen_test_layout_CThostFtdcQryBulletinField() {
30837    assert_eq!(::std::mem::size_of::<CThostFtdcQryBulletinField>() , 24usize ,
30838               concat ! (
30839               "Size of: " , stringify ! ( CThostFtdcQryBulletinField ) ));
30840    assert_eq! (::std::mem::align_of::<CThostFtdcQryBulletinField>() , 4usize
30841                , concat ! (
30842                "Alignment of " , stringify ! ( CThostFtdcQryBulletinField )
30843                ));
30844    assert_eq! (unsafe {
30845                & ( * ( 0 as * const CThostFtdcQryBulletinField ) ) .
30846                ExchangeID as * const _ as usize } , 0usize , concat ! (
30847                "Alignment of field: " , stringify ! (
30848                CThostFtdcQryBulletinField ) , "::" , stringify ! ( ExchangeID
30849                ) ));
30850    assert_eq! (unsafe {
30851                & ( * ( 0 as * const CThostFtdcQryBulletinField ) ) .
30852                BulletinID as * const _ as usize } , 12usize , concat ! (
30853                "Alignment of field: " , stringify ! (
30854                CThostFtdcQryBulletinField ) , "::" , stringify ! ( BulletinID
30855                ) ));
30856    assert_eq! (unsafe {
30857                & ( * ( 0 as * const CThostFtdcQryBulletinField ) ) .
30858                SequenceNo as * const _ as usize } , 16usize , concat ! (
30859                "Alignment of field: " , stringify ! (
30860                CThostFtdcQryBulletinField ) , "::" , stringify ! ( SequenceNo
30861                ) ));
30862    assert_eq! (unsafe {
30863                & ( * ( 0 as * const CThostFtdcQryBulletinField ) ) . NewsType
30864                as * const _ as usize } , 20usize , concat ! (
30865                "Alignment of field: " , stringify ! (
30866                CThostFtdcQryBulletinField ) , "::" , stringify ! ( NewsType )
30867                ));
30868    assert_eq! (unsafe {
30869                & ( * ( 0 as * const CThostFtdcQryBulletinField ) ) .
30870                NewsUrgency as * const _ as usize } , 23usize , concat ! (
30871                "Alignment of field: " , stringify ! (
30872                CThostFtdcQryBulletinField ) , "::" , stringify ! (
30873                NewsUrgency ) ));
30874}
30875impl Clone for CThostFtdcQryBulletinField {
30876    fn clone(&self) -> Self { *self }
30877}
30878/// 转帐开户请求
30879#[repr(C)]
30880#[derive(Copy)]
30881pub struct CThostFtdcReqOpenAccountField {
30882    /// 业务功能码
30883    pub TradeCode: TThostFtdcTradeCodeType,
30884    /// 银行代码
30885    pub BankID: TThostFtdcBankIDType,
30886    /// 银行分支机构代码
30887    pub BankBranchID: TThostFtdcBankBrchIDType,
30888    /// 期商代码
30889    pub BrokerID: TThostFtdcBrokerIDType,
30890    /// 期商分支机构代码
30891    pub BrokerBranchID: TThostFtdcFutureBranchIDType,
30892    /// 交易日期
30893    pub TradeDate: TThostFtdcTradeDateType,
30894    /// 交易时间
30895    pub TradeTime: TThostFtdcTradeTimeType,
30896    /// 银行流水号
30897    pub BankSerial: TThostFtdcBankSerialType,
30898    /// 交易系统日期
30899    pub TradingDay: TThostFtdcTradeDateType,
30900    /// 银期平台消息流水号
30901    pub PlateSerial: TThostFtdcSerialType,
30902    /// 最后分片标志
30903    pub LastFragment: TThostFtdcLastFragmentType,
30904    /// 会话号
30905    pub SessionID: TThostFtdcSessionIDType,
30906    /// 客户姓名
30907    pub CustomerName: TThostFtdcIndividualNameType,
30908    /// 证件类型
30909    pub IdCardType: TThostFtdcIdCardTypeType,
30910    /// 证件号码
30911    pub IdentifiedCardNo: TThostFtdcIdentifiedCardNoType,
30912    /// 性别
30913    pub Gender: TThostFtdcGenderType,
30914    /// 国家代码
30915    pub CountryCode: TThostFtdcCountryCodeType,
30916    /// 客户类型
30917    pub CustType: TThostFtdcCustTypeType,
30918    /// 地址
30919    pub Address: TThostFtdcAddressType,
30920    /// 邮编
30921    pub ZipCode: TThostFtdcZipCodeType,
30922    /// 电话号码
30923    pub Telephone: TThostFtdcTelephoneType,
30924    /// 手机
30925    pub MobilePhone: TThostFtdcMobilePhoneType,
30926    /// 传真
30927    pub Fax: TThostFtdcFaxType,
30928    /// 电子邮件
30929    pub EMail: TThostFtdcEMailType,
30930    /// 资金账户状态
30931    pub MoneyAccountStatus: TThostFtdcMoneyAccountStatusType,
30932    /// 银行帐号
30933    pub BankAccount: TThostFtdcBankAccountType,
30934    /// 银行密码
30935    pub BankPassWord: TThostFtdcPasswordType,
30936    /// 投资者帐号
30937    pub AccountID: TThostFtdcAccountIDType,
30938    /// 期货密码
30939    pub Password: TThostFtdcPasswordType,
30940    /// 安装编号
30941    pub InstallID: TThostFtdcInstallIDType,
30942    /// 验证客户证件号码标志
30943    pub VerifyCertNoFlag: TThostFtdcYesNoIndicatorType,
30944    /// 币种代码
30945    pub CurrencyID: TThostFtdcCurrencyIDType,
30946    /// 汇钞标志
30947    pub CashExchangeCode: TThostFtdcCashExchangeCodeType,
30948    /// 摘要
30949    pub Digest: TThostFtdcDigestType,
30950    /// 银行帐号类型
30951    pub BankAccType: TThostFtdcBankAccTypeType,
30952    /// 渠道标志
30953    pub DeviceID: TThostFtdcDeviceIDType,
30954    /// 期货单位帐号类型
30955    pub BankSecuAccType: TThostFtdcBankAccTypeType,
30956    /// 期货公司银行编码
30957    pub BrokerIDByBank: TThostFtdcBankCodingForFutureType,
30958    /// 期货单位帐号
30959    pub BankSecuAcc: TThostFtdcBankAccountType,
30960    /// 银行密码标志
30961    pub BankPwdFlag: TThostFtdcPwdFlagType,
30962    /// 期货资金密码核对标志
30963    pub SecuPwdFlag: TThostFtdcPwdFlagType,
30964    /// 交易柜员
30965    pub OperNo: TThostFtdcOperNoType,
30966    /// 交易ID
30967    pub TID: TThostFtdcTIDType,
30968    /// 用户标识
30969    pub UserID: TThostFtdcUserIDType,
30970    /// 长客户姓名
30971    pub LongCustomerName: TThostFtdcLongIndividualNameType,
30972}
30973#[test]
30974fn bindgen_test_layout_CThostFtdcReqOpenAccountField() {
30975    assert_eq!(::std::mem::size_of::<CThostFtdcReqOpenAccountField>() ,
30976               956usize , concat ! (
30977               "Size of: " , stringify ! ( CThostFtdcReqOpenAccountField ) ));
30978    assert_eq! (::std::mem::align_of::<CThostFtdcReqOpenAccountField>() ,
30979                4usize , concat ! (
30980                "Alignment of " , stringify ! ( CThostFtdcReqOpenAccountField
30981                ) ));
30982    assert_eq! (unsafe {
30983                & ( * ( 0 as * const CThostFtdcReqOpenAccountField ) ) .
30984                TradeCode as * const _ as usize } , 0usize , concat ! (
30985                "Alignment of field: " , stringify ! (
30986                CThostFtdcReqOpenAccountField ) , "::" , stringify ! (
30987                TradeCode ) ));
30988    assert_eq! (unsafe {
30989                & ( * ( 0 as * const CThostFtdcReqOpenAccountField ) ) .
30990                BankID as * const _ as usize } , 7usize , concat ! (
30991                "Alignment of field: " , stringify ! (
30992                CThostFtdcReqOpenAccountField ) , "::" , stringify ! ( BankID
30993                ) ));
30994    assert_eq! (unsafe {
30995                & ( * ( 0 as * const CThostFtdcReqOpenAccountField ) ) .
30996                BankBranchID as * const _ as usize } , 11usize , concat ! (
30997                "Alignment of field: " , stringify ! (
30998                CThostFtdcReqOpenAccountField ) , "::" , stringify ! (
30999                BankBranchID ) ));
31000    assert_eq! (unsafe {
31001                & ( * ( 0 as * const CThostFtdcReqOpenAccountField ) ) .
31002                BrokerID as * const _ as usize } , 16usize , concat ! (
31003                "Alignment of field: " , stringify ! (
31004                CThostFtdcReqOpenAccountField ) , "::" , stringify ! (
31005                BrokerID ) ));
31006    assert_eq! (unsafe {
31007                & ( * ( 0 as * const CThostFtdcReqOpenAccountField ) ) .
31008                BrokerBranchID as * const _ as usize } , 27usize , concat ! (
31009                "Alignment of field: " , stringify ! (
31010                CThostFtdcReqOpenAccountField ) , "::" , stringify ! (
31011                BrokerBranchID ) ));
31012    assert_eq! (unsafe {
31013                & ( * ( 0 as * const CThostFtdcReqOpenAccountField ) ) .
31014                TradeDate as * const _ as usize } , 58usize , concat ! (
31015                "Alignment of field: " , stringify ! (
31016                CThostFtdcReqOpenAccountField ) , "::" , stringify ! (
31017                TradeDate ) ));
31018    assert_eq! (unsafe {
31019                & ( * ( 0 as * const CThostFtdcReqOpenAccountField ) ) .
31020                TradeTime as * const _ as usize } , 67usize , concat ! (
31021                "Alignment of field: " , stringify ! (
31022                CThostFtdcReqOpenAccountField ) , "::" , stringify ! (
31023                TradeTime ) ));
31024    assert_eq! (unsafe {
31025                & ( * ( 0 as * const CThostFtdcReqOpenAccountField ) ) .
31026                BankSerial as * const _ as usize } , 76usize , concat ! (
31027                "Alignment of field: " , stringify ! (
31028                CThostFtdcReqOpenAccountField ) , "::" , stringify ! (
31029                BankSerial ) ));
31030    assert_eq! (unsafe {
31031                & ( * ( 0 as * const CThostFtdcReqOpenAccountField ) ) .
31032                TradingDay as * const _ as usize } , 89usize , concat ! (
31033                "Alignment of field: " , stringify ! (
31034                CThostFtdcReqOpenAccountField ) , "::" , stringify ! (
31035                TradingDay ) ));
31036    assert_eq! (unsafe {
31037                & ( * ( 0 as * const CThostFtdcReqOpenAccountField ) ) .
31038                PlateSerial as * const _ as usize } , 100usize , concat ! (
31039                "Alignment of field: " , stringify ! (
31040                CThostFtdcReqOpenAccountField ) , "::" , stringify ! (
31041                PlateSerial ) ));
31042    assert_eq! (unsafe {
31043                & ( * ( 0 as * const CThostFtdcReqOpenAccountField ) ) .
31044                LastFragment as * const _ as usize } , 104usize , concat ! (
31045                "Alignment of field: " , stringify ! (
31046                CThostFtdcReqOpenAccountField ) , "::" , stringify ! (
31047                LastFragment ) ));
31048    assert_eq! (unsafe {
31049                & ( * ( 0 as * const CThostFtdcReqOpenAccountField ) ) .
31050                SessionID as * const _ as usize } , 108usize , concat ! (
31051                "Alignment of field: " , stringify ! (
31052                CThostFtdcReqOpenAccountField ) , "::" , stringify ! (
31053                SessionID ) ));
31054    assert_eq! (unsafe {
31055                & ( * ( 0 as * const CThostFtdcReqOpenAccountField ) ) .
31056                CustomerName as * const _ as usize } , 112usize , concat ! (
31057                "Alignment of field: " , stringify ! (
31058                CThostFtdcReqOpenAccountField ) , "::" , stringify ! (
31059                CustomerName ) ));
31060    assert_eq! (unsafe {
31061                & ( * ( 0 as * const CThostFtdcReqOpenAccountField ) ) .
31062                IdCardType as * const _ as usize } , 163usize , concat ! (
31063                "Alignment of field: " , stringify ! (
31064                CThostFtdcReqOpenAccountField ) , "::" , stringify ! (
31065                IdCardType ) ));
31066    assert_eq! (unsafe {
31067                & ( * ( 0 as * const CThostFtdcReqOpenAccountField ) ) .
31068                IdentifiedCardNo as * const _ as usize } , 164usize , concat !
31069                (
31070                "Alignment of field: " , stringify ! (
31071                CThostFtdcReqOpenAccountField ) , "::" , stringify ! (
31072                IdentifiedCardNo ) ));
31073    assert_eq! (unsafe {
31074                & ( * ( 0 as * const CThostFtdcReqOpenAccountField ) ) .
31075                Gender as * const _ as usize } , 215usize , concat ! (
31076                "Alignment of field: " , stringify ! (
31077                CThostFtdcReqOpenAccountField ) , "::" , stringify ! ( Gender
31078                ) ));
31079    assert_eq! (unsafe {
31080                & ( * ( 0 as * const CThostFtdcReqOpenAccountField ) ) .
31081                CountryCode as * const _ as usize } , 216usize , concat ! (
31082                "Alignment of field: " , stringify ! (
31083                CThostFtdcReqOpenAccountField ) , "::" , stringify ! (
31084                CountryCode ) ));
31085    assert_eq! (unsafe {
31086                & ( * ( 0 as * const CThostFtdcReqOpenAccountField ) ) .
31087                CustType as * const _ as usize } , 237usize , concat ! (
31088                "Alignment of field: " , stringify ! (
31089                CThostFtdcReqOpenAccountField ) , "::" , stringify ! (
31090                CustType ) ));
31091    assert_eq! (unsafe {
31092                & ( * ( 0 as * const CThostFtdcReqOpenAccountField ) ) .
31093                Address as * const _ as usize } , 238usize , concat ! (
31094                "Alignment of field: " , stringify ! (
31095                CThostFtdcReqOpenAccountField ) , "::" , stringify ! ( Address
31096                ) ));
31097    assert_eq! (unsafe {
31098                & ( * ( 0 as * const CThostFtdcReqOpenAccountField ) ) .
31099                ZipCode as * const _ as usize } , 339usize , concat ! (
31100                "Alignment of field: " , stringify ! (
31101                CThostFtdcReqOpenAccountField ) , "::" , stringify ! ( ZipCode
31102                ) ));
31103    assert_eq! (unsafe {
31104                & ( * ( 0 as * const CThostFtdcReqOpenAccountField ) ) .
31105                Telephone as * const _ as usize } , 346usize , concat ! (
31106                "Alignment of field: " , stringify ! (
31107                CThostFtdcReqOpenAccountField ) , "::" , stringify ! (
31108                Telephone ) ));
31109    assert_eq! (unsafe {
31110                & ( * ( 0 as * const CThostFtdcReqOpenAccountField ) ) .
31111                MobilePhone as * const _ as usize } , 387usize , concat ! (
31112                "Alignment of field: " , stringify ! (
31113                CThostFtdcReqOpenAccountField ) , "::" , stringify ! (
31114                MobilePhone ) ));
31115    assert_eq! (unsafe {
31116                & ( * ( 0 as * const CThostFtdcReqOpenAccountField ) ) . Fax
31117                as * const _ as usize } , 408usize , concat ! (
31118                "Alignment of field: " , stringify ! (
31119                CThostFtdcReqOpenAccountField ) , "::" , stringify ! ( Fax )
31120                ));
31121    assert_eq! (unsafe {
31122                & ( * ( 0 as * const CThostFtdcReqOpenAccountField ) ) . EMail
31123                as * const _ as usize } , 449usize , concat ! (
31124                "Alignment of field: " , stringify ! (
31125                CThostFtdcReqOpenAccountField ) , "::" , stringify ! ( EMail )
31126                ));
31127    assert_eq! (unsafe {
31128                & ( * ( 0 as * const CThostFtdcReqOpenAccountField ) ) .
31129                MoneyAccountStatus as * const _ as usize } , 490usize , concat
31130                ! (
31131                "Alignment of field: " , stringify ! (
31132                CThostFtdcReqOpenAccountField ) , "::" , stringify ! (
31133                MoneyAccountStatus ) ));
31134    assert_eq! (unsafe {
31135                & ( * ( 0 as * const CThostFtdcReqOpenAccountField ) ) .
31136                BankAccount as * const _ as usize } , 491usize , concat ! (
31137                "Alignment of field: " , stringify ! (
31138                CThostFtdcReqOpenAccountField ) , "::" , stringify ! (
31139                BankAccount ) ));
31140    assert_eq! (unsafe {
31141                & ( * ( 0 as * const CThostFtdcReqOpenAccountField ) ) .
31142                BankPassWord as * const _ as usize } , 532usize , concat ! (
31143                "Alignment of field: " , stringify ! (
31144                CThostFtdcReqOpenAccountField ) , "::" , stringify ! (
31145                BankPassWord ) ));
31146    assert_eq! (unsafe {
31147                & ( * ( 0 as * const CThostFtdcReqOpenAccountField ) ) .
31148                AccountID as * const _ as usize } , 573usize , concat ! (
31149                "Alignment of field: " , stringify ! (
31150                CThostFtdcReqOpenAccountField ) , "::" , stringify ! (
31151                AccountID ) ));
31152    assert_eq! (unsafe {
31153                & ( * ( 0 as * const CThostFtdcReqOpenAccountField ) ) .
31154                Password as * const _ as usize } , 586usize , concat ! (
31155                "Alignment of field: " , stringify ! (
31156                CThostFtdcReqOpenAccountField ) , "::" , stringify ! (
31157                Password ) ));
31158    assert_eq! (unsafe {
31159                & ( * ( 0 as * const CThostFtdcReqOpenAccountField ) ) .
31160                InstallID as * const _ as usize } , 628usize , concat ! (
31161                "Alignment of field: " , stringify ! (
31162                CThostFtdcReqOpenAccountField ) , "::" , stringify ! (
31163                InstallID ) ));
31164    assert_eq! (unsafe {
31165                & ( * ( 0 as * const CThostFtdcReqOpenAccountField ) ) .
31166                VerifyCertNoFlag as * const _ as usize } , 632usize , concat !
31167                (
31168                "Alignment of field: " , stringify ! (
31169                CThostFtdcReqOpenAccountField ) , "::" , stringify ! (
31170                VerifyCertNoFlag ) ));
31171    assert_eq! (unsafe {
31172                & ( * ( 0 as * const CThostFtdcReqOpenAccountField ) ) .
31173                CurrencyID as * const _ as usize } , 633usize , concat ! (
31174                "Alignment of field: " , stringify ! (
31175                CThostFtdcReqOpenAccountField ) , "::" , stringify ! (
31176                CurrencyID ) ));
31177    assert_eq! (unsafe {
31178                & ( * ( 0 as * const CThostFtdcReqOpenAccountField ) ) .
31179                CashExchangeCode as * const _ as usize } , 637usize , concat !
31180                (
31181                "Alignment of field: " , stringify ! (
31182                CThostFtdcReqOpenAccountField ) , "::" , stringify ! (
31183                CashExchangeCode ) ));
31184    assert_eq! (unsafe {
31185                & ( * ( 0 as * const CThostFtdcReqOpenAccountField ) ) .
31186                Digest as * const _ as usize } , 638usize , concat ! (
31187                "Alignment of field: " , stringify ! (
31188                CThostFtdcReqOpenAccountField ) , "::" , stringify ! ( Digest
31189                ) ));
31190    assert_eq! (unsafe {
31191                & ( * ( 0 as * const CThostFtdcReqOpenAccountField ) ) .
31192                BankAccType as * const _ as usize } , 674usize , concat ! (
31193                "Alignment of field: " , stringify ! (
31194                CThostFtdcReqOpenAccountField ) , "::" , stringify ! (
31195                BankAccType ) ));
31196    assert_eq! (unsafe {
31197                & ( * ( 0 as * const CThostFtdcReqOpenAccountField ) ) .
31198                DeviceID as * const _ as usize } , 675usize , concat ! (
31199                "Alignment of field: " , stringify ! (
31200                CThostFtdcReqOpenAccountField ) , "::" , stringify ! (
31201                DeviceID ) ));
31202    assert_eq! (unsafe {
31203                & ( * ( 0 as * const CThostFtdcReqOpenAccountField ) ) .
31204                BankSecuAccType as * const _ as usize } , 678usize , concat !
31205                (
31206                "Alignment of field: " , stringify ! (
31207                CThostFtdcReqOpenAccountField ) , "::" , stringify ! (
31208                BankSecuAccType ) ));
31209    assert_eq! (unsafe {
31210                & ( * ( 0 as * const CThostFtdcReqOpenAccountField ) ) .
31211                BrokerIDByBank as * const _ as usize } , 679usize , concat ! (
31212                "Alignment of field: " , stringify ! (
31213                CThostFtdcReqOpenAccountField ) , "::" , stringify ! (
31214                BrokerIDByBank ) ));
31215    assert_eq! (unsafe {
31216                & ( * ( 0 as * const CThostFtdcReqOpenAccountField ) ) .
31217                BankSecuAcc as * const _ as usize } , 712usize , concat ! (
31218                "Alignment of field: " , stringify ! (
31219                CThostFtdcReqOpenAccountField ) , "::" , stringify ! (
31220                BankSecuAcc ) ));
31221    assert_eq! (unsafe {
31222                & ( * ( 0 as * const CThostFtdcReqOpenAccountField ) ) .
31223                BankPwdFlag as * const _ as usize } , 753usize , concat ! (
31224                "Alignment of field: " , stringify ! (
31225                CThostFtdcReqOpenAccountField ) , "::" , stringify ! (
31226                BankPwdFlag ) ));
31227    assert_eq! (unsafe {
31228                & ( * ( 0 as * const CThostFtdcReqOpenAccountField ) ) .
31229                SecuPwdFlag as * const _ as usize } , 754usize , concat ! (
31230                "Alignment of field: " , stringify ! (
31231                CThostFtdcReqOpenAccountField ) , "::" , stringify ! (
31232                SecuPwdFlag ) ));
31233    assert_eq! (unsafe {
31234                & ( * ( 0 as * const CThostFtdcReqOpenAccountField ) ) .
31235                OperNo as * const _ as usize } , 755usize , concat ! (
31236                "Alignment of field: " , stringify ! (
31237                CThostFtdcReqOpenAccountField ) , "::" , stringify ! ( OperNo
31238                ) ));
31239    assert_eq! (unsafe {
31240                & ( * ( 0 as * const CThostFtdcReqOpenAccountField ) ) . TID
31241                as * const _ as usize } , 772usize , concat ! (
31242                "Alignment of field: " , stringify ! (
31243                CThostFtdcReqOpenAccountField ) , "::" , stringify ! ( TID )
31244                ));
31245    assert_eq! (unsafe {
31246                & ( * ( 0 as * const CThostFtdcReqOpenAccountField ) ) .
31247                UserID as * const _ as usize } , 776usize , concat ! (
31248                "Alignment of field: " , stringify ! (
31249                CThostFtdcReqOpenAccountField ) , "::" , stringify ! ( UserID
31250                ) ));
31251    assert_eq! (unsafe {
31252                & ( * ( 0 as * const CThostFtdcReqOpenAccountField ) ) .
31253                LongCustomerName as * const _ as usize } , 792usize , concat !
31254                (
31255                "Alignment of field: " , stringify ! (
31256                CThostFtdcReqOpenAccountField ) , "::" , stringify ! (
31257                LongCustomerName ) ));
31258}
31259impl Clone for CThostFtdcReqOpenAccountField {
31260    fn clone(&self) -> Self { *self }
31261}
31262impl Default for CThostFtdcReqOpenAccountField {
31263    fn default() -> Self { unsafe { ::std::mem::zeroed() } }
31264}
31265/// 转帐销户请求
31266#[repr(C)]
31267#[derive(Copy)]
31268pub struct CThostFtdcReqCancelAccountField {
31269    /// 业务功能码
31270    pub TradeCode: TThostFtdcTradeCodeType,
31271    /// 银行代码
31272    pub BankID: TThostFtdcBankIDType,
31273    /// 银行分支机构代码
31274    pub BankBranchID: TThostFtdcBankBrchIDType,
31275    /// 期商代码
31276    pub BrokerID: TThostFtdcBrokerIDType,
31277    /// 期商分支机构代码
31278    pub BrokerBranchID: TThostFtdcFutureBranchIDType,
31279    /// 交易日期
31280    pub TradeDate: TThostFtdcTradeDateType,
31281    /// 交易时间
31282    pub TradeTime: TThostFtdcTradeTimeType,
31283    /// 银行流水号
31284    pub BankSerial: TThostFtdcBankSerialType,
31285    /// 交易系统日期
31286    pub TradingDay: TThostFtdcTradeDateType,
31287    /// 银期平台消息流水号
31288    pub PlateSerial: TThostFtdcSerialType,
31289    /// 最后分片标志
31290    pub LastFragment: TThostFtdcLastFragmentType,
31291    /// 会话号
31292    pub SessionID: TThostFtdcSessionIDType,
31293    /// 客户姓名
31294    pub CustomerName: TThostFtdcIndividualNameType,
31295    /// 证件类型
31296    pub IdCardType: TThostFtdcIdCardTypeType,
31297    /// 证件号码
31298    pub IdentifiedCardNo: TThostFtdcIdentifiedCardNoType,
31299    /// 性别
31300    pub Gender: TThostFtdcGenderType,
31301    /// 国家代码
31302    pub CountryCode: TThostFtdcCountryCodeType,
31303    /// 客户类型
31304    pub CustType: TThostFtdcCustTypeType,
31305    /// 地址
31306    pub Address: TThostFtdcAddressType,
31307    /// 邮编
31308    pub ZipCode: TThostFtdcZipCodeType,
31309    /// 电话号码
31310    pub Telephone: TThostFtdcTelephoneType,
31311    /// 手机
31312    pub MobilePhone: TThostFtdcMobilePhoneType,
31313    /// 传真
31314    pub Fax: TThostFtdcFaxType,
31315    /// 电子邮件
31316    pub EMail: TThostFtdcEMailType,
31317    /// 资金账户状态
31318    pub MoneyAccountStatus: TThostFtdcMoneyAccountStatusType,
31319    /// 银行帐号
31320    pub BankAccount: TThostFtdcBankAccountType,
31321    /// 银行密码
31322    pub BankPassWord: TThostFtdcPasswordType,
31323    /// 投资者帐号
31324    pub AccountID: TThostFtdcAccountIDType,
31325    /// 期货密码
31326    pub Password: TThostFtdcPasswordType,
31327    /// 安装编号
31328    pub InstallID: TThostFtdcInstallIDType,
31329    /// 验证客户证件号码标志
31330    pub VerifyCertNoFlag: TThostFtdcYesNoIndicatorType,
31331    /// 币种代码
31332    pub CurrencyID: TThostFtdcCurrencyIDType,
31333    /// 汇钞标志
31334    pub CashExchangeCode: TThostFtdcCashExchangeCodeType,
31335    /// 摘要
31336    pub Digest: TThostFtdcDigestType,
31337    /// 银行帐号类型
31338    pub BankAccType: TThostFtdcBankAccTypeType,
31339    /// 渠道标志
31340    pub DeviceID: TThostFtdcDeviceIDType,
31341    /// 期货单位帐号类型
31342    pub BankSecuAccType: TThostFtdcBankAccTypeType,
31343    /// 期货公司银行编码
31344    pub BrokerIDByBank: TThostFtdcBankCodingForFutureType,
31345    /// 期货单位帐号
31346    pub BankSecuAcc: TThostFtdcBankAccountType,
31347    /// 银行密码标志
31348    pub BankPwdFlag: TThostFtdcPwdFlagType,
31349    /// 期货资金密码核对标志
31350    pub SecuPwdFlag: TThostFtdcPwdFlagType,
31351    /// 交易柜员
31352    pub OperNo: TThostFtdcOperNoType,
31353    /// 交易ID
31354    pub TID: TThostFtdcTIDType,
31355    /// 用户标识
31356    pub UserID: TThostFtdcUserIDType,
31357    /// 长客户姓名
31358    pub LongCustomerName: TThostFtdcLongIndividualNameType,
31359}
31360#[test]
31361fn bindgen_test_layout_CThostFtdcReqCancelAccountField() {
31362    assert_eq!(::std::mem::size_of::<CThostFtdcReqCancelAccountField>() ,
31363               956usize , concat ! (
31364               "Size of: " , stringify ! ( CThostFtdcReqCancelAccountField )
31365               ));
31366    assert_eq! (::std::mem::align_of::<CThostFtdcReqCancelAccountField>() ,
31367                4usize , concat ! (
31368                "Alignment of " , stringify ! (
31369                CThostFtdcReqCancelAccountField ) ));
31370    assert_eq! (unsafe {
31371                & ( * ( 0 as * const CThostFtdcReqCancelAccountField ) ) .
31372                TradeCode as * const _ as usize } , 0usize , concat ! (
31373                "Alignment of field: " , stringify ! (
31374                CThostFtdcReqCancelAccountField ) , "::" , stringify ! (
31375                TradeCode ) ));
31376    assert_eq! (unsafe {
31377                & ( * ( 0 as * const CThostFtdcReqCancelAccountField ) ) .
31378                BankID as * const _ as usize } , 7usize , concat ! (
31379                "Alignment of field: " , stringify ! (
31380                CThostFtdcReqCancelAccountField ) , "::" , stringify ! (
31381                BankID ) ));
31382    assert_eq! (unsafe {
31383                & ( * ( 0 as * const CThostFtdcReqCancelAccountField ) ) .
31384                BankBranchID as * const _ as usize } , 11usize , concat ! (
31385                "Alignment of field: " , stringify ! (
31386                CThostFtdcReqCancelAccountField ) , "::" , stringify ! (
31387                BankBranchID ) ));
31388    assert_eq! (unsafe {
31389                & ( * ( 0 as * const CThostFtdcReqCancelAccountField ) ) .
31390                BrokerID as * const _ as usize } , 16usize , concat ! (
31391                "Alignment of field: " , stringify ! (
31392                CThostFtdcReqCancelAccountField ) , "::" , stringify ! (
31393                BrokerID ) ));
31394    assert_eq! (unsafe {
31395                & ( * ( 0 as * const CThostFtdcReqCancelAccountField ) ) .
31396                BrokerBranchID as * const _ as usize } , 27usize , concat ! (
31397                "Alignment of field: " , stringify ! (
31398                CThostFtdcReqCancelAccountField ) , "::" , stringify ! (
31399                BrokerBranchID ) ));
31400    assert_eq! (unsafe {
31401                & ( * ( 0 as * const CThostFtdcReqCancelAccountField ) ) .
31402                TradeDate as * const _ as usize } , 58usize , concat ! (
31403                "Alignment of field: " , stringify ! (
31404                CThostFtdcReqCancelAccountField ) , "::" , stringify ! (
31405                TradeDate ) ));
31406    assert_eq! (unsafe {
31407                & ( * ( 0 as * const CThostFtdcReqCancelAccountField ) ) .
31408                TradeTime as * const _ as usize } , 67usize , concat ! (
31409                "Alignment of field: " , stringify ! (
31410                CThostFtdcReqCancelAccountField ) , "::" , stringify ! (
31411                TradeTime ) ));
31412    assert_eq! (unsafe {
31413                & ( * ( 0 as * const CThostFtdcReqCancelAccountField ) ) .
31414                BankSerial as * const _ as usize } , 76usize , concat ! (
31415                "Alignment of field: " , stringify ! (
31416                CThostFtdcReqCancelAccountField ) , "::" , stringify ! (
31417                BankSerial ) ));
31418    assert_eq! (unsafe {
31419                & ( * ( 0 as * const CThostFtdcReqCancelAccountField ) ) .
31420                TradingDay as * const _ as usize } , 89usize , concat ! (
31421                "Alignment of field: " , stringify ! (
31422                CThostFtdcReqCancelAccountField ) , "::" , stringify ! (
31423                TradingDay ) ));
31424    assert_eq! (unsafe {
31425                & ( * ( 0 as * const CThostFtdcReqCancelAccountField ) ) .
31426                PlateSerial as * const _ as usize } , 100usize , concat ! (
31427                "Alignment of field: " , stringify ! (
31428                CThostFtdcReqCancelAccountField ) , "::" , stringify ! (
31429                PlateSerial ) ));
31430    assert_eq! (unsafe {
31431                & ( * ( 0 as * const CThostFtdcReqCancelAccountField ) ) .
31432                LastFragment as * const _ as usize } , 104usize , concat ! (
31433                "Alignment of field: " , stringify ! (
31434                CThostFtdcReqCancelAccountField ) , "::" , stringify ! (
31435                LastFragment ) ));
31436    assert_eq! (unsafe {
31437                & ( * ( 0 as * const CThostFtdcReqCancelAccountField ) ) .
31438                SessionID as * const _ as usize } , 108usize , concat ! (
31439                "Alignment of field: " , stringify ! (
31440                CThostFtdcReqCancelAccountField ) , "::" , stringify ! (
31441                SessionID ) ));
31442    assert_eq! (unsafe {
31443                & ( * ( 0 as * const CThostFtdcReqCancelAccountField ) ) .
31444                CustomerName as * const _ as usize } , 112usize , concat ! (
31445                "Alignment of field: " , stringify ! (
31446                CThostFtdcReqCancelAccountField ) , "::" , stringify ! (
31447                CustomerName ) ));
31448    assert_eq! (unsafe {
31449                & ( * ( 0 as * const CThostFtdcReqCancelAccountField ) ) .
31450                IdCardType as * const _ as usize } , 163usize , concat ! (
31451                "Alignment of field: " , stringify ! (
31452                CThostFtdcReqCancelAccountField ) , "::" , stringify ! (
31453                IdCardType ) ));
31454    assert_eq! (unsafe {
31455                & ( * ( 0 as * const CThostFtdcReqCancelAccountField ) ) .
31456                IdentifiedCardNo as * const _ as usize } , 164usize , concat !
31457                (
31458                "Alignment of field: " , stringify ! (
31459                CThostFtdcReqCancelAccountField ) , "::" , stringify ! (
31460                IdentifiedCardNo ) ));
31461    assert_eq! (unsafe {
31462                & ( * ( 0 as * const CThostFtdcReqCancelAccountField ) ) .
31463                Gender as * const _ as usize } , 215usize , concat ! (
31464                "Alignment of field: " , stringify ! (
31465                CThostFtdcReqCancelAccountField ) , "::" , stringify ! (
31466                Gender ) ));
31467    assert_eq! (unsafe {
31468                & ( * ( 0 as * const CThostFtdcReqCancelAccountField ) ) .
31469                CountryCode as * const _ as usize } , 216usize , concat ! (
31470                "Alignment of field: " , stringify ! (
31471                CThostFtdcReqCancelAccountField ) , "::" , stringify ! (
31472                CountryCode ) ));
31473    assert_eq! (unsafe {
31474                & ( * ( 0 as * const CThostFtdcReqCancelAccountField ) ) .
31475                CustType as * const _ as usize } , 237usize , concat ! (
31476                "Alignment of field: " , stringify ! (
31477                CThostFtdcReqCancelAccountField ) , "::" , stringify ! (
31478                CustType ) ));
31479    assert_eq! (unsafe {
31480                & ( * ( 0 as * const CThostFtdcReqCancelAccountField ) ) .
31481                Address as * const _ as usize } , 238usize , concat ! (
31482                "Alignment of field: " , stringify ! (
31483                CThostFtdcReqCancelAccountField ) , "::" , stringify ! (
31484                Address ) ));
31485    assert_eq! (unsafe {
31486                & ( * ( 0 as * const CThostFtdcReqCancelAccountField ) ) .
31487                ZipCode as * const _ as usize } , 339usize , concat ! (
31488                "Alignment of field: " , stringify ! (
31489                CThostFtdcReqCancelAccountField ) , "::" , stringify ! (
31490                ZipCode ) ));
31491    assert_eq! (unsafe {
31492                & ( * ( 0 as * const CThostFtdcReqCancelAccountField ) ) .
31493                Telephone as * const _ as usize } , 346usize , concat ! (
31494                "Alignment of field: " , stringify ! (
31495                CThostFtdcReqCancelAccountField ) , "::" , stringify ! (
31496                Telephone ) ));
31497    assert_eq! (unsafe {
31498                & ( * ( 0 as * const CThostFtdcReqCancelAccountField ) ) .
31499                MobilePhone as * const _ as usize } , 387usize , concat ! (
31500                "Alignment of field: " , stringify ! (
31501                CThostFtdcReqCancelAccountField ) , "::" , stringify ! (
31502                MobilePhone ) ));
31503    assert_eq! (unsafe {
31504                & ( * ( 0 as * const CThostFtdcReqCancelAccountField ) ) . Fax
31505                as * const _ as usize } , 408usize , concat ! (
31506                "Alignment of field: " , stringify ! (
31507                CThostFtdcReqCancelAccountField ) , "::" , stringify ! ( Fax )
31508                ));
31509    assert_eq! (unsafe {
31510                & ( * ( 0 as * const CThostFtdcReqCancelAccountField ) ) .
31511                EMail as * const _ as usize } , 449usize , concat ! (
31512                "Alignment of field: " , stringify ! (
31513                CThostFtdcReqCancelAccountField ) , "::" , stringify ! ( EMail
31514                ) ));
31515    assert_eq! (unsafe {
31516                & ( * ( 0 as * const CThostFtdcReqCancelAccountField ) ) .
31517                MoneyAccountStatus as * const _ as usize } , 490usize , concat
31518                ! (
31519                "Alignment of field: " , stringify ! (
31520                CThostFtdcReqCancelAccountField ) , "::" , stringify ! (
31521                MoneyAccountStatus ) ));
31522    assert_eq! (unsafe {
31523                & ( * ( 0 as * const CThostFtdcReqCancelAccountField ) ) .
31524                BankAccount as * const _ as usize } , 491usize , concat ! (
31525                "Alignment of field: " , stringify ! (
31526                CThostFtdcReqCancelAccountField ) , "::" , stringify ! (
31527                BankAccount ) ));
31528    assert_eq! (unsafe {
31529                & ( * ( 0 as * const CThostFtdcReqCancelAccountField ) ) .
31530                BankPassWord as * const _ as usize } , 532usize , concat ! (
31531                "Alignment of field: " , stringify ! (
31532                CThostFtdcReqCancelAccountField ) , "::" , stringify ! (
31533                BankPassWord ) ));
31534    assert_eq! (unsafe {
31535                & ( * ( 0 as * const CThostFtdcReqCancelAccountField ) ) .
31536                AccountID as * const _ as usize } , 573usize , concat ! (
31537                "Alignment of field: " , stringify ! (
31538                CThostFtdcReqCancelAccountField ) , "::" , stringify ! (
31539                AccountID ) ));
31540    assert_eq! (unsafe {
31541                & ( * ( 0 as * const CThostFtdcReqCancelAccountField ) ) .
31542                Password as * const _ as usize } , 586usize , concat ! (
31543                "Alignment of field: " , stringify ! (
31544                CThostFtdcReqCancelAccountField ) , "::" , stringify ! (
31545                Password ) ));
31546    assert_eq! (unsafe {
31547                & ( * ( 0 as * const CThostFtdcReqCancelAccountField ) ) .
31548                InstallID as * const _ as usize } , 628usize , concat ! (
31549                "Alignment of field: " , stringify ! (
31550                CThostFtdcReqCancelAccountField ) , "::" , stringify ! (
31551                InstallID ) ));
31552    assert_eq! (unsafe {
31553                & ( * ( 0 as * const CThostFtdcReqCancelAccountField ) ) .
31554                VerifyCertNoFlag as * const _ as usize } , 632usize , concat !
31555                (
31556                "Alignment of field: " , stringify ! (
31557                CThostFtdcReqCancelAccountField ) , "::" , stringify ! (
31558                VerifyCertNoFlag ) ));
31559    assert_eq! (unsafe {
31560                & ( * ( 0 as * const CThostFtdcReqCancelAccountField ) ) .
31561                CurrencyID as * const _ as usize } , 633usize , concat ! (
31562                "Alignment of field: " , stringify ! (
31563                CThostFtdcReqCancelAccountField ) , "::" , stringify ! (
31564                CurrencyID ) ));
31565    assert_eq! (unsafe {
31566                & ( * ( 0 as * const CThostFtdcReqCancelAccountField ) ) .
31567                CashExchangeCode as * const _ as usize } , 637usize , concat !
31568                (
31569                "Alignment of field: " , stringify ! (
31570                CThostFtdcReqCancelAccountField ) , "::" , stringify ! (
31571                CashExchangeCode ) ));
31572    assert_eq! (unsafe {
31573                & ( * ( 0 as * const CThostFtdcReqCancelAccountField ) ) .
31574                Digest as * const _ as usize } , 638usize , concat ! (
31575                "Alignment of field: " , stringify ! (
31576                CThostFtdcReqCancelAccountField ) , "::" , stringify ! (
31577                Digest ) ));
31578    assert_eq! (unsafe {
31579                & ( * ( 0 as * const CThostFtdcReqCancelAccountField ) ) .
31580                BankAccType as * const _ as usize } , 674usize , concat ! (
31581                "Alignment of field: " , stringify ! (
31582                CThostFtdcReqCancelAccountField ) , "::" , stringify ! (
31583                BankAccType ) ));
31584    assert_eq! (unsafe {
31585                & ( * ( 0 as * const CThostFtdcReqCancelAccountField ) ) .
31586                DeviceID as * const _ as usize } , 675usize , concat ! (
31587                "Alignment of field: " , stringify ! (
31588                CThostFtdcReqCancelAccountField ) , "::" , stringify ! (
31589                DeviceID ) ));
31590    assert_eq! (unsafe {
31591                & ( * ( 0 as * const CThostFtdcReqCancelAccountField ) ) .
31592                BankSecuAccType as * const _ as usize } , 678usize , concat !
31593                (
31594                "Alignment of field: " , stringify ! (
31595                CThostFtdcReqCancelAccountField ) , "::" , stringify ! (
31596                BankSecuAccType ) ));
31597    assert_eq! (unsafe {
31598                & ( * ( 0 as * const CThostFtdcReqCancelAccountField ) ) .
31599                BrokerIDByBank as * const _ as usize } , 679usize , concat ! (
31600                "Alignment of field: " , stringify ! (
31601                CThostFtdcReqCancelAccountField ) , "::" , stringify ! (
31602                BrokerIDByBank ) ));
31603    assert_eq! (unsafe {
31604                & ( * ( 0 as * const CThostFtdcReqCancelAccountField ) ) .
31605                BankSecuAcc as * const _ as usize } , 712usize , concat ! (
31606                "Alignment of field: " , stringify ! (
31607                CThostFtdcReqCancelAccountField ) , "::" , stringify ! (
31608                BankSecuAcc ) ));
31609    assert_eq! (unsafe {
31610                & ( * ( 0 as * const CThostFtdcReqCancelAccountField ) ) .
31611                BankPwdFlag as * const _ as usize } , 753usize , concat ! (
31612                "Alignment of field: " , stringify ! (
31613                CThostFtdcReqCancelAccountField ) , "::" , stringify ! (
31614                BankPwdFlag ) ));
31615    assert_eq! (unsafe {
31616                & ( * ( 0 as * const CThostFtdcReqCancelAccountField ) ) .
31617                SecuPwdFlag as * const _ as usize } , 754usize , concat ! (
31618                "Alignment of field: " , stringify ! (
31619                CThostFtdcReqCancelAccountField ) , "::" , stringify ! (
31620                SecuPwdFlag ) ));
31621    assert_eq! (unsafe {
31622                & ( * ( 0 as * const CThostFtdcReqCancelAccountField ) ) .
31623                OperNo as * const _ as usize } , 755usize , concat ! (
31624                "Alignment of field: " , stringify ! (
31625                CThostFtdcReqCancelAccountField ) , "::" , stringify ! (
31626                OperNo ) ));
31627    assert_eq! (unsafe {
31628                & ( * ( 0 as * const CThostFtdcReqCancelAccountField ) ) . TID
31629                as * const _ as usize } , 772usize , concat ! (
31630                "Alignment of field: " , stringify ! (
31631                CThostFtdcReqCancelAccountField ) , "::" , stringify ! ( TID )
31632                ));
31633    assert_eq! (unsafe {
31634                & ( * ( 0 as * const CThostFtdcReqCancelAccountField ) ) .
31635                UserID as * const _ as usize } , 776usize , concat ! (
31636                "Alignment of field: " , stringify ! (
31637                CThostFtdcReqCancelAccountField ) , "::" , stringify ! (
31638                UserID ) ));
31639    assert_eq! (unsafe {
31640                & ( * ( 0 as * const CThostFtdcReqCancelAccountField ) ) .
31641                LongCustomerName as * const _ as usize } , 792usize , concat !
31642                (
31643                "Alignment of field: " , stringify ! (
31644                CThostFtdcReqCancelAccountField ) , "::" , stringify ! (
31645                LongCustomerName ) ));
31646}
31647impl Clone for CThostFtdcReqCancelAccountField {
31648    fn clone(&self) -> Self { *self }
31649}
31650impl Default for CThostFtdcReqCancelAccountField {
31651    fn default() -> Self { unsafe { ::std::mem::zeroed() } }
31652}
31653/// 变更银行账户请求
31654#[repr(C)]
31655#[derive(Copy)]
31656pub struct CThostFtdcReqChangeAccountField {
31657    /// 业务功能码
31658    pub TradeCode: TThostFtdcTradeCodeType,
31659    /// 银行代码
31660    pub BankID: TThostFtdcBankIDType,
31661    /// 银行分支机构代码
31662    pub BankBranchID: TThostFtdcBankBrchIDType,
31663    /// 期商代码
31664    pub BrokerID: TThostFtdcBrokerIDType,
31665    /// 期商分支机构代码
31666    pub BrokerBranchID: TThostFtdcFutureBranchIDType,
31667    /// 交易日期
31668    pub TradeDate: TThostFtdcTradeDateType,
31669    /// 交易时间
31670    pub TradeTime: TThostFtdcTradeTimeType,
31671    /// 银行流水号
31672    pub BankSerial: TThostFtdcBankSerialType,
31673    /// 交易系统日期
31674    pub TradingDay: TThostFtdcTradeDateType,
31675    /// 银期平台消息流水号
31676    pub PlateSerial: TThostFtdcSerialType,
31677    /// 最后分片标志
31678    pub LastFragment: TThostFtdcLastFragmentType,
31679    /// 会话号
31680    pub SessionID: TThostFtdcSessionIDType,
31681    /// 客户姓名
31682    pub CustomerName: TThostFtdcIndividualNameType,
31683    /// 证件类型
31684    pub IdCardType: TThostFtdcIdCardTypeType,
31685    /// 证件号码
31686    pub IdentifiedCardNo: TThostFtdcIdentifiedCardNoType,
31687    /// 性别
31688    pub Gender: TThostFtdcGenderType,
31689    /// 国家代码
31690    pub CountryCode: TThostFtdcCountryCodeType,
31691    /// 客户类型
31692    pub CustType: TThostFtdcCustTypeType,
31693    /// 地址
31694    pub Address: TThostFtdcAddressType,
31695    /// 邮编
31696    pub ZipCode: TThostFtdcZipCodeType,
31697    /// 电话号码
31698    pub Telephone: TThostFtdcTelephoneType,
31699    /// 手机
31700    pub MobilePhone: TThostFtdcMobilePhoneType,
31701    /// 传真
31702    pub Fax: TThostFtdcFaxType,
31703    /// 电子邮件
31704    pub EMail: TThostFtdcEMailType,
31705    /// 资金账户状态
31706    pub MoneyAccountStatus: TThostFtdcMoneyAccountStatusType,
31707    /// 银行帐号
31708    pub BankAccount: TThostFtdcBankAccountType,
31709    /// 银行密码
31710    pub BankPassWord: TThostFtdcPasswordType,
31711    /// 新银行帐号
31712    pub NewBankAccount: TThostFtdcBankAccountType,
31713    /// 新银行密码
31714    pub NewBankPassWord: TThostFtdcPasswordType,
31715    /// 投资者帐号
31716    pub AccountID: TThostFtdcAccountIDType,
31717    /// 期货密码
31718    pub Password: TThostFtdcPasswordType,
31719    /// 银行帐号类型
31720    pub BankAccType: TThostFtdcBankAccTypeType,
31721    /// 安装编号
31722    pub InstallID: TThostFtdcInstallIDType,
31723    /// 验证客户证件号码标志
31724    pub VerifyCertNoFlag: TThostFtdcYesNoIndicatorType,
31725    /// 币种代码
31726    pub CurrencyID: TThostFtdcCurrencyIDType,
31727    /// 期货公司银行编码
31728    pub BrokerIDByBank: TThostFtdcBankCodingForFutureType,
31729    /// 银行密码标志
31730    pub BankPwdFlag: TThostFtdcPwdFlagType,
31731    /// 期货资金密码核对标志
31732    pub SecuPwdFlag: TThostFtdcPwdFlagType,
31733    /// 交易ID
31734    pub TID: TThostFtdcTIDType,
31735    /// 摘要
31736    pub Digest: TThostFtdcDigestType,
31737    /// 长客户姓名
31738    pub LongCustomerName: TThostFtdcLongIndividualNameType,
31739}
31740#[test]
31741fn bindgen_test_layout_CThostFtdcReqChangeAccountField() {
31742    assert_eq!(::std::mem::size_of::<CThostFtdcReqChangeAccountField>() ,
31743               960usize , concat ! (
31744               "Size of: " , stringify ! ( CThostFtdcReqChangeAccountField )
31745               ));
31746    assert_eq! (::std::mem::align_of::<CThostFtdcReqChangeAccountField>() ,
31747                4usize , concat ! (
31748                "Alignment of " , stringify ! (
31749                CThostFtdcReqChangeAccountField ) ));
31750    assert_eq! (unsafe {
31751                & ( * ( 0 as * const CThostFtdcReqChangeAccountField ) ) .
31752                TradeCode as * const _ as usize } , 0usize , concat ! (
31753                "Alignment of field: " , stringify ! (
31754                CThostFtdcReqChangeAccountField ) , "::" , stringify ! (
31755                TradeCode ) ));
31756    assert_eq! (unsafe {
31757                & ( * ( 0 as * const CThostFtdcReqChangeAccountField ) ) .
31758                BankID as * const _ as usize } , 7usize , concat ! (
31759                "Alignment of field: " , stringify ! (
31760                CThostFtdcReqChangeAccountField ) , "::" , stringify ! (
31761                BankID ) ));
31762    assert_eq! (unsafe {
31763                & ( * ( 0 as * const CThostFtdcReqChangeAccountField ) ) .
31764                BankBranchID as * const _ as usize } , 11usize , concat ! (
31765                "Alignment of field: " , stringify ! (
31766                CThostFtdcReqChangeAccountField ) , "::" , stringify ! (
31767                BankBranchID ) ));
31768    assert_eq! (unsafe {
31769                & ( * ( 0 as * const CThostFtdcReqChangeAccountField ) ) .
31770                BrokerID as * const _ as usize } , 16usize , concat ! (
31771                "Alignment of field: " , stringify ! (
31772                CThostFtdcReqChangeAccountField ) , "::" , stringify ! (
31773                BrokerID ) ));
31774    assert_eq! (unsafe {
31775                & ( * ( 0 as * const CThostFtdcReqChangeAccountField ) ) .
31776                BrokerBranchID as * const _ as usize } , 27usize , concat ! (
31777                "Alignment of field: " , stringify ! (
31778                CThostFtdcReqChangeAccountField ) , "::" , stringify ! (
31779                BrokerBranchID ) ));
31780    assert_eq! (unsafe {
31781                & ( * ( 0 as * const CThostFtdcReqChangeAccountField ) ) .
31782                TradeDate as * const _ as usize } , 58usize , concat ! (
31783                "Alignment of field: " , stringify ! (
31784                CThostFtdcReqChangeAccountField ) , "::" , stringify ! (
31785                TradeDate ) ));
31786    assert_eq! (unsafe {
31787                & ( * ( 0 as * const CThostFtdcReqChangeAccountField ) ) .
31788                TradeTime as * const _ as usize } , 67usize , concat ! (
31789                "Alignment of field: " , stringify ! (
31790                CThostFtdcReqChangeAccountField ) , "::" , stringify ! (
31791                TradeTime ) ));
31792    assert_eq! (unsafe {
31793                & ( * ( 0 as * const CThostFtdcReqChangeAccountField ) ) .
31794                BankSerial as * const _ as usize } , 76usize , concat ! (
31795                "Alignment of field: " , stringify ! (
31796                CThostFtdcReqChangeAccountField ) , "::" , stringify ! (
31797                BankSerial ) ));
31798    assert_eq! (unsafe {
31799                & ( * ( 0 as * const CThostFtdcReqChangeAccountField ) ) .
31800                TradingDay as * const _ as usize } , 89usize , concat ! (
31801                "Alignment of field: " , stringify ! (
31802                CThostFtdcReqChangeAccountField ) , "::" , stringify ! (
31803                TradingDay ) ));
31804    assert_eq! (unsafe {
31805                & ( * ( 0 as * const CThostFtdcReqChangeAccountField ) ) .
31806                PlateSerial as * const _ as usize } , 100usize , concat ! (
31807                "Alignment of field: " , stringify ! (
31808                CThostFtdcReqChangeAccountField ) , "::" , stringify ! (
31809                PlateSerial ) ));
31810    assert_eq! (unsafe {
31811                & ( * ( 0 as * const CThostFtdcReqChangeAccountField ) ) .
31812                LastFragment as * const _ as usize } , 104usize , concat ! (
31813                "Alignment of field: " , stringify ! (
31814                CThostFtdcReqChangeAccountField ) , "::" , stringify ! (
31815                LastFragment ) ));
31816    assert_eq! (unsafe {
31817                & ( * ( 0 as * const CThostFtdcReqChangeAccountField ) ) .
31818                SessionID as * const _ as usize } , 108usize , concat ! (
31819                "Alignment of field: " , stringify ! (
31820                CThostFtdcReqChangeAccountField ) , "::" , stringify ! (
31821                SessionID ) ));
31822    assert_eq! (unsafe {
31823                & ( * ( 0 as * const CThostFtdcReqChangeAccountField ) ) .
31824                CustomerName as * const _ as usize } , 112usize , concat ! (
31825                "Alignment of field: " , stringify ! (
31826                CThostFtdcReqChangeAccountField ) , "::" , stringify ! (
31827                CustomerName ) ));
31828    assert_eq! (unsafe {
31829                & ( * ( 0 as * const CThostFtdcReqChangeAccountField ) ) .
31830                IdCardType as * const _ as usize } , 163usize , concat ! (
31831                "Alignment of field: " , stringify ! (
31832                CThostFtdcReqChangeAccountField ) , "::" , stringify ! (
31833                IdCardType ) ));
31834    assert_eq! (unsafe {
31835                & ( * ( 0 as * const CThostFtdcReqChangeAccountField ) ) .
31836                IdentifiedCardNo as * const _ as usize } , 164usize , concat !
31837                (
31838                "Alignment of field: " , stringify ! (
31839                CThostFtdcReqChangeAccountField ) , "::" , stringify ! (
31840                IdentifiedCardNo ) ));
31841    assert_eq! (unsafe {
31842                & ( * ( 0 as * const CThostFtdcReqChangeAccountField ) ) .
31843                Gender as * const _ as usize } , 215usize , concat ! (
31844                "Alignment of field: " , stringify ! (
31845                CThostFtdcReqChangeAccountField ) , "::" , stringify ! (
31846                Gender ) ));
31847    assert_eq! (unsafe {
31848                & ( * ( 0 as * const CThostFtdcReqChangeAccountField ) ) .
31849                CountryCode as * const _ as usize } , 216usize , concat ! (
31850                "Alignment of field: " , stringify ! (
31851                CThostFtdcReqChangeAccountField ) , "::" , stringify ! (
31852                CountryCode ) ));
31853    assert_eq! (unsafe {
31854                & ( * ( 0 as * const CThostFtdcReqChangeAccountField ) ) .
31855                CustType as * const _ as usize } , 237usize , concat ! (
31856                "Alignment of field: " , stringify ! (
31857                CThostFtdcReqChangeAccountField ) , "::" , stringify ! (
31858                CustType ) ));
31859    assert_eq! (unsafe {
31860                & ( * ( 0 as * const CThostFtdcReqChangeAccountField ) ) .
31861                Address as * const _ as usize } , 238usize , concat ! (
31862                "Alignment of field: " , stringify ! (
31863                CThostFtdcReqChangeAccountField ) , "::" , stringify ! (
31864                Address ) ));
31865    assert_eq! (unsafe {
31866                & ( * ( 0 as * const CThostFtdcReqChangeAccountField ) ) .
31867                ZipCode as * const _ as usize } , 339usize , concat ! (
31868                "Alignment of field: " , stringify ! (
31869                CThostFtdcReqChangeAccountField ) , "::" , stringify ! (
31870                ZipCode ) ));
31871    assert_eq! (unsafe {
31872                & ( * ( 0 as * const CThostFtdcReqChangeAccountField ) ) .
31873                Telephone as * const _ as usize } , 346usize , concat ! (
31874                "Alignment of field: " , stringify ! (
31875                CThostFtdcReqChangeAccountField ) , "::" , stringify ! (
31876                Telephone ) ));
31877    assert_eq! (unsafe {
31878                & ( * ( 0 as * const CThostFtdcReqChangeAccountField ) ) .
31879                MobilePhone as * const _ as usize } , 387usize , concat ! (
31880                "Alignment of field: " , stringify ! (
31881                CThostFtdcReqChangeAccountField ) , "::" , stringify ! (
31882                MobilePhone ) ));
31883    assert_eq! (unsafe {
31884                & ( * ( 0 as * const CThostFtdcReqChangeAccountField ) ) . Fax
31885                as * const _ as usize } , 408usize , concat ! (
31886                "Alignment of field: " , stringify ! (
31887                CThostFtdcReqChangeAccountField ) , "::" , stringify ! ( Fax )
31888                ));
31889    assert_eq! (unsafe {
31890                & ( * ( 0 as * const CThostFtdcReqChangeAccountField ) ) .
31891                EMail as * const _ as usize } , 449usize , concat ! (
31892                "Alignment of field: " , stringify ! (
31893                CThostFtdcReqChangeAccountField ) , "::" , stringify ! ( EMail
31894                ) ));
31895    assert_eq! (unsafe {
31896                & ( * ( 0 as * const CThostFtdcReqChangeAccountField ) ) .
31897                MoneyAccountStatus as * const _ as usize } , 490usize , concat
31898                ! (
31899                "Alignment of field: " , stringify ! (
31900                CThostFtdcReqChangeAccountField ) , "::" , stringify ! (
31901                MoneyAccountStatus ) ));
31902    assert_eq! (unsafe {
31903                & ( * ( 0 as * const CThostFtdcReqChangeAccountField ) ) .
31904                BankAccount as * const _ as usize } , 491usize , concat ! (
31905                "Alignment of field: " , stringify ! (
31906                CThostFtdcReqChangeAccountField ) , "::" , stringify ! (
31907                BankAccount ) ));
31908    assert_eq! (unsafe {
31909                & ( * ( 0 as * const CThostFtdcReqChangeAccountField ) ) .
31910                BankPassWord as * const _ as usize } , 532usize , concat ! (
31911                "Alignment of field: " , stringify ! (
31912                CThostFtdcReqChangeAccountField ) , "::" , stringify ! (
31913                BankPassWord ) ));
31914    assert_eq! (unsafe {
31915                & ( * ( 0 as * const CThostFtdcReqChangeAccountField ) ) .
31916                NewBankAccount as * const _ as usize } , 573usize , concat ! (
31917                "Alignment of field: " , stringify ! (
31918                CThostFtdcReqChangeAccountField ) , "::" , stringify ! (
31919                NewBankAccount ) ));
31920    assert_eq! (unsafe {
31921                & ( * ( 0 as * const CThostFtdcReqChangeAccountField ) ) .
31922                NewBankPassWord as * const _ as usize } , 614usize , concat !
31923                (
31924                "Alignment of field: " , stringify ! (
31925                CThostFtdcReqChangeAccountField ) , "::" , stringify ! (
31926                NewBankPassWord ) ));
31927    assert_eq! (unsafe {
31928                & ( * ( 0 as * const CThostFtdcReqChangeAccountField ) ) .
31929                AccountID as * const _ as usize } , 655usize , concat ! (
31930                "Alignment of field: " , stringify ! (
31931                CThostFtdcReqChangeAccountField ) , "::" , stringify ! (
31932                AccountID ) ));
31933    assert_eq! (unsafe {
31934                & ( * ( 0 as * const CThostFtdcReqChangeAccountField ) ) .
31935                Password as * const _ as usize } , 668usize , concat ! (
31936                "Alignment of field: " , stringify ! (
31937                CThostFtdcReqChangeAccountField ) , "::" , stringify ! (
31938                Password ) ));
31939    assert_eq! (unsafe {
31940                & ( * ( 0 as * const CThostFtdcReqChangeAccountField ) ) .
31941                BankAccType as * const _ as usize } , 709usize , concat ! (
31942                "Alignment of field: " , stringify ! (
31943                CThostFtdcReqChangeAccountField ) , "::" , stringify ! (
31944                BankAccType ) ));
31945    assert_eq! (unsafe {
31946                & ( * ( 0 as * const CThostFtdcReqChangeAccountField ) ) .
31947                InstallID as * const _ as usize } , 712usize , concat ! (
31948                "Alignment of field: " , stringify ! (
31949                CThostFtdcReqChangeAccountField ) , "::" , stringify ! (
31950                InstallID ) ));
31951    assert_eq! (unsafe {
31952                & ( * ( 0 as * const CThostFtdcReqChangeAccountField ) ) .
31953                VerifyCertNoFlag as * const _ as usize } , 716usize , concat !
31954                (
31955                "Alignment of field: " , stringify ! (
31956                CThostFtdcReqChangeAccountField ) , "::" , stringify ! (
31957                VerifyCertNoFlag ) ));
31958    assert_eq! (unsafe {
31959                & ( * ( 0 as * const CThostFtdcReqChangeAccountField ) ) .
31960                CurrencyID as * const _ as usize } , 717usize , concat ! (
31961                "Alignment of field: " , stringify ! (
31962                CThostFtdcReqChangeAccountField ) , "::" , stringify ! (
31963                CurrencyID ) ));
31964    assert_eq! (unsafe {
31965                & ( * ( 0 as * const CThostFtdcReqChangeAccountField ) ) .
31966                BrokerIDByBank as * const _ as usize } , 721usize , concat ! (
31967                "Alignment of field: " , stringify ! (
31968                CThostFtdcReqChangeAccountField ) , "::" , stringify ! (
31969                BrokerIDByBank ) ));
31970    assert_eq! (unsafe {
31971                & ( * ( 0 as * const CThostFtdcReqChangeAccountField ) ) .
31972                BankPwdFlag as * const _ as usize } , 754usize , concat ! (
31973                "Alignment of field: " , stringify ! (
31974                CThostFtdcReqChangeAccountField ) , "::" , stringify ! (
31975                BankPwdFlag ) ));
31976    assert_eq! (unsafe {
31977                & ( * ( 0 as * const CThostFtdcReqChangeAccountField ) ) .
31978                SecuPwdFlag as * const _ as usize } , 755usize , concat ! (
31979                "Alignment of field: " , stringify ! (
31980                CThostFtdcReqChangeAccountField ) , "::" , stringify ! (
31981                SecuPwdFlag ) ));
31982    assert_eq! (unsafe {
31983                & ( * ( 0 as * const CThostFtdcReqChangeAccountField ) ) . TID
31984                as * const _ as usize } , 756usize , concat ! (
31985                "Alignment of field: " , stringify ! (
31986                CThostFtdcReqChangeAccountField ) , "::" , stringify ! ( TID )
31987                ));
31988    assert_eq! (unsafe {
31989                & ( * ( 0 as * const CThostFtdcReqChangeAccountField ) ) .
31990                Digest as * const _ as usize } , 760usize , concat ! (
31991                "Alignment of field: " , stringify ! (
31992                CThostFtdcReqChangeAccountField ) , "::" , stringify ! (
31993                Digest ) ));
31994    assert_eq! (unsafe {
31995                & ( * ( 0 as * const CThostFtdcReqChangeAccountField ) ) .
31996                LongCustomerName as * const _ as usize } , 796usize , concat !
31997                (
31998                "Alignment of field: " , stringify ! (
31999                CThostFtdcReqChangeAccountField ) , "::" , stringify ! (
32000                LongCustomerName ) ));
32001}
32002impl Clone for CThostFtdcReqChangeAccountField {
32003    fn clone(&self) -> Self { *self }
32004}
32005impl Default for CThostFtdcReqChangeAccountField {
32006    fn default() -> Self { unsafe { ::std::mem::zeroed() } }
32007}
32008/// 转账请求
32009#[repr(C)]
32010#[derive(Copy)]
32011pub struct CThostFtdcReqTransferField {
32012    /// 业务功能码
32013    pub TradeCode: TThostFtdcTradeCodeType,
32014    /// 银行代码
32015    pub BankID: TThostFtdcBankIDType,
32016    /// 银行分支机构代码
32017    pub BankBranchID: TThostFtdcBankBrchIDType,
32018    /// 期商代码
32019    pub BrokerID: TThostFtdcBrokerIDType,
32020    /// 期商分支机构代码
32021    pub BrokerBranchID: TThostFtdcFutureBranchIDType,
32022    /// 交易日期
32023    pub TradeDate: TThostFtdcTradeDateType,
32024    /// 交易时间
32025    pub TradeTime: TThostFtdcTradeTimeType,
32026    /// 银行流水号
32027    pub BankSerial: TThostFtdcBankSerialType,
32028    /// 交易系统日期
32029    pub TradingDay: TThostFtdcTradeDateType,
32030    /// 银期平台消息流水号
32031    pub PlateSerial: TThostFtdcSerialType,
32032    /// 最后分片标志
32033    pub LastFragment: TThostFtdcLastFragmentType,
32034    /// 会话号
32035    pub SessionID: TThostFtdcSessionIDType,
32036    /// 客户姓名
32037    pub CustomerName: TThostFtdcIndividualNameType,
32038    /// 证件类型
32039    pub IdCardType: TThostFtdcIdCardTypeType,
32040    /// 证件号码
32041    pub IdentifiedCardNo: TThostFtdcIdentifiedCardNoType,
32042    /// 客户类型
32043    pub CustType: TThostFtdcCustTypeType,
32044    /// 银行帐号
32045    pub BankAccount: TThostFtdcBankAccountType,
32046    /// 银行密码
32047    pub BankPassWord: TThostFtdcPasswordType,
32048    /// 投资者帐号
32049    pub AccountID: TThostFtdcAccountIDType,
32050    /// 期货密码
32051    pub Password: TThostFtdcPasswordType,
32052    /// 安装编号
32053    pub InstallID: TThostFtdcInstallIDType,
32054    /// 期货公司流水号
32055    pub FutureSerial: TThostFtdcFutureSerialType,
32056    /// 用户标识
32057    pub UserID: TThostFtdcUserIDType,
32058    /// 验证客户证件号码标志
32059    pub VerifyCertNoFlag: TThostFtdcYesNoIndicatorType,
32060    /// 币种代码
32061    pub CurrencyID: TThostFtdcCurrencyIDType,
32062    /// 转帐金额
32063    pub TradeAmount: TThostFtdcTradeAmountType,
32064    /// 期货可取金额
32065    pub FutureFetchAmount: TThostFtdcTradeAmountType,
32066    /// 费用支付标志
32067    pub FeePayFlag: TThostFtdcFeePayFlagType,
32068    /// 应收客户费用
32069    pub CustFee: TThostFtdcCustFeeType,
32070    /// 应收期货公司费用
32071    pub BrokerFee: TThostFtdcFutureFeeType,
32072    /// 发送方给接收方的消息
32073    pub Message: TThostFtdcAddInfoType,
32074    /// 摘要
32075    pub Digest: TThostFtdcDigestType,
32076    /// 银行帐号类型
32077    pub BankAccType: TThostFtdcBankAccTypeType,
32078    /// 渠道标志
32079    pub DeviceID: TThostFtdcDeviceIDType,
32080    /// 期货单位帐号类型
32081    pub BankSecuAccType: TThostFtdcBankAccTypeType,
32082    /// 期货公司银行编码
32083    pub BrokerIDByBank: TThostFtdcBankCodingForFutureType,
32084    /// 期货单位帐号
32085    pub BankSecuAcc: TThostFtdcBankAccountType,
32086    /// 银行密码标志
32087    pub BankPwdFlag: TThostFtdcPwdFlagType,
32088    /// 期货资金密码核对标志
32089    pub SecuPwdFlag: TThostFtdcPwdFlagType,
32090    /// 交易柜员
32091    pub OperNo: TThostFtdcOperNoType,
32092    /// 请求编号
32093    pub RequestID: TThostFtdcRequestIDType,
32094    /// 交易ID
32095    pub TID: TThostFtdcTIDType,
32096    /// 转账交易状态
32097    pub TransferStatus: TThostFtdcTransferStatusType,
32098    /// 长客户姓名
32099    pub LongCustomerName: TThostFtdcLongIndividualNameType,
32100}
32101#[test]
32102fn bindgen_test_layout_CThostFtdcReqTransferField() {
32103    assert_eq!(::std::mem::size_of::<CThostFtdcReqTransferField>() , 864usize
32104               , concat ! (
32105               "Size of: " , stringify ! ( CThostFtdcReqTransferField ) ));
32106    assert_eq! (::std::mem::align_of::<CThostFtdcReqTransferField>() , 8usize
32107                , concat ! (
32108                "Alignment of " , stringify ! ( CThostFtdcReqTransferField )
32109                ));
32110    assert_eq! (unsafe {
32111                & ( * ( 0 as * const CThostFtdcReqTransferField ) ) .
32112                TradeCode as * const _ as usize } , 0usize , concat ! (
32113                "Alignment of field: " , stringify ! (
32114                CThostFtdcReqTransferField ) , "::" , stringify ! ( TradeCode
32115                ) ));
32116    assert_eq! (unsafe {
32117                & ( * ( 0 as * const CThostFtdcReqTransferField ) ) . BankID
32118                as * const _ as usize } , 7usize , concat ! (
32119                "Alignment of field: " , stringify ! (
32120                CThostFtdcReqTransferField ) , "::" , stringify ! ( BankID )
32121                ));
32122    assert_eq! (unsafe {
32123                & ( * ( 0 as * const CThostFtdcReqTransferField ) ) .
32124                BankBranchID as * const _ as usize } , 11usize , concat ! (
32125                "Alignment of field: " , stringify ! (
32126                CThostFtdcReqTransferField ) , "::" , stringify ! (
32127                BankBranchID ) ));
32128    assert_eq! (unsafe {
32129                & ( * ( 0 as * const CThostFtdcReqTransferField ) ) . BrokerID
32130                as * const _ as usize } , 16usize , concat ! (
32131                "Alignment of field: " , stringify ! (
32132                CThostFtdcReqTransferField ) , "::" , stringify ! ( BrokerID )
32133                ));
32134    assert_eq! (unsafe {
32135                & ( * ( 0 as * const CThostFtdcReqTransferField ) ) .
32136                BrokerBranchID as * const _ as usize } , 27usize , concat ! (
32137                "Alignment of field: " , stringify ! (
32138                CThostFtdcReqTransferField ) , "::" , stringify ! (
32139                BrokerBranchID ) ));
32140    assert_eq! (unsafe {
32141                & ( * ( 0 as * const CThostFtdcReqTransferField ) ) .
32142                TradeDate as * const _ as usize } , 58usize , concat ! (
32143                "Alignment of field: " , stringify ! (
32144                CThostFtdcReqTransferField ) , "::" , stringify ! ( TradeDate
32145                ) ));
32146    assert_eq! (unsafe {
32147                & ( * ( 0 as * const CThostFtdcReqTransferField ) ) .
32148                TradeTime as * const _ as usize } , 67usize , concat ! (
32149                "Alignment of field: " , stringify ! (
32150                CThostFtdcReqTransferField ) , "::" , stringify ! ( TradeTime
32151                ) ));
32152    assert_eq! (unsafe {
32153                & ( * ( 0 as * const CThostFtdcReqTransferField ) ) .
32154                BankSerial as * const _ as usize } , 76usize , concat ! (
32155                "Alignment of field: " , stringify ! (
32156                CThostFtdcReqTransferField ) , "::" , stringify ! ( BankSerial
32157                ) ));
32158    assert_eq! (unsafe {
32159                & ( * ( 0 as * const CThostFtdcReqTransferField ) ) .
32160                TradingDay as * const _ as usize } , 89usize , concat ! (
32161                "Alignment of field: " , stringify ! (
32162                CThostFtdcReqTransferField ) , "::" , stringify ! ( TradingDay
32163                ) ));
32164    assert_eq! (unsafe {
32165                & ( * ( 0 as * const CThostFtdcReqTransferField ) ) .
32166                PlateSerial as * const _ as usize } , 100usize , concat ! (
32167                "Alignment of field: " , stringify ! (
32168                CThostFtdcReqTransferField ) , "::" , stringify ! (
32169                PlateSerial ) ));
32170    assert_eq! (unsafe {
32171                & ( * ( 0 as * const CThostFtdcReqTransferField ) ) .
32172                LastFragment as * const _ as usize } , 104usize , concat ! (
32173                "Alignment of field: " , stringify ! (
32174                CThostFtdcReqTransferField ) , "::" , stringify ! (
32175                LastFragment ) ));
32176    assert_eq! (unsafe {
32177                & ( * ( 0 as * const CThostFtdcReqTransferField ) ) .
32178                SessionID as * const _ as usize } , 108usize , concat ! (
32179                "Alignment of field: " , stringify ! (
32180                CThostFtdcReqTransferField ) , "::" , stringify ! ( SessionID
32181                ) ));
32182    assert_eq! (unsafe {
32183                & ( * ( 0 as * const CThostFtdcReqTransferField ) ) .
32184                CustomerName as * const _ as usize } , 112usize , concat ! (
32185                "Alignment of field: " , stringify ! (
32186                CThostFtdcReqTransferField ) , "::" , stringify ! (
32187                CustomerName ) ));
32188    assert_eq! (unsafe {
32189                & ( * ( 0 as * const CThostFtdcReqTransferField ) ) .
32190                IdCardType as * const _ as usize } , 163usize , concat ! (
32191                "Alignment of field: " , stringify ! (
32192                CThostFtdcReqTransferField ) , "::" , stringify ! ( IdCardType
32193                ) ));
32194    assert_eq! (unsafe {
32195                & ( * ( 0 as * const CThostFtdcReqTransferField ) ) .
32196                IdentifiedCardNo as * const _ as usize } , 164usize , concat !
32197                (
32198                "Alignment of field: " , stringify ! (
32199                CThostFtdcReqTransferField ) , "::" , stringify ! (
32200                IdentifiedCardNo ) ));
32201    assert_eq! (unsafe {
32202                & ( * ( 0 as * const CThostFtdcReqTransferField ) ) . CustType
32203                as * const _ as usize } , 215usize , concat ! (
32204                "Alignment of field: " , stringify ! (
32205                CThostFtdcReqTransferField ) , "::" , stringify ! ( CustType )
32206                ));
32207    assert_eq! (unsafe {
32208                & ( * ( 0 as * const CThostFtdcReqTransferField ) ) .
32209                BankAccount as * const _ as usize } , 216usize , concat ! (
32210                "Alignment of field: " , stringify ! (
32211                CThostFtdcReqTransferField ) , "::" , stringify ! (
32212                BankAccount ) ));
32213    assert_eq! (unsafe {
32214                & ( * ( 0 as * const CThostFtdcReqTransferField ) ) .
32215                BankPassWord as * const _ as usize } , 257usize , concat ! (
32216                "Alignment of field: " , stringify ! (
32217                CThostFtdcReqTransferField ) , "::" , stringify ! (
32218                BankPassWord ) ));
32219    assert_eq! (unsafe {
32220                & ( * ( 0 as * const CThostFtdcReqTransferField ) ) .
32221                AccountID as * const _ as usize } , 298usize , concat ! (
32222                "Alignment of field: " , stringify ! (
32223                CThostFtdcReqTransferField ) , "::" , stringify ! ( AccountID
32224                ) ));
32225    assert_eq! (unsafe {
32226                & ( * ( 0 as * const CThostFtdcReqTransferField ) ) . Password
32227                as * const _ as usize } , 311usize , concat ! (
32228                "Alignment of field: " , stringify ! (
32229                CThostFtdcReqTransferField ) , "::" , stringify ! ( Password )
32230                ));
32231    assert_eq! (unsafe {
32232                & ( * ( 0 as * const CThostFtdcReqTransferField ) ) .
32233                InstallID as * const _ as usize } , 352usize , concat ! (
32234                "Alignment of field: " , stringify ! (
32235                CThostFtdcReqTransferField ) , "::" , stringify ! ( InstallID
32236                ) ));
32237    assert_eq! (unsafe {
32238                & ( * ( 0 as * const CThostFtdcReqTransferField ) ) .
32239                FutureSerial as * const _ as usize } , 356usize , concat ! (
32240                "Alignment of field: " , stringify ! (
32241                CThostFtdcReqTransferField ) , "::" , stringify ! (
32242                FutureSerial ) ));
32243    assert_eq! (unsafe {
32244                & ( * ( 0 as * const CThostFtdcReqTransferField ) ) . UserID
32245                as * const _ as usize } , 360usize , concat ! (
32246                "Alignment of field: " , stringify ! (
32247                CThostFtdcReqTransferField ) , "::" , stringify ! ( UserID )
32248                ));
32249    assert_eq! (unsafe {
32250                & ( * ( 0 as * const CThostFtdcReqTransferField ) ) .
32251                VerifyCertNoFlag as * const _ as usize } , 376usize , concat !
32252                (
32253                "Alignment of field: " , stringify ! (
32254                CThostFtdcReqTransferField ) , "::" , stringify ! (
32255                VerifyCertNoFlag ) ));
32256    assert_eq! (unsafe {
32257                & ( * ( 0 as * const CThostFtdcReqTransferField ) ) .
32258                CurrencyID as * const _ as usize } , 377usize , concat ! (
32259                "Alignment of field: " , stringify ! (
32260                CThostFtdcReqTransferField ) , "::" , stringify ! ( CurrencyID
32261                ) ));
32262    assert_eq! (unsafe {
32263                & ( * ( 0 as * const CThostFtdcReqTransferField ) ) .
32264                TradeAmount as * const _ as usize } , 384usize , concat ! (
32265                "Alignment of field: " , stringify ! (
32266                CThostFtdcReqTransferField ) , "::" , stringify ! (
32267                TradeAmount ) ));
32268    assert_eq! (unsafe {
32269                & ( * ( 0 as * const CThostFtdcReqTransferField ) ) .
32270                FutureFetchAmount as * const _ as usize } , 392usize , concat
32271                ! (
32272                "Alignment of field: " , stringify ! (
32273                CThostFtdcReqTransferField ) , "::" , stringify ! (
32274                FutureFetchAmount ) ));
32275    assert_eq! (unsafe {
32276                & ( * ( 0 as * const CThostFtdcReqTransferField ) ) .
32277                FeePayFlag as * const _ as usize } , 400usize , concat ! (
32278                "Alignment of field: " , stringify ! (
32279                CThostFtdcReqTransferField ) , "::" , stringify ! ( FeePayFlag
32280                ) ));
32281    assert_eq! (unsafe {
32282                & ( * ( 0 as * const CThostFtdcReqTransferField ) ) . CustFee
32283                as * const _ as usize } , 408usize , concat ! (
32284                "Alignment of field: " , stringify ! (
32285                CThostFtdcReqTransferField ) , "::" , stringify ! ( CustFee )
32286                ));
32287    assert_eq! (unsafe {
32288                & ( * ( 0 as * const CThostFtdcReqTransferField ) ) .
32289                BrokerFee as * const _ as usize } , 416usize , concat ! (
32290                "Alignment of field: " , stringify ! (
32291                CThostFtdcReqTransferField ) , "::" , stringify ! ( BrokerFee
32292                ) ));
32293    assert_eq! (unsafe {
32294                & ( * ( 0 as * const CThostFtdcReqTransferField ) ) . Message
32295                as * const _ as usize } , 424usize , concat ! (
32296                "Alignment of field: " , stringify ! (
32297                CThostFtdcReqTransferField ) , "::" , stringify ! ( Message )
32298                ));
32299    assert_eq! (unsafe {
32300                & ( * ( 0 as * const CThostFtdcReqTransferField ) ) . Digest
32301                as * const _ as usize } , 553usize , concat ! (
32302                "Alignment of field: " , stringify ! (
32303                CThostFtdcReqTransferField ) , "::" , stringify ! ( Digest )
32304                ));
32305    assert_eq! (unsafe {
32306                & ( * ( 0 as * const CThostFtdcReqTransferField ) ) .
32307                BankAccType as * const _ as usize } , 589usize , concat ! (
32308                "Alignment of field: " , stringify ! (
32309                CThostFtdcReqTransferField ) , "::" , stringify ! (
32310                BankAccType ) ));
32311    assert_eq! (unsafe {
32312                & ( * ( 0 as * const CThostFtdcReqTransferField ) ) . DeviceID
32313                as * const _ as usize } , 590usize , concat ! (
32314                "Alignment of field: " , stringify ! (
32315                CThostFtdcReqTransferField ) , "::" , stringify ! ( DeviceID )
32316                ));
32317    assert_eq! (unsafe {
32318                & ( * ( 0 as * const CThostFtdcReqTransferField ) ) .
32319                BankSecuAccType as * const _ as usize } , 593usize , concat !
32320                (
32321                "Alignment of field: " , stringify ! (
32322                CThostFtdcReqTransferField ) , "::" , stringify ! (
32323                BankSecuAccType ) ));
32324    assert_eq! (unsafe {
32325                & ( * ( 0 as * const CThostFtdcReqTransferField ) ) .
32326                BrokerIDByBank as * const _ as usize } , 594usize , concat ! (
32327                "Alignment of field: " , stringify ! (
32328                CThostFtdcReqTransferField ) , "::" , stringify ! (
32329                BrokerIDByBank ) ));
32330    assert_eq! (unsafe {
32331                & ( * ( 0 as * const CThostFtdcReqTransferField ) ) .
32332                BankSecuAcc as * const _ as usize } , 627usize , concat ! (
32333                "Alignment of field: " , stringify ! (
32334                CThostFtdcReqTransferField ) , "::" , stringify ! (
32335                BankSecuAcc ) ));
32336    assert_eq! (unsafe {
32337                & ( * ( 0 as * const CThostFtdcReqTransferField ) ) .
32338                BankPwdFlag as * const _ as usize } , 668usize , concat ! (
32339                "Alignment of field: " , stringify ! (
32340                CThostFtdcReqTransferField ) , "::" , stringify ! (
32341                BankPwdFlag ) ));
32342    assert_eq! (unsafe {
32343                & ( * ( 0 as * const CThostFtdcReqTransferField ) ) .
32344                SecuPwdFlag as * const _ as usize } , 669usize , concat ! (
32345                "Alignment of field: " , stringify ! (
32346                CThostFtdcReqTransferField ) , "::" , stringify ! (
32347                SecuPwdFlag ) ));
32348    assert_eq! (unsafe {
32349                & ( * ( 0 as * const CThostFtdcReqTransferField ) ) . OperNo
32350                as * const _ as usize } , 670usize , concat ! (
32351                "Alignment of field: " , stringify ! (
32352                CThostFtdcReqTransferField ) , "::" , stringify ! ( OperNo )
32353                ));
32354    assert_eq! (unsafe {
32355                & ( * ( 0 as * const CThostFtdcReqTransferField ) ) .
32356                RequestID as * const _ as usize } , 688usize , concat ! (
32357                "Alignment of field: " , stringify ! (
32358                CThostFtdcReqTransferField ) , "::" , stringify ! ( RequestID
32359                ) ));
32360    assert_eq! (unsafe {
32361                & ( * ( 0 as * const CThostFtdcReqTransferField ) ) . TID as *
32362                const _ as usize } , 692usize , concat ! (
32363                "Alignment of field: " , stringify ! (
32364                CThostFtdcReqTransferField ) , "::" , stringify ! ( TID ) ));
32365    assert_eq! (unsafe {
32366                & ( * ( 0 as * const CThostFtdcReqTransferField ) ) .
32367                TransferStatus as * const _ as usize } , 696usize , concat ! (
32368                "Alignment of field: " , stringify ! (
32369                CThostFtdcReqTransferField ) , "::" , stringify ! (
32370                TransferStatus ) ));
32371    assert_eq! (unsafe {
32372                & ( * ( 0 as * const CThostFtdcReqTransferField ) ) .
32373                LongCustomerName as * const _ as usize } , 697usize , concat !
32374                (
32375                "Alignment of field: " , stringify ! (
32376                CThostFtdcReqTransferField ) , "::" , stringify ! (
32377                LongCustomerName ) ));
32378}
32379impl Clone for CThostFtdcReqTransferField {
32380    fn clone(&self) -> Self { *self }
32381}
32382impl Default for CThostFtdcReqTransferField {
32383    fn default() -> Self { unsafe { ::std::mem::zeroed() } }
32384}
32385/// 银行发起银行资金转期货响应
32386#[repr(C)]
32387#[derive(Copy)]
32388pub struct CThostFtdcRspTransferField {
32389    /// 业务功能码
32390    pub TradeCode: TThostFtdcTradeCodeType,
32391    /// 银行代码
32392    pub BankID: TThostFtdcBankIDType,
32393    /// 银行分支机构代码
32394    pub BankBranchID: TThostFtdcBankBrchIDType,
32395    /// 期商代码
32396    pub BrokerID: TThostFtdcBrokerIDType,
32397    /// 期商分支机构代码
32398    pub BrokerBranchID: TThostFtdcFutureBranchIDType,
32399    /// 交易日期
32400    pub TradeDate: TThostFtdcTradeDateType,
32401    /// 交易时间
32402    pub TradeTime: TThostFtdcTradeTimeType,
32403    /// 银行流水号
32404    pub BankSerial: TThostFtdcBankSerialType,
32405    /// 交易系统日期
32406    pub TradingDay: TThostFtdcTradeDateType,
32407    /// 银期平台消息流水号
32408    pub PlateSerial: TThostFtdcSerialType,
32409    /// 最后分片标志
32410    pub LastFragment: TThostFtdcLastFragmentType,
32411    /// 会话号
32412    pub SessionID: TThostFtdcSessionIDType,
32413    /// 客户姓名
32414    pub CustomerName: TThostFtdcIndividualNameType,
32415    /// 证件类型
32416    pub IdCardType: TThostFtdcIdCardTypeType,
32417    /// 证件号码
32418    pub IdentifiedCardNo: TThostFtdcIdentifiedCardNoType,
32419    /// 客户类型
32420    pub CustType: TThostFtdcCustTypeType,
32421    /// 银行帐号
32422    pub BankAccount: TThostFtdcBankAccountType,
32423    /// 银行密码
32424    pub BankPassWord: TThostFtdcPasswordType,
32425    /// 投资者帐号
32426    pub AccountID: TThostFtdcAccountIDType,
32427    /// 期货密码
32428    pub Password: TThostFtdcPasswordType,
32429    /// 安装编号
32430    pub InstallID: TThostFtdcInstallIDType,
32431    /// 期货公司流水号
32432    pub FutureSerial: TThostFtdcFutureSerialType,
32433    /// 用户标识
32434    pub UserID: TThostFtdcUserIDType,
32435    /// 验证客户证件号码标志
32436    pub VerifyCertNoFlag: TThostFtdcYesNoIndicatorType,
32437    /// 币种代码
32438    pub CurrencyID: TThostFtdcCurrencyIDType,
32439    /// 转帐金额
32440    pub TradeAmount: TThostFtdcTradeAmountType,
32441    /// 期货可取金额
32442    pub FutureFetchAmount: TThostFtdcTradeAmountType,
32443    /// 费用支付标志
32444    pub FeePayFlag: TThostFtdcFeePayFlagType,
32445    /// 应收客户费用
32446    pub CustFee: TThostFtdcCustFeeType,
32447    /// 应收期货公司费用
32448    pub BrokerFee: TThostFtdcFutureFeeType,
32449    /// 发送方给接收方的消息
32450    pub Message: TThostFtdcAddInfoType,
32451    /// 摘要
32452    pub Digest: TThostFtdcDigestType,
32453    /// 银行帐号类型
32454    pub BankAccType: TThostFtdcBankAccTypeType,
32455    /// 渠道标志
32456    pub DeviceID: TThostFtdcDeviceIDType,
32457    /// 期货单位帐号类型
32458    pub BankSecuAccType: TThostFtdcBankAccTypeType,
32459    /// 期货公司银行编码
32460    pub BrokerIDByBank: TThostFtdcBankCodingForFutureType,
32461    /// 期货单位帐号
32462    pub BankSecuAcc: TThostFtdcBankAccountType,
32463    /// 银行密码标志
32464    pub BankPwdFlag: TThostFtdcPwdFlagType,
32465    /// 期货资金密码核对标志
32466    pub SecuPwdFlag: TThostFtdcPwdFlagType,
32467    /// 交易柜员
32468    pub OperNo: TThostFtdcOperNoType,
32469    /// 请求编号
32470    pub RequestID: TThostFtdcRequestIDType,
32471    /// 交易ID
32472    pub TID: TThostFtdcTIDType,
32473    /// 转账交易状态
32474    pub TransferStatus: TThostFtdcTransferStatusType,
32475    /// 错误代码
32476    pub ErrorID: TThostFtdcErrorIDType,
32477    /// 错误信息
32478    pub ErrorMsg: TThostFtdcErrorMsgType,
32479    /// 长客户姓名
32480    pub LongCustomerName: TThostFtdcLongIndividualNameType,
32481}
32482#[test]
32483fn bindgen_test_layout_CThostFtdcRspTransferField() {
32484    assert_eq!(::std::mem::size_of::<CThostFtdcRspTransferField>() , 952usize
32485               , concat ! (
32486               "Size of: " , stringify ! ( CThostFtdcRspTransferField ) ));
32487    assert_eq! (::std::mem::align_of::<CThostFtdcRspTransferField>() , 8usize
32488                , concat ! (
32489                "Alignment of " , stringify ! ( CThostFtdcRspTransferField )
32490                ));
32491    assert_eq! (unsafe {
32492                & ( * ( 0 as * const CThostFtdcRspTransferField ) ) .
32493                TradeCode as * const _ as usize } , 0usize , concat ! (
32494                "Alignment of field: " , stringify ! (
32495                CThostFtdcRspTransferField ) , "::" , stringify ! ( TradeCode
32496                ) ));
32497    assert_eq! (unsafe {
32498                & ( * ( 0 as * const CThostFtdcRspTransferField ) ) . BankID
32499                as * const _ as usize } , 7usize , concat ! (
32500                "Alignment of field: " , stringify ! (
32501                CThostFtdcRspTransferField ) , "::" , stringify ! ( BankID )
32502                ));
32503    assert_eq! (unsafe {
32504                & ( * ( 0 as * const CThostFtdcRspTransferField ) ) .
32505                BankBranchID as * const _ as usize } , 11usize , concat ! (
32506                "Alignment of field: " , stringify ! (
32507                CThostFtdcRspTransferField ) , "::" , stringify ! (
32508                BankBranchID ) ));
32509    assert_eq! (unsafe {
32510                & ( * ( 0 as * const CThostFtdcRspTransferField ) ) . BrokerID
32511                as * const _ as usize } , 16usize , concat ! (
32512                "Alignment of field: " , stringify ! (
32513                CThostFtdcRspTransferField ) , "::" , stringify ! ( BrokerID )
32514                ));
32515    assert_eq! (unsafe {
32516                & ( * ( 0 as * const CThostFtdcRspTransferField ) ) .
32517                BrokerBranchID as * const _ as usize } , 27usize , concat ! (
32518                "Alignment of field: " , stringify ! (
32519                CThostFtdcRspTransferField ) , "::" , stringify ! (
32520                BrokerBranchID ) ));
32521    assert_eq! (unsafe {
32522                & ( * ( 0 as * const CThostFtdcRspTransferField ) ) .
32523                TradeDate as * const _ as usize } , 58usize , concat ! (
32524                "Alignment of field: " , stringify ! (
32525                CThostFtdcRspTransferField ) , "::" , stringify ! ( TradeDate
32526                ) ));
32527    assert_eq! (unsafe {
32528                & ( * ( 0 as * const CThostFtdcRspTransferField ) ) .
32529                TradeTime as * const _ as usize } , 67usize , concat ! (
32530                "Alignment of field: " , stringify ! (
32531                CThostFtdcRspTransferField ) , "::" , stringify ! ( TradeTime
32532                ) ));
32533    assert_eq! (unsafe {
32534                & ( * ( 0 as * const CThostFtdcRspTransferField ) ) .
32535                BankSerial as * const _ as usize } , 76usize , concat ! (
32536                "Alignment of field: " , stringify ! (
32537                CThostFtdcRspTransferField ) , "::" , stringify ! ( BankSerial
32538                ) ));
32539    assert_eq! (unsafe {
32540                & ( * ( 0 as * const CThostFtdcRspTransferField ) ) .
32541                TradingDay as * const _ as usize } , 89usize , concat ! (
32542                "Alignment of field: " , stringify ! (
32543                CThostFtdcRspTransferField ) , "::" , stringify ! ( TradingDay
32544                ) ));
32545    assert_eq! (unsafe {
32546                & ( * ( 0 as * const CThostFtdcRspTransferField ) ) .
32547                PlateSerial as * const _ as usize } , 100usize , concat ! (
32548                "Alignment of field: " , stringify ! (
32549                CThostFtdcRspTransferField ) , "::" , stringify ! (
32550                PlateSerial ) ));
32551    assert_eq! (unsafe {
32552                & ( * ( 0 as * const CThostFtdcRspTransferField ) ) .
32553                LastFragment as * const _ as usize } , 104usize , concat ! (
32554                "Alignment of field: " , stringify ! (
32555                CThostFtdcRspTransferField ) , "::" , stringify ! (
32556                LastFragment ) ));
32557    assert_eq! (unsafe {
32558                & ( * ( 0 as * const CThostFtdcRspTransferField ) ) .
32559                SessionID as * const _ as usize } , 108usize , concat ! (
32560                "Alignment of field: " , stringify ! (
32561                CThostFtdcRspTransferField ) , "::" , stringify ! ( SessionID
32562                ) ));
32563    assert_eq! (unsafe {
32564                & ( * ( 0 as * const CThostFtdcRspTransferField ) ) .
32565                CustomerName as * const _ as usize } , 112usize , concat ! (
32566                "Alignment of field: " , stringify ! (
32567                CThostFtdcRspTransferField ) , "::" , stringify ! (
32568                CustomerName ) ));
32569    assert_eq! (unsafe {
32570                & ( * ( 0 as * const CThostFtdcRspTransferField ) ) .
32571                IdCardType as * const _ as usize } , 163usize , concat ! (
32572                "Alignment of field: " , stringify ! (
32573                CThostFtdcRspTransferField ) , "::" , stringify ! ( IdCardType
32574                ) ));
32575    assert_eq! (unsafe {
32576                & ( * ( 0 as * const CThostFtdcRspTransferField ) ) .
32577                IdentifiedCardNo as * const _ as usize } , 164usize , concat !
32578                (
32579                "Alignment of field: " , stringify ! (
32580                CThostFtdcRspTransferField ) , "::" , stringify ! (
32581                IdentifiedCardNo ) ));
32582    assert_eq! (unsafe {
32583                & ( * ( 0 as * const CThostFtdcRspTransferField ) ) . CustType
32584                as * const _ as usize } , 215usize , concat ! (
32585                "Alignment of field: " , stringify ! (
32586                CThostFtdcRspTransferField ) , "::" , stringify ! ( CustType )
32587                ));
32588    assert_eq! (unsafe {
32589                & ( * ( 0 as * const CThostFtdcRspTransferField ) ) .
32590                BankAccount as * const _ as usize } , 216usize , concat ! (
32591                "Alignment of field: " , stringify ! (
32592                CThostFtdcRspTransferField ) , "::" , stringify ! (
32593                BankAccount ) ));
32594    assert_eq! (unsafe {
32595                & ( * ( 0 as * const CThostFtdcRspTransferField ) ) .
32596                BankPassWord as * const _ as usize } , 257usize , concat ! (
32597                "Alignment of field: " , stringify ! (
32598                CThostFtdcRspTransferField ) , "::" , stringify ! (
32599                BankPassWord ) ));
32600    assert_eq! (unsafe {
32601                & ( * ( 0 as * const CThostFtdcRspTransferField ) ) .
32602                AccountID as * const _ as usize } , 298usize , concat ! (
32603                "Alignment of field: " , stringify ! (
32604                CThostFtdcRspTransferField ) , "::" , stringify ! ( AccountID
32605                ) ));
32606    assert_eq! (unsafe {
32607                & ( * ( 0 as * const CThostFtdcRspTransferField ) ) . Password
32608                as * const _ as usize } , 311usize , concat ! (
32609                "Alignment of field: " , stringify ! (
32610                CThostFtdcRspTransferField ) , "::" , stringify ! ( Password )
32611                ));
32612    assert_eq! (unsafe {
32613                & ( * ( 0 as * const CThostFtdcRspTransferField ) ) .
32614                InstallID as * const _ as usize } , 352usize , concat ! (
32615                "Alignment of field: " , stringify ! (
32616                CThostFtdcRspTransferField ) , "::" , stringify ! ( InstallID
32617                ) ));
32618    assert_eq! (unsafe {
32619                & ( * ( 0 as * const CThostFtdcRspTransferField ) ) .
32620                FutureSerial as * const _ as usize } , 356usize , concat ! (
32621                "Alignment of field: " , stringify ! (
32622                CThostFtdcRspTransferField ) , "::" , stringify ! (
32623                FutureSerial ) ));
32624    assert_eq! (unsafe {
32625                & ( * ( 0 as * const CThostFtdcRspTransferField ) ) . UserID
32626                as * const _ as usize } , 360usize , concat ! (
32627                "Alignment of field: " , stringify ! (
32628                CThostFtdcRspTransferField ) , "::" , stringify ! ( UserID )
32629                ));
32630    assert_eq! (unsafe {
32631                & ( * ( 0 as * const CThostFtdcRspTransferField ) ) .
32632                VerifyCertNoFlag as * const _ as usize } , 376usize , concat !
32633                (
32634                "Alignment of field: " , stringify ! (
32635                CThostFtdcRspTransferField ) , "::" , stringify ! (
32636                VerifyCertNoFlag ) ));
32637    assert_eq! (unsafe {
32638                & ( * ( 0 as * const CThostFtdcRspTransferField ) ) .
32639                CurrencyID as * const _ as usize } , 377usize , concat ! (
32640                "Alignment of field: " , stringify ! (
32641                CThostFtdcRspTransferField ) , "::" , stringify ! ( CurrencyID
32642                ) ));
32643    assert_eq! (unsafe {
32644                & ( * ( 0 as * const CThostFtdcRspTransferField ) ) .
32645                TradeAmount as * const _ as usize } , 384usize , concat ! (
32646                "Alignment of field: " , stringify ! (
32647                CThostFtdcRspTransferField ) , "::" , stringify ! (
32648                TradeAmount ) ));
32649    assert_eq! (unsafe {
32650                & ( * ( 0 as * const CThostFtdcRspTransferField ) ) .
32651                FutureFetchAmount as * const _ as usize } , 392usize , concat
32652                ! (
32653                "Alignment of field: " , stringify ! (
32654                CThostFtdcRspTransferField ) , "::" , stringify ! (
32655                FutureFetchAmount ) ));
32656    assert_eq! (unsafe {
32657                & ( * ( 0 as * const CThostFtdcRspTransferField ) ) .
32658                FeePayFlag as * const _ as usize } , 400usize , concat ! (
32659                "Alignment of field: " , stringify ! (
32660                CThostFtdcRspTransferField ) , "::" , stringify ! ( FeePayFlag
32661                ) ));
32662    assert_eq! (unsafe {
32663                & ( * ( 0 as * const CThostFtdcRspTransferField ) ) . CustFee
32664                as * const _ as usize } , 408usize , concat ! (
32665                "Alignment of field: " , stringify ! (
32666                CThostFtdcRspTransferField ) , "::" , stringify ! ( CustFee )
32667                ));
32668    assert_eq! (unsafe {
32669                & ( * ( 0 as * const CThostFtdcRspTransferField ) ) .
32670                BrokerFee as * const _ as usize } , 416usize , concat ! (
32671                "Alignment of field: " , stringify ! (
32672                CThostFtdcRspTransferField ) , "::" , stringify ! ( BrokerFee
32673                ) ));
32674    assert_eq! (unsafe {
32675                & ( * ( 0 as * const CThostFtdcRspTransferField ) ) . Message
32676                as * const _ as usize } , 424usize , concat ! (
32677                "Alignment of field: " , stringify ! (
32678                CThostFtdcRspTransferField ) , "::" , stringify ! ( Message )
32679                ));
32680    assert_eq! (unsafe {
32681                & ( * ( 0 as * const CThostFtdcRspTransferField ) ) . Digest
32682                as * const _ as usize } , 553usize , concat ! (
32683                "Alignment of field: " , stringify ! (
32684                CThostFtdcRspTransferField ) , "::" , stringify ! ( Digest )
32685                ));
32686    assert_eq! (unsafe {
32687                & ( * ( 0 as * const CThostFtdcRspTransferField ) ) .
32688                BankAccType as * const _ as usize } , 589usize , concat ! (
32689                "Alignment of field: " , stringify ! (
32690                CThostFtdcRspTransferField ) , "::" , stringify ! (
32691                BankAccType ) ));
32692    assert_eq! (unsafe {
32693                & ( * ( 0 as * const CThostFtdcRspTransferField ) ) . DeviceID
32694                as * const _ as usize } , 590usize , concat ! (
32695                "Alignment of field: " , stringify ! (
32696                CThostFtdcRspTransferField ) , "::" , stringify ! ( DeviceID )
32697                ));
32698    assert_eq! (unsafe {
32699                & ( * ( 0 as * const CThostFtdcRspTransferField ) ) .
32700                BankSecuAccType as * const _ as usize } , 593usize , concat !
32701                (
32702                "Alignment of field: " , stringify ! (
32703                CThostFtdcRspTransferField ) , "::" , stringify ! (
32704                BankSecuAccType ) ));
32705    assert_eq! (unsafe {
32706                & ( * ( 0 as * const CThostFtdcRspTransferField ) ) .
32707                BrokerIDByBank as * const _ as usize } , 594usize , concat ! (
32708                "Alignment of field: " , stringify ! (
32709                CThostFtdcRspTransferField ) , "::" , stringify ! (
32710                BrokerIDByBank ) ));
32711    assert_eq! (unsafe {
32712                & ( * ( 0 as * const CThostFtdcRspTransferField ) ) .
32713                BankSecuAcc as * const _ as usize } , 627usize , concat ! (
32714                "Alignment of field: " , stringify ! (
32715                CThostFtdcRspTransferField ) , "::" , stringify ! (
32716                BankSecuAcc ) ));
32717    assert_eq! (unsafe {
32718                & ( * ( 0 as * const CThostFtdcRspTransferField ) ) .
32719                BankPwdFlag as * const _ as usize } , 668usize , concat ! (
32720                "Alignment of field: " , stringify ! (
32721                CThostFtdcRspTransferField ) , "::" , stringify ! (
32722                BankPwdFlag ) ));
32723    assert_eq! (unsafe {
32724                & ( * ( 0 as * const CThostFtdcRspTransferField ) ) .
32725                SecuPwdFlag as * const _ as usize } , 669usize , concat ! (
32726                "Alignment of field: " , stringify ! (
32727                CThostFtdcRspTransferField ) , "::" , stringify ! (
32728                SecuPwdFlag ) ));
32729    assert_eq! (unsafe {
32730                & ( * ( 0 as * const CThostFtdcRspTransferField ) ) . OperNo
32731                as * const _ as usize } , 670usize , concat ! (
32732                "Alignment of field: " , stringify ! (
32733                CThostFtdcRspTransferField ) , "::" , stringify ! ( OperNo )
32734                ));
32735    assert_eq! (unsafe {
32736                & ( * ( 0 as * const CThostFtdcRspTransferField ) ) .
32737                RequestID as * const _ as usize } , 688usize , concat ! (
32738                "Alignment of field: " , stringify ! (
32739                CThostFtdcRspTransferField ) , "::" , stringify ! ( RequestID
32740                ) ));
32741    assert_eq! (unsafe {
32742                & ( * ( 0 as * const CThostFtdcRspTransferField ) ) . TID as *
32743                const _ as usize } , 692usize , concat ! (
32744                "Alignment of field: " , stringify ! (
32745                CThostFtdcRspTransferField ) , "::" , stringify ! ( TID ) ));
32746    assert_eq! (unsafe {
32747                & ( * ( 0 as * const CThostFtdcRspTransferField ) ) .
32748                TransferStatus as * const _ as usize } , 696usize , concat ! (
32749                "Alignment of field: " , stringify ! (
32750                CThostFtdcRspTransferField ) , "::" , stringify ! (
32751                TransferStatus ) ));
32752    assert_eq! (unsafe {
32753                & ( * ( 0 as * const CThostFtdcRspTransferField ) ) . ErrorID
32754                as * const _ as usize } , 700usize , concat ! (
32755                "Alignment of field: " , stringify ! (
32756                CThostFtdcRspTransferField ) , "::" , stringify ! ( ErrorID )
32757                ));
32758    assert_eq! (unsafe {
32759                & ( * ( 0 as * const CThostFtdcRspTransferField ) ) . ErrorMsg
32760                as * const _ as usize } , 704usize , concat ! (
32761                "Alignment of field: " , stringify ! (
32762                CThostFtdcRspTransferField ) , "::" , stringify ! ( ErrorMsg )
32763                ));
32764    assert_eq! (unsafe {
32765                & ( * ( 0 as * const CThostFtdcRspTransferField ) ) .
32766                LongCustomerName as * const _ as usize } , 785usize , concat !
32767                (
32768                "Alignment of field: " , stringify ! (
32769                CThostFtdcRspTransferField ) , "::" , stringify ! (
32770                LongCustomerName ) ));
32771}
32772impl Clone for CThostFtdcRspTransferField {
32773    fn clone(&self) -> Self { *self }
32774}
32775impl Default for CThostFtdcRspTransferField {
32776    fn default() -> Self { unsafe { ::std::mem::zeroed() } }
32777}
32778/// 冲正请求
32779#[repr(C)]
32780#[derive(Copy)]
32781pub struct CThostFtdcReqRepealField {
32782    /// 冲正时间间隔
32783    pub RepealTimeInterval: TThostFtdcRepealTimeIntervalType,
32784    /// 已经冲正次数
32785    pub RepealedTimes: TThostFtdcRepealedTimesType,
32786    /// 银行冲正标志
32787    pub BankRepealFlag: TThostFtdcBankRepealFlagType,
32788    /// 期商冲正标志
32789    pub BrokerRepealFlag: TThostFtdcBrokerRepealFlagType,
32790    /// 被冲正平台流水号
32791    pub PlateRepealSerial: TThostFtdcPlateSerialType,
32792    /// 被冲正银行流水号
32793    pub BankRepealSerial: TThostFtdcBankSerialType,
32794    /// 被冲正期货流水号
32795    pub FutureRepealSerial: TThostFtdcFutureSerialType,
32796    /// 业务功能码
32797    pub TradeCode: TThostFtdcTradeCodeType,
32798    /// 银行代码
32799    pub BankID: TThostFtdcBankIDType,
32800    /// 银行分支机构代码
32801    pub BankBranchID: TThostFtdcBankBrchIDType,
32802    /// 期商代码
32803    pub BrokerID: TThostFtdcBrokerIDType,
32804    /// 期商分支机构代码
32805    pub BrokerBranchID: TThostFtdcFutureBranchIDType,
32806    /// 交易日期
32807    pub TradeDate: TThostFtdcTradeDateType,
32808    /// 交易时间
32809    pub TradeTime: TThostFtdcTradeTimeType,
32810    /// 银行流水号
32811    pub BankSerial: TThostFtdcBankSerialType,
32812    /// 交易系统日期
32813    pub TradingDay: TThostFtdcTradeDateType,
32814    /// 银期平台消息流水号
32815    pub PlateSerial: TThostFtdcSerialType,
32816    /// 最后分片标志
32817    pub LastFragment: TThostFtdcLastFragmentType,
32818    /// 会话号
32819    pub SessionID: TThostFtdcSessionIDType,
32820    /// 客户姓名
32821    pub CustomerName: TThostFtdcIndividualNameType,
32822    /// 证件类型
32823    pub IdCardType: TThostFtdcIdCardTypeType,
32824    /// 证件号码
32825    pub IdentifiedCardNo: TThostFtdcIdentifiedCardNoType,
32826    /// 客户类型
32827    pub CustType: TThostFtdcCustTypeType,
32828    /// 银行帐号
32829    pub BankAccount: TThostFtdcBankAccountType,
32830    /// 银行密码
32831    pub BankPassWord: TThostFtdcPasswordType,
32832    /// 投资者帐号
32833    pub AccountID: TThostFtdcAccountIDType,
32834    /// 期货密码
32835    pub Password: TThostFtdcPasswordType,
32836    /// 安装编号
32837    pub InstallID: TThostFtdcInstallIDType,
32838    /// 期货公司流水号
32839    pub FutureSerial: TThostFtdcFutureSerialType,
32840    /// 用户标识
32841    pub UserID: TThostFtdcUserIDType,
32842    /// 验证客户证件号码标志
32843    pub VerifyCertNoFlag: TThostFtdcYesNoIndicatorType,
32844    /// 币种代码
32845    pub CurrencyID: TThostFtdcCurrencyIDType,
32846    /// 转帐金额
32847    pub TradeAmount: TThostFtdcTradeAmountType,
32848    /// 期货可取金额
32849    pub FutureFetchAmount: TThostFtdcTradeAmountType,
32850    /// 费用支付标志
32851    pub FeePayFlag: TThostFtdcFeePayFlagType,
32852    /// 应收客户费用
32853    pub CustFee: TThostFtdcCustFeeType,
32854    /// 应收期货公司费用
32855    pub BrokerFee: TThostFtdcFutureFeeType,
32856    /// 发送方给接收方的消息
32857    pub Message: TThostFtdcAddInfoType,
32858    /// 摘要
32859    pub Digest: TThostFtdcDigestType,
32860    /// 银行帐号类型
32861    pub BankAccType: TThostFtdcBankAccTypeType,
32862    /// 渠道标志
32863    pub DeviceID: TThostFtdcDeviceIDType,
32864    /// 期货单位帐号类型
32865    pub BankSecuAccType: TThostFtdcBankAccTypeType,
32866    /// 期货公司银行编码
32867    pub BrokerIDByBank: TThostFtdcBankCodingForFutureType,
32868    /// 期货单位帐号
32869    pub BankSecuAcc: TThostFtdcBankAccountType,
32870    /// 银行密码标志
32871    pub BankPwdFlag: TThostFtdcPwdFlagType,
32872    /// 期货资金密码核对标志
32873    pub SecuPwdFlag: TThostFtdcPwdFlagType,
32874    /// 交易柜员
32875    pub OperNo: TThostFtdcOperNoType,
32876    /// 请求编号
32877    pub RequestID: TThostFtdcRequestIDType,
32878    /// 交易ID
32879    pub TID: TThostFtdcTIDType,
32880    /// 转账交易状态
32881    pub TransferStatus: TThostFtdcTransferStatusType,
32882    /// 长客户姓名
32883    pub LongCustomerName: TThostFtdcLongIndividualNameType,
32884}
32885#[test]
32886fn bindgen_test_layout_CThostFtdcReqRepealField() {
32887    assert_eq!(::std::mem::size_of::<CThostFtdcReqRepealField>() , 904usize ,
32888               concat ! (
32889               "Size of: " , stringify ! ( CThostFtdcReqRepealField ) ));
32890    assert_eq! (::std::mem::align_of::<CThostFtdcReqRepealField>() , 8usize ,
32891                concat ! (
32892                "Alignment of " , stringify ! ( CThostFtdcReqRepealField ) ));
32893    assert_eq! (unsafe {
32894                & ( * ( 0 as * const CThostFtdcReqRepealField ) ) .
32895                RepealTimeInterval as * const _ as usize } , 0usize , concat !
32896                (
32897                "Alignment of field: " , stringify ! (
32898                CThostFtdcReqRepealField ) , "::" , stringify ! (
32899                RepealTimeInterval ) ));
32900    assert_eq! (unsafe {
32901                & ( * ( 0 as * const CThostFtdcReqRepealField ) ) .
32902                RepealedTimes as * const _ as usize } , 4usize , concat ! (
32903                "Alignment of field: " , stringify ! (
32904                CThostFtdcReqRepealField ) , "::" , stringify ! (
32905                RepealedTimes ) ));
32906    assert_eq! (unsafe {
32907                & ( * ( 0 as * const CThostFtdcReqRepealField ) ) .
32908                BankRepealFlag as * const _ as usize } , 8usize , concat ! (
32909                "Alignment of field: " , stringify ! (
32910                CThostFtdcReqRepealField ) , "::" , stringify ! (
32911                BankRepealFlag ) ));
32912    assert_eq! (unsafe {
32913                & ( * ( 0 as * const CThostFtdcReqRepealField ) ) .
32914                BrokerRepealFlag as * const _ as usize } , 9usize , concat ! (
32915                "Alignment of field: " , stringify ! (
32916                CThostFtdcReqRepealField ) , "::" , stringify ! (
32917                BrokerRepealFlag ) ));
32918    assert_eq! (unsafe {
32919                & ( * ( 0 as * const CThostFtdcReqRepealField ) ) .
32920                PlateRepealSerial as * const _ as usize } , 12usize , concat !
32921                (
32922                "Alignment of field: " , stringify ! (
32923                CThostFtdcReqRepealField ) , "::" , stringify ! (
32924                PlateRepealSerial ) ));
32925    assert_eq! (unsafe {
32926                & ( * ( 0 as * const CThostFtdcReqRepealField ) ) .
32927                BankRepealSerial as * const _ as usize } , 16usize , concat !
32928                (
32929                "Alignment of field: " , stringify ! (
32930                CThostFtdcReqRepealField ) , "::" , stringify ! (
32931                BankRepealSerial ) ));
32932    assert_eq! (unsafe {
32933                & ( * ( 0 as * const CThostFtdcReqRepealField ) ) .
32934                FutureRepealSerial as * const _ as usize } , 32usize , concat
32935                ! (
32936                "Alignment of field: " , stringify ! (
32937                CThostFtdcReqRepealField ) , "::" , stringify ! (
32938                FutureRepealSerial ) ));
32939    assert_eq! (unsafe {
32940                & ( * ( 0 as * const CThostFtdcReqRepealField ) ) . TradeCode
32941                as * const _ as usize } , 36usize , concat ! (
32942                "Alignment of field: " , stringify ! (
32943                CThostFtdcReqRepealField ) , "::" , stringify ! ( TradeCode )
32944                ));
32945    assert_eq! (unsafe {
32946                & ( * ( 0 as * const CThostFtdcReqRepealField ) ) . BankID as
32947                * const _ as usize } , 43usize , concat ! (
32948                "Alignment of field: " , stringify ! (
32949                CThostFtdcReqRepealField ) , "::" , stringify ! ( BankID ) ));
32950    assert_eq! (unsafe {
32951                & ( * ( 0 as * const CThostFtdcReqRepealField ) ) .
32952                BankBranchID as * const _ as usize } , 47usize , concat ! (
32953                "Alignment of field: " , stringify ! (
32954                CThostFtdcReqRepealField ) , "::" , stringify ! ( BankBranchID
32955                ) ));
32956    assert_eq! (unsafe {
32957                & ( * ( 0 as * const CThostFtdcReqRepealField ) ) . BrokerID
32958                as * const _ as usize } , 52usize , concat ! (
32959                "Alignment of field: " , stringify ! (
32960                CThostFtdcReqRepealField ) , "::" , stringify ! ( BrokerID )
32961                ));
32962    assert_eq! (unsafe {
32963                & ( * ( 0 as * const CThostFtdcReqRepealField ) ) .
32964                BrokerBranchID as * const _ as usize } , 63usize , concat ! (
32965                "Alignment of field: " , stringify ! (
32966                CThostFtdcReqRepealField ) , "::" , stringify ! (
32967                BrokerBranchID ) ));
32968    assert_eq! (unsafe {
32969                & ( * ( 0 as * const CThostFtdcReqRepealField ) ) . TradeDate
32970                as * const _ as usize } , 94usize , concat ! (
32971                "Alignment of field: " , stringify ! (
32972                CThostFtdcReqRepealField ) , "::" , stringify ! ( TradeDate )
32973                ));
32974    assert_eq! (unsafe {
32975                & ( * ( 0 as * const CThostFtdcReqRepealField ) ) . TradeTime
32976                as * const _ as usize } , 103usize , concat ! (
32977                "Alignment of field: " , stringify ! (
32978                CThostFtdcReqRepealField ) , "::" , stringify ! ( TradeTime )
32979                ));
32980    assert_eq! (unsafe {
32981                & ( * ( 0 as * const CThostFtdcReqRepealField ) ) . BankSerial
32982                as * const _ as usize } , 112usize , concat ! (
32983                "Alignment of field: " , stringify ! (
32984                CThostFtdcReqRepealField ) , "::" , stringify ! ( BankSerial )
32985                ));
32986    assert_eq! (unsafe {
32987                & ( * ( 0 as * const CThostFtdcReqRepealField ) ) . TradingDay
32988                as * const _ as usize } , 125usize , concat ! (
32989                "Alignment of field: " , stringify ! (
32990                CThostFtdcReqRepealField ) , "::" , stringify ! ( TradingDay )
32991                ));
32992    assert_eq! (unsafe {
32993                & ( * ( 0 as * const CThostFtdcReqRepealField ) ) .
32994                PlateSerial as * const _ as usize } , 136usize , concat ! (
32995                "Alignment of field: " , stringify ! (
32996                CThostFtdcReqRepealField ) , "::" , stringify ! ( PlateSerial
32997                ) ));
32998    assert_eq! (unsafe {
32999                & ( * ( 0 as * const CThostFtdcReqRepealField ) ) .
33000                LastFragment as * const _ as usize } , 140usize , concat ! (
33001                "Alignment of field: " , stringify ! (
33002                CThostFtdcReqRepealField ) , "::" , stringify ! ( LastFragment
33003                ) ));
33004    assert_eq! (unsafe {
33005                & ( * ( 0 as * const CThostFtdcReqRepealField ) ) . SessionID
33006                as * const _ as usize } , 144usize , concat ! (
33007                "Alignment of field: " , stringify ! (
33008                CThostFtdcReqRepealField ) , "::" , stringify ! ( SessionID )
33009                ));
33010    assert_eq! (unsafe {
33011                & ( * ( 0 as * const CThostFtdcReqRepealField ) ) .
33012                CustomerName as * const _ as usize } , 148usize , concat ! (
33013                "Alignment of field: " , stringify ! (
33014                CThostFtdcReqRepealField ) , "::" , stringify ! ( CustomerName
33015                ) ));
33016    assert_eq! (unsafe {
33017                & ( * ( 0 as * const CThostFtdcReqRepealField ) ) . IdCardType
33018                as * const _ as usize } , 199usize , concat ! (
33019                "Alignment of field: " , stringify ! (
33020                CThostFtdcReqRepealField ) , "::" , stringify ! ( IdCardType )
33021                ));
33022    assert_eq! (unsafe {
33023                & ( * ( 0 as * const CThostFtdcReqRepealField ) ) .
33024                IdentifiedCardNo as * const _ as usize } , 200usize , concat !
33025                (
33026                "Alignment of field: " , stringify ! (
33027                CThostFtdcReqRepealField ) , "::" , stringify ! (
33028                IdentifiedCardNo ) ));
33029    assert_eq! (unsafe {
33030                & ( * ( 0 as * const CThostFtdcReqRepealField ) ) . CustType
33031                as * const _ as usize } , 251usize , concat ! (
33032                "Alignment of field: " , stringify ! (
33033                CThostFtdcReqRepealField ) , "::" , stringify ! ( CustType )
33034                ));
33035    assert_eq! (unsafe {
33036                & ( * ( 0 as * const CThostFtdcReqRepealField ) ) .
33037                BankAccount as * const _ as usize } , 252usize , concat ! (
33038                "Alignment of field: " , stringify ! (
33039                CThostFtdcReqRepealField ) , "::" , stringify ! ( BankAccount
33040                ) ));
33041    assert_eq! (unsafe {
33042                & ( * ( 0 as * const CThostFtdcReqRepealField ) ) .
33043                BankPassWord as * const _ as usize } , 293usize , concat ! (
33044                "Alignment of field: " , stringify ! (
33045                CThostFtdcReqRepealField ) , "::" , stringify ! ( BankPassWord
33046                ) ));
33047    assert_eq! (unsafe {
33048                & ( * ( 0 as * const CThostFtdcReqRepealField ) ) . AccountID
33049                as * const _ as usize } , 334usize , concat ! (
33050                "Alignment of field: " , stringify ! (
33051                CThostFtdcReqRepealField ) , "::" , stringify ! ( AccountID )
33052                ));
33053    assert_eq! (unsafe {
33054                & ( * ( 0 as * const CThostFtdcReqRepealField ) ) . Password
33055                as * const _ as usize } , 347usize , concat ! (
33056                "Alignment of field: " , stringify ! (
33057                CThostFtdcReqRepealField ) , "::" , stringify ! ( Password )
33058                ));
33059    assert_eq! (unsafe {
33060                & ( * ( 0 as * const CThostFtdcReqRepealField ) ) . InstallID
33061                as * const _ as usize } , 388usize , concat ! (
33062                "Alignment of field: " , stringify ! (
33063                CThostFtdcReqRepealField ) , "::" , stringify ! ( InstallID )
33064                ));
33065    assert_eq! (unsafe {
33066                & ( * ( 0 as * const CThostFtdcReqRepealField ) ) .
33067                FutureSerial as * const _ as usize } , 392usize , concat ! (
33068                "Alignment of field: " , stringify ! (
33069                CThostFtdcReqRepealField ) , "::" , stringify ! ( FutureSerial
33070                ) ));
33071    assert_eq! (unsafe {
33072                & ( * ( 0 as * const CThostFtdcReqRepealField ) ) . UserID as
33073                * const _ as usize } , 396usize , concat ! (
33074                "Alignment of field: " , stringify ! (
33075                CThostFtdcReqRepealField ) , "::" , stringify ! ( UserID ) ));
33076    assert_eq! (unsafe {
33077                & ( * ( 0 as * const CThostFtdcReqRepealField ) ) .
33078                VerifyCertNoFlag as * const _ as usize } , 412usize , concat !
33079                (
33080                "Alignment of field: " , stringify ! (
33081                CThostFtdcReqRepealField ) , "::" , stringify ! (
33082                VerifyCertNoFlag ) ));
33083    assert_eq! (unsafe {
33084                & ( * ( 0 as * const CThostFtdcReqRepealField ) ) . CurrencyID
33085                as * const _ as usize } , 413usize , concat ! (
33086                "Alignment of field: " , stringify ! (
33087                CThostFtdcReqRepealField ) , "::" , stringify ! ( CurrencyID )
33088                ));
33089    assert_eq! (unsafe {
33090                & ( * ( 0 as * const CThostFtdcReqRepealField ) ) .
33091                TradeAmount as * const _ as usize } , 424usize , concat ! (
33092                "Alignment of field: " , stringify ! (
33093                CThostFtdcReqRepealField ) , "::" , stringify ! ( TradeAmount
33094                ) ));
33095    assert_eq! (unsafe {
33096                & ( * ( 0 as * const CThostFtdcReqRepealField ) ) .
33097                FutureFetchAmount as * const _ as usize } , 432usize , concat
33098                ! (
33099                "Alignment of field: " , stringify ! (
33100                CThostFtdcReqRepealField ) , "::" , stringify ! (
33101                FutureFetchAmount ) ));
33102    assert_eq! (unsafe {
33103                & ( * ( 0 as * const CThostFtdcReqRepealField ) ) . FeePayFlag
33104                as * const _ as usize } , 440usize , concat ! (
33105                "Alignment of field: " , stringify ! (
33106                CThostFtdcReqRepealField ) , "::" , stringify ! ( FeePayFlag )
33107                ));
33108    assert_eq! (unsafe {
33109                & ( * ( 0 as * const CThostFtdcReqRepealField ) ) . CustFee as
33110                * const _ as usize } , 448usize , concat ! (
33111                "Alignment of field: " , stringify ! (
33112                CThostFtdcReqRepealField ) , "::" , stringify ! ( CustFee )
33113                ));
33114    assert_eq! (unsafe {
33115                & ( * ( 0 as * const CThostFtdcReqRepealField ) ) . BrokerFee
33116                as * const _ as usize } , 456usize , concat ! (
33117                "Alignment of field: " , stringify ! (
33118                CThostFtdcReqRepealField ) , "::" , stringify ! ( BrokerFee )
33119                ));
33120    assert_eq! (unsafe {
33121                & ( * ( 0 as * const CThostFtdcReqRepealField ) ) . Message as
33122                * const _ as usize } , 464usize , concat ! (
33123                "Alignment of field: " , stringify ! (
33124                CThostFtdcReqRepealField ) , "::" , stringify ! ( Message )
33125                ));
33126    assert_eq! (unsafe {
33127                & ( * ( 0 as * const CThostFtdcReqRepealField ) ) . Digest as
33128                * const _ as usize } , 593usize , concat ! (
33129                "Alignment of field: " , stringify ! (
33130                CThostFtdcReqRepealField ) , "::" , stringify ! ( Digest ) ));
33131    assert_eq! (unsafe {
33132                & ( * ( 0 as * const CThostFtdcReqRepealField ) ) .
33133                BankAccType as * const _ as usize } , 629usize , concat ! (
33134                "Alignment of field: " , stringify ! (
33135                CThostFtdcReqRepealField ) , "::" , stringify ! ( BankAccType
33136                ) ));
33137    assert_eq! (unsafe {
33138                & ( * ( 0 as * const CThostFtdcReqRepealField ) ) . DeviceID
33139                as * const _ as usize } , 630usize , concat ! (
33140                "Alignment of field: " , stringify ! (
33141                CThostFtdcReqRepealField ) , "::" , stringify ! ( DeviceID )
33142                ));
33143    assert_eq! (unsafe {
33144                & ( * ( 0 as * const CThostFtdcReqRepealField ) ) .
33145                BankSecuAccType as * const _ as usize } , 633usize , concat !
33146                (
33147                "Alignment of field: " , stringify ! (
33148                CThostFtdcReqRepealField ) , "::" , stringify ! (
33149                BankSecuAccType ) ));
33150    assert_eq! (unsafe {
33151                & ( * ( 0 as * const CThostFtdcReqRepealField ) ) .
33152                BrokerIDByBank as * const _ as usize } , 634usize , concat ! (
33153                "Alignment of field: " , stringify ! (
33154                CThostFtdcReqRepealField ) , "::" , stringify ! (
33155                BrokerIDByBank ) ));
33156    assert_eq! (unsafe {
33157                & ( * ( 0 as * const CThostFtdcReqRepealField ) ) .
33158                BankSecuAcc as * const _ as usize } , 667usize , concat ! (
33159                "Alignment of field: " , stringify ! (
33160                CThostFtdcReqRepealField ) , "::" , stringify ! ( BankSecuAcc
33161                ) ));
33162    assert_eq! (unsafe {
33163                & ( * ( 0 as * const CThostFtdcReqRepealField ) ) .
33164                BankPwdFlag as * const _ as usize } , 708usize , concat ! (
33165                "Alignment of field: " , stringify ! (
33166                CThostFtdcReqRepealField ) , "::" , stringify ! ( BankPwdFlag
33167                ) ));
33168    assert_eq! (unsafe {
33169                & ( * ( 0 as * const CThostFtdcReqRepealField ) ) .
33170                SecuPwdFlag as * const _ as usize } , 709usize , concat ! (
33171                "Alignment of field: " , stringify ! (
33172                CThostFtdcReqRepealField ) , "::" , stringify ! ( SecuPwdFlag
33173                ) ));
33174    assert_eq! (unsafe {
33175                & ( * ( 0 as * const CThostFtdcReqRepealField ) ) . OperNo as
33176                * const _ as usize } , 710usize , concat ! (
33177                "Alignment of field: " , stringify ! (
33178                CThostFtdcReqRepealField ) , "::" , stringify ! ( OperNo ) ));
33179    assert_eq! (unsafe {
33180                & ( * ( 0 as * const CThostFtdcReqRepealField ) ) . RequestID
33181                as * const _ as usize } , 728usize , concat ! (
33182                "Alignment of field: " , stringify ! (
33183                CThostFtdcReqRepealField ) , "::" , stringify ! ( RequestID )
33184                ));
33185    assert_eq! (unsafe {
33186                & ( * ( 0 as * const CThostFtdcReqRepealField ) ) . TID as *
33187                const _ as usize } , 732usize , concat ! (
33188                "Alignment of field: " , stringify ! (
33189                CThostFtdcReqRepealField ) , "::" , stringify ! ( TID ) ));
33190    assert_eq! (unsafe {
33191                & ( * ( 0 as * const CThostFtdcReqRepealField ) ) .
33192                TransferStatus as * const _ as usize } , 736usize , concat ! (
33193                "Alignment of field: " , stringify ! (
33194                CThostFtdcReqRepealField ) , "::" , stringify ! (
33195                TransferStatus ) ));
33196    assert_eq! (unsafe {
33197                & ( * ( 0 as * const CThostFtdcReqRepealField ) ) .
33198                LongCustomerName as * const _ as usize } , 737usize , concat !
33199                (
33200                "Alignment of field: " , stringify ! (
33201                CThostFtdcReqRepealField ) , "::" , stringify ! (
33202                LongCustomerName ) ));
33203}
33204impl Clone for CThostFtdcReqRepealField {
33205    fn clone(&self) -> Self { *self }
33206}
33207impl Default for CThostFtdcReqRepealField {
33208    fn default() -> Self { unsafe { ::std::mem::zeroed() } }
33209}
33210/// 冲正响应
33211#[repr(C)]
33212#[derive(Copy)]
33213pub struct CThostFtdcRspRepealField {
33214    /// 冲正时间间隔
33215    pub RepealTimeInterval: TThostFtdcRepealTimeIntervalType,
33216    /// 已经冲正次数
33217    pub RepealedTimes: TThostFtdcRepealedTimesType,
33218    /// 银行冲正标志
33219    pub BankRepealFlag: TThostFtdcBankRepealFlagType,
33220    /// 期商冲正标志
33221    pub BrokerRepealFlag: TThostFtdcBrokerRepealFlagType,
33222    /// 被冲正平台流水号
33223    pub PlateRepealSerial: TThostFtdcPlateSerialType,
33224    /// 被冲正银行流水号
33225    pub BankRepealSerial: TThostFtdcBankSerialType,
33226    /// 被冲正期货流水号
33227    pub FutureRepealSerial: TThostFtdcFutureSerialType,
33228    /// 业务功能码
33229    pub TradeCode: TThostFtdcTradeCodeType,
33230    /// 银行代码
33231    pub BankID: TThostFtdcBankIDType,
33232    /// 银行分支机构代码
33233    pub BankBranchID: TThostFtdcBankBrchIDType,
33234    /// 期商代码
33235    pub BrokerID: TThostFtdcBrokerIDType,
33236    /// 期商分支机构代码
33237    pub BrokerBranchID: TThostFtdcFutureBranchIDType,
33238    /// 交易日期
33239    pub TradeDate: TThostFtdcTradeDateType,
33240    /// 交易时间
33241    pub TradeTime: TThostFtdcTradeTimeType,
33242    /// 银行流水号
33243    pub BankSerial: TThostFtdcBankSerialType,
33244    /// 交易系统日期
33245    pub TradingDay: TThostFtdcTradeDateType,
33246    /// 银期平台消息流水号
33247    pub PlateSerial: TThostFtdcSerialType,
33248    /// 最后分片标志
33249    pub LastFragment: TThostFtdcLastFragmentType,
33250    /// 会话号
33251    pub SessionID: TThostFtdcSessionIDType,
33252    /// 客户姓名
33253    pub CustomerName: TThostFtdcIndividualNameType,
33254    /// 证件类型
33255    pub IdCardType: TThostFtdcIdCardTypeType,
33256    /// 证件号码
33257    pub IdentifiedCardNo: TThostFtdcIdentifiedCardNoType,
33258    /// 客户类型
33259    pub CustType: TThostFtdcCustTypeType,
33260    /// 银行帐号
33261    pub BankAccount: TThostFtdcBankAccountType,
33262    /// 银行密码
33263    pub BankPassWord: TThostFtdcPasswordType,
33264    /// 投资者帐号
33265    pub AccountID: TThostFtdcAccountIDType,
33266    /// 期货密码
33267    pub Password: TThostFtdcPasswordType,
33268    /// 安装编号
33269    pub InstallID: TThostFtdcInstallIDType,
33270    /// 期货公司流水号
33271    pub FutureSerial: TThostFtdcFutureSerialType,
33272    /// 用户标识
33273    pub UserID: TThostFtdcUserIDType,
33274    /// 验证客户证件号码标志
33275    pub VerifyCertNoFlag: TThostFtdcYesNoIndicatorType,
33276    /// 币种代码
33277    pub CurrencyID: TThostFtdcCurrencyIDType,
33278    /// 转帐金额
33279    pub TradeAmount: TThostFtdcTradeAmountType,
33280    /// 期货可取金额
33281    pub FutureFetchAmount: TThostFtdcTradeAmountType,
33282    /// 费用支付标志
33283    pub FeePayFlag: TThostFtdcFeePayFlagType,
33284    /// 应收客户费用
33285    pub CustFee: TThostFtdcCustFeeType,
33286    /// 应收期货公司费用
33287    pub BrokerFee: TThostFtdcFutureFeeType,
33288    /// 发送方给接收方的消息
33289    pub Message: TThostFtdcAddInfoType,
33290    /// 摘要
33291    pub Digest: TThostFtdcDigestType,
33292    /// 银行帐号类型
33293    pub BankAccType: TThostFtdcBankAccTypeType,
33294    /// 渠道标志
33295    pub DeviceID: TThostFtdcDeviceIDType,
33296    /// 期货单位帐号类型
33297    pub BankSecuAccType: TThostFtdcBankAccTypeType,
33298    /// 期货公司银行编码
33299    pub BrokerIDByBank: TThostFtdcBankCodingForFutureType,
33300    /// 期货单位帐号
33301    pub BankSecuAcc: TThostFtdcBankAccountType,
33302    /// 银行密码标志
33303    pub BankPwdFlag: TThostFtdcPwdFlagType,
33304    /// 期货资金密码核对标志
33305    pub SecuPwdFlag: TThostFtdcPwdFlagType,
33306    /// 交易柜员
33307    pub OperNo: TThostFtdcOperNoType,
33308    /// 请求编号
33309    pub RequestID: TThostFtdcRequestIDType,
33310    /// 交易ID
33311    pub TID: TThostFtdcTIDType,
33312    /// 转账交易状态
33313    pub TransferStatus: TThostFtdcTransferStatusType,
33314    /// 错误代码
33315    pub ErrorID: TThostFtdcErrorIDType,
33316    /// 错误信息
33317    pub ErrorMsg: TThostFtdcErrorMsgType,
33318    /// 长客户姓名
33319    pub LongCustomerName: TThostFtdcLongIndividualNameType,
33320}
33321#[test]
33322fn bindgen_test_layout_CThostFtdcRspRepealField() {
33323    assert_eq!(::std::mem::size_of::<CThostFtdcRspRepealField>() , 992usize ,
33324               concat ! (
33325               "Size of: " , stringify ! ( CThostFtdcRspRepealField ) ));
33326    assert_eq! (::std::mem::align_of::<CThostFtdcRspRepealField>() , 8usize ,
33327                concat ! (
33328                "Alignment of " , stringify ! ( CThostFtdcRspRepealField ) ));
33329    assert_eq! (unsafe {
33330                & ( * ( 0 as * const CThostFtdcRspRepealField ) ) .
33331                RepealTimeInterval as * const _ as usize } , 0usize , concat !
33332                (
33333                "Alignment of field: " , stringify ! (
33334                CThostFtdcRspRepealField ) , "::" , stringify ! (
33335                RepealTimeInterval ) ));
33336    assert_eq! (unsafe {
33337                & ( * ( 0 as * const CThostFtdcRspRepealField ) ) .
33338                RepealedTimes as * const _ as usize } , 4usize , concat ! (
33339                "Alignment of field: " , stringify ! (
33340                CThostFtdcRspRepealField ) , "::" , stringify ! (
33341                RepealedTimes ) ));
33342    assert_eq! (unsafe {
33343                & ( * ( 0 as * const CThostFtdcRspRepealField ) ) .
33344                BankRepealFlag as * const _ as usize } , 8usize , concat ! (
33345                "Alignment of field: " , stringify ! (
33346                CThostFtdcRspRepealField ) , "::" , stringify ! (
33347                BankRepealFlag ) ));
33348    assert_eq! (unsafe {
33349                & ( * ( 0 as * const CThostFtdcRspRepealField ) ) .
33350                BrokerRepealFlag as * const _ as usize } , 9usize , concat ! (
33351                "Alignment of field: " , stringify ! (
33352                CThostFtdcRspRepealField ) , "::" , stringify ! (
33353                BrokerRepealFlag ) ));
33354    assert_eq! (unsafe {
33355                & ( * ( 0 as * const CThostFtdcRspRepealField ) ) .
33356                PlateRepealSerial as * const _ as usize } , 12usize , concat !
33357                (
33358                "Alignment of field: " , stringify ! (
33359                CThostFtdcRspRepealField ) , "::" , stringify ! (
33360                PlateRepealSerial ) ));
33361    assert_eq! (unsafe {
33362                & ( * ( 0 as * const CThostFtdcRspRepealField ) ) .
33363                BankRepealSerial as * const _ as usize } , 16usize , concat !
33364                (
33365                "Alignment of field: " , stringify ! (
33366                CThostFtdcRspRepealField ) , "::" , stringify ! (
33367                BankRepealSerial ) ));
33368    assert_eq! (unsafe {
33369                & ( * ( 0 as * const CThostFtdcRspRepealField ) ) .
33370                FutureRepealSerial as * const _ as usize } , 32usize , concat
33371                ! (
33372                "Alignment of field: " , stringify ! (
33373                CThostFtdcRspRepealField ) , "::" , stringify ! (
33374                FutureRepealSerial ) ));
33375    assert_eq! (unsafe {
33376                & ( * ( 0 as * const CThostFtdcRspRepealField ) ) . TradeCode
33377                as * const _ as usize } , 36usize , concat ! (
33378                "Alignment of field: " , stringify ! (
33379                CThostFtdcRspRepealField ) , "::" , stringify ! ( TradeCode )
33380                ));
33381    assert_eq! (unsafe {
33382                & ( * ( 0 as * const CThostFtdcRspRepealField ) ) . BankID as
33383                * const _ as usize } , 43usize , concat ! (
33384                "Alignment of field: " , stringify ! (
33385                CThostFtdcRspRepealField ) , "::" , stringify ! ( BankID ) ));
33386    assert_eq! (unsafe {
33387                & ( * ( 0 as * const CThostFtdcRspRepealField ) ) .
33388                BankBranchID as * const _ as usize } , 47usize , concat ! (
33389                "Alignment of field: " , stringify ! (
33390                CThostFtdcRspRepealField ) , "::" , stringify ! ( BankBranchID
33391                ) ));
33392    assert_eq! (unsafe {
33393                & ( * ( 0 as * const CThostFtdcRspRepealField ) ) . BrokerID
33394                as * const _ as usize } , 52usize , concat ! (
33395                "Alignment of field: " , stringify ! (
33396                CThostFtdcRspRepealField ) , "::" , stringify ! ( BrokerID )
33397                ));
33398    assert_eq! (unsafe {
33399                & ( * ( 0 as * const CThostFtdcRspRepealField ) ) .
33400                BrokerBranchID as * const _ as usize } , 63usize , concat ! (
33401                "Alignment of field: " , stringify ! (
33402                CThostFtdcRspRepealField ) , "::" , stringify ! (
33403                BrokerBranchID ) ));
33404    assert_eq! (unsafe {
33405                & ( * ( 0 as * const CThostFtdcRspRepealField ) ) . TradeDate
33406                as * const _ as usize } , 94usize , concat ! (
33407                "Alignment of field: " , stringify ! (
33408                CThostFtdcRspRepealField ) , "::" , stringify ! ( TradeDate )
33409                ));
33410    assert_eq! (unsafe {
33411                & ( * ( 0 as * const CThostFtdcRspRepealField ) ) . TradeTime
33412                as * const _ as usize } , 103usize , concat ! (
33413                "Alignment of field: " , stringify ! (
33414                CThostFtdcRspRepealField ) , "::" , stringify ! ( TradeTime )
33415                ));
33416    assert_eq! (unsafe {
33417                & ( * ( 0 as * const CThostFtdcRspRepealField ) ) . BankSerial
33418                as * const _ as usize } , 112usize , concat ! (
33419                "Alignment of field: " , stringify ! (
33420                CThostFtdcRspRepealField ) , "::" , stringify ! ( BankSerial )
33421                ));
33422    assert_eq! (unsafe {
33423                & ( * ( 0 as * const CThostFtdcRspRepealField ) ) . TradingDay
33424                as * const _ as usize } , 125usize , concat ! (
33425                "Alignment of field: " , stringify ! (
33426                CThostFtdcRspRepealField ) , "::" , stringify ! ( TradingDay )
33427                ));
33428    assert_eq! (unsafe {
33429                & ( * ( 0 as * const CThostFtdcRspRepealField ) ) .
33430                PlateSerial as * const _ as usize } , 136usize , concat ! (
33431                "Alignment of field: " , stringify ! (
33432                CThostFtdcRspRepealField ) , "::" , stringify ! ( PlateSerial
33433                ) ));
33434    assert_eq! (unsafe {
33435                & ( * ( 0 as * const CThostFtdcRspRepealField ) ) .
33436                LastFragment as * const _ as usize } , 140usize , concat ! (
33437                "Alignment of field: " , stringify ! (
33438                CThostFtdcRspRepealField ) , "::" , stringify ! ( LastFragment
33439                ) ));
33440    assert_eq! (unsafe {
33441                & ( * ( 0 as * const CThostFtdcRspRepealField ) ) . SessionID
33442                as * const _ as usize } , 144usize , concat ! (
33443                "Alignment of field: " , stringify ! (
33444                CThostFtdcRspRepealField ) , "::" , stringify ! ( SessionID )
33445                ));
33446    assert_eq! (unsafe {
33447                & ( * ( 0 as * const CThostFtdcRspRepealField ) ) .
33448                CustomerName as * const _ as usize } , 148usize , concat ! (
33449                "Alignment of field: " , stringify ! (
33450                CThostFtdcRspRepealField ) , "::" , stringify ! ( CustomerName
33451                ) ));
33452    assert_eq! (unsafe {
33453                & ( * ( 0 as * const CThostFtdcRspRepealField ) ) . IdCardType
33454                as * const _ as usize } , 199usize , concat ! (
33455                "Alignment of field: " , stringify ! (
33456                CThostFtdcRspRepealField ) , "::" , stringify ! ( IdCardType )
33457                ));
33458    assert_eq! (unsafe {
33459                & ( * ( 0 as * const CThostFtdcRspRepealField ) ) .
33460                IdentifiedCardNo as * const _ as usize } , 200usize , concat !
33461                (
33462                "Alignment of field: " , stringify ! (
33463                CThostFtdcRspRepealField ) , "::" , stringify ! (
33464                IdentifiedCardNo ) ));
33465    assert_eq! (unsafe {
33466                & ( * ( 0 as * const CThostFtdcRspRepealField ) ) . CustType
33467                as * const _ as usize } , 251usize , concat ! (
33468                "Alignment of field: " , stringify ! (
33469                CThostFtdcRspRepealField ) , "::" , stringify ! ( CustType )
33470                ));
33471    assert_eq! (unsafe {
33472                & ( * ( 0 as * const CThostFtdcRspRepealField ) ) .
33473                BankAccount as * const _ as usize } , 252usize , concat ! (
33474                "Alignment of field: " , stringify ! (
33475                CThostFtdcRspRepealField ) , "::" , stringify ! ( BankAccount
33476                ) ));
33477    assert_eq! (unsafe {
33478                & ( * ( 0 as * const CThostFtdcRspRepealField ) ) .
33479                BankPassWord as * const _ as usize } , 293usize , concat ! (
33480                "Alignment of field: " , stringify ! (
33481                CThostFtdcRspRepealField ) , "::" , stringify ! ( BankPassWord
33482                ) ));
33483    assert_eq! (unsafe {
33484                & ( * ( 0 as * const CThostFtdcRspRepealField ) ) . AccountID
33485                as * const _ as usize } , 334usize , concat ! (
33486                "Alignment of field: " , stringify ! (
33487                CThostFtdcRspRepealField ) , "::" , stringify ! ( AccountID )
33488                ));
33489    assert_eq! (unsafe {
33490                & ( * ( 0 as * const CThostFtdcRspRepealField ) ) . Password
33491                as * const _ as usize } , 347usize , concat ! (
33492                "Alignment of field: " , stringify ! (
33493                CThostFtdcRspRepealField ) , "::" , stringify ! ( Password )
33494                ));
33495    assert_eq! (unsafe {
33496                & ( * ( 0 as * const CThostFtdcRspRepealField ) ) . InstallID
33497                as * const _ as usize } , 388usize , concat ! (
33498                "Alignment of field: " , stringify ! (
33499                CThostFtdcRspRepealField ) , "::" , stringify ! ( InstallID )
33500                ));
33501    assert_eq! (unsafe {
33502                & ( * ( 0 as * const CThostFtdcRspRepealField ) ) .
33503                FutureSerial as * const _ as usize } , 392usize , concat ! (
33504                "Alignment of field: " , stringify ! (
33505                CThostFtdcRspRepealField ) , "::" , stringify ! ( FutureSerial
33506                ) ));
33507    assert_eq! (unsafe {
33508                & ( * ( 0 as * const CThostFtdcRspRepealField ) ) . UserID as
33509                * const _ as usize } , 396usize , concat ! (
33510                "Alignment of field: " , stringify ! (
33511                CThostFtdcRspRepealField ) , "::" , stringify ! ( UserID ) ));
33512    assert_eq! (unsafe {
33513                & ( * ( 0 as * const CThostFtdcRspRepealField ) ) .
33514                VerifyCertNoFlag as * const _ as usize } , 412usize , concat !
33515                (
33516                "Alignment of field: " , stringify ! (
33517                CThostFtdcRspRepealField ) , "::" , stringify ! (
33518                VerifyCertNoFlag ) ));
33519    assert_eq! (unsafe {
33520                & ( * ( 0 as * const CThostFtdcRspRepealField ) ) . CurrencyID
33521                as * const _ as usize } , 413usize , concat ! (
33522                "Alignment of field: " , stringify ! (
33523                CThostFtdcRspRepealField ) , "::" , stringify ! ( CurrencyID )
33524                ));
33525    assert_eq! (unsafe {
33526                & ( * ( 0 as * const CThostFtdcRspRepealField ) ) .
33527                TradeAmount as * const _ as usize } , 424usize , concat ! (
33528                "Alignment of field: " , stringify ! (
33529                CThostFtdcRspRepealField ) , "::" , stringify ! ( TradeAmount
33530                ) ));
33531    assert_eq! (unsafe {
33532                & ( * ( 0 as * const CThostFtdcRspRepealField ) ) .
33533                FutureFetchAmount as * const _ as usize } , 432usize , concat
33534                ! (
33535                "Alignment of field: " , stringify ! (
33536                CThostFtdcRspRepealField ) , "::" , stringify ! (
33537                FutureFetchAmount ) ));
33538    assert_eq! (unsafe {
33539                & ( * ( 0 as * const CThostFtdcRspRepealField ) ) . FeePayFlag
33540                as * const _ as usize } , 440usize , concat ! (
33541                "Alignment of field: " , stringify ! (
33542                CThostFtdcRspRepealField ) , "::" , stringify ! ( FeePayFlag )
33543                ));
33544    assert_eq! (unsafe {
33545                & ( * ( 0 as * const CThostFtdcRspRepealField ) ) . CustFee as
33546                * const _ as usize } , 448usize , concat ! (
33547                "Alignment of field: " , stringify ! (
33548                CThostFtdcRspRepealField ) , "::" , stringify ! ( CustFee )
33549                ));
33550    assert_eq! (unsafe {
33551                & ( * ( 0 as * const CThostFtdcRspRepealField ) ) . BrokerFee
33552                as * const _ as usize } , 456usize , concat ! (
33553                "Alignment of field: " , stringify ! (
33554                CThostFtdcRspRepealField ) , "::" , stringify ! ( BrokerFee )
33555                ));
33556    assert_eq! (unsafe {
33557                & ( * ( 0 as * const CThostFtdcRspRepealField ) ) . Message as
33558                * const _ as usize } , 464usize , concat ! (
33559                "Alignment of field: " , stringify ! (
33560                CThostFtdcRspRepealField ) , "::" , stringify ! ( Message )
33561                ));
33562    assert_eq! (unsafe {
33563                & ( * ( 0 as * const CThostFtdcRspRepealField ) ) . Digest as
33564                * const _ as usize } , 593usize , concat ! (
33565                "Alignment of field: " , stringify ! (
33566                CThostFtdcRspRepealField ) , "::" , stringify ! ( Digest ) ));
33567    assert_eq! (unsafe {
33568                & ( * ( 0 as * const CThostFtdcRspRepealField ) ) .
33569                BankAccType as * const _ as usize } , 629usize , concat ! (
33570                "Alignment of field: " , stringify ! (
33571                CThostFtdcRspRepealField ) , "::" , stringify ! ( BankAccType
33572                ) ));
33573    assert_eq! (unsafe {
33574                & ( * ( 0 as * const CThostFtdcRspRepealField ) ) . DeviceID
33575                as * const _ as usize } , 630usize , concat ! (
33576                "Alignment of field: " , stringify ! (
33577                CThostFtdcRspRepealField ) , "::" , stringify ! ( DeviceID )
33578                ));
33579    assert_eq! (unsafe {
33580                & ( * ( 0 as * const CThostFtdcRspRepealField ) ) .
33581                BankSecuAccType as * const _ as usize } , 633usize , concat !
33582                (
33583                "Alignment of field: " , stringify ! (
33584                CThostFtdcRspRepealField ) , "::" , stringify ! (
33585                BankSecuAccType ) ));
33586    assert_eq! (unsafe {
33587                & ( * ( 0 as * const CThostFtdcRspRepealField ) ) .
33588                BrokerIDByBank as * const _ as usize } , 634usize , concat ! (
33589                "Alignment of field: " , stringify ! (
33590                CThostFtdcRspRepealField ) , "::" , stringify ! (
33591                BrokerIDByBank ) ));
33592    assert_eq! (unsafe {
33593                & ( * ( 0 as * const CThostFtdcRspRepealField ) ) .
33594                BankSecuAcc as * const _ as usize } , 667usize , concat ! (
33595                "Alignment of field: " , stringify ! (
33596                CThostFtdcRspRepealField ) , "::" , stringify ! ( BankSecuAcc
33597                ) ));
33598    assert_eq! (unsafe {
33599                & ( * ( 0 as * const CThostFtdcRspRepealField ) ) .
33600                BankPwdFlag as * const _ as usize } , 708usize , concat ! (
33601                "Alignment of field: " , stringify ! (
33602                CThostFtdcRspRepealField ) , "::" , stringify ! ( BankPwdFlag
33603                ) ));
33604    assert_eq! (unsafe {
33605                & ( * ( 0 as * const CThostFtdcRspRepealField ) ) .
33606                SecuPwdFlag as * const _ as usize } , 709usize , concat ! (
33607                "Alignment of field: " , stringify ! (
33608                CThostFtdcRspRepealField ) , "::" , stringify ! ( SecuPwdFlag
33609                ) ));
33610    assert_eq! (unsafe {
33611                & ( * ( 0 as * const CThostFtdcRspRepealField ) ) . OperNo as
33612                * const _ as usize } , 710usize , concat ! (
33613                "Alignment of field: " , stringify ! (
33614                CThostFtdcRspRepealField ) , "::" , stringify ! ( OperNo ) ));
33615    assert_eq! (unsafe {
33616                & ( * ( 0 as * const CThostFtdcRspRepealField ) ) . RequestID
33617                as * const _ as usize } , 728usize , concat ! (
33618                "Alignment of field: " , stringify ! (
33619                CThostFtdcRspRepealField ) , "::" , stringify ! ( RequestID )
33620                ));
33621    assert_eq! (unsafe {
33622                & ( * ( 0 as * const CThostFtdcRspRepealField ) ) . TID as *
33623                const _ as usize } , 732usize , concat ! (
33624                "Alignment of field: " , stringify ! (
33625                CThostFtdcRspRepealField ) , "::" , stringify ! ( TID ) ));
33626    assert_eq! (unsafe {
33627                & ( * ( 0 as * const CThostFtdcRspRepealField ) ) .
33628                TransferStatus as * const _ as usize } , 736usize , concat ! (
33629                "Alignment of field: " , stringify ! (
33630                CThostFtdcRspRepealField ) , "::" , stringify ! (
33631                TransferStatus ) ));
33632    assert_eq! (unsafe {
33633                & ( * ( 0 as * const CThostFtdcRspRepealField ) ) . ErrorID as
33634                * const _ as usize } , 740usize , concat ! (
33635                "Alignment of field: " , stringify ! (
33636                CThostFtdcRspRepealField ) , "::" , stringify ! ( ErrorID )
33637                ));
33638    assert_eq! (unsafe {
33639                & ( * ( 0 as * const CThostFtdcRspRepealField ) ) . ErrorMsg
33640                as * const _ as usize } , 744usize , concat ! (
33641                "Alignment of field: " , stringify ! (
33642                CThostFtdcRspRepealField ) , "::" , stringify ! ( ErrorMsg )
33643                ));
33644    assert_eq! (unsafe {
33645                & ( * ( 0 as * const CThostFtdcRspRepealField ) ) .
33646                LongCustomerName as * const _ as usize } , 825usize , concat !
33647                (
33648                "Alignment of field: " , stringify ! (
33649                CThostFtdcRspRepealField ) , "::" , stringify ! (
33650                LongCustomerName ) ));
33651}
33652impl Clone for CThostFtdcRspRepealField {
33653    fn clone(&self) -> Self { *self }
33654}
33655impl Default for CThostFtdcRspRepealField {
33656    fn default() -> Self { unsafe { ::std::mem::zeroed() } }
33657}
33658/// 查询账户信息请求
33659#[repr(C)]
33660#[derive(Copy)]
33661pub struct CThostFtdcReqQueryAccountField {
33662    /// 业务功能码
33663    pub TradeCode: TThostFtdcTradeCodeType,
33664    /// 银行代码
33665    pub BankID: TThostFtdcBankIDType,
33666    /// 银行分支机构代码
33667    pub BankBranchID: TThostFtdcBankBrchIDType,
33668    /// 期商代码
33669    pub BrokerID: TThostFtdcBrokerIDType,
33670    /// 期商分支机构代码
33671    pub BrokerBranchID: TThostFtdcFutureBranchIDType,
33672    /// 交易日期
33673    pub TradeDate: TThostFtdcTradeDateType,
33674    /// 交易时间
33675    pub TradeTime: TThostFtdcTradeTimeType,
33676    /// 银行流水号
33677    pub BankSerial: TThostFtdcBankSerialType,
33678    /// 交易系统日期
33679    pub TradingDay: TThostFtdcTradeDateType,
33680    /// 银期平台消息流水号
33681    pub PlateSerial: TThostFtdcSerialType,
33682    /// 最后分片标志
33683    pub LastFragment: TThostFtdcLastFragmentType,
33684    /// 会话号
33685    pub SessionID: TThostFtdcSessionIDType,
33686    /// 客户姓名
33687    pub CustomerName: TThostFtdcIndividualNameType,
33688    /// 证件类型
33689    pub IdCardType: TThostFtdcIdCardTypeType,
33690    /// 证件号码
33691    pub IdentifiedCardNo: TThostFtdcIdentifiedCardNoType,
33692    /// 客户类型
33693    pub CustType: TThostFtdcCustTypeType,
33694    /// 银行帐号
33695    pub BankAccount: TThostFtdcBankAccountType,
33696    /// 银行密码
33697    pub BankPassWord: TThostFtdcPasswordType,
33698    /// 投资者帐号
33699    pub AccountID: TThostFtdcAccountIDType,
33700    /// 期货密码
33701    pub Password: TThostFtdcPasswordType,
33702    /// 期货公司流水号
33703    pub FutureSerial: TThostFtdcFutureSerialType,
33704    /// 安装编号
33705    pub InstallID: TThostFtdcInstallIDType,
33706    /// 用户标识
33707    pub UserID: TThostFtdcUserIDType,
33708    /// 验证客户证件号码标志
33709    pub VerifyCertNoFlag: TThostFtdcYesNoIndicatorType,
33710    /// 币种代码
33711    pub CurrencyID: TThostFtdcCurrencyIDType,
33712    /// 摘要
33713    pub Digest: TThostFtdcDigestType,
33714    /// 银行帐号类型
33715    pub BankAccType: TThostFtdcBankAccTypeType,
33716    /// 渠道标志
33717    pub DeviceID: TThostFtdcDeviceIDType,
33718    /// 期货单位帐号类型
33719    pub BankSecuAccType: TThostFtdcBankAccTypeType,
33720    /// 期货公司银行编码
33721    pub BrokerIDByBank: TThostFtdcBankCodingForFutureType,
33722    /// 期货单位帐号
33723    pub BankSecuAcc: TThostFtdcBankAccountType,
33724    /// 银行密码标志
33725    pub BankPwdFlag: TThostFtdcPwdFlagType,
33726    /// 期货资金密码核对标志
33727    pub SecuPwdFlag: TThostFtdcPwdFlagType,
33728    /// 交易柜员
33729    pub OperNo: TThostFtdcOperNoType,
33730    /// 请求编号
33731    pub RequestID: TThostFtdcRequestIDType,
33732    /// 交易ID
33733    pub TID: TThostFtdcTIDType,
33734    /// 长客户姓名
33735    pub LongCustomerName: TThostFtdcLongIndividualNameType,
33736}
33737#[test]
33738fn bindgen_test_layout_CThostFtdcReqQueryAccountField() {
33739    assert_eq!(::std::mem::size_of::<CThostFtdcReqQueryAccountField>() ,
33740               688usize , concat ! (
33741               "Size of: " , stringify ! ( CThostFtdcReqQueryAccountField )
33742               ));
33743    assert_eq! (::std::mem::align_of::<CThostFtdcReqQueryAccountField>() ,
33744                4usize , concat ! (
33745                "Alignment of " , stringify ! ( CThostFtdcReqQueryAccountField
33746                ) ));
33747    assert_eq! (unsafe {
33748                & ( * ( 0 as * const CThostFtdcReqQueryAccountField ) ) .
33749                TradeCode as * const _ as usize } , 0usize , concat ! (
33750                "Alignment of field: " , stringify ! (
33751                CThostFtdcReqQueryAccountField ) , "::" , stringify ! (
33752                TradeCode ) ));
33753    assert_eq! (unsafe {
33754                & ( * ( 0 as * const CThostFtdcReqQueryAccountField ) ) .
33755                BankID as * const _ as usize } , 7usize , concat ! (
33756                "Alignment of field: " , stringify ! (
33757                CThostFtdcReqQueryAccountField ) , "::" , stringify ! ( BankID
33758                ) ));
33759    assert_eq! (unsafe {
33760                & ( * ( 0 as * const CThostFtdcReqQueryAccountField ) ) .
33761                BankBranchID as * const _ as usize } , 11usize , concat ! (
33762                "Alignment of field: " , stringify ! (
33763                CThostFtdcReqQueryAccountField ) , "::" , stringify ! (
33764                BankBranchID ) ));
33765    assert_eq! (unsafe {
33766                & ( * ( 0 as * const CThostFtdcReqQueryAccountField ) ) .
33767                BrokerID as * const _ as usize } , 16usize , concat ! (
33768                "Alignment of field: " , stringify ! (
33769                CThostFtdcReqQueryAccountField ) , "::" , stringify ! (
33770                BrokerID ) ));
33771    assert_eq! (unsafe {
33772                & ( * ( 0 as * const CThostFtdcReqQueryAccountField ) ) .
33773                BrokerBranchID as * const _ as usize } , 27usize , concat ! (
33774                "Alignment of field: " , stringify ! (
33775                CThostFtdcReqQueryAccountField ) , "::" , stringify ! (
33776                BrokerBranchID ) ));
33777    assert_eq! (unsafe {
33778                & ( * ( 0 as * const CThostFtdcReqQueryAccountField ) ) .
33779                TradeDate as * const _ as usize } , 58usize , concat ! (
33780                "Alignment of field: " , stringify ! (
33781                CThostFtdcReqQueryAccountField ) , "::" , stringify ! (
33782                TradeDate ) ));
33783    assert_eq! (unsafe {
33784                & ( * ( 0 as * const CThostFtdcReqQueryAccountField ) ) .
33785                TradeTime as * const _ as usize } , 67usize , concat ! (
33786                "Alignment of field: " , stringify ! (
33787                CThostFtdcReqQueryAccountField ) , "::" , stringify ! (
33788                TradeTime ) ));
33789    assert_eq! (unsafe {
33790                & ( * ( 0 as * const CThostFtdcReqQueryAccountField ) ) .
33791                BankSerial as * const _ as usize } , 76usize , concat ! (
33792                "Alignment of field: " , stringify ! (
33793                CThostFtdcReqQueryAccountField ) , "::" , stringify ! (
33794                BankSerial ) ));
33795    assert_eq! (unsafe {
33796                & ( * ( 0 as * const CThostFtdcReqQueryAccountField ) ) .
33797                TradingDay as * const _ as usize } , 89usize , concat ! (
33798                "Alignment of field: " , stringify ! (
33799                CThostFtdcReqQueryAccountField ) , "::" , stringify ! (
33800                TradingDay ) ));
33801    assert_eq! (unsafe {
33802                & ( * ( 0 as * const CThostFtdcReqQueryAccountField ) ) .
33803                PlateSerial as * const _ as usize } , 100usize , concat ! (
33804                "Alignment of field: " , stringify ! (
33805                CThostFtdcReqQueryAccountField ) , "::" , stringify ! (
33806                PlateSerial ) ));
33807    assert_eq! (unsafe {
33808                & ( * ( 0 as * const CThostFtdcReqQueryAccountField ) ) .
33809                LastFragment as * const _ as usize } , 104usize , concat ! (
33810                "Alignment of field: " , stringify ! (
33811                CThostFtdcReqQueryAccountField ) , "::" , stringify ! (
33812                LastFragment ) ));
33813    assert_eq! (unsafe {
33814                & ( * ( 0 as * const CThostFtdcReqQueryAccountField ) ) .
33815                SessionID as * const _ as usize } , 108usize , concat ! (
33816                "Alignment of field: " , stringify ! (
33817                CThostFtdcReqQueryAccountField ) , "::" , stringify ! (
33818                SessionID ) ));
33819    assert_eq! (unsafe {
33820                & ( * ( 0 as * const CThostFtdcReqQueryAccountField ) ) .
33821                CustomerName as * const _ as usize } , 112usize , concat ! (
33822                "Alignment of field: " , stringify ! (
33823                CThostFtdcReqQueryAccountField ) , "::" , stringify ! (
33824                CustomerName ) ));
33825    assert_eq! (unsafe {
33826                & ( * ( 0 as * const CThostFtdcReqQueryAccountField ) ) .
33827                IdCardType as * const _ as usize } , 163usize , concat ! (
33828                "Alignment of field: " , stringify ! (
33829                CThostFtdcReqQueryAccountField ) , "::" , stringify ! (
33830                IdCardType ) ));
33831    assert_eq! (unsafe {
33832                & ( * ( 0 as * const CThostFtdcReqQueryAccountField ) ) .
33833                IdentifiedCardNo as * const _ as usize } , 164usize , concat !
33834                (
33835                "Alignment of field: " , stringify ! (
33836                CThostFtdcReqQueryAccountField ) , "::" , stringify ! (
33837                IdentifiedCardNo ) ));
33838    assert_eq! (unsafe {
33839                & ( * ( 0 as * const CThostFtdcReqQueryAccountField ) ) .
33840                CustType as * const _ as usize } , 215usize , concat ! (
33841                "Alignment of field: " , stringify ! (
33842                CThostFtdcReqQueryAccountField ) , "::" , stringify ! (
33843                CustType ) ));
33844    assert_eq! (unsafe {
33845                & ( * ( 0 as * const CThostFtdcReqQueryAccountField ) ) .
33846                BankAccount as * const _ as usize } , 216usize , concat ! (
33847                "Alignment of field: " , stringify ! (
33848                CThostFtdcReqQueryAccountField ) , "::" , stringify ! (
33849                BankAccount ) ));
33850    assert_eq! (unsafe {
33851                & ( * ( 0 as * const CThostFtdcReqQueryAccountField ) ) .
33852                BankPassWord as * const _ as usize } , 257usize , concat ! (
33853                "Alignment of field: " , stringify ! (
33854                CThostFtdcReqQueryAccountField ) , "::" , stringify ! (
33855                BankPassWord ) ));
33856    assert_eq! (unsafe {
33857                & ( * ( 0 as * const CThostFtdcReqQueryAccountField ) ) .
33858                AccountID as * const _ as usize } , 298usize , concat ! (
33859                "Alignment of field: " , stringify ! (
33860                CThostFtdcReqQueryAccountField ) , "::" , stringify ! (
33861                AccountID ) ));
33862    assert_eq! (unsafe {
33863                & ( * ( 0 as * const CThostFtdcReqQueryAccountField ) ) .
33864                Password as * const _ as usize } , 311usize , concat ! (
33865                "Alignment of field: " , stringify ! (
33866                CThostFtdcReqQueryAccountField ) , "::" , stringify ! (
33867                Password ) ));
33868    assert_eq! (unsafe {
33869                & ( * ( 0 as * const CThostFtdcReqQueryAccountField ) ) .
33870                FutureSerial as * const _ as usize } , 352usize , concat ! (
33871                "Alignment of field: " , stringify ! (
33872                CThostFtdcReqQueryAccountField ) , "::" , stringify ! (
33873                FutureSerial ) ));
33874    assert_eq! (unsafe {
33875                & ( * ( 0 as * const CThostFtdcReqQueryAccountField ) ) .
33876                InstallID as * const _ as usize } , 356usize , concat ! (
33877                "Alignment of field: " , stringify ! (
33878                CThostFtdcReqQueryAccountField ) , "::" , stringify ! (
33879                InstallID ) ));
33880    assert_eq! (unsafe {
33881                & ( * ( 0 as * const CThostFtdcReqQueryAccountField ) ) .
33882                UserID as * const _ as usize } , 360usize , concat ! (
33883                "Alignment of field: " , stringify ! (
33884                CThostFtdcReqQueryAccountField ) , "::" , stringify ! ( UserID
33885                ) ));
33886    assert_eq! (unsafe {
33887                & ( * ( 0 as * const CThostFtdcReqQueryAccountField ) ) .
33888                VerifyCertNoFlag as * const _ as usize } , 376usize , concat !
33889                (
33890                "Alignment of field: " , stringify ! (
33891                CThostFtdcReqQueryAccountField ) , "::" , stringify ! (
33892                VerifyCertNoFlag ) ));
33893    assert_eq! (unsafe {
33894                & ( * ( 0 as * const CThostFtdcReqQueryAccountField ) ) .
33895                CurrencyID as * const _ as usize } , 377usize , concat ! (
33896                "Alignment of field: " , stringify ! (
33897                CThostFtdcReqQueryAccountField ) , "::" , stringify ! (
33898                CurrencyID ) ));
33899    assert_eq! (unsafe {
33900                & ( * ( 0 as * const CThostFtdcReqQueryAccountField ) ) .
33901                Digest as * const _ as usize } , 381usize , concat ! (
33902                "Alignment of field: " , stringify ! (
33903                CThostFtdcReqQueryAccountField ) , "::" , stringify ! ( Digest
33904                ) ));
33905    assert_eq! (unsafe {
33906                & ( * ( 0 as * const CThostFtdcReqQueryAccountField ) ) .
33907                BankAccType as * const _ as usize } , 417usize , concat ! (
33908                "Alignment of field: " , stringify ! (
33909                CThostFtdcReqQueryAccountField ) , "::" , stringify ! (
33910                BankAccType ) ));
33911    assert_eq! (unsafe {
33912                & ( * ( 0 as * const CThostFtdcReqQueryAccountField ) ) .
33913                DeviceID as * const _ as usize } , 418usize , concat ! (
33914                "Alignment of field: " , stringify ! (
33915                CThostFtdcReqQueryAccountField ) , "::" , stringify ! (
33916                DeviceID ) ));
33917    assert_eq! (unsafe {
33918                & ( * ( 0 as * const CThostFtdcReqQueryAccountField ) ) .
33919                BankSecuAccType as * const _ as usize } , 421usize , concat !
33920                (
33921                "Alignment of field: " , stringify ! (
33922                CThostFtdcReqQueryAccountField ) , "::" , stringify ! (
33923                BankSecuAccType ) ));
33924    assert_eq! (unsafe {
33925                & ( * ( 0 as * const CThostFtdcReqQueryAccountField ) ) .
33926                BrokerIDByBank as * const _ as usize } , 422usize , concat ! (
33927                "Alignment of field: " , stringify ! (
33928                CThostFtdcReqQueryAccountField ) , "::" , stringify ! (
33929                BrokerIDByBank ) ));
33930    assert_eq! (unsafe {
33931                & ( * ( 0 as * const CThostFtdcReqQueryAccountField ) ) .
33932                BankSecuAcc as * const _ as usize } , 455usize , concat ! (
33933                "Alignment of field: " , stringify ! (
33934                CThostFtdcReqQueryAccountField ) , "::" , stringify ! (
33935                BankSecuAcc ) ));
33936    assert_eq! (unsafe {
33937                & ( * ( 0 as * const CThostFtdcReqQueryAccountField ) ) .
33938                BankPwdFlag as * const _ as usize } , 496usize , concat ! (
33939                "Alignment of field: " , stringify ! (
33940                CThostFtdcReqQueryAccountField ) , "::" , stringify ! (
33941                BankPwdFlag ) ));
33942    assert_eq! (unsafe {
33943                & ( * ( 0 as * const CThostFtdcReqQueryAccountField ) ) .
33944                SecuPwdFlag as * const _ as usize } , 497usize , concat ! (
33945                "Alignment of field: " , stringify ! (
33946                CThostFtdcReqQueryAccountField ) , "::" , stringify ! (
33947                SecuPwdFlag ) ));
33948    assert_eq! (unsafe {
33949                & ( * ( 0 as * const CThostFtdcReqQueryAccountField ) ) .
33950                OperNo as * const _ as usize } , 498usize , concat ! (
33951                "Alignment of field: " , stringify ! (
33952                CThostFtdcReqQueryAccountField ) , "::" , stringify ! ( OperNo
33953                ) ));
33954    assert_eq! (unsafe {
33955                & ( * ( 0 as * const CThostFtdcReqQueryAccountField ) ) .
33956                RequestID as * const _ as usize } , 516usize , concat ! (
33957                "Alignment of field: " , stringify ! (
33958                CThostFtdcReqQueryAccountField ) , "::" , stringify ! (
33959                RequestID ) ));
33960    assert_eq! (unsafe {
33961                & ( * ( 0 as * const CThostFtdcReqQueryAccountField ) ) . TID
33962                as * const _ as usize } , 520usize , concat ! (
33963                "Alignment of field: " , stringify ! (
33964                CThostFtdcReqQueryAccountField ) , "::" , stringify ! ( TID )
33965                ));
33966    assert_eq! (unsafe {
33967                & ( * ( 0 as * const CThostFtdcReqQueryAccountField ) ) .
33968                LongCustomerName as * const _ as usize } , 524usize , concat !
33969                (
33970                "Alignment of field: " , stringify ! (
33971                CThostFtdcReqQueryAccountField ) , "::" , stringify ! (
33972                LongCustomerName ) ));
33973}
33974impl Clone for CThostFtdcReqQueryAccountField {
33975    fn clone(&self) -> Self { *self }
33976}
33977impl Default for CThostFtdcReqQueryAccountField {
33978    fn default() -> Self { unsafe { ::std::mem::zeroed() } }
33979}
33980/// 查询账户信息响应
33981#[repr(C)]
33982#[derive(Copy)]
33983pub struct CThostFtdcRspQueryAccountField {
33984    /// 业务功能码
33985    pub TradeCode: TThostFtdcTradeCodeType,
33986    /// 银行代码
33987    pub BankID: TThostFtdcBankIDType,
33988    /// 银行分支机构代码
33989    pub BankBranchID: TThostFtdcBankBrchIDType,
33990    /// 期商代码
33991    pub BrokerID: TThostFtdcBrokerIDType,
33992    /// 期商分支机构代码
33993    pub BrokerBranchID: TThostFtdcFutureBranchIDType,
33994    /// 交易日期
33995    pub TradeDate: TThostFtdcTradeDateType,
33996    /// 交易时间
33997    pub TradeTime: TThostFtdcTradeTimeType,
33998    /// 银行流水号
33999    pub BankSerial: TThostFtdcBankSerialType,
34000    /// 交易系统日期
34001    pub TradingDay: TThostFtdcTradeDateType,
34002    /// 银期平台消息流水号
34003    pub PlateSerial: TThostFtdcSerialType,
34004    /// 最后分片标志
34005    pub LastFragment: TThostFtdcLastFragmentType,
34006    /// 会话号
34007    pub SessionID: TThostFtdcSessionIDType,
34008    /// 客户姓名
34009    pub CustomerName: TThostFtdcIndividualNameType,
34010    /// 证件类型
34011    pub IdCardType: TThostFtdcIdCardTypeType,
34012    /// 证件号码
34013    pub IdentifiedCardNo: TThostFtdcIdentifiedCardNoType,
34014    /// 客户类型
34015    pub CustType: TThostFtdcCustTypeType,
34016    /// 银行帐号
34017    pub BankAccount: TThostFtdcBankAccountType,
34018    /// 银行密码
34019    pub BankPassWord: TThostFtdcPasswordType,
34020    /// 投资者帐号
34021    pub AccountID: TThostFtdcAccountIDType,
34022    /// 期货密码
34023    pub Password: TThostFtdcPasswordType,
34024    /// 期货公司流水号
34025    pub FutureSerial: TThostFtdcFutureSerialType,
34026    /// 安装编号
34027    pub InstallID: TThostFtdcInstallIDType,
34028    /// 用户标识
34029    pub UserID: TThostFtdcUserIDType,
34030    /// 验证客户证件号码标志
34031    pub VerifyCertNoFlag: TThostFtdcYesNoIndicatorType,
34032    /// 币种代码
34033    pub CurrencyID: TThostFtdcCurrencyIDType,
34034    /// 摘要
34035    pub Digest: TThostFtdcDigestType,
34036    /// 银行帐号类型
34037    pub BankAccType: TThostFtdcBankAccTypeType,
34038    /// 渠道标志
34039    pub DeviceID: TThostFtdcDeviceIDType,
34040    /// 期货单位帐号类型
34041    pub BankSecuAccType: TThostFtdcBankAccTypeType,
34042    /// 期货公司银行编码
34043    pub BrokerIDByBank: TThostFtdcBankCodingForFutureType,
34044    /// 期货单位帐号
34045    pub BankSecuAcc: TThostFtdcBankAccountType,
34046    /// 银行密码标志
34047    pub BankPwdFlag: TThostFtdcPwdFlagType,
34048    /// 期货资金密码核对标志
34049    pub SecuPwdFlag: TThostFtdcPwdFlagType,
34050    /// 交易柜员
34051    pub OperNo: TThostFtdcOperNoType,
34052    /// 请求编号
34053    pub RequestID: TThostFtdcRequestIDType,
34054    /// 交易ID
34055    pub TID: TThostFtdcTIDType,
34056    /// 银行可用金额
34057    pub BankUseAmount: TThostFtdcTradeAmountType,
34058    /// 银行可取金额
34059    pub BankFetchAmount: TThostFtdcTradeAmountType,
34060    /// 长客户姓名
34061    pub LongCustomerName: TThostFtdcLongIndividualNameType,
34062}
34063#[test]
34064fn bindgen_test_layout_CThostFtdcRspQueryAccountField() {
34065    assert_eq!(::std::mem::size_of::<CThostFtdcRspQueryAccountField>() ,
34066               712usize , concat ! (
34067               "Size of: " , stringify ! ( CThostFtdcRspQueryAccountField )
34068               ));
34069    assert_eq! (::std::mem::align_of::<CThostFtdcRspQueryAccountField>() ,
34070                8usize , concat ! (
34071                "Alignment of " , stringify ! ( CThostFtdcRspQueryAccountField
34072                ) ));
34073    assert_eq! (unsafe {
34074                & ( * ( 0 as * const CThostFtdcRspQueryAccountField ) ) .
34075                TradeCode as * const _ as usize } , 0usize , concat ! (
34076                "Alignment of field: " , stringify ! (
34077                CThostFtdcRspQueryAccountField ) , "::" , stringify ! (
34078                TradeCode ) ));
34079    assert_eq! (unsafe {
34080                & ( * ( 0 as * const CThostFtdcRspQueryAccountField ) ) .
34081                BankID as * const _ as usize } , 7usize , concat ! (
34082                "Alignment of field: " , stringify ! (
34083                CThostFtdcRspQueryAccountField ) , "::" , stringify ! ( BankID
34084                ) ));
34085    assert_eq! (unsafe {
34086                & ( * ( 0 as * const CThostFtdcRspQueryAccountField ) ) .
34087                BankBranchID as * const _ as usize } , 11usize , concat ! (
34088                "Alignment of field: " , stringify ! (
34089                CThostFtdcRspQueryAccountField ) , "::" , stringify ! (
34090                BankBranchID ) ));
34091    assert_eq! (unsafe {
34092                & ( * ( 0 as * const CThostFtdcRspQueryAccountField ) ) .
34093                BrokerID as * const _ as usize } , 16usize , concat ! (
34094                "Alignment of field: " , stringify ! (
34095                CThostFtdcRspQueryAccountField ) , "::" , stringify ! (
34096                BrokerID ) ));
34097    assert_eq! (unsafe {
34098                & ( * ( 0 as * const CThostFtdcRspQueryAccountField ) ) .
34099                BrokerBranchID as * const _ as usize } , 27usize , concat ! (
34100                "Alignment of field: " , stringify ! (
34101                CThostFtdcRspQueryAccountField ) , "::" , stringify ! (
34102                BrokerBranchID ) ));
34103    assert_eq! (unsafe {
34104                & ( * ( 0 as * const CThostFtdcRspQueryAccountField ) ) .
34105                TradeDate as * const _ as usize } , 58usize , concat ! (
34106                "Alignment of field: " , stringify ! (
34107                CThostFtdcRspQueryAccountField ) , "::" , stringify ! (
34108                TradeDate ) ));
34109    assert_eq! (unsafe {
34110                & ( * ( 0 as * const CThostFtdcRspQueryAccountField ) ) .
34111                TradeTime as * const _ as usize } , 67usize , concat ! (
34112                "Alignment of field: " , stringify ! (
34113                CThostFtdcRspQueryAccountField ) , "::" , stringify ! (
34114                TradeTime ) ));
34115    assert_eq! (unsafe {
34116                & ( * ( 0 as * const CThostFtdcRspQueryAccountField ) ) .
34117                BankSerial as * const _ as usize } , 76usize , concat ! (
34118                "Alignment of field: " , stringify ! (
34119                CThostFtdcRspQueryAccountField ) , "::" , stringify ! (
34120                BankSerial ) ));
34121    assert_eq! (unsafe {
34122                & ( * ( 0 as * const CThostFtdcRspQueryAccountField ) ) .
34123                TradingDay as * const _ as usize } , 89usize , concat ! (
34124                "Alignment of field: " , stringify ! (
34125                CThostFtdcRspQueryAccountField ) , "::" , stringify ! (
34126                TradingDay ) ));
34127    assert_eq! (unsafe {
34128                & ( * ( 0 as * const CThostFtdcRspQueryAccountField ) ) .
34129                PlateSerial as * const _ as usize } , 100usize , concat ! (
34130                "Alignment of field: " , stringify ! (
34131                CThostFtdcRspQueryAccountField ) , "::" , stringify ! (
34132                PlateSerial ) ));
34133    assert_eq! (unsafe {
34134                & ( * ( 0 as * const CThostFtdcRspQueryAccountField ) ) .
34135                LastFragment as * const _ as usize } , 104usize , concat ! (
34136                "Alignment of field: " , stringify ! (
34137                CThostFtdcRspQueryAccountField ) , "::" , stringify ! (
34138                LastFragment ) ));
34139    assert_eq! (unsafe {
34140                & ( * ( 0 as * const CThostFtdcRspQueryAccountField ) ) .
34141                SessionID as * const _ as usize } , 108usize , concat ! (
34142                "Alignment of field: " , stringify ! (
34143                CThostFtdcRspQueryAccountField ) , "::" , stringify ! (
34144                SessionID ) ));
34145    assert_eq! (unsafe {
34146                & ( * ( 0 as * const CThostFtdcRspQueryAccountField ) ) .
34147                CustomerName as * const _ as usize } , 112usize , concat ! (
34148                "Alignment of field: " , stringify ! (
34149                CThostFtdcRspQueryAccountField ) , "::" , stringify ! (
34150                CustomerName ) ));
34151    assert_eq! (unsafe {
34152                & ( * ( 0 as * const CThostFtdcRspQueryAccountField ) ) .
34153                IdCardType as * const _ as usize } , 163usize , concat ! (
34154                "Alignment of field: " , stringify ! (
34155                CThostFtdcRspQueryAccountField ) , "::" , stringify ! (
34156                IdCardType ) ));
34157    assert_eq! (unsafe {
34158                & ( * ( 0 as * const CThostFtdcRspQueryAccountField ) ) .
34159                IdentifiedCardNo as * const _ as usize } , 164usize , concat !
34160                (
34161                "Alignment of field: " , stringify ! (
34162                CThostFtdcRspQueryAccountField ) , "::" , stringify ! (
34163                IdentifiedCardNo ) ));
34164    assert_eq! (unsafe {
34165                & ( * ( 0 as * const CThostFtdcRspQueryAccountField ) ) .
34166                CustType as * const _ as usize } , 215usize , concat ! (
34167                "Alignment of field: " , stringify ! (
34168                CThostFtdcRspQueryAccountField ) , "::" , stringify ! (
34169                CustType ) ));
34170    assert_eq! (unsafe {
34171                & ( * ( 0 as * const CThostFtdcRspQueryAccountField ) ) .
34172                BankAccount as * const _ as usize } , 216usize , concat ! (
34173                "Alignment of field: " , stringify ! (
34174                CThostFtdcRspQueryAccountField ) , "::" , stringify ! (
34175                BankAccount ) ));
34176    assert_eq! (unsafe {
34177                & ( * ( 0 as * const CThostFtdcRspQueryAccountField ) ) .
34178                BankPassWord as * const _ as usize } , 257usize , concat ! (
34179                "Alignment of field: " , stringify ! (
34180                CThostFtdcRspQueryAccountField ) , "::" , stringify ! (
34181                BankPassWord ) ));
34182    assert_eq! (unsafe {
34183                & ( * ( 0 as * const CThostFtdcRspQueryAccountField ) ) .
34184                AccountID as * const _ as usize } , 298usize , concat ! (
34185                "Alignment of field: " , stringify ! (
34186                CThostFtdcRspQueryAccountField ) , "::" , stringify ! (
34187                AccountID ) ));
34188    assert_eq! (unsafe {
34189                & ( * ( 0 as * const CThostFtdcRspQueryAccountField ) ) .
34190                Password as * const _ as usize } , 311usize , concat ! (
34191                "Alignment of field: " , stringify ! (
34192                CThostFtdcRspQueryAccountField ) , "::" , stringify ! (
34193                Password ) ));
34194    assert_eq! (unsafe {
34195                & ( * ( 0 as * const CThostFtdcRspQueryAccountField ) ) .
34196                FutureSerial as * const _ as usize } , 352usize , concat ! (
34197                "Alignment of field: " , stringify ! (
34198                CThostFtdcRspQueryAccountField ) , "::" , stringify ! (
34199                FutureSerial ) ));
34200    assert_eq! (unsafe {
34201                & ( * ( 0 as * const CThostFtdcRspQueryAccountField ) ) .
34202                InstallID as * const _ as usize } , 356usize , concat ! (
34203                "Alignment of field: " , stringify ! (
34204                CThostFtdcRspQueryAccountField ) , "::" , stringify ! (
34205                InstallID ) ));
34206    assert_eq! (unsafe {
34207                & ( * ( 0 as * const CThostFtdcRspQueryAccountField ) ) .
34208                UserID as * const _ as usize } , 360usize , concat ! (
34209                "Alignment of field: " , stringify ! (
34210                CThostFtdcRspQueryAccountField ) , "::" , stringify ! ( UserID
34211                ) ));
34212    assert_eq! (unsafe {
34213                & ( * ( 0 as * const CThostFtdcRspQueryAccountField ) ) .
34214                VerifyCertNoFlag as * const _ as usize } , 376usize , concat !
34215                (
34216                "Alignment of field: " , stringify ! (
34217                CThostFtdcRspQueryAccountField ) , "::" , stringify ! (
34218                VerifyCertNoFlag ) ));
34219    assert_eq! (unsafe {
34220                & ( * ( 0 as * const CThostFtdcRspQueryAccountField ) ) .
34221                CurrencyID as * const _ as usize } , 377usize , concat ! (
34222                "Alignment of field: " , stringify ! (
34223                CThostFtdcRspQueryAccountField ) , "::" , stringify ! (
34224                CurrencyID ) ));
34225    assert_eq! (unsafe {
34226                & ( * ( 0 as * const CThostFtdcRspQueryAccountField ) ) .
34227                Digest as * const _ as usize } , 381usize , concat ! (
34228                "Alignment of field: " , stringify ! (
34229                CThostFtdcRspQueryAccountField ) , "::" , stringify ! ( Digest
34230                ) ));
34231    assert_eq! (unsafe {
34232                & ( * ( 0 as * const CThostFtdcRspQueryAccountField ) ) .
34233                BankAccType as * const _ as usize } , 417usize , concat ! (
34234                "Alignment of field: " , stringify ! (
34235                CThostFtdcRspQueryAccountField ) , "::" , stringify ! (
34236                BankAccType ) ));
34237    assert_eq! (unsafe {
34238                & ( * ( 0 as * const CThostFtdcRspQueryAccountField ) ) .
34239                DeviceID as * const _ as usize } , 418usize , concat ! (
34240                "Alignment of field: " , stringify ! (
34241                CThostFtdcRspQueryAccountField ) , "::" , stringify ! (
34242                DeviceID ) ));
34243    assert_eq! (unsafe {
34244                & ( * ( 0 as * const CThostFtdcRspQueryAccountField ) ) .
34245                BankSecuAccType as * const _ as usize } , 421usize , concat !
34246                (
34247                "Alignment of field: " , stringify ! (
34248                CThostFtdcRspQueryAccountField ) , "::" , stringify ! (
34249                BankSecuAccType ) ));
34250    assert_eq! (unsafe {
34251                & ( * ( 0 as * const CThostFtdcRspQueryAccountField ) ) .
34252                BrokerIDByBank as * const _ as usize } , 422usize , concat ! (
34253                "Alignment of field: " , stringify ! (
34254                CThostFtdcRspQueryAccountField ) , "::" , stringify ! (
34255                BrokerIDByBank ) ));
34256    assert_eq! (unsafe {
34257                & ( * ( 0 as * const CThostFtdcRspQueryAccountField ) ) .
34258                BankSecuAcc as * const _ as usize } , 455usize , concat ! (
34259                "Alignment of field: " , stringify ! (
34260                CThostFtdcRspQueryAccountField ) , "::" , stringify ! (
34261                BankSecuAcc ) ));
34262    assert_eq! (unsafe {
34263                & ( * ( 0 as * const CThostFtdcRspQueryAccountField ) ) .
34264                BankPwdFlag as * const _ as usize } , 496usize , concat ! (
34265                "Alignment of field: " , stringify ! (
34266                CThostFtdcRspQueryAccountField ) , "::" , stringify ! (
34267                BankPwdFlag ) ));
34268    assert_eq! (unsafe {
34269                & ( * ( 0 as * const CThostFtdcRspQueryAccountField ) ) .
34270                SecuPwdFlag as * const _ as usize } , 497usize , concat ! (
34271                "Alignment of field: " , stringify ! (
34272                CThostFtdcRspQueryAccountField ) , "::" , stringify ! (
34273                SecuPwdFlag ) ));
34274    assert_eq! (unsafe {
34275                & ( * ( 0 as * const CThostFtdcRspQueryAccountField ) ) .
34276                OperNo as * const _ as usize } , 498usize , concat ! (
34277                "Alignment of field: " , stringify ! (
34278                CThostFtdcRspQueryAccountField ) , "::" , stringify ! ( OperNo
34279                ) ));
34280    assert_eq! (unsafe {
34281                & ( * ( 0 as * const CThostFtdcRspQueryAccountField ) ) .
34282                RequestID as * const _ as usize } , 516usize , concat ! (
34283                "Alignment of field: " , stringify ! (
34284                CThostFtdcRspQueryAccountField ) , "::" , stringify ! (
34285                RequestID ) ));
34286    assert_eq! (unsafe {
34287                & ( * ( 0 as * const CThostFtdcRspQueryAccountField ) ) . TID
34288                as * const _ as usize } , 520usize , concat ! (
34289                "Alignment of field: " , stringify ! (
34290                CThostFtdcRspQueryAccountField ) , "::" , stringify ! ( TID )
34291                ));
34292    assert_eq! (unsafe {
34293                & ( * ( 0 as * const CThostFtdcRspQueryAccountField ) ) .
34294                BankUseAmount as * const _ as usize } , 528usize , concat ! (
34295                "Alignment of field: " , stringify ! (
34296                CThostFtdcRspQueryAccountField ) , "::" , stringify ! (
34297                BankUseAmount ) ));
34298    assert_eq! (unsafe {
34299                & ( * ( 0 as * const CThostFtdcRspQueryAccountField ) ) .
34300                BankFetchAmount as * const _ as usize } , 536usize , concat !
34301                (
34302                "Alignment of field: " , stringify ! (
34303                CThostFtdcRspQueryAccountField ) , "::" , stringify ! (
34304                BankFetchAmount ) ));
34305    assert_eq! (unsafe {
34306                & ( * ( 0 as * const CThostFtdcRspQueryAccountField ) ) .
34307                LongCustomerName as * const _ as usize } , 544usize , concat !
34308                (
34309                "Alignment of field: " , stringify ! (
34310                CThostFtdcRspQueryAccountField ) , "::" , stringify ! (
34311                LongCustomerName ) ));
34312}
34313impl Clone for CThostFtdcRspQueryAccountField {
34314    fn clone(&self) -> Self { *self }
34315}
34316impl Default for CThostFtdcRspQueryAccountField {
34317    fn default() -> Self { unsafe { ::std::mem::zeroed() } }
34318}
34319/// 期商签到签退
34320#[repr(C)]
34321#[derive(Copy)]
34322pub struct CThostFtdcFutureSignIOField {
34323    /// 业务功能码
34324    pub TradeCode: TThostFtdcTradeCodeType,
34325    /// 银行代码
34326    pub BankID: TThostFtdcBankIDType,
34327    /// 银行分支机构代码
34328    pub BankBranchID: TThostFtdcBankBrchIDType,
34329    /// 期商代码
34330    pub BrokerID: TThostFtdcBrokerIDType,
34331    /// 期商分支机构代码
34332    pub BrokerBranchID: TThostFtdcFutureBranchIDType,
34333    /// 交易日期
34334    pub TradeDate: TThostFtdcTradeDateType,
34335    /// 交易时间
34336    pub TradeTime: TThostFtdcTradeTimeType,
34337    /// 银行流水号
34338    pub BankSerial: TThostFtdcBankSerialType,
34339    /// 交易系统日期
34340    pub TradingDay: TThostFtdcTradeDateType,
34341    /// 银期平台消息流水号
34342    pub PlateSerial: TThostFtdcSerialType,
34343    /// 最后分片标志
34344    pub LastFragment: TThostFtdcLastFragmentType,
34345    /// 会话号
34346    pub SessionID: TThostFtdcSessionIDType,
34347    /// 安装编号
34348    pub InstallID: TThostFtdcInstallIDType,
34349    /// 用户标识
34350    pub UserID: TThostFtdcUserIDType,
34351    /// 摘要
34352    pub Digest: TThostFtdcDigestType,
34353    /// 币种代码
34354    pub CurrencyID: TThostFtdcCurrencyIDType,
34355    /// 渠道标志
34356    pub DeviceID: TThostFtdcDeviceIDType,
34357    /// 期货公司银行编码
34358    pub BrokerIDByBank: TThostFtdcBankCodingForFutureType,
34359    /// 交易柜员
34360    pub OperNo: TThostFtdcOperNoType,
34361    /// 请求编号
34362    pub RequestID: TThostFtdcRequestIDType,
34363    /// 交易ID
34364    pub TID: TThostFtdcTIDType,
34365}
34366#[test]
34367fn bindgen_test_layout_CThostFtdcFutureSignIOField() {
34368    assert_eq!(::std::mem::size_of::<CThostFtdcFutureSignIOField>() , 236usize
34369               , concat ! (
34370               "Size of: " , stringify ! ( CThostFtdcFutureSignIOField ) ));
34371    assert_eq! (::std::mem::align_of::<CThostFtdcFutureSignIOField>() , 4usize
34372                , concat ! (
34373                "Alignment of " , stringify ! ( CThostFtdcFutureSignIOField )
34374                ));
34375    assert_eq! (unsafe {
34376                & ( * ( 0 as * const CThostFtdcFutureSignIOField ) ) .
34377                TradeCode as * const _ as usize } , 0usize , concat ! (
34378                "Alignment of field: " , stringify ! (
34379                CThostFtdcFutureSignIOField ) , "::" , stringify ! ( TradeCode
34380                ) ));
34381    assert_eq! (unsafe {
34382                & ( * ( 0 as * const CThostFtdcFutureSignIOField ) ) . BankID
34383                as * const _ as usize } , 7usize , concat ! (
34384                "Alignment of field: " , stringify ! (
34385                CThostFtdcFutureSignIOField ) , "::" , stringify ! ( BankID )
34386                ));
34387    assert_eq! (unsafe {
34388                & ( * ( 0 as * const CThostFtdcFutureSignIOField ) ) .
34389                BankBranchID as * const _ as usize } , 11usize , concat ! (
34390                "Alignment of field: " , stringify ! (
34391                CThostFtdcFutureSignIOField ) , "::" , stringify ! (
34392                BankBranchID ) ));
34393    assert_eq! (unsafe {
34394                & ( * ( 0 as * const CThostFtdcFutureSignIOField ) ) .
34395                BrokerID as * const _ as usize } , 16usize , concat ! (
34396                "Alignment of field: " , stringify ! (
34397                CThostFtdcFutureSignIOField ) , "::" , stringify ! ( BrokerID
34398                ) ));
34399    assert_eq! (unsafe {
34400                & ( * ( 0 as * const CThostFtdcFutureSignIOField ) ) .
34401                BrokerBranchID as * const _ as usize } , 27usize , concat ! (
34402                "Alignment of field: " , stringify ! (
34403                CThostFtdcFutureSignIOField ) , "::" , stringify ! (
34404                BrokerBranchID ) ));
34405    assert_eq! (unsafe {
34406                & ( * ( 0 as * const CThostFtdcFutureSignIOField ) ) .
34407                TradeDate as * const _ as usize } , 58usize , concat ! (
34408                "Alignment of field: " , stringify ! (
34409                CThostFtdcFutureSignIOField ) , "::" , stringify ! ( TradeDate
34410                ) ));
34411    assert_eq! (unsafe {
34412                & ( * ( 0 as * const CThostFtdcFutureSignIOField ) ) .
34413                TradeTime as * const _ as usize } , 67usize , concat ! (
34414                "Alignment of field: " , stringify ! (
34415                CThostFtdcFutureSignIOField ) , "::" , stringify ! ( TradeTime
34416                ) ));
34417    assert_eq! (unsafe {
34418                & ( * ( 0 as * const CThostFtdcFutureSignIOField ) ) .
34419                BankSerial as * const _ as usize } , 76usize , concat ! (
34420                "Alignment of field: " , stringify ! (
34421                CThostFtdcFutureSignIOField ) , "::" , stringify ! (
34422                BankSerial ) ));
34423    assert_eq! (unsafe {
34424                & ( * ( 0 as * const CThostFtdcFutureSignIOField ) ) .
34425                TradingDay as * const _ as usize } , 89usize , concat ! (
34426                "Alignment of field: " , stringify ! (
34427                CThostFtdcFutureSignIOField ) , "::" , stringify ! (
34428                TradingDay ) ));
34429    assert_eq! (unsafe {
34430                & ( * ( 0 as * const CThostFtdcFutureSignIOField ) ) .
34431                PlateSerial as * const _ as usize } , 100usize , concat ! (
34432                "Alignment of field: " , stringify ! (
34433                CThostFtdcFutureSignIOField ) , "::" , stringify ! (
34434                PlateSerial ) ));
34435    assert_eq! (unsafe {
34436                & ( * ( 0 as * const CThostFtdcFutureSignIOField ) ) .
34437                LastFragment as * const _ as usize } , 104usize , concat ! (
34438                "Alignment of field: " , stringify ! (
34439                CThostFtdcFutureSignIOField ) , "::" , stringify ! (
34440                LastFragment ) ));
34441    assert_eq! (unsafe {
34442                & ( * ( 0 as * const CThostFtdcFutureSignIOField ) ) .
34443                SessionID as * const _ as usize } , 108usize , concat ! (
34444                "Alignment of field: " , stringify ! (
34445                CThostFtdcFutureSignIOField ) , "::" , stringify ! ( SessionID
34446                ) ));
34447    assert_eq! (unsafe {
34448                & ( * ( 0 as * const CThostFtdcFutureSignIOField ) ) .
34449                InstallID as * const _ as usize } , 112usize , concat ! (
34450                "Alignment of field: " , stringify ! (
34451                CThostFtdcFutureSignIOField ) , "::" , stringify ! ( InstallID
34452                ) ));
34453    assert_eq! (unsafe {
34454                & ( * ( 0 as * const CThostFtdcFutureSignIOField ) ) . UserID
34455                as * const _ as usize } , 116usize , concat ! (
34456                "Alignment of field: " , stringify ! (
34457                CThostFtdcFutureSignIOField ) , "::" , stringify ! ( UserID )
34458                ));
34459    assert_eq! (unsafe {
34460                & ( * ( 0 as * const CThostFtdcFutureSignIOField ) ) . Digest
34461                as * const _ as usize } , 132usize , concat ! (
34462                "Alignment of field: " , stringify ! (
34463                CThostFtdcFutureSignIOField ) , "::" , stringify ! ( Digest )
34464                ));
34465    assert_eq! (unsafe {
34466                & ( * ( 0 as * const CThostFtdcFutureSignIOField ) ) .
34467                CurrencyID as * const _ as usize } , 168usize , concat ! (
34468                "Alignment of field: " , stringify ! (
34469                CThostFtdcFutureSignIOField ) , "::" , stringify ! (
34470                CurrencyID ) ));
34471    assert_eq! (unsafe {
34472                & ( * ( 0 as * const CThostFtdcFutureSignIOField ) ) .
34473                DeviceID as * const _ as usize } , 172usize , concat ! (
34474                "Alignment of field: " , stringify ! (
34475                CThostFtdcFutureSignIOField ) , "::" , stringify ! ( DeviceID
34476                ) ));
34477    assert_eq! (unsafe {
34478                & ( * ( 0 as * const CThostFtdcFutureSignIOField ) ) .
34479                BrokerIDByBank as * const _ as usize } , 175usize , concat ! (
34480                "Alignment of field: " , stringify ! (
34481                CThostFtdcFutureSignIOField ) , "::" , stringify ! (
34482                BrokerIDByBank ) ));
34483    assert_eq! (unsafe {
34484                & ( * ( 0 as * const CThostFtdcFutureSignIOField ) ) . OperNo
34485                as * const _ as usize } , 208usize , concat ! (
34486                "Alignment of field: " , stringify ! (
34487                CThostFtdcFutureSignIOField ) , "::" , stringify ! ( OperNo )
34488                ));
34489    assert_eq! (unsafe {
34490                & ( * ( 0 as * const CThostFtdcFutureSignIOField ) ) .
34491                RequestID as * const _ as usize } , 228usize , concat ! (
34492                "Alignment of field: " , stringify ! (
34493                CThostFtdcFutureSignIOField ) , "::" , stringify ! ( RequestID
34494                ) ));
34495    assert_eq! (unsafe {
34496                & ( * ( 0 as * const CThostFtdcFutureSignIOField ) ) . TID as
34497                * const _ as usize } , 232usize , concat ! (
34498                "Alignment of field: " , stringify ! (
34499                CThostFtdcFutureSignIOField ) , "::" , stringify ! ( TID ) ));
34500}
34501impl Clone for CThostFtdcFutureSignIOField {
34502    fn clone(&self) -> Self { *self }
34503}
34504impl Default for CThostFtdcFutureSignIOField {
34505    fn default() -> Self { unsafe { ::std::mem::zeroed() } }
34506}
34507/// 期商签到响应
34508#[repr(C)]
34509#[derive(Copy)]
34510pub struct CThostFtdcRspFutureSignInField {
34511    /// 业务功能码
34512    pub TradeCode: TThostFtdcTradeCodeType,
34513    /// 银行代码
34514    pub BankID: TThostFtdcBankIDType,
34515    /// 银行分支机构代码
34516    pub BankBranchID: TThostFtdcBankBrchIDType,
34517    /// 期商代码
34518    pub BrokerID: TThostFtdcBrokerIDType,
34519    /// 期商分支机构代码
34520    pub BrokerBranchID: TThostFtdcFutureBranchIDType,
34521    /// 交易日期
34522    pub TradeDate: TThostFtdcTradeDateType,
34523    /// 交易时间
34524    pub TradeTime: TThostFtdcTradeTimeType,
34525    /// 银行流水号
34526    pub BankSerial: TThostFtdcBankSerialType,
34527    /// 交易系统日期
34528    pub TradingDay: TThostFtdcTradeDateType,
34529    /// 银期平台消息流水号
34530    pub PlateSerial: TThostFtdcSerialType,
34531    /// 最后分片标志
34532    pub LastFragment: TThostFtdcLastFragmentType,
34533    /// 会话号
34534    pub SessionID: TThostFtdcSessionIDType,
34535    /// 安装编号
34536    pub InstallID: TThostFtdcInstallIDType,
34537    /// 用户标识
34538    pub UserID: TThostFtdcUserIDType,
34539    /// 摘要
34540    pub Digest: TThostFtdcDigestType,
34541    /// 币种代码
34542    pub CurrencyID: TThostFtdcCurrencyIDType,
34543    /// 渠道标志
34544    pub DeviceID: TThostFtdcDeviceIDType,
34545    /// 期货公司银行编码
34546    pub BrokerIDByBank: TThostFtdcBankCodingForFutureType,
34547    /// 交易柜员
34548    pub OperNo: TThostFtdcOperNoType,
34549    /// 请求编号
34550    pub RequestID: TThostFtdcRequestIDType,
34551    /// 交易ID
34552    pub TID: TThostFtdcTIDType,
34553    /// 错误代码
34554    pub ErrorID: TThostFtdcErrorIDType,
34555    /// 错误信息
34556    pub ErrorMsg: TThostFtdcErrorMsgType,
34557    /// PIN密钥
34558    pub PinKey: TThostFtdcPasswordKeyType,
34559    /// MAC密钥
34560    pub MacKey: TThostFtdcPasswordKeyType,
34561}
34562#[test]
34563fn bindgen_test_layout_CThostFtdcRspFutureSignInField() {
34564    assert_eq!(::std::mem::size_of::<CThostFtdcRspFutureSignInField>() ,
34565               580usize , concat ! (
34566               "Size of: " , stringify ! ( CThostFtdcRspFutureSignInField )
34567               ));
34568    assert_eq! (::std::mem::align_of::<CThostFtdcRspFutureSignInField>() ,
34569                4usize , concat ! (
34570                "Alignment of " , stringify ! ( CThostFtdcRspFutureSignInField
34571                ) ));
34572    assert_eq! (unsafe {
34573                & ( * ( 0 as * const CThostFtdcRspFutureSignInField ) ) .
34574                TradeCode as * const _ as usize } , 0usize , concat ! (
34575                "Alignment of field: " , stringify ! (
34576                CThostFtdcRspFutureSignInField ) , "::" , stringify ! (
34577                TradeCode ) ));
34578    assert_eq! (unsafe {
34579                & ( * ( 0 as * const CThostFtdcRspFutureSignInField ) ) .
34580                BankID as * const _ as usize } , 7usize , concat ! (
34581                "Alignment of field: " , stringify ! (
34582                CThostFtdcRspFutureSignInField ) , "::" , stringify ! ( BankID
34583                ) ));
34584    assert_eq! (unsafe {
34585                & ( * ( 0 as * const CThostFtdcRspFutureSignInField ) ) .
34586                BankBranchID as * const _ as usize } , 11usize , concat ! (
34587                "Alignment of field: " , stringify ! (
34588                CThostFtdcRspFutureSignInField ) , "::" , stringify ! (
34589                BankBranchID ) ));
34590    assert_eq! (unsafe {
34591                & ( * ( 0 as * const CThostFtdcRspFutureSignInField ) ) .
34592                BrokerID as * const _ as usize } , 16usize , concat ! (
34593                "Alignment of field: " , stringify ! (
34594                CThostFtdcRspFutureSignInField ) , "::" , stringify ! (
34595                BrokerID ) ));
34596    assert_eq! (unsafe {
34597                & ( * ( 0 as * const CThostFtdcRspFutureSignInField ) ) .
34598                BrokerBranchID as * const _ as usize } , 27usize , concat ! (
34599                "Alignment of field: " , stringify ! (
34600                CThostFtdcRspFutureSignInField ) , "::" , stringify ! (
34601                BrokerBranchID ) ));
34602    assert_eq! (unsafe {
34603                & ( * ( 0 as * const CThostFtdcRspFutureSignInField ) ) .
34604                TradeDate as * const _ as usize } , 58usize , concat ! (
34605                "Alignment of field: " , stringify ! (
34606                CThostFtdcRspFutureSignInField ) , "::" , stringify ! (
34607                TradeDate ) ));
34608    assert_eq! (unsafe {
34609                & ( * ( 0 as * const CThostFtdcRspFutureSignInField ) ) .
34610                TradeTime as * const _ as usize } , 67usize , concat ! (
34611                "Alignment of field: " , stringify ! (
34612                CThostFtdcRspFutureSignInField ) , "::" , stringify ! (
34613                TradeTime ) ));
34614    assert_eq! (unsafe {
34615                & ( * ( 0 as * const CThostFtdcRspFutureSignInField ) ) .
34616                BankSerial as * const _ as usize } , 76usize , concat ! (
34617                "Alignment of field: " , stringify ! (
34618                CThostFtdcRspFutureSignInField ) , "::" , stringify ! (
34619                BankSerial ) ));
34620    assert_eq! (unsafe {
34621                & ( * ( 0 as * const CThostFtdcRspFutureSignInField ) ) .
34622                TradingDay as * const _ as usize } , 89usize , concat ! (
34623                "Alignment of field: " , stringify ! (
34624                CThostFtdcRspFutureSignInField ) , "::" , stringify ! (
34625                TradingDay ) ));
34626    assert_eq! (unsafe {
34627                & ( * ( 0 as * const CThostFtdcRspFutureSignInField ) ) .
34628                PlateSerial as * const _ as usize } , 100usize , concat ! (
34629                "Alignment of field: " , stringify ! (
34630                CThostFtdcRspFutureSignInField ) , "::" , stringify ! (
34631                PlateSerial ) ));
34632    assert_eq! (unsafe {
34633                & ( * ( 0 as * const CThostFtdcRspFutureSignInField ) ) .
34634                LastFragment as * const _ as usize } , 104usize , concat ! (
34635                "Alignment of field: " , stringify ! (
34636                CThostFtdcRspFutureSignInField ) , "::" , stringify ! (
34637                LastFragment ) ));
34638    assert_eq! (unsafe {
34639                & ( * ( 0 as * const CThostFtdcRspFutureSignInField ) ) .
34640                SessionID as * const _ as usize } , 108usize , concat ! (
34641                "Alignment of field: " , stringify ! (
34642                CThostFtdcRspFutureSignInField ) , "::" , stringify ! (
34643                SessionID ) ));
34644    assert_eq! (unsafe {
34645                & ( * ( 0 as * const CThostFtdcRspFutureSignInField ) ) .
34646                InstallID as * const _ as usize } , 112usize , concat ! (
34647                "Alignment of field: " , stringify ! (
34648                CThostFtdcRspFutureSignInField ) , "::" , stringify ! (
34649                InstallID ) ));
34650    assert_eq! (unsafe {
34651                & ( * ( 0 as * const CThostFtdcRspFutureSignInField ) ) .
34652                UserID as * const _ as usize } , 116usize , concat ! (
34653                "Alignment of field: " , stringify ! (
34654                CThostFtdcRspFutureSignInField ) , "::" , stringify ! ( UserID
34655                ) ));
34656    assert_eq! (unsafe {
34657                & ( * ( 0 as * const CThostFtdcRspFutureSignInField ) ) .
34658                Digest as * const _ as usize } , 132usize , concat ! (
34659                "Alignment of field: " , stringify ! (
34660                CThostFtdcRspFutureSignInField ) , "::" , stringify ! ( Digest
34661                ) ));
34662    assert_eq! (unsafe {
34663                & ( * ( 0 as * const CThostFtdcRspFutureSignInField ) ) .
34664                CurrencyID as * const _ as usize } , 168usize , concat ! (
34665                "Alignment of field: " , stringify ! (
34666                CThostFtdcRspFutureSignInField ) , "::" , stringify ! (
34667                CurrencyID ) ));
34668    assert_eq! (unsafe {
34669                & ( * ( 0 as * const CThostFtdcRspFutureSignInField ) ) .
34670                DeviceID as * const _ as usize } , 172usize , concat ! (
34671                "Alignment of field: " , stringify ! (
34672                CThostFtdcRspFutureSignInField ) , "::" , stringify ! (
34673                DeviceID ) ));
34674    assert_eq! (unsafe {
34675                & ( * ( 0 as * const CThostFtdcRspFutureSignInField ) ) .
34676                BrokerIDByBank as * const _ as usize } , 175usize , concat ! (
34677                "Alignment of field: " , stringify ! (
34678                CThostFtdcRspFutureSignInField ) , "::" , stringify ! (
34679                BrokerIDByBank ) ));
34680    assert_eq! (unsafe {
34681                & ( * ( 0 as * const CThostFtdcRspFutureSignInField ) ) .
34682                OperNo as * const _ as usize } , 208usize , concat ! (
34683                "Alignment of field: " , stringify ! (
34684                CThostFtdcRspFutureSignInField ) , "::" , stringify ! ( OperNo
34685                ) ));
34686    assert_eq! (unsafe {
34687                & ( * ( 0 as * const CThostFtdcRspFutureSignInField ) ) .
34688                RequestID as * const _ as usize } , 228usize , concat ! (
34689                "Alignment of field: " , stringify ! (
34690                CThostFtdcRspFutureSignInField ) , "::" , stringify ! (
34691                RequestID ) ));
34692    assert_eq! (unsafe {
34693                & ( * ( 0 as * const CThostFtdcRspFutureSignInField ) ) . TID
34694                as * const _ as usize } , 232usize , concat ! (
34695                "Alignment of field: " , stringify ! (
34696                CThostFtdcRspFutureSignInField ) , "::" , stringify ! ( TID )
34697                ));
34698    assert_eq! (unsafe {
34699                & ( * ( 0 as * const CThostFtdcRspFutureSignInField ) ) .
34700                ErrorID as * const _ as usize } , 236usize , concat ! (
34701                "Alignment of field: " , stringify ! (
34702                CThostFtdcRspFutureSignInField ) , "::" , stringify ! (
34703                ErrorID ) ));
34704    assert_eq! (unsafe {
34705                & ( * ( 0 as * const CThostFtdcRspFutureSignInField ) ) .
34706                ErrorMsg as * const _ as usize } , 240usize , concat ! (
34707                "Alignment of field: " , stringify ! (
34708                CThostFtdcRspFutureSignInField ) , "::" , stringify ! (
34709                ErrorMsg ) ));
34710    assert_eq! (unsafe {
34711                & ( * ( 0 as * const CThostFtdcRspFutureSignInField ) ) .
34712                PinKey as * const _ as usize } , 321usize , concat ! (
34713                "Alignment of field: " , stringify ! (
34714                CThostFtdcRspFutureSignInField ) , "::" , stringify ! ( PinKey
34715                ) ));
34716    assert_eq! (unsafe {
34717                & ( * ( 0 as * const CThostFtdcRspFutureSignInField ) ) .
34718                MacKey as * const _ as usize } , 450usize , concat ! (
34719                "Alignment of field: " , stringify ! (
34720                CThostFtdcRspFutureSignInField ) , "::" , stringify ! ( MacKey
34721                ) ));
34722}
34723impl Clone for CThostFtdcRspFutureSignInField {
34724    fn clone(&self) -> Self { *self }
34725}
34726impl Default for CThostFtdcRspFutureSignInField {
34727    fn default() -> Self { unsafe { ::std::mem::zeroed() } }
34728}
34729/// 期商签退请求
34730#[repr(C)]
34731#[derive(Copy)]
34732pub struct CThostFtdcReqFutureSignOutField {
34733    /// 业务功能码
34734    pub TradeCode: TThostFtdcTradeCodeType,
34735    /// 银行代码
34736    pub BankID: TThostFtdcBankIDType,
34737    /// 银行分支机构代码
34738    pub BankBranchID: TThostFtdcBankBrchIDType,
34739    /// 期商代码
34740    pub BrokerID: TThostFtdcBrokerIDType,
34741    /// 期商分支机构代码
34742    pub BrokerBranchID: TThostFtdcFutureBranchIDType,
34743    /// 交易日期
34744    pub TradeDate: TThostFtdcTradeDateType,
34745    /// 交易时间
34746    pub TradeTime: TThostFtdcTradeTimeType,
34747    /// 银行流水号
34748    pub BankSerial: TThostFtdcBankSerialType,
34749    /// 交易系统日期
34750    pub TradingDay: TThostFtdcTradeDateType,
34751    /// 银期平台消息流水号
34752    pub PlateSerial: TThostFtdcSerialType,
34753    /// 最后分片标志
34754    pub LastFragment: TThostFtdcLastFragmentType,
34755    /// 会话号
34756    pub SessionID: TThostFtdcSessionIDType,
34757    /// 安装编号
34758    pub InstallID: TThostFtdcInstallIDType,
34759    /// 用户标识
34760    pub UserID: TThostFtdcUserIDType,
34761    /// 摘要
34762    pub Digest: TThostFtdcDigestType,
34763    /// 币种代码
34764    pub CurrencyID: TThostFtdcCurrencyIDType,
34765    /// 渠道标志
34766    pub DeviceID: TThostFtdcDeviceIDType,
34767    /// 期货公司银行编码
34768    pub BrokerIDByBank: TThostFtdcBankCodingForFutureType,
34769    /// 交易柜员
34770    pub OperNo: TThostFtdcOperNoType,
34771    /// 请求编号
34772    pub RequestID: TThostFtdcRequestIDType,
34773    /// 交易ID
34774    pub TID: TThostFtdcTIDType,
34775}
34776#[test]
34777fn bindgen_test_layout_CThostFtdcReqFutureSignOutField() {
34778    assert_eq!(::std::mem::size_of::<CThostFtdcReqFutureSignOutField>() ,
34779               236usize , concat ! (
34780               "Size of: " , stringify ! ( CThostFtdcReqFutureSignOutField )
34781               ));
34782    assert_eq! (::std::mem::align_of::<CThostFtdcReqFutureSignOutField>() ,
34783                4usize , concat ! (
34784                "Alignment of " , stringify ! (
34785                CThostFtdcReqFutureSignOutField ) ));
34786    assert_eq! (unsafe {
34787                & ( * ( 0 as * const CThostFtdcReqFutureSignOutField ) ) .
34788                TradeCode as * const _ as usize } , 0usize , concat ! (
34789                "Alignment of field: " , stringify ! (
34790                CThostFtdcReqFutureSignOutField ) , "::" , stringify ! (
34791                TradeCode ) ));
34792    assert_eq! (unsafe {
34793                & ( * ( 0 as * const CThostFtdcReqFutureSignOutField ) ) .
34794                BankID as * const _ as usize } , 7usize , concat ! (
34795                "Alignment of field: " , stringify ! (
34796                CThostFtdcReqFutureSignOutField ) , "::" , stringify ! (
34797                BankID ) ));
34798    assert_eq! (unsafe {
34799                & ( * ( 0 as * const CThostFtdcReqFutureSignOutField ) ) .
34800                BankBranchID as * const _ as usize } , 11usize , concat ! (
34801                "Alignment of field: " , stringify ! (
34802                CThostFtdcReqFutureSignOutField ) , "::" , stringify ! (
34803                BankBranchID ) ));
34804    assert_eq! (unsafe {
34805                & ( * ( 0 as * const CThostFtdcReqFutureSignOutField ) ) .
34806                BrokerID as * const _ as usize } , 16usize , concat ! (
34807                "Alignment of field: " , stringify ! (
34808                CThostFtdcReqFutureSignOutField ) , "::" , stringify ! (
34809                BrokerID ) ));
34810    assert_eq! (unsafe {
34811                & ( * ( 0 as * const CThostFtdcReqFutureSignOutField ) ) .
34812                BrokerBranchID as * const _ as usize } , 27usize , concat ! (
34813                "Alignment of field: " , stringify ! (
34814                CThostFtdcReqFutureSignOutField ) , "::" , stringify ! (
34815                BrokerBranchID ) ));
34816    assert_eq! (unsafe {
34817                & ( * ( 0 as * const CThostFtdcReqFutureSignOutField ) ) .
34818                TradeDate as * const _ as usize } , 58usize , concat ! (
34819                "Alignment of field: " , stringify ! (
34820                CThostFtdcReqFutureSignOutField ) , "::" , stringify ! (
34821                TradeDate ) ));
34822    assert_eq! (unsafe {
34823                & ( * ( 0 as * const CThostFtdcReqFutureSignOutField ) ) .
34824                TradeTime as * const _ as usize } , 67usize , concat ! (
34825                "Alignment of field: " , stringify ! (
34826                CThostFtdcReqFutureSignOutField ) , "::" , stringify ! (
34827                TradeTime ) ));
34828    assert_eq! (unsafe {
34829                & ( * ( 0 as * const CThostFtdcReqFutureSignOutField ) ) .
34830                BankSerial as * const _ as usize } , 76usize , concat ! (
34831                "Alignment of field: " , stringify ! (
34832                CThostFtdcReqFutureSignOutField ) , "::" , stringify ! (
34833                BankSerial ) ));
34834    assert_eq! (unsafe {
34835                & ( * ( 0 as * const CThostFtdcReqFutureSignOutField ) ) .
34836                TradingDay as * const _ as usize } , 89usize , concat ! (
34837                "Alignment of field: " , stringify ! (
34838                CThostFtdcReqFutureSignOutField ) , "::" , stringify ! (
34839                TradingDay ) ));
34840    assert_eq! (unsafe {
34841                & ( * ( 0 as * const CThostFtdcReqFutureSignOutField ) ) .
34842                PlateSerial as * const _ as usize } , 100usize , concat ! (
34843                "Alignment of field: " , stringify ! (
34844                CThostFtdcReqFutureSignOutField ) , "::" , stringify ! (
34845                PlateSerial ) ));
34846    assert_eq! (unsafe {
34847                & ( * ( 0 as * const CThostFtdcReqFutureSignOutField ) ) .
34848                LastFragment as * const _ as usize } , 104usize , concat ! (
34849                "Alignment of field: " , stringify ! (
34850                CThostFtdcReqFutureSignOutField ) , "::" , stringify ! (
34851                LastFragment ) ));
34852    assert_eq! (unsafe {
34853                & ( * ( 0 as * const CThostFtdcReqFutureSignOutField ) ) .
34854                SessionID as * const _ as usize } , 108usize , concat ! (
34855                "Alignment of field: " , stringify ! (
34856                CThostFtdcReqFutureSignOutField ) , "::" , stringify ! (
34857                SessionID ) ));
34858    assert_eq! (unsafe {
34859                & ( * ( 0 as * const CThostFtdcReqFutureSignOutField ) ) .
34860                InstallID as * const _ as usize } , 112usize , concat ! (
34861                "Alignment of field: " , stringify ! (
34862                CThostFtdcReqFutureSignOutField ) , "::" , stringify ! (
34863                InstallID ) ));
34864    assert_eq! (unsafe {
34865                & ( * ( 0 as * const CThostFtdcReqFutureSignOutField ) ) .
34866                UserID as * const _ as usize } , 116usize , concat ! (
34867                "Alignment of field: " , stringify ! (
34868                CThostFtdcReqFutureSignOutField ) , "::" , stringify ! (
34869                UserID ) ));
34870    assert_eq! (unsafe {
34871                & ( * ( 0 as * const CThostFtdcReqFutureSignOutField ) ) .
34872                Digest as * const _ as usize } , 132usize , concat ! (
34873                "Alignment of field: " , stringify ! (
34874                CThostFtdcReqFutureSignOutField ) , "::" , stringify ! (
34875                Digest ) ));
34876    assert_eq! (unsafe {
34877                & ( * ( 0 as * const CThostFtdcReqFutureSignOutField ) ) .
34878                CurrencyID as * const _ as usize } , 168usize , concat ! (
34879                "Alignment of field: " , stringify ! (
34880                CThostFtdcReqFutureSignOutField ) , "::" , stringify ! (
34881                CurrencyID ) ));
34882    assert_eq! (unsafe {
34883                & ( * ( 0 as * const CThostFtdcReqFutureSignOutField ) ) .
34884                DeviceID as * const _ as usize } , 172usize , concat ! (
34885                "Alignment of field: " , stringify ! (
34886                CThostFtdcReqFutureSignOutField ) , "::" , stringify ! (
34887                DeviceID ) ));
34888    assert_eq! (unsafe {
34889                & ( * ( 0 as * const CThostFtdcReqFutureSignOutField ) ) .
34890                BrokerIDByBank as * const _ as usize } , 175usize , concat ! (
34891                "Alignment of field: " , stringify ! (
34892                CThostFtdcReqFutureSignOutField ) , "::" , stringify ! (
34893                BrokerIDByBank ) ));
34894    assert_eq! (unsafe {
34895                & ( * ( 0 as * const CThostFtdcReqFutureSignOutField ) ) .
34896                OperNo as * const _ as usize } , 208usize , concat ! (
34897                "Alignment of field: " , stringify ! (
34898                CThostFtdcReqFutureSignOutField ) , "::" , stringify ! (
34899                OperNo ) ));
34900    assert_eq! (unsafe {
34901                & ( * ( 0 as * const CThostFtdcReqFutureSignOutField ) ) .
34902                RequestID as * const _ as usize } , 228usize , concat ! (
34903                "Alignment of field: " , stringify ! (
34904                CThostFtdcReqFutureSignOutField ) , "::" , stringify ! (
34905                RequestID ) ));
34906    assert_eq! (unsafe {
34907                & ( * ( 0 as * const CThostFtdcReqFutureSignOutField ) ) . TID
34908                as * const _ as usize } , 232usize , concat ! (
34909                "Alignment of field: " , stringify ! (
34910                CThostFtdcReqFutureSignOutField ) , "::" , stringify ! ( TID )
34911                ));
34912}
34913impl Clone for CThostFtdcReqFutureSignOutField {
34914    fn clone(&self) -> Self { *self }
34915}
34916impl Default for CThostFtdcReqFutureSignOutField {
34917    fn default() -> Self { unsafe { ::std::mem::zeroed() } }
34918}
34919/// 期商签退响应
34920#[repr(C)]
34921#[derive(Copy)]
34922pub struct CThostFtdcRspFutureSignOutField {
34923    /// 业务功能码
34924    pub TradeCode: TThostFtdcTradeCodeType,
34925    /// 银行代码
34926    pub BankID: TThostFtdcBankIDType,
34927    /// 银行分支机构代码
34928    pub BankBranchID: TThostFtdcBankBrchIDType,
34929    /// 期商代码
34930    pub BrokerID: TThostFtdcBrokerIDType,
34931    /// 期商分支机构代码
34932    pub BrokerBranchID: TThostFtdcFutureBranchIDType,
34933    /// 交易日期
34934    pub TradeDate: TThostFtdcTradeDateType,
34935    /// 交易时间
34936    pub TradeTime: TThostFtdcTradeTimeType,
34937    /// 银行流水号
34938    pub BankSerial: TThostFtdcBankSerialType,
34939    /// 交易系统日期
34940    pub TradingDay: TThostFtdcTradeDateType,
34941    /// 银期平台消息流水号
34942    pub PlateSerial: TThostFtdcSerialType,
34943    /// 最后分片标志
34944    pub LastFragment: TThostFtdcLastFragmentType,
34945    /// 会话号
34946    pub SessionID: TThostFtdcSessionIDType,
34947    /// 安装编号
34948    pub InstallID: TThostFtdcInstallIDType,
34949    /// 用户标识
34950    pub UserID: TThostFtdcUserIDType,
34951    /// 摘要
34952    pub Digest: TThostFtdcDigestType,
34953    /// 币种代码
34954    pub CurrencyID: TThostFtdcCurrencyIDType,
34955    /// 渠道标志
34956    pub DeviceID: TThostFtdcDeviceIDType,
34957    /// 期货公司银行编码
34958    pub BrokerIDByBank: TThostFtdcBankCodingForFutureType,
34959    /// 交易柜员
34960    pub OperNo: TThostFtdcOperNoType,
34961    /// 请求编号
34962    pub RequestID: TThostFtdcRequestIDType,
34963    /// 交易ID
34964    pub TID: TThostFtdcTIDType,
34965    /// 错误代码
34966    pub ErrorID: TThostFtdcErrorIDType,
34967    /// 错误信息
34968    pub ErrorMsg: TThostFtdcErrorMsgType,
34969}
34970#[test]
34971fn bindgen_test_layout_CThostFtdcRspFutureSignOutField() {
34972    assert_eq!(::std::mem::size_of::<CThostFtdcRspFutureSignOutField>() ,
34973               324usize , concat ! (
34974               "Size of: " , stringify ! ( CThostFtdcRspFutureSignOutField )
34975               ));
34976    assert_eq! (::std::mem::align_of::<CThostFtdcRspFutureSignOutField>() ,
34977                4usize , concat ! (
34978                "Alignment of " , stringify ! (
34979                CThostFtdcRspFutureSignOutField ) ));
34980    assert_eq! (unsafe {
34981                & ( * ( 0 as * const CThostFtdcRspFutureSignOutField ) ) .
34982                TradeCode as * const _ as usize } , 0usize , concat ! (
34983                "Alignment of field: " , stringify ! (
34984                CThostFtdcRspFutureSignOutField ) , "::" , stringify ! (
34985                TradeCode ) ));
34986    assert_eq! (unsafe {
34987                & ( * ( 0 as * const CThostFtdcRspFutureSignOutField ) ) .
34988                BankID as * const _ as usize } , 7usize , concat ! (
34989                "Alignment of field: " , stringify ! (
34990                CThostFtdcRspFutureSignOutField ) , "::" , stringify ! (
34991                BankID ) ));
34992    assert_eq! (unsafe {
34993                & ( * ( 0 as * const CThostFtdcRspFutureSignOutField ) ) .
34994                BankBranchID as * const _ as usize } , 11usize , concat ! (
34995                "Alignment of field: " , stringify ! (
34996                CThostFtdcRspFutureSignOutField ) , "::" , stringify ! (
34997                BankBranchID ) ));
34998    assert_eq! (unsafe {
34999                & ( * ( 0 as * const CThostFtdcRspFutureSignOutField ) ) .
35000                BrokerID as * const _ as usize } , 16usize , concat ! (
35001                "Alignment of field: " , stringify ! (
35002                CThostFtdcRspFutureSignOutField ) , "::" , stringify ! (
35003                BrokerID ) ));
35004    assert_eq! (unsafe {
35005                & ( * ( 0 as * const CThostFtdcRspFutureSignOutField ) ) .
35006                BrokerBranchID as * const _ as usize } , 27usize , concat ! (
35007                "Alignment of field: " , stringify ! (
35008                CThostFtdcRspFutureSignOutField ) , "::" , stringify ! (
35009                BrokerBranchID ) ));
35010    assert_eq! (unsafe {
35011                & ( * ( 0 as * const CThostFtdcRspFutureSignOutField ) ) .
35012                TradeDate as * const _ as usize } , 58usize , concat ! (
35013                "Alignment of field: " , stringify ! (
35014                CThostFtdcRspFutureSignOutField ) , "::" , stringify ! (
35015                TradeDate ) ));
35016    assert_eq! (unsafe {
35017                & ( * ( 0 as * const CThostFtdcRspFutureSignOutField ) ) .
35018                TradeTime as * const _ as usize } , 67usize , concat ! (
35019                "Alignment of field: " , stringify ! (
35020                CThostFtdcRspFutureSignOutField ) , "::" , stringify ! (
35021                TradeTime ) ));
35022    assert_eq! (unsafe {
35023                & ( * ( 0 as * const CThostFtdcRspFutureSignOutField ) ) .
35024                BankSerial as * const _ as usize } , 76usize , concat ! (
35025                "Alignment of field: " , stringify ! (
35026                CThostFtdcRspFutureSignOutField ) , "::" , stringify ! (
35027                BankSerial ) ));
35028    assert_eq! (unsafe {
35029                & ( * ( 0 as * const CThostFtdcRspFutureSignOutField ) ) .
35030                TradingDay as * const _ as usize } , 89usize , concat ! (
35031                "Alignment of field: " , stringify ! (
35032                CThostFtdcRspFutureSignOutField ) , "::" , stringify ! (
35033                TradingDay ) ));
35034    assert_eq! (unsafe {
35035                & ( * ( 0 as * const CThostFtdcRspFutureSignOutField ) ) .
35036                PlateSerial as * const _ as usize } , 100usize , concat ! (
35037                "Alignment of field: " , stringify ! (
35038                CThostFtdcRspFutureSignOutField ) , "::" , stringify ! (
35039                PlateSerial ) ));
35040    assert_eq! (unsafe {
35041                & ( * ( 0 as * const CThostFtdcRspFutureSignOutField ) ) .
35042                LastFragment as * const _ as usize } , 104usize , concat ! (
35043                "Alignment of field: " , stringify ! (
35044                CThostFtdcRspFutureSignOutField ) , "::" , stringify ! (
35045                LastFragment ) ));
35046    assert_eq! (unsafe {
35047                & ( * ( 0 as * const CThostFtdcRspFutureSignOutField ) ) .
35048                SessionID as * const _ as usize } , 108usize , concat ! (
35049                "Alignment of field: " , stringify ! (
35050                CThostFtdcRspFutureSignOutField ) , "::" , stringify ! (
35051                SessionID ) ));
35052    assert_eq! (unsafe {
35053                & ( * ( 0 as * const CThostFtdcRspFutureSignOutField ) ) .
35054                InstallID as * const _ as usize } , 112usize , concat ! (
35055                "Alignment of field: " , stringify ! (
35056                CThostFtdcRspFutureSignOutField ) , "::" , stringify ! (
35057                InstallID ) ));
35058    assert_eq! (unsafe {
35059                & ( * ( 0 as * const CThostFtdcRspFutureSignOutField ) ) .
35060                UserID as * const _ as usize } , 116usize , concat ! (
35061                "Alignment of field: " , stringify ! (
35062                CThostFtdcRspFutureSignOutField ) , "::" , stringify ! (
35063                UserID ) ));
35064    assert_eq! (unsafe {
35065                & ( * ( 0 as * const CThostFtdcRspFutureSignOutField ) ) .
35066                Digest as * const _ as usize } , 132usize , concat ! (
35067                "Alignment of field: " , stringify ! (
35068                CThostFtdcRspFutureSignOutField ) , "::" , stringify ! (
35069                Digest ) ));
35070    assert_eq! (unsafe {
35071                & ( * ( 0 as * const CThostFtdcRspFutureSignOutField ) ) .
35072                CurrencyID as * const _ as usize } , 168usize , concat ! (
35073                "Alignment of field: " , stringify ! (
35074                CThostFtdcRspFutureSignOutField ) , "::" , stringify ! (
35075                CurrencyID ) ));
35076    assert_eq! (unsafe {
35077                & ( * ( 0 as * const CThostFtdcRspFutureSignOutField ) ) .
35078                DeviceID as * const _ as usize } , 172usize , concat ! (
35079                "Alignment of field: " , stringify ! (
35080                CThostFtdcRspFutureSignOutField ) , "::" , stringify ! (
35081                DeviceID ) ));
35082    assert_eq! (unsafe {
35083                & ( * ( 0 as * const CThostFtdcRspFutureSignOutField ) ) .
35084                BrokerIDByBank as * const _ as usize } , 175usize , concat ! (
35085                "Alignment of field: " , stringify ! (
35086                CThostFtdcRspFutureSignOutField ) , "::" , stringify ! (
35087                BrokerIDByBank ) ));
35088    assert_eq! (unsafe {
35089                & ( * ( 0 as * const CThostFtdcRspFutureSignOutField ) ) .
35090                OperNo as * const _ as usize } , 208usize , concat ! (
35091                "Alignment of field: " , stringify ! (
35092                CThostFtdcRspFutureSignOutField ) , "::" , stringify ! (
35093                OperNo ) ));
35094    assert_eq! (unsafe {
35095                & ( * ( 0 as * const CThostFtdcRspFutureSignOutField ) ) .
35096                RequestID as * const _ as usize } , 228usize , concat ! (
35097                "Alignment of field: " , stringify ! (
35098                CThostFtdcRspFutureSignOutField ) , "::" , stringify ! (
35099                RequestID ) ));
35100    assert_eq! (unsafe {
35101                & ( * ( 0 as * const CThostFtdcRspFutureSignOutField ) ) . TID
35102                as * const _ as usize } , 232usize , concat ! (
35103                "Alignment of field: " , stringify ! (
35104                CThostFtdcRspFutureSignOutField ) , "::" , stringify ! ( TID )
35105                ));
35106    assert_eq! (unsafe {
35107                & ( * ( 0 as * const CThostFtdcRspFutureSignOutField ) ) .
35108                ErrorID as * const _ as usize } , 236usize , concat ! (
35109                "Alignment of field: " , stringify ! (
35110                CThostFtdcRspFutureSignOutField ) , "::" , stringify ! (
35111                ErrorID ) ));
35112    assert_eq! (unsafe {
35113                & ( * ( 0 as * const CThostFtdcRspFutureSignOutField ) ) .
35114                ErrorMsg as * const _ as usize } , 240usize , concat ! (
35115                "Alignment of field: " , stringify ! (
35116                CThostFtdcRspFutureSignOutField ) , "::" , stringify ! (
35117                ErrorMsg ) ));
35118}
35119impl Clone for CThostFtdcRspFutureSignOutField {
35120    fn clone(&self) -> Self { *self }
35121}
35122impl Default for CThostFtdcRspFutureSignOutField {
35123    fn default() -> Self { unsafe { ::std::mem::zeroed() } }
35124}
35125/// 查询指定流水号的交易结果请求
35126#[repr(C)]
35127#[derive(Copy)]
35128pub struct CThostFtdcReqQueryTradeResultBySerialField {
35129    /// 业务功能码
35130    pub TradeCode: TThostFtdcTradeCodeType,
35131    /// 银行代码
35132    pub BankID: TThostFtdcBankIDType,
35133    /// 银行分支机构代码
35134    pub BankBranchID: TThostFtdcBankBrchIDType,
35135    /// 期商代码
35136    pub BrokerID: TThostFtdcBrokerIDType,
35137    /// 期商分支机构代码
35138    pub BrokerBranchID: TThostFtdcFutureBranchIDType,
35139    /// 交易日期
35140    pub TradeDate: TThostFtdcTradeDateType,
35141    /// 交易时间
35142    pub TradeTime: TThostFtdcTradeTimeType,
35143    /// 银行流水号
35144    pub BankSerial: TThostFtdcBankSerialType,
35145    /// 交易系统日期
35146    pub TradingDay: TThostFtdcTradeDateType,
35147    /// 银期平台消息流水号
35148    pub PlateSerial: TThostFtdcSerialType,
35149    /// 最后分片标志
35150    pub LastFragment: TThostFtdcLastFragmentType,
35151    /// 会话号
35152    pub SessionID: TThostFtdcSessionIDType,
35153    /// 流水号
35154    pub Reference: TThostFtdcSerialType,
35155    /// 本流水号发布者的机构类型
35156    pub RefrenceIssureType: TThostFtdcInstitutionTypeType,
35157    /// 本流水号发布者机构编码
35158    pub RefrenceIssure: TThostFtdcOrganCodeType,
35159    /// 客户姓名
35160    pub CustomerName: TThostFtdcIndividualNameType,
35161    /// 证件类型
35162    pub IdCardType: TThostFtdcIdCardTypeType,
35163    /// 证件号码
35164    pub IdentifiedCardNo: TThostFtdcIdentifiedCardNoType,
35165    /// 客户类型
35166    pub CustType: TThostFtdcCustTypeType,
35167    /// 银行帐号
35168    pub BankAccount: TThostFtdcBankAccountType,
35169    /// 银行密码
35170    pub BankPassWord: TThostFtdcPasswordType,
35171    /// 投资者帐号
35172    pub AccountID: TThostFtdcAccountIDType,
35173    /// 期货密码
35174    pub Password: TThostFtdcPasswordType,
35175    /// 币种代码
35176    pub CurrencyID: TThostFtdcCurrencyIDType,
35177    /// 转帐金额
35178    pub TradeAmount: TThostFtdcTradeAmountType,
35179    /// 摘要
35180    pub Digest: TThostFtdcDigestType,
35181    /// 长客户姓名
35182    pub LongCustomerName: TThostFtdcLongIndividualNameType,
35183}
35184#[test]
35185fn bindgen_test_layout_CThostFtdcReqQueryTradeResultBySerialField() {
35186    assert_eq!(::std::mem::size_of::<CThostFtdcReqQueryTradeResultBySerialField>()
35187               , 608usize , concat ! (
35188               "Size of: " , stringify ! (
35189               CThostFtdcReqQueryTradeResultBySerialField ) ));
35190    assert_eq! (::std::mem::align_of::<CThostFtdcReqQueryTradeResultBySerialField>()
35191                , 8usize , concat ! (
35192                "Alignment of " , stringify ! (
35193                CThostFtdcReqQueryTradeResultBySerialField ) ));
35194    assert_eq! (unsafe {
35195                & (
35196                * ( 0 as * const CThostFtdcReqQueryTradeResultBySerialField )
35197                ) . TradeCode as * const _ as usize } , 0usize , concat ! (
35198                "Alignment of field: " , stringify ! (
35199                CThostFtdcReqQueryTradeResultBySerialField ) , "::" ,
35200                stringify ! ( TradeCode ) ));
35201    assert_eq! (unsafe {
35202                & (
35203                * ( 0 as * const CThostFtdcReqQueryTradeResultBySerialField )
35204                ) . BankID as * const _ as usize } , 7usize , concat ! (
35205                "Alignment of field: " , stringify ! (
35206                CThostFtdcReqQueryTradeResultBySerialField ) , "::" ,
35207                stringify ! ( BankID ) ));
35208    assert_eq! (unsafe {
35209                & (
35210                * ( 0 as * const CThostFtdcReqQueryTradeResultBySerialField )
35211                ) . BankBranchID as * const _ as usize } , 11usize , concat !
35212                (
35213                "Alignment of field: " , stringify ! (
35214                CThostFtdcReqQueryTradeResultBySerialField ) , "::" ,
35215                stringify ! ( BankBranchID ) ));
35216    assert_eq! (unsafe {
35217                & (
35218                * ( 0 as * const CThostFtdcReqQueryTradeResultBySerialField )
35219                ) . BrokerID as * const _ as usize } , 16usize , concat ! (
35220                "Alignment of field: " , stringify ! (
35221                CThostFtdcReqQueryTradeResultBySerialField ) , "::" ,
35222                stringify ! ( BrokerID ) ));
35223    assert_eq! (unsafe {
35224                & (
35225                * ( 0 as * const CThostFtdcReqQueryTradeResultBySerialField )
35226                ) . BrokerBranchID as * const _ as usize } , 27usize , concat
35227                ! (
35228                "Alignment of field: " , stringify ! (
35229                CThostFtdcReqQueryTradeResultBySerialField ) , "::" ,
35230                stringify ! ( BrokerBranchID ) ));
35231    assert_eq! (unsafe {
35232                & (
35233                * ( 0 as * const CThostFtdcReqQueryTradeResultBySerialField )
35234                ) . TradeDate as * const _ as usize } , 58usize , concat ! (
35235                "Alignment of field: " , stringify ! (
35236                CThostFtdcReqQueryTradeResultBySerialField ) , "::" ,
35237                stringify ! ( TradeDate ) ));
35238    assert_eq! (unsafe {
35239                & (
35240                * ( 0 as * const CThostFtdcReqQueryTradeResultBySerialField )
35241                ) . TradeTime as * const _ as usize } , 67usize , concat ! (
35242                "Alignment of field: " , stringify ! (
35243                CThostFtdcReqQueryTradeResultBySerialField ) , "::" ,
35244                stringify ! ( TradeTime ) ));
35245    assert_eq! (unsafe {
35246                & (
35247                * ( 0 as * const CThostFtdcReqQueryTradeResultBySerialField )
35248                ) . BankSerial as * const _ as usize } , 76usize , concat ! (
35249                "Alignment of field: " , stringify ! (
35250                CThostFtdcReqQueryTradeResultBySerialField ) , "::" ,
35251                stringify ! ( BankSerial ) ));
35252    assert_eq! (unsafe {
35253                & (
35254                * ( 0 as * const CThostFtdcReqQueryTradeResultBySerialField )
35255                ) . TradingDay as * const _ as usize } , 89usize , concat ! (
35256                "Alignment of field: " , stringify ! (
35257                CThostFtdcReqQueryTradeResultBySerialField ) , "::" ,
35258                stringify ! ( TradingDay ) ));
35259    assert_eq! (unsafe {
35260                & (
35261                * ( 0 as * const CThostFtdcReqQueryTradeResultBySerialField )
35262                ) . PlateSerial as * const _ as usize } , 100usize , concat !
35263                (
35264                "Alignment of field: " , stringify ! (
35265                CThostFtdcReqQueryTradeResultBySerialField ) , "::" ,
35266                stringify ! ( PlateSerial ) ));
35267    assert_eq! (unsafe {
35268                & (
35269                * ( 0 as * const CThostFtdcReqQueryTradeResultBySerialField )
35270                ) . LastFragment as * const _ as usize } , 104usize , concat !
35271                (
35272                "Alignment of field: " , stringify ! (
35273                CThostFtdcReqQueryTradeResultBySerialField ) , "::" ,
35274                stringify ! ( LastFragment ) ));
35275    assert_eq! (unsafe {
35276                & (
35277                * ( 0 as * const CThostFtdcReqQueryTradeResultBySerialField )
35278                ) . SessionID as * const _ as usize } , 108usize , concat ! (
35279                "Alignment of field: " , stringify ! (
35280                CThostFtdcReqQueryTradeResultBySerialField ) , "::" ,
35281                stringify ! ( SessionID ) ));
35282    assert_eq! (unsafe {
35283                & (
35284                * ( 0 as * const CThostFtdcReqQueryTradeResultBySerialField )
35285                ) . Reference as * const _ as usize } , 112usize , concat ! (
35286                "Alignment of field: " , stringify ! (
35287                CThostFtdcReqQueryTradeResultBySerialField ) , "::" ,
35288                stringify ! ( Reference ) ));
35289    assert_eq! (unsafe {
35290                & (
35291                * ( 0 as * const CThostFtdcReqQueryTradeResultBySerialField )
35292                ) . RefrenceIssureType as * const _ as usize } , 116usize ,
35293                concat ! (
35294                "Alignment of field: " , stringify ! (
35295                CThostFtdcReqQueryTradeResultBySerialField ) , "::" ,
35296                stringify ! ( RefrenceIssureType ) ));
35297    assert_eq! (unsafe {
35298                & (
35299                * ( 0 as * const CThostFtdcReqQueryTradeResultBySerialField )
35300                ) . RefrenceIssure as * const _ as usize } , 117usize , concat
35301                ! (
35302                "Alignment of field: " , stringify ! (
35303                CThostFtdcReqQueryTradeResultBySerialField ) , "::" ,
35304                stringify ! ( RefrenceIssure ) ));
35305    assert_eq! (unsafe {
35306                & (
35307                * ( 0 as * const CThostFtdcReqQueryTradeResultBySerialField )
35308                ) . CustomerName as * const _ as usize } , 153usize , concat !
35309                (
35310                "Alignment of field: " , stringify ! (
35311                CThostFtdcReqQueryTradeResultBySerialField ) , "::" ,
35312                stringify ! ( CustomerName ) ));
35313    assert_eq! (unsafe {
35314                & (
35315                * ( 0 as * const CThostFtdcReqQueryTradeResultBySerialField )
35316                ) . IdCardType as * const _ as usize } , 204usize , concat ! (
35317                "Alignment of field: " , stringify ! (
35318                CThostFtdcReqQueryTradeResultBySerialField ) , "::" ,
35319                stringify ! ( IdCardType ) ));
35320    assert_eq! (unsafe {
35321                & (
35322                * ( 0 as * const CThostFtdcReqQueryTradeResultBySerialField )
35323                ) . IdentifiedCardNo as * const _ as usize } , 205usize ,
35324                concat ! (
35325                "Alignment of field: " , stringify ! (
35326                CThostFtdcReqQueryTradeResultBySerialField ) , "::" ,
35327                stringify ! ( IdentifiedCardNo ) ));
35328    assert_eq! (unsafe {
35329                & (
35330                * ( 0 as * const CThostFtdcReqQueryTradeResultBySerialField )
35331                ) . CustType as * const _ as usize } , 256usize , concat ! (
35332                "Alignment of field: " , stringify ! (
35333                CThostFtdcReqQueryTradeResultBySerialField ) , "::" ,
35334                stringify ! ( CustType ) ));
35335    assert_eq! (unsafe {
35336                & (
35337                * ( 0 as * const CThostFtdcReqQueryTradeResultBySerialField )
35338                ) . BankAccount as * const _ as usize } , 257usize , concat !
35339                (
35340                "Alignment of field: " , stringify ! (
35341                CThostFtdcReqQueryTradeResultBySerialField ) , "::" ,
35342                stringify ! ( BankAccount ) ));
35343    assert_eq! (unsafe {
35344                & (
35345                * ( 0 as * const CThostFtdcReqQueryTradeResultBySerialField )
35346                ) . BankPassWord as * const _ as usize } , 298usize , concat !
35347                (
35348                "Alignment of field: " , stringify ! (
35349                CThostFtdcReqQueryTradeResultBySerialField ) , "::" ,
35350                stringify ! ( BankPassWord ) ));
35351    assert_eq! (unsafe {
35352                & (
35353                * ( 0 as * const CThostFtdcReqQueryTradeResultBySerialField )
35354                ) . AccountID as * const _ as usize } , 339usize , concat ! (
35355                "Alignment of field: " , stringify ! (
35356                CThostFtdcReqQueryTradeResultBySerialField ) , "::" ,
35357                stringify ! ( AccountID ) ));
35358    assert_eq! (unsafe {
35359                & (
35360                * ( 0 as * const CThostFtdcReqQueryTradeResultBySerialField )
35361                ) . Password as * const _ as usize } , 352usize , concat ! (
35362                "Alignment of field: " , stringify ! (
35363                CThostFtdcReqQueryTradeResultBySerialField ) , "::" ,
35364                stringify ! ( Password ) ));
35365    assert_eq! (unsafe {
35366                & (
35367                * ( 0 as * const CThostFtdcReqQueryTradeResultBySerialField )
35368                ) . CurrencyID as * const _ as usize } , 393usize , concat ! (
35369                "Alignment of field: " , stringify ! (
35370                CThostFtdcReqQueryTradeResultBySerialField ) , "::" ,
35371                stringify ! ( CurrencyID ) ));
35372    assert_eq! (unsafe {
35373                & (
35374                * ( 0 as * const CThostFtdcReqQueryTradeResultBySerialField )
35375                ) . TradeAmount as * const _ as usize } , 400usize , concat !
35376                (
35377                "Alignment of field: " , stringify ! (
35378                CThostFtdcReqQueryTradeResultBySerialField ) , "::" ,
35379                stringify ! ( TradeAmount ) ));
35380    assert_eq! (unsafe {
35381                & (
35382                * ( 0 as * const CThostFtdcReqQueryTradeResultBySerialField )
35383                ) . Digest as * const _ as usize } , 408usize , concat ! (
35384                "Alignment of field: " , stringify ! (
35385                CThostFtdcReqQueryTradeResultBySerialField ) , "::" ,
35386                stringify ! ( Digest ) ));
35387    assert_eq! (unsafe {
35388                & (
35389                * ( 0 as * const CThostFtdcReqQueryTradeResultBySerialField )
35390                ) . LongCustomerName as * const _ as usize } , 444usize ,
35391                concat ! (
35392                "Alignment of field: " , stringify ! (
35393                CThostFtdcReqQueryTradeResultBySerialField ) , "::" ,
35394                stringify ! ( LongCustomerName ) ));
35395}
35396impl Clone for CThostFtdcReqQueryTradeResultBySerialField {
35397    fn clone(&self) -> Self { *self }
35398}
35399impl Default for CThostFtdcReqQueryTradeResultBySerialField {
35400    fn default() -> Self { unsafe { ::std::mem::zeroed() } }
35401}
35402/// 查询指定流水号的交易结果响应
35403#[repr(C)]
35404#[derive(Copy)]
35405pub struct CThostFtdcRspQueryTradeResultBySerialField {
35406    /// 业务功能码
35407    pub TradeCode: TThostFtdcTradeCodeType,
35408    /// 银行代码
35409    pub BankID: TThostFtdcBankIDType,
35410    /// 银行分支机构代码
35411    pub BankBranchID: TThostFtdcBankBrchIDType,
35412    /// 期商代码
35413    pub BrokerID: TThostFtdcBrokerIDType,
35414    /// 期商分支机构代码
35415    pub BrokerBranchID: TThostFtdcFutureBranchIDType,
35416    /// 交易日期
35417    pub TradeDate: TThostFtdcTradeDateType,
35418    /// 交易时间
35419    pub TradeTime: TThostFtdcTradeTimeType,
35420    /// 银行流水号
35421    pub BankSerial: TThostFtdcBankSerialType,
35422    /// 交易系统日期
35423    pub TradingDay: TThostFtdcTradeDateType,
35424    /// 银期平台消息流水号
35425    pub PlateSerial: TThostFtdcSerialType,
35426    /// 最后分片标志
35427    pub LastFragment: TThostFtdcLastFragmentType,
35428    /// 会话号
35429    pub SessionID: TThostFtdcSessionIDType,
35430    /// 错误代码
35431    pub ErrorID: TThostFtdcErrorIDType,
35432    /// 错误信息
35433    pub ErrorMsg: TThostFtdcErrorMsgType,
35434    /// 流水号
35435    pub Reference: TThostFtdcSerialType,
35436    /// 本流水号发布者的机构类型
35437    pub RefrenceIssureType: TThostFtdcInstitutionTypeType,
35438    /// 本流水号发布者机构编码
35439    pub RefrenceIssure: TThostFtdcOrganCodeType,
35440    /// 原始返回代码
35441    pub OriginReturnCode: TThostFtdcReturnCodeType,
35442    /// 原始返回码描述
35443    pub OriginDescrInfoForReturnCode: TThostFtdcDescrInfoForReturnCodeType,
35444    /// 银行帐号
35445    pub BankAccount: TThostFtdcBankAccountType,
35446    /// 银行密码
35447    pub BankPassWord: TThostFtdcPasswordType,
35448    /// 投资者帐号
35449    pub AccountID: TThostFtdcAccountIDType,
35450    /// 期货密码
35451    pub Password: TThostFtdcPasswordType,
35452    /// 币种代码
35453    pub CurrencyID: TThostFtdcCurrencyIDType,
35454    /// 转帐金额
35455    pub TradeAmount: TThostFtdcTradeAmountType,
35456    /// 摘要
35457    pub Digest: TThostFtdcDigestType,
35458}
35459#[test]
35460fn bindgen_test_layout_CThostFtdcRspQueryTradeResultBySerialField() {
35461    assert_eq!(::std::mem::size_of::<CThostFtdcRspQueryTradeResultBySerialField>()
35462               , 568usize , concat ! (
35463               "Size of: " , stringify ! (
35464               CThostFtdcRspQueryTradeResultBySerialField ) ));
35465    assert_eq! (::std::mem::align_of::<CThostFtdcRspQueryTradeResultBySerialField>()
35466                , 8usize , concat ! (
35467                "Alignment of " , stringify ! (
35468                CThostFtdcRspQueryTradeResultBySerialField ) ));
35469    assert_eq! (unsafe {
35470                & (
35471                * ( 0 as * const CThostFtdcRspQueryTradeResultBySerialField )
35472                ) . TradeCode as * const _ as usize } , 0usize , concat ! (
35473                "Alignment of field: " , stringify ! (
35474                CThostFtdcRspQueryTradeResultBySerialField ) , "::" ,
35475                stringify ! ( TradeCode ) ));
35476    assert_eq! (unsafe {
35477                & (
35478                * ( 0 as * const CThostFtdcRspQueryTradeResultBySerialField )
35479                ) . BankID as * const _ as usize } , 7usize , concat ! (
35480                "Alignment of field: " , stringify ! (
35481                CThostFtdcRspQueryTradeResultBySerialField ) , "::" ,
35482                stringify ! ( BankID ) ));
35483    assert_eq! (unsafe {
35484                & (
35485                * ( 0 as * const CThostFtdcRspQueryTradeResultBySerialField )
35486                ) . BankBranchID as * const _ as usize } , 11usize , concat !
35487                (
35488                "Alignment of field: " , stringify ! (
35489                CThostFtdcRspQueryTradeResultBySerialField ) , "::" ,
35490                stringify ! ( BankBranchID ) ));
35491    assert_eq! (unsafe {
35492                & (
35493                * ( 0 as * const CThostFtdcRspQueryTradeResultBySerialField )
35494                ) . BrokerID as * const _ as usize } , 16usize , concat ! (
35495                "Alignment of field: " , stringify ! (
35496                CThostFtdcRspQueryTradeResultBySerialField ) , "::" ,
35497                stringify ! ( BrokerID ) ));
35498    assert_eq! (unsafe {
35499                & (
35500                * ( 0 as * const CThostFtdcRspQueryTradeResultBySerialField )
35501                ) . BrokerBranchID as * const _ as usize } , 27usize , concat
35502                ! (
35503                "Alignment of field: " , stringify ! (
35504                CThostFtdcRspQueryTradeResultBySerialField ) , "::" ,
35505                stringify ! ( BrokerBranchID ) ));
35506    assert_eq! (unsafe {
35507                & (
35508                * ( 0 as * const CThostFtdcRspQueryTradeResultBySerialField )
35509                ) . TradeDate as * const _ as usize } , 58usize , concat ! (
35510                "Alignment of field: " , stringify ! (
35511                CThostFtdcRspQueryTradeResultBySerialField ) , "::" ,
35512                stringify ! ( TradeDate ) ));
35513    assert_eq! (unsafe {
35514                & (
35515                * ( 0 as * const CThostFtdcRspQueryTradeResultBySerialField )
35516                ) . TradeTime as * const _ as usize } , 67usize , concat ! (
35517                "Alignment of field: " , stringify ! (
35518                CThostFtdcRspQueryTradeResultBySerialField ) , "::" ,
35519                stringify ! ( TradeTime ) ));
35520    assert_eq! (unsafe {
35521                & (
35522                * ( 0 as * const CThostFtdcRspQueryTradeResultBySerialField )
35523                ) . BankSerial as * const _ as usize } , 76usize , concat ! (
35524                "Alignment of field: " , stringify ! (
35525                CThostFtdcRspQueryTradeResultBySerialField ) , "::" ,
35526                stringify ! ( BankSerial ) ));
35527    assert_eq! (unsafe {
35528                & (
35529                * ( 0 as * const CThostFtdcRspQueryTradeResultBySerialField )
35530                ) . TradingDay as * const _ as usize } , 89usize , concat ! (
35531                "Alignment of field: " , stringify ! (
35532                CThostFtdcRspQueryTradeResultBySerialField ) , "::" ,
35533                stringify ! ( TradingDay ) ));
35534    assert_eq! (unsafe {
35535                & (
35536                * ( 0 as * const CThostFtdcRspQueryTradeResultBySerialField )
35537                ) . PlateSerial as * const _ as usize } , 100usize , concat !
35538                (
35539                "Alignment of field: " , stringify ! (
35540                CThostFtdcRspQueryTradeResultBySerialField ) , "::" ,
35541                stringify ! ( PlateSerial ) ));
35542    assert_eq! (unsafe {
35543                & (
35544                * ( 0 as * const CThostFtdcRspQueryTradeResultBySerialField )
35545                ) . LastFragment as * const _ as usize } , 104usize , concat !
35546                (
35547                "Alignment of field: " , stringify ! (
35548                CThostFtdcRspQueryTradeResultBySerialField ) , "::" ,
35549                stringify ! ( LastFragment ) ));
35550    assert_eq! (unsafe {
35551                & (
35552                * ( 0 as * const CThostFtdcRspQueryTradeResultBySerialField )
35553                ) . SessionID as * const _ as usize } , 108usize , concat ! (
35554                "Alignment of field: " , stringify ! (
35555                CThostFtdcRspQueryTradeResultBySerialField ) , "::" ,
35556                stringify ! ( SessionID ) ));
35557    assert_eq! (unsafe {
35558                & (
35559                * ( 0 as * const CThostFtdcRspQueryTradeResultBySerialField )
35560                ) . ErrorID as * const _ as usize } , 112usize , concat ! (
35561                "Alignment of field: " , stringify ! (
35562                CThostFtdcRspQueryTradeResultBySerialField ) , "::" ,
35563                stringify ! ( ErrorID ) ));
35564    assert_eq! (unsafe {
35565                & (
35566                * ( 0 as * const CThostFtdcRspQueryTradeResultBySerialField )
35567                ) . ErrorMsg as * const _ as usize } , 116usize , concat ! (
35568                "Alignment of field: " , stringify ! (
35569                CThostFtdcRspQueryTradeResultBySerialField ) , "::" ,
35570                stringify ! ( ErrorMsg ) ));
35571    assert_eq! (unsafe {
35572                & (
35573                * ( 0 as * const CThostFtdcRspQueryTradeResultBySerialField )
35574                ) . Reference as * const _ as usize } , 200usize , concat ! (
35575                "Alignment of field: " , stringify ! (
35576                CThostFtdcRspQueryTradeResultBySerialField ) , "::" ,
35577                stringify ! ( Reference ) ));
35578    assert_eq! (unsafe {
35579                & (
35580                * ( 0 as * const CThostFtdcRspQueryTradeResultBySerialField )
35581                ) . RefrenceIssureType as * const _ as usize } , 204usize ,
35582                concat ! (
35583                "Alignment of field: " , stringify ! (
35584                CThostFtdcRspQueryTradeResultBySerialField ) , "::" ,
35585                stringify ! ( RefrenceIssureType ) ));
35586    assert_eq! (unsafe {
35587                & (
35588                * ( 0 as * const CThostFtdcRspQueryTradeResultBySerialField )
35589                ) . RefrenceIssure as * const _ as usize } , 205usize , concat
35590                ! (
35591                "Alignment of field: " , stringify ! (
35592                CThostFtdcRspQueryTradeResultBySerialField ) , "::" ,
35593                stringify ! ( RefrenceIssure ) ));
35594    assert_eq! (unsafe {
35595                & (
35596                * ( 0 as * const CThostFtdcRspQueryTradeResultBySerialField )
35597                ) . OriginReturnCode as * const _ as usize } , 241usize ,
35598                concat ! (
35599                "Alignment of field: " , stringify ! (
35600                CThostFtdcRspQueryTradeResultBySerialField ) , "::" ,
35601                stringify ! ( OriginReturnCode ) ));
35602    assert_eq! (unsafe {
35603                & (
35604                * ( 0 as * const CThostFtdcRspQueryTradeResultBySerialField )
35605                ) . OriginDescrInfoForReturnCode as * const _ as usize } ,
35606                248usize , concat ! (
35607                "Alignment of field: " , stringify ! (
35608                CThostFtdcRspQueryTradeResultBySerialField ) , "::" ,
35609                stringify ! ( OriginDescrInfoForReturnCode ) ));
35610    assert_eq! (unsafe {
35611                & (
35612                * ( 0 as * const CThostFtdcRspQueryTradeResultBySerialField )
35613                ) . BankAccount as * const _ as usize } , 377usize , concat !
35614                (
35615                "Alignment of field: " , stringify ! (
35616                CThostFtdcRspQueryTradeResultBySerialField ) , "::" ,
35617                stringify ! ( BankAccount ) ));
35618    assert_eq! (unsafe {
35619                & (
35620                * ( 0 as * const CThostFtdcRspQueryTradeResultBySerialField )
35621                ) . BankPassWord as * const _ as usize } , 418usize , concat !
35622                (
35623                "Alignment of field: " , stringify ! (
35624                CThostFtdcRspQueryTradeResultBySerialField ) , "::" ,
35625                stringify ! ( BankPassWord ) ));
35626    assert_eq! (unsafe {
35627                & (
35628                * ( 0 as * const CThostFtdcRspQueryTradeResultBySerialField )
35629                ) . AccountID as * const _ as usize } , 459usize , concat ! (
35630                "Alignment of field: " , stringify ! (
35631                CThostFtdcRspQueryTradeResultBySerialField ) , "::" ,
35632                stringify ! ( AccountID ) ));
35633    assert_eq! (unsafe {
35634                & (
35635                * ( 0 as * const CThostFtdcRspQueryTradeResultBySerialField )
35636                ) . Password as * const _ as usize } , 472usize , concat ! (
35637                "Alignment of field: " , stringify ! (
35638                CThostFtdcRspQueryTradeResultBySerialField ) , "::" ,
35639                stringify ! ( Password ) ));
35640    assert_eq! (unsafe {
35641                & (
35642                * ( 0 as * const CThostFtdcRspQueryTradeResultBySerialField )
35643                ) . CurrencyID as * const _ as usize } , 513usize , concat ! (
35644                "Alignment of field: " , stringify ! (
35645                CThostFtdcRspQueryTradeResultBySerialField ) , "::" ,
35646                stringify ! ( CurrencyID ) ));
35647    assert_eq! (unsafe {
35648                & (
35649                * ( 0 as * const CThostFtdcRspQueryTradeResultBySerialField )
35650                ) . TradeAmount as * const _ as usize } , 520usize , concat !
35651                (
35652                "Alignment of field: " , stringify ! (
35653                CThostFtdcRspQueryTradeResultBySerialField ) , "::" ,
35654                stringify ! ( TradeAmount ) ));
35655    assert_eq! (unsafe {
35656                & (
35657                * ( 0 as * const CThostFtdcRspQueryTradeResultBySerialField )
35658                ) . Digest as * const _ as usize } , 528usize , concat ! (
35659                "Alignment of field: " , stringify ! (
35660                CThostFtdcRspQueryTradeResultBySerialField ) , "::" ,
35661                stringify ! ( Digest ) ));
35662}
35663impl Clone for CThostFtdcRspQueryTradeResultBySerialField {
35664    fn clone(&self) -> Self { *self }
35665}
35666impl Default for CThostFtdcRspQueryTradeResultBySerialField {
35667    fn default() -> Self { unsafe { ::std::mem::zeroed() } }
35668}
35669/// 日终文件就绪请求
35670#[repr(C)]
35671#[derive(Copy)]
35672pub struct CThostFtdcReqDayEndFileReadyField {
35673    /// 业务功能码
35674    pub TradeCode: TThostFtdcTradeCodeType,
35675    /// 银行代码
35676    pub BankID: TThostFtdcBankIDType,
35677    /// 银行分支机构代码
35678    pub BankBranchID: TThostFtdcBankBrchIDType,
35679    /// 期商代码
35680    pub BrokerID: TThostFtdcBrokerIDType,
35681    /// 期商分支机构代码
35682    pub BrokerBranchID: TThostFtdcFutureBranchIDType,
35683    /// 交易日期
35684    pub TradeDate: TThostFtdcTradeDateType,
35685    /// 交易时间
35686    pub TradeTime: TThostFtdcTradeTimeType,
35687    /// 银行流水号
35688    pub BankSerial: TThostFtdcBankSerialType,
35689    /// 交易系统日期
35690    pub TradingDay: TThostFtdcTradeDateType,
35691    /// 银期平台消息流水号
35692    pub PlateSerial: TThostFtdcSerialType,
35693    /// 最后分片标志
35694    pub LastFragment: TThostFtdcLastFragmentType,
35695    /// 会话号
35696    pub SessionID: TThostFtdcSessionIDType,
35697    /// 文件业务功能
35698    pub FileBusinessCode: TThostFtdcFileBusinessCodeType,
35699    /// 摘要
35700    pub Digest: TThostFtdcDigestType,
35701}
35702#[test]
35703fn bindgen_test_layout_CThostFtdcReqDayEndFileReadyField() {
35704    assert_eq!(::std::mem::size_of::<CThostFtdcReqDayEndFileReadyField>() ,
35705               152usize , concat ! (
35706               "Size of: " , stringify ! ( CThostFtdcReqDayEndFileReadyField )
35707               ));
35708    assert_eq! (::std::mem::align_of::<CThostFtdcReqDayEndFileReadyField>() ,
35709                4usize , concat ! (
35710                "Alignment of " , stringify ! (
35711                CThostFtdcReqDayEndFileReadyField ) ));
35712    assert_eq! (unsafe {
35713                & ( * ( 0 as * const CThostFtdcReqDayEndFileReadyField ) ) .
35714                TradeCode as * const _ as usize } , 0usize , concat ! (
35715                "Alignment of field: " , stringify ! (
35716                CThostFtdcReqDayEndFileReadyField ) , "::" , stringify ! (
35717                TradeCode ) ));
35718    assert_eq! (unsafe {
35719                & ( * ( 0 as * const CThostFtdcReqDayEndFileReadyField ) ) .
35720                BankID as * const _ as usize } , 7usize , concat ! (
35721                "Alignment of field: " , stringify ! (
35722                CThostFtdcReqDayEndFileReadyField ) , "::" , stringify ! (
35723                BankID ) ));
35724    assert_eq! (unsafe {
35725                & ( * ( 0 as * const CThostFtdcReqDayEndFileReadyField ) ) .
35726                BankBranchID as * const _ as usize } , 11usize , concat ! (
35727                "Alignment of field: " , stringify ! (
35728                CThostFtdcReqDayEndFileReadyField ) , "::" , stringify ! (
35729                BankBranchID ) ));
35730    assert_eq! (unsafe {
35731                & ( * ( 0 as * const CThostFtdcReqDayEndFileReadyField ) ) .
35732                BrokerID as * const _ as usize } , 16usize , concat ! (
35733                "Alignment of field: " , stringify ! (
35734                CThostFtdcReqDayEndFileReadyField ) , "::" , stringify ! (
35735                BrokerID ) ));
35736    assert_eq! (unsafe {
35737                & ( * ( 0 as * const CThostFtdcReqDayEndFileReadyField ) ) .
35738                BrokerBranchID as * const _ as usize } , 27usize , concat ! (
35739                "Alignment of field: " , stringify ! (
35740                CThostFtdcReqDayEndFileReadyField ) , "::" , stringify ! (
35741                BrokerBranchID ) ));
35742    assert_eq! (unsafe {
35743                & ( * ( 0 as * const CThostFtdcReqDayEndFileReadyField ) ) .
35744                TradeDate as * const _ as usize } , 58usize , concat ! (
35745                "Alignment of field: " , stringify ! (
35746                CThostFtdcReqDayEndFileReadyField ) , "::" , stringify ! (
35747                TradeDate ) ));
35748    assert_eq! (unsafe {
35749                & ( * ( 0 as * const CThostFtdcReqDayEndFileReadyField ) ) .
35750                TradeTime as * const _ as usize } , 67usize , concat ! (
35751                "Alignment of field: " , stringify ! (
35752                CThostFtdcReqDayEndFileReadyField ) , "::" , stringify ! (
35753                TradeTime ) ));
35754    assert_eq! (unsafe {
35755                & ( * ( 0 as * const CThostFtdcReqDayEndFileReadyField ) ) .
35756                BankSerial as * const _ as usize } , 76usize , concat ! (
35757                "Alignment of field: " , stringify ! (
35758                CThostFtdcReqDayEndFileReadyField ) , "::" , stringify ! (
35759                BankSerial ) ));
35760    assert_eq! (unsafe {
35761                & ( * ( 0 as * const CThostFtdcReqDayEndFileReadyField ) ) .
35762                TradingDay as * const _ as usize } , 89usize , concat ! (
35763                "Alignment of field: " , stringify ! (
35764                CThostFtdcReqDayEndFileReadyField ) , "::" , stringify ! (
35765                TradingDay ) ));
35766    assert_eq! (unsafe {
35767                & ( * ( 0 as * const CThostFtdcReqDayEndFileReadyField ) ) .
35768                PlateSerial as * const _ as usize } , 100usize , concat ! (
35769                "Alignment of field: " , stringify ! (
35770                CThostFtdcReqDayEndFileReadyField ) , "::" , stringify ! (
35771                PlateSerial ) ));
35772    assert_eq! (unsafe {
35773                & ( * ( 0 as * const CThostFtdcReqDayEndFileReadyField ) ) .
35774                LastFragment as * const _ as usize } , 104usize , concat ! (
35775                "Alignment of field: " , stringify ! (
35776                CThostFtdcReqDayEndFileReadyField ) , "::" , stringify ! (
35777                LastFragment ) ));
35778    assert_eq! (unsafe {
35779                & ( * ( 0 as * const CThostFtdcReqDayEndFileReadyField ) ) .
35780                SessionID as * const _ as usize } , 108usize , concat ! (
35781                "Alignment of field: " , stringify ! (
35782                CThostFtdcReqDayEndFileReadyField ) , "::" , stringify ! (
35783                SessionID ) ));
35784    assert_eq! (unsafe {
35785                & ( * ( 0 as * const CThostFtdcReqDayEndFileReadyField ) ) .
35786                FileBusinessCode as * const _ as usize } , 112usize , concat !
35787                (
35788                "Alignment of field: " , stringify ! (
35789                CThostFtdcReqDayEndFileReadyField ) , "::" , stringify ! (
35790                FileBusinessCode ) ));
35791    assert_eq! (unsafe {
35792                & ( * ( 0 as * const CThostFtdcReqDayEndFileReadyField ) ) .
35793                Digest as * const _ as usize } , 113usize , concat ! (
35794                "Alignment of field: " , stringify ! (
35795                CThostFtdcReqDayEndFileReadyField ) , "::" , stringify ! (
35796                Digest ) ));
35797}
35798impl Clone for CThostFtdcReqDayEndFileReadyField {
35799    fn clone(&self) -> Self { *self }
35800}
35801impl Default for CThostFtdcReqDayEndFileReadyField {
35802    fn default() -> Self { unsafe { ::std::mem::zeroed() } }
35803}
35804/// 返回结果
35805#[repr(C)]
35806#[derive(Copy)]
35807pub struct CThostFtdcReturnResultField {
35808    /// 返回代码
35809    pub ReturnCode: TThostFtdcReturnCodeType,
35810    /// 返回码描述
35811    pub DescrInfoForReturnCode: TThostFtdcDescrInfoForReturnCodeType,
35812}
35813#[test]
35814fn bindgen_test_layout_CThostFtdcReturnResultField() {
35815    assert_eq!(::std::mem::size_of::<CThostFtdcReturnResultField>() , 136usize
35816               , concat ! (
35817               "Size of: " , stringify ! ( CThostFtdcReturnResultField ) ));
35818    assert_eq! (::std::mem::align_of::<CThostFtdcReturnResultField>() , 1usize
35819                , concat ! (
35820                "Alignment of " , stringify ! ( CThostFtdcReturnResultField )
35821                ));
35822    assert_eq! (unsafe {
35823                & ( * ( 0 as * const CThostFtdcReturnResultField ) ) .
35824                ReturnCode as * const _ as usize } , 0usize , concat ! (
35825                "Alignment of field: " , stringify ! (
35826                CThostFtdcReturnResultField ) , "::" , stringify ! (
35827                ReturnCode ) ));
35828    assert_eq! (unsafe {
35829                & ( * ( 0 as * const CThostFtdcReturnResultField ) ) .
35830                DescrInfoForReturnCode as * const _ as usize } , 7usize ,
35831                concat ! (
35832                "Alignment of field: " , stringify ! (
35833                CThostFtdcReturnResultField ) , "::" , stringify ! (
35834                DescrInfoForReturnCode ) ));
35835}
35836impl Clone for CThostFtdcReturnResultField {
35837    fn clone(&self) -> Self { *self }
35838}
35839impl Default for CThostFtdcReturnResultField {
35840    fn default() -> Self { unsafe { ::std::mem::zeroed() } }
35841}
35842/// 验证期货资金密码
35843#[repr(C)]
35844#[derive(Copy)]
35845pub struct CThostFtdcVerifyFuturePasswordField {
35846    /// 业务功能码
35847    pub TradeCode: TThostFtdcTradeCodeType,
35848    /// 银行代码
35849    pub BankID: TThostFtdcBankIDType,
35850    /// 银行分支机构代码
35851    pub BankBranchID: TThostFtdcBankBrchIDType,
35852    /// 期商代码
35853    pub BrokerID: TThostFtdcBrokerIDType,
35854    /// 期商分支机构代码
35855    pub BrokerBranchID: TThostFtdcFutureBranchIDType,
35856    /// 交易日期
35857    pub TradeDate: TThostFtdcTradeDateType,
35858    /// 交易时间
35859    pub TradeTime: TThostFtdcTradeTimeType,
35860    /// 银行流水号
35861    pub BankSerial: TThostFtdcBankSerialType,
35862    /// 交易系统日期
35863    pub TradingDay: TThostFtdcTradeDateType,
35864    /// 银期平台消息流水号
35865    pub PlateSerial: TThostFtdcSerialType,
35866    /// 最后分片标志
35867    pub LastFragment: TThostFtdcLastFragmentType,
35868    /// 会话号
35869    pub SessionID: TThostFtdcSessionIDType,
35870    /// 投资者帐号
35871    pub AccountID: TThostFtdcAccountIDType,
35872    /// 期货密码
35873    pub Password: TThostFtdcPasswordType,
35874    /// 银行帐号
35875    pub BankAccount: TThostFtdcBankAccountType,
35876    /// 银行密码
35877    pub BankPassWord: TThostFtdcPasswordType,
35878    /// 安装编号
35879    pub InstallID: TThostFtdcInstallIDType,
35880    /// 交易ID
35881    pub TID: TThostFtdcTIDType,
35882    /// 币种代码
35883    pub CurrencyID: TThostFtdcCurrencyIDType,
35884}
35885#[test]
35886fn bindgen_test_layout_CThostFtdcVerifyFuturePasswordField() {
35887    assert_eq!(::std::mem::size_of::<CThostFtdcVerifyFuturePasswordField>() ,
35888               260usize , concat ! (
35889               "Size of: " , stringify ! ( CThostFtdcVerifyFuturePasswordField
35890               ) ));
35891    assert_eq! (::std::mem::align_of::<CThostFtdcVerifyFuturePasswordField>()
35892                , 4usize , concat ! (
35893                "Alignment of " , stringify ! (
35894                CThostFtdcVerifyFuturePasswordField ) ));
35895    assert_eq! (unsafe {
35896                & ( * ( 0 as * const CThostFtdcVerifyFuturePasswordField ) ) .
35897                TradeCode as * const _ as usize } , 0usize , concat ! (
35898                "Alignment of field: " , stringify ! (
35899                CThostFtdcVerifyFuturePasswordField ) , "::" , stringify ! (
35900                TradeCode ) ));
35901    assert_eq! (unsafe {
35902                & ( * ( 0 as * const CThostFtdcVerifyFuturePasswordField ) ) .
35903                BankID as * const _ as usize } , 7usize , concat ! (
35904                "Alignment of field: " , stringify ! (
35905                CThostFtdcVerifyFuturePasswordField ) , "::" , stringify ! (
35906                BankID ) ));
35907    assert_eq! (unsafe {
35908                & ( * ( 0 as * const CThostFtdcVerifyFuturePasswordField ) ) .
35909                BankBranchID as * const _ as usize } , 11usize , concat ! (
35910                "Alignment of field: " , stringify ! (
35911                CThostFtdcVerifyFuturePasswordField ) , "::" , stringify ! (
35912                BankBranchID ) ));
35913    assert_eq! (unsafe {
35914                & ( * ( 0 as * const CThostFtdcVerifyFuturePasswordField ) ) .
35915                BrokerID as * const _ as usize } , 16usize , concat ! (
35916                "Alignment of field: " , stringify ! (
35917                CThostFtdcVerifyFuturePasswordField ) , "::" , stringify ! (
35918                BrokerID ) ));
35919    assert_eq! (unsafe {
35920                & ( * ( 0 as * const CThostFtdcVerifyFuturePasswordField ) ) .
35921                BrokerBranchID as * const _ as usize } , 27usize , concat ! (
35922                "Alignment of field: " , stringify ! (
35923                CThostFtdcVerifyFuturePasswordField ) , "::" , stringify ! (
35924                BrokerBranchID ) ));
35925    assert_eq! (unsafe {
35926                & ( * ( 0 as * const CThostFtdcVerifyFuturePasswordField ) ) .
35927                TradeDate as * const _ as usize } , 58usize , concat ! (
35928                "Alignment of field: " , stringify ! (
35929                CThostFtdcVerifyFuturePasswordField ) , "::" , stringify ! (
35930                TradeDate ) ));
35931    assert_eq! (unsafe {
35932                & ( * ( 0 as * const CThostFtdcVerifyFuturePasswordField ) ) .
35933                TradeTime as * const _ as usize } , 67usize , concat ! (
35934                "Alignment of field: " , stringify ! (
35935                CThostFtdcVerifyFuturePasswordField ) , "::" , stringify ! (
35936                TradeTime ) ));
35937    assert_eq! (unsafe {
35938                & ( * ( 0 as * const CThostFtdcVerifyFuturePasswordField ) ) .
35939                BankSerial as * const _ as usize } , 76usize , concat ! (
35940                "Alignment of field: " , stringify ! (
35941                CThostFtdcVerifyFuturePasswordField ) , "::" , stringify ! (
35942                BankSerial ) ));
35943    assert_eq! (unsafe {
35944                & ( * ( 0 as * const CThostFtdcVerifyFuturePasswordField ) ) .
35945                TradingDay as * const _ as usize } , 89usize , concat ! (
35946                "Alignment of field: " , stringify ! (
35947                CThostFtdcVerifyFuturePasswordField ) , "::" , stringify ! (
35948                TradingDay ) ));
35949    assert_eq! (unsafe {
35950                & ( * ( 0 as * const CThostFtdcVerifyFuturePasswordField ) ) .
35951                PlateSerial as * const _ as usize } , 100usize , concat ! (
35952                "Alignment of field: " , stringify ! (
35953                CThostFtdcVerifyFuturePasswordField ) , "::" , stringify ! (
35954                PlateSerial ) ));
35955    assert_eq! (unsafe {
35956                & ( * ( 0 as * const CThostFtdcVerifyFuturePasswordField ) ) .
35957                LastFragment as * const _ as usize } , 104usize , concat ! (
35958                "Alignment of field: " , stringify ! (
35959                CThostFtdcVerifyFuturePasswordField ) , "::" , stringify ! (
35960                LastFragment ) ));
35961    assert_eq! (unsafe {
35962                & ( * ( 0 as * const CThostFtdcVerifyFuturePasswordField ) ) .
35963                SessionID as * const _ as usize } , 108usize , concat ! (
35964                "Alignment of field: " , stringify ! (
35965                CThostFtdcVerifyFuturePasswordField ) , "::" , stringify ! (
35966                SessionID ) ));
35967    assert_eq! (unsafe {
35968                & ( * ( 0 as * const CThostFtdcVerifyFuturePasswordField ) ) .
35969                AccountID as * const _ as usize } , 112usize , concat ! (
35970                "Alignment of field: " , stringify ! (
35971                CThostFtdcVerifyFuturePasswordField ) , "::" , stringify ! (
35972                AccountID ) ));
35973    assert_eq! (unsafe {
35974                & ( * ( 0 as * const CThostFtdcVerifyFuturePasswordField ) ) .
35975                Password as * const _ as usize } , 125usize , concat ! (
35976                "Alignment of field: " , stringify ! (
35977                CThostFtdcVerifyFuturePasswordField ) , "::" , stringify ! (
35978                Password ) ));
35979    assert_eq! (unsafe {
35980                & ( * ( 0 as * const CThostFtdcVerifyFuturePasswordField ) ) .
35981                BankAccount as * const _ as usize } , 166usize , concat ! (
35982                "Alignment of field: " , stringify ! (
35983                CThostFtdcVerifyFuturePasswordField ) , "::" , stringify ! (
35984                BankAccount ) ));
35985    assert_eq! (unsafe {
35986                & ( * ( 0 as * const CThostFtdcVerifyFuturePasswordField ) ) .
35987                BankPassWord as * const _ as usize } , 207usize , concat ! (
35988                "Alignment of field: " , stringify ! (
35989                CThostFtdcVerifyFuturePasswordField ) , "::" , stringify ! (
35990                BankPassWord ) ));
35991    assert_eq! (unsafe {
35992                & ( * ( 0 as * const CThostFtdcVerifyFuturePasswordField ) ) .
35993                InstallID as * const _ as usize } , 248usize , concat ! (
35994                "Alignment of field: " , stringify ! (
35995                CThostFtdcVerifyFuturePasswordField ) , "::" , stringify ! (
35996                InstallID ) ));
35997    assert_eq! (unsafe {
35998                & ( * ( 0 as * const CThostFtdcVerifyFuturePasswordField ) ) .
35999                TID as * const _ as usize } , 252usize , concat ! (
36000                "Alignment of field: " , stringify ! (
36001                CThostFtdcVerifyFuturePasswordField ) , "::" , stringify ! (
36002                TID ) ));
36003    assert_eq! (unsafe {
36004                & ( * ( 0 as * const CThostFtdcVerifyFuturePasswordField ) ) .
36005                CurrencyID as * const _ as usize } , 256usize , concat ! (
36006                "Alignment of field: " , stringify ! (
36007                CThostFtdcVerifyFuturePasswordField ) , "::" , stringify ! (
36008                CurrencyID ) ));
36009}
36010impl Clone for CThostFtdcVerifyFuturePasswordField {
36011    fn clone(&self) -> Self { *self }
36012}
36013impl Default for CThostFtdcVerifyFuturePasswordField {
36014    fn default() -> Self { unsafe { ::std::mem::zeroed() } }
36015}
36016/// 验证客户信息
36017#[repr(C)]
36018#[derive(Copy)]
36019pub struct CThostFtdcVerifyCustInfoField {
36020    /// 客户姓名
36021    pub CustomerName: TThostFtdcIndividualNameType,
36022    /// 证件类型
36023    pub IdCardType: TThostFtdcIdCardTypeType,
36024    /// 证件号码
36025    pub IdentifiedCardNo: TThostFtdcIdentifiedCardNoType,
36026    /// 客户类型
36027    pub CustType: TThostFtdcCustTypeType,
36028    /// 长客户姓名
36029    pub LongCustomerName: TThostFtdcLongIndividualNameType,
36030}
36031#[test]
36032fn bindgen_test_layout_CThostFtdcVerifyCustInfoField() {
36033    assert_eq!(::std::mem::size_of::<CThostFtdcVerifyCustInfoField>() ,
36034               265usize , concat ! (
36035               "Size of: " , stringify ! ( CThostFtdcVerifyCustInfoField ) ));
36036    assert_eq! (::std::mem::align_of::<CThostFtdcVerifyCustInfoField>() ,
36037                1usize , concat ! (
36038                "Alignment of " , stringify ! ( CThostFtdcVerifyCustInfoField
36039                ) ));
36040    assert_eq! (unsafe {
36041                & ( * ( 0 as * const CThostFtdcVerifyCustInfoField ) ) .
36042                CustomerName as * const _ as usize } , 0usize , concat ! (
36043                "Alignment of field: " , stringify ! (
36044                CThostFtdcVerifyCustInfoField ) , "::" , stringify ! (
36045                CustomerName ) ));
36046    assert_eq! (unsafe {
36047                & ( * ( 0 as * const CThostFtdcVerifyCustInfoField ) ) .
36048                IdCardType as * const _ as usize } , 51usize , concat ! (
36049                "Alignment of field: " , stringify ! (
36050                CThostFtdcVerifyCustInfoField ) , "::" , stringify ! (
36051                IdCardType ) ));
36052    assert_eq! (unsafe {
36053                & ( * ( 0 as * const CThostFtdcVerifyCustInfoField ) ) .
36054                IdentifiedCardNo as * const _ as usize } , 52usize , concat !
36055                (
36056                "Alignment of field: " , stringify ! (
36057                CThostFtdcVerifyCustInfoField ) , "::" , stringify ! (
36058                IdentifiedCardNo ) ));
36059    assert_eq! (unsafe {
36060                & ( * ( 0 as * const CThostFtdcVerifyCustInfoField ) ) .
36061                CustType as * const _ as usize } , 103usize , concat ! (
36062                "Alignment of field: " , stringify ! (
36063                CThostFtdcVerifyCustInfoField ) , "::" , stringify ! (
36064                CustType ) ));
36065    assert_eq! (unsafe {
36066                & ( * ( 0 as * const CThostFtdcVerifyCustInfoField ) ) .
36067                LongCustomerName as * const _ as usize } , 104usize , concat !
36068                (
36069                "Alignment of field: " , stringify ! (
36070                CThostFtdcVerifyCustInfoField ) , "::" , stringify ! (
36071                LongCustomerName ) ));
36072}
36073impl Clone for CThostFtdcVerifyCustInfoField {
36074    fn clone(&self) -> Self { *self }
36075}
36076impl Default for CThostFtdcVerifyCustInfoField {
36077    fn default() -> Self { unsafe { ::std::mem::zeroed() } }
36078}
36079/// 验证期货资金密码和客户信息
36080#[repr(C)]
36081#[derive(Copy)]
36082pub struct CThostFtdcVerifyFuturePasswordAndCustInfoField {
36083    /// 客户姓名
36084    pub CustomerName: TThostFtdcIndividualNameType,
36085    /// 证件类型
36086    pub IdCardType: TThostFtdcIdCardTypeType,
36087    /// 证件号码
36088    pub IdentifiedCardNo: TThostFtdcIdentifiedCardNoType,
36089    /// 客户类型
36090    pub CustType: TThostFtdcCustTypeType,
36091    /// 投资者帐号
36092    pub AccountID: TThostFtdcAccountIDType,
36093    /// 期货密码
36094    pub Password: TThostFtdcPasswordType,
36095    /// 币种代码
36096    pub CurrencyID: TThostFtdcCurrencyIDType,
36097    /// 长客户姓名
36098    pub LongCustomerName: TThostFtdcLongIndividualNameType,
36099}
36100#[test]
36101fn bindgen_test_layout_CThostFtdcVerifyFuturePasswordAndCustInfoField() {
36102    assert_eq!(::std::mem::size_of::<CThostFtdcVerifyFuturePasswordAndCustInfoField>()
36103               , 323usize , concat ! (
36104               "Size of: " , stringify ! (
36105               CThostFtdcVerifyFuturePasswordAndCustInfoField ) ));
36106    assert_eq! (::std::mem::align_of::<CThostFtdcVerifyFuturePasswordAndCustInfoField>()
36107                , 1usize , concat ! (
36108                "Alignment of " , stringify ! (
36109                CThostFtdcVerifyFuturePasswordAndCustInfoField ) ));
36110    assert_eq! (unsafe {
36111                & (
36112                * (
36113                0 as * const CThostFtdcVerifyFuturePasswordAndCustInfoField )
36114                ) . CustomerName as * const _ as usize } , 0usize , concat ! (
36115                "Alignment of field: " , stringify ! (
36116                CThostFtdcVerifyFuturePasswordAndCustInfoField ) , "::" ,
36117                stringify ! ( CustomerName ) ));
36118    assert_eq! (unsafe {
36119                & (
36120                * (
36121                0 as * const CThostFtdcVerifyFuturePasswordAndCustInfoField )
36122                ) . IdCardType as * const _ as usize } , 51usize , concat ! (
36123                "Alignment of field: " , stringify ! (
36124                CThostFtdcVerifyFuturePasswordAndCustInfoField ) , "::" ,
36125                stringify ! ( IdCardType ) ));
36126    assert_eq! (unsafe {
36127                & (
36128                * (
36129                0 as * const CThostFtdcVerifyFuturePasswordAndCustInfoField )
36130                ) . IdentifiedCardNo as * const _ as usize } , 52usize ,
36131                concat ! (
36132                "Alignment of field: " , stringify ! (
36133                CThostFtdcVerifyFuturePasswordAndCustInfoField ) , "::" ,
36134                stringify ! ( IdentifiedCardNo ) ));
36135    assert_eq! (unsafe {
36136                & (
36137                * (
36138                0 as * const CThostFtdcVerifyFuturePasswordAndCustInfoField )
36139                ) . CustType as * const _ as usize } , 103usize , concat ! (
36140                "Alignment of field: " , stringify ! (
36141                CThostFtdcVerifyFuturePasswordAndCustInfoField ) , "::" ,
36142                stringify ! ( CustType ) ));
36143    assert_eq! (unsafe {
36144                & (
36145                * (
36146                0 as * const CThostFtdcVerifyFuturePasswordAndCustInfoField )
36147                ) . AccountID as * const _ as usize } , 104usize , concat ! (
36148                "Alignment of field: " , stringify ! (
36149                CThostFtdcVerifyFuturePasswordAndCustInfoField ) , "::" ,
36150                stringify ! ( AccountID ) ));
36151    assert_eq! (unsafe {
36152                & (
36153                * (
36154                0 as * const CThostFtdcVerifyFuturePasswordAndCustInfoField )
36155                ) . Password as * const _ as usize } , 117usize , concat ! (
36156                "Alignment of field: " , stringify ! (
36157                CThostFtdcVerifyFuturePasswordAndCustInfoField ) , "::" ,
36158                stringify ! ( Password ) ));
36159    assert_eq! (unsafe {
36160                & (
36161                * (
36162                0 as * const CThostFtdcVerifyFuturePasswordAndCustInfoField )
36163                ) . CurrencyID as * const _ as usize } , 158usize , concat ! (
36164                "Alignment of field: " , stringify ! (
36165                CThostFtdcVerifyFuturePasswordAndCustInfoField ) , "::" ,
36166                stringify ! ( CurrencyID ) ));
36167    assert_eq! (unsafe {
36168                & (
36169                * (
36170                0 as * const CThostFtdcVerifyFuturePasswordAndCustInfoField )
36171                ) . LongCustomerName as * const _ as usize } , 162usize ,
36172                concat ! (
36173                "Alignment of field: " , stringify ! (
36174                CThostFtdcVerifyFuturePasswordAndCustInfoField ) , "::" ,
36175                stringify ! ( LongCustomerName ) ));
36176}
36177impl Clone for CThostFtdcVerifyFuturePasswordAndCustInfoField {
36178    fn clone(&self) -> Self { *self }
36179}
36180impl Default for CThostFtdcVerifyFuturePasswordAndCustInfoField {
36181    fn default() -> Self { unsafe { ::std::mem::zeroed() } }
36182}
36183/// 验证期货资金密码和客户信息
36184#[repr(C)]
36185#[derive(Copy)]
36186pub struct CThostFtdcDepositResultInformField {
36187    /// 出入金流水号,该流水号为银期报盘返回的流水号
36188    pub DepositSeqNo: TThostFtdcDepositSeqNoType,
36189    /// 经纪公司代码
36190    pub BrokerID: TThostFtdcBrokerIDType,
36191    /// 投资者代码
36192    pub InvestorID: TThostFtdcInvestorIDType,
36193    /// 入金金额
36194    pub Deposit: TThostFtdcMoneyType,
36195    /// 请求编号
36196    pub RequestID: TThostFtdcRequestIDType,
36197    /// 返回代码
36198    pub ReturnCode: TThostFtdcReturnCodeType,
36199    /// 返回码描述
36200    pub DescrInfoForReturnCode: TThostFtdcDescrInfoForReturnCodeType,
36201}
36202#[test]
36203fn bindgen_test_layout_CThostFtdcDepositResultInformField() {
36204    assert_eq!(::std::mem::size_of::<CThostFtdcDepositResultInformField>() ,
36205               192usize , concat ! (
36206               "Size of: " , stringify ! ( CThostFtdcDepositResultInformField
36207               ) ));
36208    assert_eq! (::std::mem::align_of::<CThostFtdcDepositResultInformField>() ,
36209                8usize , concat ! (
36210                "Alignment of " , stringify ! (
36211                CThostFtdcDepositResultInformField ) ));
36212    assert_eq! (unsafe {
36213                & ( * ( 0 as * const CThostFtdcDepositResultInformField ) ) .
36214                DepositSeqNo as * const _ as usize } , 0usize , concat ! (
36215                "Alignment of field: " , stringify ! (
36216                CThostFtdcDepositResultInformField ) , "::" , stringify ! (
36217                DepositSeqNo ) ));
36218    assert_eq! (unsafe {
36219                & ( * ( 0 as * const CThostFtdcDepositResultInformField ) ) .
36220                BrokerID as * const _ as usize } , 15usize , concat ! (
36221                "Alignment of field: " , stringify ! (
36222                CThostFtdcDepositResultInformField ) , "::" , stringify ! (
36223                BrokerID ) ));
36224    assert_eq! (unsafe {
36225                & ( * ( 0 as * const CThostFtdcDepositResultInformField ) ) .
36226                InvestorID as * const _ as usize } , 26usize , concat ! (
36227                "Alignment of field: " , stringify ! (
36228                CThostFtdcDepositResultInformField ) , "::" , stringify ! (
36229                InvestorID ) ));
36230    assert_eq! (unsafe {
36231                & ( * ( 0 as * const CThostFtdcDepositResultInformField ) ) .
36232                Deposit as * const _ as usize } , 40usize , concat ! (
36233                "Alignment of field: " , stringify ! (
36234                CThostFtdcDepositResultInformField ) , "::" , stringify ! (
36235                Deposit ) ));
36236    assert_eq! (unsafe {
36237                & ( * ( 0 as * const CThostFtdcDepositResultInformField ) ) .
36238                RequestID as * const _ as usize } , 48usize , concat ! (
36239                "Alignment of field: " , stringify ! (
36240                CThostFtdcDepositResultInformField ) , "::" , stringify ! (
36241                RequestID ) ));
36242    assert_eq! (unsafe {
36243                & ( * ( 0 as * const CThostFtdcDepositResultInformField ) ) .
36244                ReturnCode as * const _ as usize } , 52usize , concat ! (
36245                "Alignment of field: " , stringify ! (
36246                CThostFtdcDepositResultInformField ) , "::" , stringify ! (
36247                ReturnCode ) ));
36248    assert_eq! (unsafe {
36249                & ( * ( 0 as * const CThostFtdcDepositResultInformField ) ) .
36250                DescrInfoForReturnCode as * const _ as usize } , 59usize ,
36251                concat ! (
36252                "Alignment of field: " , stringify ! (
36253                CThostFtdcDepositResultInformField ) , "::" , stringify ! (
36254                DescrInfoForReturnCode ) ));
36255}
36256impl Clone for CThostFtdcDepositResultInformField {
36257    fn clone(&self) -> Self { *self }
36258}
36259impl Default for CThostFtdcDepositResultInformField {
36260    fn default() -> Self { unsafe { ::std::mem::zeroed() } }
36261}
36262/// 交易核心向银期报盘发出密钥同步请求
36263#[repr(C)]
36264#[derive(Copy)]
36265pub struct CThostFtdcReqSyncKeyField {
36266    /// 业务功能码
36267    pub TradeCode: TThostFtdcTradeCodeType,
36268    /// 银行代码
36269    pub BankID: TThostFtdcBankIDType,
36270    /// 银行分支机构代码
36271    pub BankBranchID: TThostFtdcBankBrchIDType,
36272    /// 期商代码
36273    pub BrokerID: TThostFtdcBrokerIDType,
36274    /// 期商分支机构代码
36275    pub BrokerBranchID: TThostFtdcFutureBranchIDType,
36276    /// 交易日期
36277    pub TradeDate: TThostFtdcTradeDateType,
36278    /// 交易时间
36279    pub TradeTime: TThostFtdcTradeTimeType,
36280    /// 银行流水号
36281    pub BankSerial: TThostFtdcBankSerialType,
36282    /// 交易系统日期
36283    pub TradingDay: TThostFtdcTradeDateType,
36284    /// 银期平台消息流水号
36285    pub PlateSerial: TThostFtdcSerialType,
36286    /// 最后分片标志
36287    pub LastFragment: TThostFtdcLastFragmentType,
36288    /// 会话号
36289    pub SessionID: TThostFtdcSessionIDType,
36290    /// 安装编号
36291    pub InstallID: TThostFtdcInstallIDType,
36292    /// 用户标识
36293    pub UserID: TThostFtdcUserIDType,
36294    /// 交易核心给银期报盘的消息
36295    pub Message: TThostFtdcAddInfoType,
36296    /// 渠道标志
36297    pub DeviceID: TThostFtdcDeviceIDType,
36298    /// 期货公司银行编码
36299    pub BrokerIDByBank: TThostFtdcBankCodingForFutureType,
36300    /// 交易柜员
36301    pub OperNo: TThostFtdcOperNoType,
36302    /// 请求编号
36303    pub RequestID: TThostFtdcRequestIDType,
36304    /// 交易ID
36305    pub TID: TThostFtdcTIDType,
36306}
36307#[test]
36308fn bindgen_test_layout_CThostFtdcReqSyncKeyField() {
36309    assert_eq!(::std::mem::size_of::<CThostFtdcReqSyncKeyField>() , 324usize ,
36310               concat ! (
36311               "Size of: " , stringify ! ( CThostFtdcReqSyncKeyField ) ));
36312    assert_eq! (::std::mem::align_of::<CThostFtdcReqSyncKeyField>() , 4usize ,
36313                concat ! (
36314                "Alignment of " , stringify ! ( CThostFtdcReqSyncKeyField )
36315                ));
36316    assert_eq! (unsafe {
36317                & ( * ( 0 as * const CThostFtdcReqSyncKeyField ) ) . TradeCode
36318                as * const _ as usize } , 0usize , concat ! (
36319                "Alignment of field: " , stringify ! (
36320                CThostFtdcReqSyncKeyField ) , "::" , stringify ! ( TradeCode )
36321                ));
36322    assert_eq! (unsafe {
36323                & ( * ( 0 as * const CThostFtdcReqSyncKeyField ) ) . BankID as
36324                * const _ as usize } , 7usize , concat ! (
36325                "Alignment of field: " , stringify ! (
36326                CThostFtdcReqSyncKeyField ) , "::" , stringify ! ( BankID )
36327                ));
36328    assert_eq! (unsafe {
36329                & ( * ( 0 as * const CThostFtdcReqSyncKeyField ) ) .
36330                BankBranchID as * const _ as usize } , 11usize , concat ! (
36331                "Alignment of field: " , stringify ! (
36332                CThostFtdcReqSyncKeyField ) , "::" , stringify ! (
36333                BankBranchID ) ));
36334    assert_eq! (unsafe {
36335                & ( * ( 0 as * const CThostFtdcReqSyncKeyField ) ) . BrokerID
36336                as * const _ as usize } , 16usize , concat ! (
36337                "Alignment of field: " , stringify ! (
36338                CThostFtdcReqSyncKeyField ) , "::" , stringify ! ( BrokerID )
36339                ));
36340    assert_eq! (unsafe {
36341                & ( * ( 0 as * const CThostFtdcReqSyncKeyField ) ) .
36342                BrokerBranchID as * const _ as usize } , 27usize , concat ! (
36343                "Alignment of field: " , stringify ! (
36344                CThostFtdcReqSyncKeyField ) , "::" , stringify ! (
36345                BrokerBranchID ) ));
36346    assert_eq! (unsafe {
36347                & ( * ( 0 as * const CThostFtdcReqSyncKeyField ) ) . TradeDate
36348                as * const _ as usize } , 58usize , concat ! (
36349                "Alignment of field: " , stringify ! (
36350                CThostFtdcReqSyncKeyField ) , "::" , stringify ! ( TradeDate )
36351                ));
36352    assert_eq! (unsafe {
36353                & ( * ( 0 as * const CThostFtdcReqSyncKeyField ) ) . TradeTime
36354                as * const _ as usize } , 67usize , concat ! (
36355                "Alignment of field: " , stringify ! (
36356                CThostFtdcReqSyncKeyField ) , "::" , stringify ! ( TradeTime )
36357                ));
36358    assert_eq! (unsafe {
36359                & ( * ( 0 as * const CThostFtdcReqSyncKeyField ) ) .
36360                BankSerial as * const _ as usize } , 76usize , concat ! (
36361                "Alignment of field: " , stringify ! (
36362                CThostFtdcReqSyncKeyField ) , "::" , stringify ! ( BankSerial
36363                ) ));
36364    assert_eq! (unsafe {
36365                & ( * ( 0 as * const CThostFtdcReqSyncKeyField ) ) .
36366                TradingDay as * const _ as usize } , 89usize , concat ! (
36367                "Alignment of field: " , stringify ! (
36368                CThostFtdcReqSyncKeyField ) , "::" , stringify ! ( TradingDay
36369                ) ));
36370    assert_eq! (unsafe {
36371                & ( * ( 0 as * const CThostFtdcReqSyncKeyField ) ) .
36372                PlateSerial as * const _ as usize } , 100usize , concat ! (
36373                "Alignment of field: " , stringify ! (
36374                CThostFtdcReqSyncKeyField ) , "::" , stringify ! ( PlateSerial
36375                ) ));
36376    assert_eq! (unsafe {
36377                & ( * ( 0 as * const CThostFtdcReqSyncKeyField ) ) .
36378                LastFragment as * const _ as usize } , 104usize , concat ! (
36379                "Alignment of field: " , stringify ! (
36380                CThostFtdcReqSyncKeyField ) , "::" , stringify ! (
36381                LastFragment ) ));
36382    assert_eq! (unsafe {
36383                & ( * ( 0 as * const CThostFtdcReqSyncKeyField ) ) . SessionID
36384                as * const _ as usize } , 108usize , concat ! (
36385                "Alignment of field: " , stringify ! (
36386                CThostFtdcReqSyncKeyField ) , "::" , stringify ! ( SessionID )
36387                ));
36388    assert_eq! (unsafe {
36389                & ( * ( 0 as * const CThostFtdcReqSyncKeyField ) ) . InstallID
36390                as * const _ as usize } , 112usize , concat ! (
36391                "Alignment of field: " , stringify ! (
36392                CThostFtdcReqSyncKeyField ) , "::" , stringify ! ( InstallID )
36393                ));
36394    assert_eq! (unsafe {
36395                & ( * ( 0 as * const CThostFtdcReqSyncKeyField ) ) . UserID as
36396                * const _ as usize } , 116usize , concat ! (
36397                "Alignment of field: " , stringify ! (
36398                CThostFtdcReqSyncKeyField ) , "::" , stringify ! ( UserID )
36399                ));
36400    assert_eq! (unsafe {
36401                & ( * ( 0 as * const CThostFtdcReqSyncKeyField ) ) . Message
36402                as * const _ as usize } , 132usize , concat ! (
36403                "Alignment of field: " , stringify ! (
36404                CThostFtdcReqSyncKeyField ) , "::" , stringify ! ( Message )
36405                ));
36406    assert_eq! (unsafe {
36407                & ( * ( 0 as * const CThostFtdcReqSyncKeyField ) ) . DeviceID
36408                as * const _ as usize } , 261usize , concat ! (
36409                "Alignment of field: " , stringify ! (
36410                CThostFtdcReqSyncKeyField ) , "::" , stringify ! ( DeviceID )
36411                ));
36412    assert_eq! (unsafe {
36413                & ( * ( 0 as * const CThostFtdcReqSyncKeyField ) ) .
36414                BrokerIDByBank as * const _ as usize } , 264usize , concat ! (
36415                "Alignment of field: " , stringify ! (
36416                CThostFtdcReqSyncKeyField ) , "::" , stringify ! (
36417                BrokerIDByBank ) ));
36418    assert_eq! (unsafe {
36419                & ( * ( 0 as * const CThostFtdcReqSyncKeyField ) ) . OperNo as
36420                * const _ as usize } , 297usize , concat ! (
36421                "Alignment of field: " , stringify ! (
36422                CThostFtdcReqSyncKeyField ) , "::" , stringify ! ( OperNo )
36423                ));
36424    assert_eq! (unsafe {
36425                & ( * ( 0 as * const CThostFtdcReqSyncKeyField ) ) . RequestID
36426                as * const _ as usize } , 316usize , concat ! (
36427                "Alignment of field: " , stringify ! (
36428                CThostFtdcReqSyncKeyField ) , "::" , stringify ! ( RequestID )
36429                ));
36430    assert_eq! (unsafe {
36431                & ( * ( 0 as * const CThostFtdcReqSyncKeyField ) ) . TID as *
36432                const _ as usize } , 320usize , concat ! (
36433                "Alignment of field: " , stringify ! (
36434                CThostFtdcReqSyncKeyField ) , "::" , stringify ! ( TID ) ));
36435}
36436impl Clone for CThostFtdcReqSyncKeyField {
36437    fn clone(&self) -> Self { *self }
36438}
36439impl Default for CThostFtdcReqSyncKeyField {
36440    fn default() -> Self { unsafe { ::std::mem::zeroed() } }
36441}
36442/// 交易核心向银期报盘发出密钥同步响应
36443#[repr(C)]
36444#[derive(Copy)]
36445pub struct CThostFtdcRspSyncKeyField {
36446    /// 业务功能码
36447    pub TradeCode: TThostFtdcTradeCodeType,
36448    /// 银行代码
36449    pub BankID: TThostFtdcBankIDType,
36450    /// 银行分支机构代码
36451    pub BankBranchID: TThostFtdcBankBrchIDType,
36452    /// 期商代码
36453    pub BrokerID: TThostFtdcBrokerIDType,
36454    /// 期商分支机构代码
36455    pub BrokerBranchID: TThostFtdcFutureBranchIDType,
36456    /// 交易日期
36457    pub TradeDate: TThostFtdcTradeDateType,
36458    /// 交易时间
36459    pub TradeTime: TThostFtdcTradeTimeType,
36460    /// 银行流水号
36461    pub BankSerial: TThostFtdcBankSerialType,
36462    /// 交易系统日期
36463    pub TradingDay: TThostFtdcTradeDateType,
36464    /// 银期平台消息流水号
36465    pub PlateSerial: TThostFtdcSerialType,
36466    /// 最后分片标志
36467    pub LastFragment: TThostFtdcLastFragmentType,
36468    /// 会话号
36469    pub SessionID: TThostFtdcSessionIDType,
36470    /// 安装编号
36471    pub InstallID: TThostFtdcInstallIDType,
36472    /// 用户标识
36473    pub UserID: TThostFtdcUserIDType,
36474    /// 交易核心给银期报盘的消息
36475    pub Message: TThostFtdcAddInfoType,
36476    /// 渠道标志
36477    pub DeviceID: TThostFtdcDeviceIDType,
36478    /// 期货公司银行编码
36479    pub BrokerIDByBank: TThostFtdcBankCodingForFutureType,
36480    /// 交易柜员
36481    pub OperNo: TThostFtdcOperNoType,
36482    /// 请求编号
36483    pub RequestID: TThostFtdcRequestIDType,
36484    /// 交易ID
36485    pub TID: TThostFtdcTIDType,
36486    /// 错误代码
36487    pub ErrorID: TThostFtdcErrorIDType,
36488    /// 错误信息
36489    pub ErrorMsg: TThostFtdcErrorMsgType,
36490}
36491#[test]
36492fn bindgen_test_layout_CThostFtdcRspSyncKeyField() {
36493    assert_eq!(::std::mem::size_of::<CThostFtdcRspSyncKeyField>() , 412usize ,
36494               concat ! (
36495               "Size of: " , stringify ! ( CThostFtdcRspSyncKeyField ) ));
36496    assert_eq! (::std::mem::align_of::<CThostFtdcRspSyncKeyField>() , 4usize ,
36497                concat ! (
36498                "Alignment of " , stringify ! ( CThostFtdcRspSyncKeyField )
36499                ));
36500    assert_eq! (unsafe {
36501                & ( * ( 0 as * const CThostFtdcRspSyncKeyField ) ) . TradeCode
36502                as * const _ as usize } , 0usize , concat ! (
36503                "Alignment of field: " , stringify ! (
36504                CThostFtdcRspSyncKeyField ) , "::" , stringify ! ( TradeCode )
36505                ));
36506    assert_eq! (unsafe {
36507                & ( * ( 0 as * const CThostFtdcRspSyncKeyField ) ) . BankID as
36508                * const _ as usize } , 7usize , concat ! (
36509                "Alignment of field: " , stringify ! (
36510                CThostFtdcRspSyncKeyField ) , "::" , stringify ! ( BankID )
36511                ));
36512    assert_eq! (unsafe {
36513                & ( * ( 0 as * const CThostFtdcRspSyncKeyField ) ) .
36514                BankBranchID as * const _ as usize } , 11usize , concat ! (
36515                "Alignment of field: " , stringify ! (
36516                CThostFtdcRspSyncKeyField ) , "::" , stringify ! (
36517                BankBranchID ) ));
36518    assert_eq! (unsafe {
36519                & ( * ( 0 as * const CThostFtdcRspSyncKeyField ) ) . BrokerID
36520                as * const _ as usize } , 16usize , concat ! (
36521                "Alignment of field: " , stringify ! (
36522                CThostFtdcRspSyncKeyField ) , "::" , stringify ! ( BrokerID )
36523                ));
36524    assert_eq! (unsafe {
36525                & ( * ( 0 as * const CThostFtdcRspSyncKeyField ) ) .
36526                BrokerBranchID as * const _ as usize } , 27usize , concat ! (
36527                "Alignment of field: " , stringify ! (
36528                CThostFtdcRspSyncKeyField ) , "::" , stringify ! (
36529                BrokerBranchID ) ));
36530    assert_eq! (unsafe {
36531                & ( * ( 0 as * const CThostFtdcRspSyncKeyField ) ) . TradeDate
36532                as * const _ as usize } , 58usize , concat ! (
36533                "Alignment of field: " , stringify ! (
36534                CThostFtdcRspSyncKeyField ) , "::" , stringify ! ( TradeDate )
36535                ));
36536    assert_eq! (unsafe {
36537                & ( * ( 0 as * const CThostFtdcRspSyncKeyField ) ) . TradeTime
36538                as * const _ as usize } , 67usize , concat ! (
36539                "Alignment of field: " , stringify ! (
36540                CThostFtdcRspSyncKeyField ) , "::" , stringify ! ( TradeTime )
36541                ));
36542    assert_eq! (unsafe {
36543                & ( * ( 0 as * const CThostFtdcRspSyncKeyField ) ) .
36544                BankSerial as * const _ as usize } , 76usize , concat ! (
36545                "Alignment of field: " , stringify ! (
36546                CThostFtdcRspSyncKeyField ) , "::" , stringify ! ( BankSerial
36547                ) ));
36548    assert_eq! (unsafe {
36549                & ( * ( 0 as * const CThostFtdcRspSyncKeyField ) ) .
36550                TradingDay as * const _ as usize } , 89usize , concat ! (
36551                "Alignment of field: " , stringify ! (
36552                CThostFtdcRspSyncKeyField ) , "::" , stringify ! ( TradingDay
36553                ) ));
36554    assert_eq! (unsafe {
36555                & ( * ( 0 as * const CThostFtdcRspSyncKeyField ) ) .
36556                PlateSerial as * const _ as usize } , 100usize , concat ! (
36557                "Alignment of field: " , stringify ! (
36558                CThostFtdcRspSyncKeyField ) , "::" , stringify ! ( PlateSerial
36559                ) ));
36560    assert_eq! (unsafe {
36561                & ( * ( 0 as * const CThostFtdcRspSyncKeyField ) ) .
36562                LastFragment as * const _ as usize } , 104usize , concat ! (
36563                "Alignment of field: " , stringify ! (
36564                CThostFtdcRspSyncKeyField ) , "::" , stringify ! (
36565                LastFragment ) ));
36566    assert_eq! (unsafe {
36567                & ( * ( 0 as * const CThostFtdcRspSyncKeyField ) ) . SessionID
36568                as * const _ as usize } , 108usize , concat ! (
36569                "Alignment of field: " , stringify ! (
36570                CThostFtdcRspSyncKeyField ) , "::" , stringify ! ( SessionID )
36571                ));
36572    assert_eq! (unsafe {
36573                & ( * ( 0 as * const CThostFtdcRspSyncKeyField ) ) . InstallID
36574                as * const _ as usize } , 112usize , concat ! (
36575                "Alignment of field: " , stringify ! (
36576                CThostFtdcRspSyncKeyField ) , "::" , stringify ! ( InstallID )
36577                ));
36578    assert_eq! (unsafe {
36579                & ( * ( 0 as * const CThostFtdcRspSyncKeyField ) ) . UserID as
36580                * const _ as usize } , 116usize , concat ! (
36581                "Alignment of field: " , stringify ! (
36582                CThostFtdcRspSyncKeyField ) , "::" , stringify ! ( UserID )
36583                ));
36584    assert_eq! (unsafe {
36585                & ( * ( 0 as * const CThostFtdcRspSyncKeyField ) ) . Message
36586                as * const _ as usize } , 132usize , concat ! (
36587                "Alignment of field: " , stringify ! (
36588                CThostFtdcRspSyncKeyField ) , "::" , stringify ! ( Message )
36589                ));
36590    assert_eq! (unsafe {
36591                & ( * ( 0 as * const CThostFtdcRspSyncKeyField ) ) . DeviceID
36592                as * const _ as usize } , 261usize , concat ! (
36593                "Alignment of field: " , stringify ! (
36594                CThostFtdcRspSyncKeyField ) , "::" , stringify ! ( DeviceID )
36595                ));
36596    assert_eq! (unsafe {
36597                & ( * ( 0 as * const CThostFtdcRspSyncKeyField ) ) .
36598                BrokerIDByBank as * const _ as usize } , 264usize , concat ! (
36599                "Alignment of field: " , stringify ! (
36600                CThostFtdcRspSyncKeyField ) , "::" , stringify ! (
36601                BrokerIDByBank ) ));
36602    assert_eq! (unsafe {
36603                & ( * ( 0 as * const CThostFtdcRspSyncKeyField ) ) . OperNo as
36604                * const _ as usize } , 297usize , concat ! (
36605                "Alignment of field: " , stringify ! (
36606                CThostFtdcRspSyncKeyField ) , "::" , stringify ! ( OperNo )
36607                ));
36608    assert_eq! (unsafe {
36609                & ( * ( 0 as * const CThostFtdcRspSyncKeyField ) ) . RequestID
36610                as * const _ as usize } , 316usize , concat ! (
36611                "Alignment of field: " , stringify ! (
36612                CThostFtdcRspSyncKeyField ) , "::" , stringify ! ( RequestID )
36613                ));
36614    assert_eq! (unsafe {
36615                & ( * ( 0 as * const CThostFtdcRspSyncKeyField ) ) . TID as *
36616                const _ as usize } , 320usize , concat ! (
36617                "Alignment of field: " , stringify ! (
36618                CThostFtdcRspSyncKeyField ) , "::" , stringify ! ( TID ) ));
36619    assert_eq! (unsafe {
36620                & ( * ( 0 as * const CThostFtdcRspSyncKeyField ) ) . ErrorID
36621                as * const _ as usize } , 324usize , concat ! (
36622                "Alignment of field: " , stringify ! (
36623                CThostFtdcRspSyncKeyField ) , "::" , stringify ! ( ErrorID )
36624                ));
36625    assert_eq! (unsafe {
36626                & ( * ( 0 as * const CThostFtdcRspSyncKeyField ) ) . ErrorMsg
36627                as * const _ as usize } , 328usize , concat ! (
36628                "Alignment of field: " , stringify ! (
36629                CThostFtdcRspSyncKeyField ) , "::" , stringify ! ( ErrorMsg )
36630                ));
36631}
36632impl Clone for CThostFtdcRspSyncKeyField {
36633    fn clone(&self) -> Self { *self }
36634}
36635impl Default for CThostFtdcRspSyncKeyField {
36636    fn default() -> Self { unsafe { ::std::mem::zeroed() } }
36637}
36638/// 查询账户信息通知
36639#[repr(C)]
36640#[derive(Copy)]
36641pub struct CThostFtdcNotifyQueryAccountField {
36642    /// 业务功能码
36643    pub TradeCode: TThostFtdcTradeCodeType,
36644    /// 银行代码
36645    pub BankID: TThostFtdcBankIDType,
36646    /// 银行分支机构代码
36647    pub BankBranchID: TThostFtdcBankBrchIDType,
36648    /// 期商代码
36649    pub BrokerID: TThostFtdcBrokerIDType,
36650    /// 期商分支机构代码
36651    pub BrokerBranchID: TThostFtdcFutureBranchIDType,
36652    /// 交易日期
36653    pub TradeDate: TThostFtdcTradeDateType,
36654    /// 交易时间
36655    pub TradeTime: TThostFtdcTradeTimeType,
36656    /// 银行流水号
36657    pub BankSerial: TThostFtdcBankSerialType,
36658    /// 交易系统日期
36659    pub TradingDay: TThostFtdcTradeDateType,
36660    /// 银期平台消息流水号
36661    pub PlateSerial: TThostFtdcSerialType,
36662    /// 最后分片标志
36663    pub LastFragment: TThostFtdcLastFragmentType,
36664    /// 会话号
36665    pub SessionID: TThostFtdcSessionIDType,
36666    /// 客户姓名
36667    pub CustomerName: TThostFtdcIndividualNameType,
36668    /// 证件类型
36669    pub IdCardType: TThostFtdcIdCardTypeType,
36670    /// 证件号码
36671    pub IdentifiedCardNo: TThostFtdcIdentifiedCardNoType,
36672    /// 客户类型
36673    pub CustType: TThostFtdcCustTypeType,
36674    /// 银行帐号
36675    pub BankAccount: TThostFtdcBankAccountType,
36676    /// 银行密码
36677    pub BankPassWord: TThostFtdcPasswordType,
36678    /// 投资者帐号
36679    pub AccountID: TThostFtdcAccountIDType,
36680    /// 期货密码
36681    pub Password: TThostFtdcPasswordType,
36682    /// 期货公司流水号
36683    pub FutureSerial: TThostFtdcFutureSerialType,
36684    /// 安装编号
36685    pub InstallID: TThostFtdcInstallIDType,
36686    /// 用户标识
36687    pub UserID: TThostFtdcUserIDType,
36688    /// 验证客户证件号码标志
36689    pub VerifyCertNoFlag: TThostFtdcYesNoIndicatorType,
36690    /// 币种代码
36691    pub CurrencyID: TThostFtdcCurrencyIDType,
36692    /// 摘要
36693    pub Digest: TThostFtdcDigestType,
36694    /// 银行帐号类型
36695    pub BankAccType: TThostFtdcBankAccTypeType,
36696    /// 渠道标志
36697    pub DeviceID: TThostFtdcDeviceIDType,
36698    /// 期货单位帐号类型
36699    pub BankSecuAccType: TThostFtdcBankAccTypeType,
36700    /// 期货公司银行编码
36701    pub BrokerIDByBank: TThostFtdcBankCodingForFutureType,
36702    /// 期货单位帐号
36703    pub BankSecuAcc: TThostFtdcBankAccountType,
36704    /// 银行密码标志
36705    pub BankPwdFlag: TThostFtdcPwdFlagType,
36706    /// 期货资金密码核对标志
36707    pub SecuPwdFlag: TThostFtdcPwdFlagType,
36708    /// 交易柜员
36709    pub OperNo: TThostFtdcOperNoType,
36710    /// 请求编号
36711    pub RequestID: TThostFtdcRequestIDType,
36712    /// 交易ID
36713    pub TID: TThostFtdcTIDType,
36714    /// 银行可用金额
36715    pub BankUseAmount: TThostFtdcTradeAmountType,
36716    /// 银行可取金额
36717    pub BankFetchAmount: TThostFtdcTradeAmountType,
36718    /// 错误代码
36719    pub ErrorID: TThostFtdcErrorIDType,
36720    /// 错误信息
36721    pub ErrorMsg: TThostFtdcErrorMsgType,
36722    /// 长客户姓名
36723    pub LongCustomerName: TThostFtdcLongIndividualNameType,
36724}
36725#[test]
36726fn bindgen_test_layout_CThostFtdcNotifyQueryAccountField() {
36727    assert_eq!(::std::mem::size_of::<CThostFtdcNotifyQueryAccountField>() ,
36728               792usize , concat ! (
36729               "Size of: " , stringify ! ( CThostFtdcNotifyQueryAccountField )
36730               ));
36731    assert_eq! (::std::mem::align_of::<CThostFtdcNotifyQueryAccountField>() ,
36732                8usize , concat ! (
36733                "Alignment of " , stringify ! (
36734                CThostFtdcNotifyQueryAccountField ) ));
36735    assert_eq! (unsafe {
36736                & ( * ( 0 as * const CThostFtdcNotifyQueryAccountField ) ) .
36737                TradeCode as * const _ as usize } , 0usize , concat ! (
36738                "Alignment of field: " , stringify ! (
36739                CThostFtdcNotifyQueryAccountField ) , "::" , stringify ! (
36740                TradeCode ) ));
36741    assert_eq! (unsafe {
36742                & ( * ( 0 as * const CThostFtdcNotifyQueryAccountField ) ) .
36743                BankID as * const _ as usize } , 7usize , concat ! (
36744                "Alignment of field: " , stringify ! (
36745                CThostFtdcNotifyQueryAccountField ) , "::" , stringify ! (
36746                BankID ) ));
36747    assert_eq! (unsafe {
36748                & ( * ( 0 as * const CThostFtdcNotifyQueryAccountField ) ) .
36749                BankBranchID as * const _ as usize } , 11usize , concat ! (
36750                "Alignment of field: " , stringify ! (
36751                CThostFtdcNotifyQueryAccountField ) , "::" , stringify ! (
36752                BankBranchID ) ));
36753    assert_eq! (unsafe {
36754                & ( * ( 0 as * const CThostFtdcNotifyQueryAccountField ) ) .
36755                BrokerID as * const _ as usize } , 16usize , concat ! (
36756                "Alignment of field: " , stringify ! (
36757                CThostFtdcNotifyQueryAccountField ) , "::" , stringify ! (
36758                BrokerID ) ));
36759    assert_eq! (unsafe {
36760                & ( * ( 0 as * const CThostFtdcNotifyQueryAccountField ) ) .
36761                BrokerBranchID as * const _ as usize } , 27usize , concat ! (
36762                "Alignment of field: " , stringify ! (
36763                CThostFtdcNotifyQueryAccountField ) , "::" , stringify ! (
36764                BrokerBranchID ) ));
36765    assert_eq! (unsafe {
36766                & ( * ( 0 as * const CThostFtdcNotifyQueryAccountField ) ) .
36767                TradeDate as * const _ as usize } , 58usize , concat ! (
36768                "Alignment of field: " , stringify ! (
36769                CThostFtdcNotifyQueryAccountField ) , "::" , stringify ! (
36770                TradeDate ) ));
36771    assert_eq! (unsafe {
36772                & ( * ( 0 as * const CThostFtdcNotifyQueryAccountField ) ) .
36773                TradeTime as * const _ as usize } , 67usize , concat ! (
36774                "Alignment of field: " , stringify ! (
36775                CThostFtdcNotifyQueryAccountField ) , "::" , stringify ! (
36776                TradeTime ) ));
36777    assert_eq! (unsafe {
36778                & ( * ( 0 as * const CThostFtdcNotifyQueryAccountField ) ) .
36779                BankSerial as * const _ as usize } , 76usize , concat ! (
36780                "Alignment of field: " , stringify ! (
36781                CThostFtdcNotifyQueryAccountField ) , "::" , stringify ! (
36782                BankSerial ) ));
36783    assert_eq! (unsafe {
36784                & ( * ( 0 as * const CThostFtdcNotifyQueryAccountField ) ) .
36785                TradingDay as * const _ as usize } , 89usize , concat ! (
36786                "Alignment of field: " , stringify ! (
36787                CThostFtdcNotifyQueryAccountField ) , "::" , stringify ! (
36788                TradingDay ) ));
36789    assert_eq! (unsafe {
36790                & ( * ( 0 as * const CThostFtdcNotifyQueryAccountField ) ) .
36791                PlateSerial as * const _ as usize } , 100usize , concat ! (
36792                "Alignment of field: " , stringify ! (
36793                CThostFtdcNotifyQueryAccountField ) , "::" , stringify ! (
36794                PlateSerial ) ));
36795    assert_eq! (unsafe {
36796                & ( * ( 0 as * const CThostFtdcNotifyQueryAccountField ) ) .
36797                LastFragment as * const _ as usize } , 104usize , concat ! (
36798                "Alignment of field: " , stringify ! (
36799                CThostFtdcNotifyQueryAccountField ) , "::" , stringify ! (
36800                LastFragment ) ));
36801    assert_eq! (unsafe {
36802                & ( * ( 0 as * const CThostFtdcNotifyQueryAccountField ) ) .
36803                SessionID as * const _ as usize } , 108usize , concat ! (
36804                "Alignment of field: " , stringify ! (
36805                CThostFtdcNotifyQueryAccountField ) , "::" , stringify ! (
36806                SessionID ) ));
36807    assert_eq! (unsafe {
36808                & ( * ( 0 as * const CThostFtdcNotifyQueryAccountField ) ) .
36809                CustomerName as * const _ as usize } , 112usize , concat ! (
36810                "Alignment of field: " , stringify ! (
36811                CThostFtdcNotifyQueryAccountField ) , "::" , stringify ! (
36812                CustomerName ) ));
36813    assert_eq! (unsafe {
36814                & ( * ( 0 as * const CThostFtdcNotifyQueryAccountField ) ) .
36815                IdCardType as * const _ as usize } , 163usize , concat ! (
36816                "Alignment of field: " , stringify ! (
36817                CThostFtdcNotifyQueryAccountField ) , "::" , stringify ! (
36818                IdCardType ) ));
36819    assert_eq! (unsafe {
36820                & ( * ( 0 as * const CThostFtdcNotifyQueryAccountField ) ) .
36821                IdentifiedCardNo as * const _ as usize } , 164usize , concat !
36822                (
36823                "Alignment of field: " , stringify ! (
36824                CThostFtdcNotifyQueryAccountField ) , "::" , stringify ! (
36825                IdentifiedCardNo ) ));
36826    assert_eq! (unsafe {
36827                & ( * ( 0 as * const CThostFtdcNotifyQueryAccountField ) ) .
36828                CustType as * const _ as usize } , 215usize , concat ! (
36829                "Alignment of field: " , stringify ! (
36830                CThostFtdcNotifyQueryAccountField ) , "::" , stringify ! (
36831                CustType ) ));
36832    assert_eq! (unsafe {
36833                & ( * ( 0 as * const CThostFtdcNotifyQueryAccountField ) ) .
36834                BankAccount as * const _ as usize } , 216usize , concat ! (
36835                "Alignment of field: " , stringify ! (
36836                CThostFtdcNotifyQueryAccountField ) , "::" , stringify ! (
36837                BankAccount ) ));
36838    assert_eq! (unsafe {
36839                & ( * ( 0 as * const CThostFtdcNotifyQueryAccountField ) ) .
36840                BankPassWord as * const _ as usize } , 257usize , concat ! (
36841                "Alignment of field: " , stringify ! (
36842                CThostFtdcNotifyQueryAccountField ) , "::" , stringify ! (
36843                BankPassWord ) ));
36844    assert_eq! (unsafe {
36845                & ( * ( 0 as * const CThostFtdcNotifyQueryAccountField ) ) .
36846                AccountID as * const _ as usize } , 298usize , concat ! (
36847                "Alignment of field: " , stringify ! (
36848                CThostFtdcNotifyQueryAccountField ) , "::" , stringify ! (
36849                AccountID ) ));
36850    assert_eq! (unsafe {
36851                & ( * ( 0 as * const CThostFtdcNotifyQueryAccountField ) ) .
36852                Password as * const _ as usize } , 311usize , concat ! (
36853                "Alignment of field: " , stringify ! (
36854                CThostFtdcNotifyQueryAccountField ) , "::" , stringify ! (
36855                Password ) ));
36856    assert_eq! (unsafe {
36857                & ( * ( 0 as * const CThostFtdcNotifyQueryAccountField ) ) .
36858                FutureSerial as * const _ as usize } , 352usize , concat ! (
36859                "Alignment of field: " , stringify ! (
36860                CThostFtdcNotifyQueryAccountField ) , "::" , stringify ! (
36861                FutureSerial ) ));
36862    assert_eq! (unsafe {
36863                & ( * ( 0 as * const CThostFtdcNotifyQueryAccountField ) ) .
36864                InstallID as * const _ as usize } , 356usize , concat ! (
36865                "Alignment of field: " , stringify ! (
36866                CThostFtdcNotifyQueryAccountField ) , "::" , stringify ! (
36867                InstallID ) ));
36868    assert_eq! (unsafe {
36869                & ( * ( 0 as * const CThostFtdcNotifyQueryAccountField ) ) .
36870                UserID as * const _ as usize } , 360usize , concat ! (
36871                "Alignment of field: " , stringify ! (
36872                CThostFtdcNotifyQueryAccountField ) , "::" , stringify ! (
36873                UserID ) ));
36874    assert_eq! (unsafe {
36875                & ( * ( 0 as * const CThostFtdcNotifyQueryAccountField ) ) .
36876                VerifyCertNoFlag as * const _ as usize } , 376usize , concat !
36877                (
36878                "Alignment of field: " , stringify ! (
36879                CThostFtdcNotifyQueryAccountField ) , "::" , stringify ! (
36880                VerifyCertNoFlag ) ));
36881    assert_eq! (unsafe {
36882                & ( * ( 0 as * const CThostFtdcNotifyQueryAccountField ) ) .
36883                CurrencyID as * const _ as usize } , 377usize , concat ! (
36884                "Alignment of field: " , stringify ! (
36885                CThostFtdcNotifyQueryAccountField ) , "::" , stringify ! (
36886                CurrencyID ) ));
36887    assert_eq! (unsafe {
36888                & ( * ( 0 as * const CThostFtdcNotifyQueryAccountField ) ) .
36889                Digest as * const _ as usize } , 381usize , concat ! (
36890                "Alignment of field: " , stringify ! (
36891                CThostFtdcNotifyQueryAccountField ) , "::" , stringify ! (
36892                Digest ) ));
36893    assert_eq! (unsafe {
36894                & ( * ( 0 as * const CThostFtdcNotifyQueryAccountField ) ) .
36895                BankAccType as * const _ as usize } , 417usize , concat ! (
36896                "Alignment of field: " , stringify ! (
36897                CThostFtdcNotifyQueryAccountField ) , "::" , stringify ! (
36898                BankAccType ) ));
36899    assert_eq! (unsafe {
36900                & ( * ( 0 as * const CThostFtdcNotifyQueryAccountField ) ) .
36901                DeviceID as * const _ as usize } , 418usize , concat ! (
36902                "Alignment of field: " , stringify ! (
36903                CThostFtdcNotifyQueryAccountField ) , "::" , stringify ! (
36904                DeviceID ) ));
36905    assert_eq! (unsafe {
36906                & ( * ( 0 as * const CThostFtdcNotifyQueryAccountField ) ) .
36907                BankSecuAccType as * const _ as usize } , 421usize , concat !
36908                (
36909                "Alignment of field: " , stringify ! (
36910                CThostFtdcNotifyQueryAccountField ) , "::" , stringify ! (
36911                BankSecuAccType ) ));
36912    assert_eq! (unsafe {
36913                & ( * ( 0 as * const CThostFtdcNotifyQueryAccountField ) ) .
36914                BrokerIDByBank as * const _ as usize } , 422usize , concat ! (
36915                "Alignment of field: " , stringify ! (
36916                CThostFtdcNotifyQueryAccountField ) , "::" , stringify ! (
36917                BrokerIDByBank ) ));
36918    assert_eq! (unsafe {
36919                & ( * ( 0 as * const CThostFtdcNotifyQueryAccountField ) ) .
36920                BankSecuAcc as * const _ as usize } , 455usize , concat ! (
36921                "Alignment of field: " , stringify ! (
36922                CThostFtdcNotifyQueryAccountField ) , "::" , stringify ! (
36923                BankSecuAcc ) ));
36924    assert_eq! (unsafe {
36925                & ( * ( 0 as * const CThostFtdcNotifyQueryAccountField ) ) .
36926                BankPwdFlag as * const _ as usize } , 496usize , concat ! (
36927                "Alignment of field: " , stringify ! (
36928                CThostFtdcNotifyQueryAccountField ) , "::" , stringify ! (
36929                BankPwdFlag ) ));
36930    assert_eq! (unsafe {
36931                & ( * ( 0 as * const CThostFtdcNotifyQueryAccountField ) ) .
36932                SecuPwdFlag as * const _ as usize } , 497usize , concat ! (
36933                "Alignment of field: " , stringify ! (
36934                CThostFtdcNotifyQueryAccountField ) , "::" , stringify ! (
36935                SecuPwdFlag ) ));
36936    assert_eq! (unsafe {
36937                & ( * ( 0 as * const CThostFtdcNotifyQueryAccountField ) ) .
36938                OperNo as * const _ as usize } , 498usize , concat ! (
36939                "Alignment of field: " , stringify ! (
36940                CThostFtdcNotifyQueryAccountField ) , "::" , stringify ! (
36941                OperNo ) ));
36942    assert_eq! (unsafe {
36943                & ( * ( 0 as * const CThostFtdcNotifyQueryAccountField ) ) .
36944                RequestID as * const _ as usize } , 516usize , concat ! (
36945                "Alignment of field: " , stringify ! (
36946                CThostFtdcNotifyQueryAccountField ) , "::" , stringify ! (
36947                RequestID ) ));
36948    assert_eq! (unsafe {
36949                & ( * ( 0 as * const CThostFtdcNotifyQueryAccountField ) ) .
36950                TID as * const _ as usize } , 520usize , concat ! (
36951                "Alignment of field: " , stringify ! (
36952                CThostFtdcNotifyQueryAccountField ) , "::" , stringify ! ( TID
36953                ) ));
36954    assert_eq! (unsafe {
36955                & ( * ( 0 as * const CThostFtdcNotifyQueryAccountField ) ) .
36956                BankUseAmount as * const _ as usize } , 528usize , concat ! (
36957                "Alignment of field: " , stringify ! (
36958                CThostFtdcNotifyQueryAccountField ) , "::" , stringify ! (
36959                BankUseAmount ) ));
36960    assert_eq! (unsafe {
36961                & ( * ( 0 as * const CThostFtdcNotifyQueryAccountField ) ) .
36962                BankFetchAmount as * const _ as usize } , 536usize , concat !
36963                (
36964                "Alignment of field: " , stringify ! (
36965                CThostFtdcNotifyQueryAccountField ) , "::" , stringify ! (
36966                BankFetchAmount ) ));
36967    assert_eq! (unsafe {
36968                & ( * ( 0 as * const CThostFtdcNotifyQueryAccountField ) ) .
36969                ErrorID as * const _ as usize } , 544usize , concat ! (
36970                "Alignment of field: " , stringify ! (
36971                CThostFtdcNotifyQueryAccountField ) , "::" , stringify ! (
36972                ErrorID ) ));
36973    assert_eq! (unsafe {
36974                & ( * ( 0 as * const CThostFtdcNotifyQueryAccountField ) ) .
36975                ErrorMsg as * const _ as usize } , 548usize , concat ! (
36976                "Alignment of field: " , stringify ! (
36977                CThostFtdcNotifyQueryAccountField ) , "::" , stringify ! (
36978                ErrorMsg ) ));
36979    assert_eq! (unsafe {
36980                & ( * ( 0 as * const CThostFtdcNotifyQueryAccountField ) ) .
36981                LongCustomerName as * const _ as usize } , 629usize , concat !
36982                (
36983                "Alignment of field: " , stringify ! (
36984                CThostFtdcNotifyQueryAccountField ) , "::" , stringify ! (
36985                LongCustomerName ) ));
36986}
36987impl Clone for CThostFtdcNotifyQueryAccountField {
36988    fn clone(&self) -> Self { *self }
36989}
36990impl Default for CThostFtdcNotifyQueryAccountField {
36991    fn default() -> Self { unsafe { ::std::mem::zeroed() } }
36992}
36993/// 银期转账交易流水表
36994#[repr(C)]
36995#[derive(Copy)]
36996pub struct CThostFtdcTransferSerialField {
36997    /// 平台流水号
36998    pub PlateSerial: TThostFtdcPlateSerialType,
36999    /// 交易发起方日期
37000    pub TradeDate: TThostFtdcTradeDateType,
37001    /// 交易日期
37002    pub TradingDay: TThostFtdcDateType,
37003    /// 交易时间
37004    pub TradeTime: TThostFtdcTradeTimeType,
37005    /// 交易代码
37006    pub TradeCode: TThostFtdcTradeCodeType,
37007    /// 会话编号
37008    pub SessionID: TThostFtdcSessionIDType,
37009    /// 银行编码
37010    pub BankID: TThostFtdcBankIDType,
37011    /// 银行分支机构编码
37012    pub BankBranchID: TThostFtdcBankBrchIDType,
37013    /// 银行帐号类型
37014    pub BankAccType: TThostFtdcBankAccTypeType,
37015    /// 银行帐号
37016    pub BankAccount: TThostFtdcBankAccountType,
37017    /// 银行流水号
37018    pub BankSerial: TThostFtdcBankSerialType,
37019    /// 期货公司编码
37020    pub BrokerID: TThostFtdcBrokerIDType,
37021    /// 期商分支机构代码
37022    pub BrokerBranchID: TThostFtdcFutureBranchIDType,
37023    /// 期货公司帐号类型
37024    pub FutureAccType: TThostFtdcFutureAccTypeType,
37025    /// 投资者帐号
37026    pub AccountID: TThostFtdcAccountIDType,
37027    /// 投资者代码
37028    pub InvestorID: TThostFtdcInvestorIDType,
37029    /// 期货公司流水号
37030    pub FutureSerial: TThostFtdcFutureSerialType,
37031    /// 证件类型
37032    pub IdCardType: TThostFtdcIdCardTypeType,
37033    /// 证件号码
37034    pub IdentifiedCardNo: TThostFtdcIdentifiedCardNoType,
37035    /// 币种代码
37036    pub CurrencyID: TThostFtdcCurrencyIDType,
37037    /// 交易金额
37038    pub TradeAmount: TThostFtdcTradeAmountType,
37039    /// 应收客户费用
37040    pub CustFee: TThostFtdcCustFeeType,
37041    /// 应收期货公司费用
37042    pub BrokerFee: TThostFtdcFutureFeeType,
37043    /// 有效标志
37044    pub AvailabilityFlag: TThostFtdcAvailabilityFlagType,
37045    /// 操作员
37046    pub OperatorCode: TThostFtdcOperatorCodeType,
37047    /// 新银行帐号
37048    pub BankNewAccount: TThostFtdcBankAccountType,
37049    /// 错误代码
37050    pub ErrorID: TThostFtdcErrorIDType,
37051    /// 错误信息
37052    pub ErrorMsg: TThostFtdcErrorMsgType,
37053}
37054#[test]
37055fn bindgen_test_layout_CThostFtdcTransferSerialField() {
37056    assert_eq!(::std::mem::size_of::<CThostFtdcTransferSerialField>() ,
37057               416usize , concat ! (
37058               "Size of: " , stringify ! ( CThostFtdcTransferSerialField ) ));
37059    assert_eq! (::std::mem::align_of::<CThostFtdcTransferSerialField>() ,
37060                8usize , concat ! (
37061                "Alignment of " , stringify ! ( CThostFtdcTransferSerialField
37062                ) ));
37063    assert_eq! (unsafe {
37064                & ( * ( 0 as * const CThostFtdcTransferSerialField ) ) .
37065                PlateSerial as * const _ as usize } , 0usize , concat ! (
37066                "Alignment of field: " , stringify ! (
37067                CThostFtdcTransferSerialField ) , "::" , stringify ! (
37068                PlateSerial ) ));
37069    assert_eq! (unsafe {
37070                & ( * ( 0 as * const CThostFtdcTransferSerialField ) ) .
37071                TradeDate as * const _ as usize } , 4usize , concat ! (
37072                "Alignment of field: " , stringify ! (
37073                CThostFtdcTransferSerialField ) , "::" , stringify ! (
37074                TradeDate ) ));
37075    assert_eq! (unsafe {
37076                & ( * ( 0 as * const CThostFtdcTransferSerialField ) ) .
37077                TradingDay as * const _ as usize } , 13usize , concat ! (
37078                "Alignment of field: " , stringify ! (
37079                CThostFtdcTransferSerialField ) , "::" , stringify ! (
37080                TradingDay ) ));
37081    assert_eq! (unsafe {
37082                & ( * ( 0 as * const CThostFtdcTransferSerialField ) ) .
37083                TradeTime as * const _ as usize } , 22usize , concat ! (
37084                "Alignment of field: " , stringify ! (
37085                CThostFtdcTransferSerialField ) , "::" , stringify ! (
37086                TradeTime ) ));
37087    assert_eq! (unsafe {
37088                & ( * ( 0 as * const CThostFtdcTransferSerialField ) ) .
37089                TradeCode as * const _ as usize } , 31usize , concat ! (
37090                "Alignment of field: " , stringify ! (
37091                CThostFtdcTransferSerialField ) , "::" , stringify ! (
37092                TradeCode ) ));
37093    assert_eq! (unsafe {
37094                & ( * ( 0 as * const CThostFtdcTransferSerialField ) ) .
37095                SessionID as * const _ as usize } , 40usize , concat ! (
37096                "Alignment of field: " , stringify ! (
37097                CThostFtdcTransferSerialField ) , "::" , stringify ! (
37098                SessionID ) ));
37099    assert_eq! (unsafe {
37100                & ( * ( 0 as * const CThostFtdcTransferSerialField ) ) .
37101                BankID as * const _ as usize } , 44usize , concat ! (
37102                "Alignment of field: " , stringify ! (
37103                CThostFtdcTransferSerialField ) , "::" , stringify ! ( BankID
37104                ) ));
37105    assert_eq! (unsafe {
37106                & ( * ( 0 as * const CThostFtdcTransferSerialField ) ) .
37107                BankBranchID as * const _ as usize } , 48usize , concat ! (
37108                "Alignment of field: " , stringify ! (
37109                CThostFtdcTransferSerialField ) , "::" , stringify ! (
37110                BankBranchID ) ));
37111    assert_eq! (unsafe {
37112                & ( * ( 0 as * const CThostFtdcTransferSerialField ) ) .
37113                BankAccType as * const _ as usize } , 53usize , concat ! (
37114                "Alignment of field: " , stringify ! (
37115                CThostFtdcTransferSerialField ) , "::" , stringify ! (
37116                BankAccType ) ));
37117    assert_eq! (unsafe {
37118                & ( * ( 0 as * const CThostFtdcTransferSerialField ) ) .
37119                BankAccount as * const _ as usize } , 54usize , concat ! (
37120                "Alignment of field: " , stringify ! (
37121                CThostFtdcTransferSerialField ) , "::" , stringify ! (
37122                BankAccount ) ));
37123    assert_eq! (unsafe {
37124                & ( * ( 0 as * const CThostFtdcTransferSerialField ) ) .
37125                BankSerial as * const _ as usize } , 95usize , concat ! (
37126                "Alignment of field: " , stringify ! (
37127                CThostFtdcTransferSerialField ) , "::" , stringify ! (
37128                BankSerial ) ));
37129    assert_eq! (unsafe {
37130                & ( * ( 0 as * const CThostFtdcTransferSerialField ) ) .
37131                BrokerID as * const _ as usize } , 108usize , concat ! (
37132                "Alignment of field: " , stringify ! (
37133                CThostFtdcTransferSerialField ) , "::" , stringify ! (
37134                BrokerID ) ));
37135    assert_eq! (unsafe {
37136                & ( * ( 0 as * const CThostFtdcTransferSerialField ) ) .
37137                BrokerBranchID as * const _ as usize } , 119usize , concat ! (
37138                "Alignment of field: " , stringify ! (
37139                CThostFtdcTransferSerialField ) , "::" , stringify ! (
37140                BrokerBranchID ) ));
37141    assert_eq! (unsafe {
37142                & ( * ( 0 as * const CThostFtdcTransferSerialField ) ) .
37143                FutureAccType as * const _ as usize } , 150usize , concat ! (
37144                "Alignment of field: " , stringify ! (
37145                CThostFtdcTransferSerialField ) , "::" , stringify ! (
37146                FutureAccType ) ));
37147    assert_eq! (unsafe {
37148                & ( * ( 0 as * const CThostFtdcTransferSerialField ) ) .
37149                AccountID as * const _ as usize } , 151usize , concat ! (
37150                "Alignment of field: " , stringify ! (
37151                CThostFtdcTransferSerialField ) , "::" , stringify ! (
37152                AccountID ) ));
37153    assert_eq! (unsafe {
37154                & ( * ( 0 as * const CThostFtdcTransferSerialField ) ) .
37155                InvestorID as * const _ as usize } , 164usize , concat ! (
37156                "Alignment of field: " , stringify ! (
37157                CThostFtdcTransferSerialField ) , "::" , stringify ! (
37158                InvestorID ) ));
37159    assert_eq! (unsafe {
37160                & ( * ( 0 as * const CThostFtdcTransferSerialField ) ) .
37161                FutureSerial as * const _ as usize } , 180usize , concat ! (
37162                "Alignment of field: " , stringify ! (
37163                CThostFtdcTransferSerialField ) , "::" , stringify ! (
37164                FutureSerial ) ));
37165    assert_eq! (unsafe {
37166                & ( * ( 0 as * const CThostFtdcTransferSerialField ) ) .
37167                IdCardType as * const _ as usize } , 184usize , concat ! (
37168                "Alignment of field: " , stringify ! (
37169                CThostFtdcTransferSerialField ) , "::" , stringify ! (
37170                IdCardType ) ));
37171    assert_eq! (unsafe {
37172                & ( * ( 0 as * const CThostFtdcTransferSerialField ) ) .
37173                IdentifiedCardNo as * const _ as usize } , 185usize , concat !
37174                (
37175                "Alignment of field: " , stringify ! (
37176                CThostFtdcTransferSerialField ) , "::" , stringify ! (
37177                IdentifiedCardNo ) ));
37178    assert_eq! (unsafe {
37179                & ( * ( 0 as * const CThostFtdcTransferSerialField ) ) .
37180                CurrencyID as * const _ as usize } , 236usize , concat ! (
37181                "Alignment of field: " , stringify ! (
37182                CThostFtdcTransferSerialField ) , "::" , stringify ! (
37183                CurrencyID ) ));
37184    assert_eq! (unsafe {
37185                & ( * ( 0 as * const CThostFtdcTransferSerialField ) ) .
37186                TradeAmount as * const _ as usize } , 240usize , concat ! (
37187                "Alignment of field: " , stringify ! (
37188                CThostFtdcTransferSerialField ) , "::" , stringify ! (
37189                TradeAmount ) ));
37190    assert_eq! (unsafe {
37191                & ( * ( 0 as * const CThostFtdcTransferSerialField ) ) .
37192                CustFee as * const _ as usize } , 248usize , concat ! (
37193                "Alignment of field: " , stringify ! (
37194                CThostFtdcTransferSerialField ) , "::" , stringify ! ( CustFee
37195                ) ));
37196    assert_eq! (unsafe {
37197                & ( * ( 0 as * const CThostFtdcTransferSerialField ) ) .
37198                BrokerFee as * const _ as usize } , 256usize , concat ! (
37199                "Alignment of field: " , stringify ! (
37200                CThostFtdcTransferSerialField ) , "::" , stringify ! (
37201                BrokerFee ) ));
37202    assert_eq! (unsafe {
37203                & ( * ( 0 as * const CThostFtdcTransferSerialField ) ) .
37204                AvailabilityFlag as * const _ as usize } , 264usize , concat !
37205                (
37206                "Alignment of field: " , stringify ! (
37207                CThostFtdcTransferSerialField ) , "::" , stringify ! (
37208                AvailabilityFlag ) ));
37209    assert_eq! (unsafe {
37210                & ( * ( 0 as * const CThostFtdcTransferSerialField ) ) .
37211                OperatorCode as * const _ as usize } , 265usize , concat ! (
37212                "Alignment of field: " , stringify ! (
37213                CThostFtdcTransferSerialField ) , "::" , stringify ! (
37214                OperatorCode ) ));
37215    assert_eq! (unsafe {
37216                & ( * ( 0 as * const CThostFtdcTransferSerialField ) ) .
37217                BankNewAccount as * const _ as usize } , 282usize , concat ! (
37218                "Alignment of field: " , stringify ! (
37219                CThostFtdcTransferSerialField ) , "::" , stringify ! (
37220                BankNewAccount ) ));
37221    assert_eq! (unsafe {
37222                & ( * ( 0 as * const CThostFtdcTransferSerialField ) ) .
37223                ErrorID as * const _ as usize } , 324usize , concat ! (
37224                "Alignment of field: " , stringify ! (
37225                CThostFtdcTransferSerialField ) , "::" , stringify ! ( ErrorID
37226                ) ));
37227    assert_eq! (unsafe {
37228                & ( * ( 0 as * const CThostFtdcTransferSerialField ) ) .
37229                ErrorMsg as * const _ as usize } , 328usize , concat ! (
37230                "Alignment of field: " , stringify ! (
37231                CThostFtdcTransferSerialField ) , "::" , stringify ! (
37232                ErrorMsg ) ));
37233}
37234impl Clone for CThostFtdcTransferSerialField {
37235    fn clone(&self) -> Self { *self }
37236}
37237impl Default for CThostFtdcTransferSerialField {
37238    fn default() -> Self { unsafe { ::std::mem::zeroed() } }
37239}
37240/// 请求查询转帐流水
37241#[repr(C)]
37242#[derive(Default, Copy)]
37243pub struct CThostFtdcQryTransferSerialField {
37244    /// 经纪公司代码
37245    pub BrokerID: TThostFtdcBrokerIDType,
37246    /// 投资者帐号
37247    pub AccountID: TThostFtdcAccountIDType,
37248    /// 银行编码
37249    pub BankID: TThostFtdcBankIDType,
37250    /// 币种代码
37251    pub CurrencyID: TThostFtdcCurrencyIDType,
37252}
37253#[test]
37254fn bindgen_test_layout_CThostFtdcQryTransferSerialField() {
37255    assert_eq!(::std::mem::size_of::<CThostFtdcQryTransferSerialField>() ,
37256               32usize , concat ! (
37257               "Size of: " , stringify ! ( CThostFtdcQryTransferSerialField )
37258               ));
37259    assert_eq! (::std::mem::align_of::<CThostFtdcQryTransferSerialField>() ,
37260                1usize , concat ! (
37261                "Alignment of " , stringify ! (
37262                CThostFtdcQryTransferSerialField ) ));
37263    assert_eq! (unsafe {
37264                & ( * ( 0 as * const CThostFtdcQryTransferSerialField ) ) .
37265                BrokerID as * const _ as usize } , 0usize , concat ! (
37266                "Alignment of field: " , stringify ! (
37267                CThostFtdcQryTransferSerialField ) , "::" , stringify ! (
37268                BrokerID ) ));
37269    assert_eq! (unsafe {
37270                & ( * ( 0 as * const CThostFtdcQryTransferSerialField ) ) .
37271                AccountID as * const _ as usize } , 11usize , concat ! (
37272                "Alignment of field: " , stringify ! (
37273                CThostFtdcQryTransferSerialField ) , "::" , stringify ! (
37274                AccountID ) ));
37275    assert_eq! (unsafe {
37276                & ( * ( 0 as * const CThostFtdcQryTransferSerialField ) ) .
37277                BankID as * const _ as usize } , 24usize , concat ! (
37278                "Alignment of field: " , stringify ! (
37279                CThostFtdcQryTransferSerialField ) , "::" , stringify ! (
37280                BankID ) ));
37281    assert_eq! (unsafe {
37282                & ( * ( 0 as * const CThostFtdcQryTransferSerialField ) ) .
37283                CurrencyID as * const _ as usize } , 28usize , concat ! (
37284                "Alignment of field: " , stringify ! (
37285                CThostFtdcQryTransferSerialField ) , "::" , stringify ! (
37286                CurrencyID ) ));
37287}
37288impl Clone for CThostFtdcQryTransferSerialField {
37289    fn clone(&self) -> Self { *self }
37290}
37291/// 期商签到通知
37292#[repr(C)]
37293#[derive(Copy)]
37294pub struct CThostFtdcNotifyFutureSignInField {
37295    /// 业务功能码
37296    pub TradeCode: TThostFtdcTradeCodeType,
37297    /// 银行代码
37298    pub BankID: TThostFtdcBankIDType,
37299    /// 银行分支机构代码
37300    pub BankBranchID: TThostFtdcBankBrchIDType,
37301    /// 期商代码
37302    pub BrokerID: TThostFtdcBrokerIDType,
37303    /// 期商分支机构代码
37304    pub BrokerBranchID: TThostFtdcFutureBranchIDType,
37305    /// 交易日期
37306    pub TradeDate: TThostFtdcTradeDateType,
37307    /// 交易时间
37308    pub TradeTime: TThostFtdcTradeTimeType,
37309    /// 银行流水号
37310    pub BankSerial: TThostFtdcBankSerialType,
37311    /// 交易系统日期
37312    pub TradingDay: TThostFtdcTradeDateType,
37313    /// 银期平台消息流水号
37314    pub PlateSerial: TThostFtdcSerialType,
37315    /// 最后分片标志
37316    pub LastFragment: TThostFtdcLastFragmentType,
37317    /// 会话号
37318    pub SessionID: TThostFtdcSessionIDType,
37319    /// 安装编号
37320    pub InstallID: TThostFtdcInstallIDType,
37321    /// 用户标识
37322    pub UserID: TThostFtdcUserIDType,
37323    /// 摘要
37324    pub Digest: TThostFtdcDigestType,
37325    /// 币种代码
37326    pub CurrencyID: TThostFtdcCurrencyIDType,
37327    /// 渠道标志
37328    pub DeviceID: TThostFtdcDeviceIDType,
37329    /// 期货公司银行编码
37330    pub BrokerIDByBank: TThostFtdcBankCodingForFutureType,
37331    /// 交易柜员
37332    pub OperNo: TThostFtdcOperNoType,
37333    /// 请求编号
37334    pub RequestID: TThostFtdcRequestIDType,
37335    /// 交易ID
37336    pub TID: TThostFtdcTIDType,
37337    /// 错误代码
37338    pub ErrorID: TThostFtdcErrorIDType,
37339    /// 错误信息
37340    pub ErrorMsg: TThostFtdcErrorMsgType,
37341    /// PIN密钥
37342    pub PinKey: TThostFtdcPasswordKeyType,
37343    /// MAC密钥
37344    pub MacKey: TThostFtdcPasswordKeyType,
37345}
37346#[test]
37347fn bindgen_test_layout_CThostFtdcNotifyFutureSignInField() {
37348    assert_eq!(::std::mem::size_of::<CThostFtdcNotifyFutureSignInField>() ,
37349               580usize , concat ! (
37350               "Size of: " , stringify ! ( CThostFtdcNotifyFutureSignInField )
37351               ));
37352    assert_eq! (::std::mem::align_of::<CThostFtdcNotifyFutureSignInField>() ,
37353                4usize , concat ! (
37354                "Alignment of " , stringify ! (
37355                CThostFtdcNotifyFutureSignInField ) ));
37356    assert_eq! (unsafe {
37357                & ( * ( 0 as * const CThostFtdcNotifyFutureSignInField ) ) .
37358                TradeCode as * const _ as usize } , 0usize , concat ! (
37359                "Alignment of field: " , stringify ! (
37360                CThostFtdcNotifyFutureSignInField ) , "::" , stringify ! (
37361                TradeCode ) ));
37362    assert_eq! (unsafe {
37363                & ( * ( 0 as * const CThostFtdcNotifyFutureSignInField ) ) .
37364                BankID as * const _ as usize } , 7usize , concat ! (
37365                "Alignment of field: " , stringify ! (
37366                CThostFtdcNotifyFutureSignInField ) , "::" , stringify ! (
37367                BankID ) ));
37368    assert_eq! (unsafe {
37369                & ( * ( 0 as * const CThostFtdcNotifyFutureSignInField ) ) .
37370                BankBranchID as * const _ as usize } , 11usize , concat ! (
37371                "Alignment of field: " , stringify ! (
37372                CThostFtdcNotifyFutureSignInField ) , "::" , stringify ! (
37373                BankBranchID ) ));
37374    assert_eq! (unsafe {
37375                & ( * ( 0 as * const CThostFtdcNotifyFutureSignInField ) ) .
37376                BrokerID as * const _ as usize } , 16usize , concat ! (
37377                "Alignment of field: " , stringify ! (
37378                CThostFtdcNotifyFutureSignInField ) , "::" , stringify ! (
37379                BrokerID ) ));
37380    assert_eq! (unsafe {
37381                & ( * ( 0 as * const CThostFtdcNotifyFutureSignInField ) ) .
37382                BrokerBranchID as * const _ as usize } , 27usize , concat ! (
37383                "Alignment of field: " , stringify ! (
37384                CThostFtdcNotifyFutureSignInField ) , "::" , stringify ! (
37385                BrokerBranchID ) ));
37386    assert_eq! (unsafe {
37387                & ( * ( 0 as * const CThostFtdcNotifyFutureSignInField ) ) .
37388                TradeDate as * const _ as usize } , 58usize , concat ! (
37389                "Alignment of field: " , stringify ! (
37390                CThostFtdcNotifyFutureSignInField ) , "::" , stringify ! (
37391                TradeDate ) ));
37392    assert_eq! (unsafe {
37393                & ( * ( 0 as * const CThostFtdcNotifyFutureSignInField ) ) .
37394                TradeTime as * const _ as usize } , 67usize , concat ! (
37395                "Alignment of field: " , stringify ! (
37396                CThostFtdcNotifyFutureSignInField ) , "::" , stringify ! (
37397                TradeTime ) ));
37398    assert_eq! (unsafe {
37399                & ( * ( 0 as * const CThostFtdcNotifyFutureSignInField ) ) .
37400                BankSerial as * const _ as usize } , 76usize , concat ! (
37401                "Alignment of field: " , stringify ! (
37402                CThostFtdcNotifyFutureSignInField ) , "::" , stringify ! (
37403                BankSerial ) ));
37404    assert_eq! (unsafe {
37405                & ( * ( 0 as * const CThostFtdcNotifyFutureSignInField ) ) .
37406                TradingDay as * const _ as usize } , 89usize , concat ! (
37407                "Alignment of field: " , stringify ! (
37408                CThostFtdcNotifyFutureSignInField ) , "::" , stringify ! (
37409                TradingDay ) ));
37410    assert_eq! (unsafe {
37411                & ( * ( 0 as * const CThostFtdcNotifyFutureSignInField ) ) .
37412                PlateSerial as * const _ as usize } , 100usize , concat ! (
37413                "Alignment of field: " , stringify ! (
37414                CThostFtdcNotifyFutureSignInField ) , "::" , stringify ! (
37415                PlateSerial ) ));
37416    assert_eq! (unsafe {
37417                & ( * ( 0 as * const CThostFtdcNotifyFutureSignInField ) ) .
37418                LastFragment as * const _ as usize } , 104usize , concat ! (
37419                "Alignment of field: " , stringify ! (
37420                CThostFtdcNotifyFutureSignInField ) , "::" , stringify ! (
37421                LastFragment ) ));
37422    assert_eq! (unsafe {
37423                & ( * ( 0 as * const CThostFtdcNotifyFutureSignInField ) ) .
37424                SessionID as * const _ as usize } , 108usize , concat ! (
37425                "Alignment of field: " , stringify ! (
37426                CThostFtdcNotifyFutureSignInField ) , "::" , stringify ! (
37427                SessionID ) ));
37428    assert_eq! (unsafe {
37429                & ( * ( 0 as * const CThostFtdcNotifyFutureSignInField ) ) .
37430                InstallID as * const _ as usize } , 112usize , concat ! (
37431                "Alignment of field: " , stringify ! (
37432                CThostFtdcNotifyFutureSignInField ) , "::" , stringify ! (
37433                InstallID ) ));
37434    assert_eq! (unsafe {
37435                & ( * ( 0 as * const CThostFtdcNotifyFutureSignInField ) ) .
37436                UserID as * const _ as usize } , 116usize , concat ! (
37437                "Alignment of field: " , stringify ! (
37438                CThostFtdcNotifyFutureSignInField ) , "::" , stringify ! (
37439                UserID ) ));
37440    assert_eq! (unsafe {
37441                & ( * ( 0 as * const CThostFtdcNotifyFutureSignInField ) ) .
37442                Digest as * const _ as usize } , 132usize , concat ! (
37443                "Alignment of field: " , stringify ! (
37444                CThostFtdcNotifyFutureSignInField ) , "::" , stringify ! (
37445                Digest ) ));
37446    assert_eq! (unsafe {
37447                & ( * ( 0 as * const CThostFtdcNotifyFutureSignInField ) ) .
37448                CurrencyID as * const _ as usize } , 168usize , concat ! (
37449                "Alignment of field: " , stringify ! (
37450                CThostFtdcNotifyFutureSignInField ) , "::" , stringify ! (
37451                CurrencyID ) ));
37452    assert_eq! (unsafe {
37453                & ( * ( 0 as * const CThostFtdcNotifyFutureSignInField ) ) .
37454                DeviceID as * const _ as usize } , 172usize , concat ! (
37455                "Alignment of field: " , stringify ! (
37456                CThostFtdcNotifyFutureSignInField ) , "::" , stringify ! (
37457                DeviceID ) ));
37458    assert_eq! (unsafe {
37459                & ( * ( 0 as * const CThostFtdcNotifyFutureSignInField ) ) .
37460                BrokerIDByBank as * const _ as usize } , 175usize , concat ! (
37461                "Alignment of field: " , stringify ! (
37462                CThostFtdcNotifyFutureSignInField ) , "::" , stringify ! (
37463                BrokerIDByBank ) ));
37464    assert_eq! (unsafe {
37465                & ( * ( 0 as * const CThostFtdcNotifyFutureSignInField ) ) .
37466                OperNo as * const _ as usize } , 208usize , concat ! (
37467                "Alignment of field: " , stringify ! (
37468                CThostFtdcNotifyFutureSignInField ) , "::" , stringify ! (
37469                OperNo ) ));
37470    assert_eq! (unsafe {
37471                & ( * ( 0 as * const CThostFtdcNotifyFutureSignInField ) ) .
37472                RequestID as * const _ as usize } , 228usize , concat ! (
37473                "Alignment of field: " , stringify ! (
37474                CThostFtdcNotifyFutureSignInField ) , "::" , stringify ! (
37475                RequestID ) ));
37476    assert_eq! (unsafe {
37477                & ( * ( 0 as * const CThostFtdcNotifyFutureSignInField ) ) .
37478                TID as * const _ as usize } , 232usize , concat ! (
37479                "Alignment of field: " , stringify ! (
37480                CThostFtdcNotifyFutureSignInField ) , "::" , stringify ! ( TID
37481                ) ));
37482    assert_eq! (unsafe {
37483                & ( * ( 0 as * const CThostFtdcNotifyFutureSignInField ) ) .
37484                ErrorID as * const _ as usize } , 236usize , concat ! (
37485                "Alignment of field: " , stringify ! (
37486                CThostFtdcNotifyFutureSignInField ) , "::" , stringify ! (
37487                ErrorID ) ));
37488    assert_eq! (unsafe {
37489                & ( * ( 0 as * const CThostFtdcNotifyFutureSignInField ) ) .
37490                ErrorMsg as * const _ as usize } , 240usize , concat ! (
37491                "Alignment of field: " , stringify ! (
37492                CThostFtdcNotifyFutureSignInField ) , "::" , stringify ! (
37493                ErrorMsg ) ));
37494    assert_eq! (unsafe {
37495                & ( * ( 0 as * const CThostFtdcNotifyFutureSignInField ) ) .
37496                PinKey as * const _ as usize } , 321usize , concat ! (
37497                "Alignment of field: " , stringify ! (
37498                CThostFtdcNotifyFutureSignInField ) , "::" , stringify ! (
37499                PinKey ) ));
37500    assert_eq! (unsafe {
37501                & ( * ( 0 as * const CThostFtdcNotifyFutureSignInField ) ) .
37502                MacKey as * const _ as usize } , 450usize , concat ! (
37503                "Alignment of field: " , stringify ! (
37504                CThostFtdcNotifyFutureSignInField ) , "::" , stringify ! (
37505                MacKey ) ));
37506}
37507impl Clone for CThostFtdcNotifyFutureSignInField {
37508    fn clone(&self) -> Self { *self }
37509}
37510impl Default for CThostFtdcNotifyFutureSignInField {
37511    fn default() -> Self { unsafe { ::std::mem::zeroed() } }
37512}
37513/// 期商签退通知
37514#[repr(C)]
37515#[derive(Copy)]
37516pub struct CThostFtdcNotifyFutureSignOutField {
37517    /// 业务功能码
37518    pub TradeCode: TThostFtdcTradeCodeType,
37519    /// 银行代码
37520    pub BankID: TThostFtdcBankIDType,
37521    /// 银行分支机构代码
37522    pub BankBranchID: TThostFtdcBankBrchIDType,
37523    /// 期商代码
37524    pub BrokerID: TThostFtdcBrokerIDType,
37525    /// 期商分支机构代码
37526    pub BrokerBranchID: TThostFtdcFutureBranchIDType,
37527    /// 交易日期
37528    pub TradeDate: TThostFtdcTradeDateType,
37529    /// 交易时间
37530    pub TradeTime: TThostFtdcTradeTimeType,
37531    /// 银行流水号
37532    pub BankSerial: TThostFtdcBankSerialType,
37533    /// 交易系统日期
37534    pub TradingDay: TThostFtdcTradeDateType,
37535    /// 银期平台消息流水号
37536    pub PlateSerial: TThostFtdcSerialType,
37537    /// 最后分片标志
37538    pub LastFragment: TThostFtdcLastFragmentType,
37539    /// 会话号
37540    pub SessionID: TThostFtdcSessionIDType,
37541    /// 安装编号
37542    pub InstallID: TThostFtdcInstallIDType,
37543    /// 用户标识
37544    pub UserID: TThostFtdcUserIDType,
37545    /// 摘要
37546    pub Digest: TThostFtdcDigestType,
37547    /// 币种代码
37548    pub CurrencyID: TThostFtdcCurrencyIDType,
37549    /// 渠道标志
37550    pub DeviceID: TThostFtdcDeviceIDType,
37551    /// 期货公司银行编码
37552    pub BrokerIDByBank: TThostFtdcBankCodingForFutureType,
37553    /// 交易柜员
37554    pub OperNo: TThostFtdcOperNoType,
37555    /// 请求编号
37556    pub RequestID: TThostFtdcRequestIDType,
37557    /// 交易ID
37558    pub TID: TThostFtdcTIDType,
37559    /// 错误代码
37560    pub ErrorID: TThostFtdcErrorIDType,
37561    /// 错误信息
37562    pub ErrorMsg: TThostFtdcErrorMsgType,
37563}
37564#[test]
37565fn bindgen_test_layout_CThostFtdcNotifyFutureSignOutField() {
37566    assert_eq!(::std::mem::size_of::<CThostFtdcNotifyFutureSignOutField>() ,
37567               324usize , concat ! (
37568               "Size of: " , stringify ! ( CThostFtdcNotifyFutureSignOutField
37569               ) ));
37570    assert_eq! (::std::mem::align_of::<CThostFtdcNotifyFutureSignOutField>() ,
37571                4usize , concat ! (
37572                "Alignment of " , stringify ! (
37573                CThostFtdcNotifyFutureSignOutField ) ));
37574    assert_eq! (unsafe {
37575                & ( * ( 0 as * const CThostFtdcNotifyFutureSignOutField ) ) .
37576                TradeCode as * const _ as usize } , 0usize , concat ! (
37577                "Alignment of field: " , stringify ! (
37578                CThostFtdcNotifyFutureSignOutField ) , "::" , stringify ! (
37579                TradeCode ) ));
37580    assert_eq! (unsafe {
37581                & ( * ( 0 as * const CThostFtdcNotifyFutureSignOutField ) ) .
37582                BankID as * const _ as usize } , 7usize , concat ! (
37583                "Alignment of field: " , stringify ! (
37584                CThostFtdcNotifyFutureSignOutField ) , "::" , stringify ! (
37585                BankID ) ));
37586    assert_eq! (unsafe {
37587                & ( * ( 0 as * const CThostFtdcNotifyFutureSignOutField ) ) .
37588                BankBranchID as * const _ as usize } , 11usize , concat ! (
37589                "Alignment of field: " , stringify ! (
37590                CThostFtdcNotifyFutureSignOutField ) , "::" , stringify ! (
37591                BankBranchID ) ));
37592    assert_eq! (unsafe {
37593                & ( * ( 0 as * const CThostFtdcNotifyFutureSignOutField ) ) .
37594                BrokerID as * const _ as usize } , 16usize , concat ! (
37595                "Alignment of field: " , stringify ! (
37596                CThostFtdcNotifyFutureSignOutField ) , "::" , stringify ! (
37597                BrokerID ) ));
37598    assert_eq! (unsafe {
37599                & ( * ( 0 as * const CThostFtdcNotifyFutureSignOutField ) ) .
37600                BrokerBranchID as * const _ as usize } , 27usize , concat ! (
37601                "Alignment of field: " , stringify ! (
37602                CThostFtdcNotifyFutureSignOutField ) , "::" , stringify ! (
37603                BrokerBranchID ) ));
37604    assert_eq! (unsafe {
37605                & ( * ( 0 as * const CThostFtdcNotifyFutureSignOutField ) ) .
37606                TradeDate as * const _ as usize } , 58usize , concat ! (
37607                "Alignment of field: " , stringify ! (
37608                CThostFtdcNotifyFutureSignOutField ) , "::" , stringify ! (
37609                TradeDate ) ));
37610    assert_eq! (unsafe {
37611                & ( * ( 0 as * const CThostFtdcNotifyFutureSignOutField ) ) .
37612                TradeTime as * const _ as usize } , 67usize , concat ! (
37613                "Alignment of field: " , stringify ! (
37614                CThostFtdcNotifyFutureSignOutField ) , "::" , stringify ! (
37615                TradeTime ) ));
37616    assert_eq! (unsafe {
37617                & ( * ( 0 as * const CThostFtdcNotifyFutureSignOutField ) ) .
37618                BankSerial as * const _ as usize } , 76usize , concat ! (
37619                "Alignment of field: " , stringify ! (
37620                CThostFtdcNotifyFutureSignOutField ) , "::" , stringify ! (
37621                BankSerial ) ));
37622    assert_eq! (unsafe {
37623                & ( * ( 0 as * const CThostFtdcNotifyFutureSignOutField ) ) .
37624                TradingDay as * const _ as usize } , 89usize , concat ! (
37625                "Alignment of field: " , stringify ! (
37626                CThostFtdcNotifyFutureSignOutField ) , "::" , stringify ! (
37627                TradingDay ) ));
37628    assert_eq! (unsafe {
37629                & ( * ( 0 as * const CThostFtdcNotifyFutureSignOutField ) ) .
37630                PlateSerial as * const _ as usize } , 100usize , concat ! (
37631                "Alignment of field: " , stringify ! (
37632                CThostFtdcNotifyFutureSignOutField ) , "::" , stringify ! (
37633                PlateSerial ) ));
37634    assert_eq! (unsafe {
37635                & ( * ( 0 as * const CThostFtdcNotifyFutureSignOutField ) ) .
37636                LastFragment as * const _ as usize } , 104usize , concat ! (
37637                "Alignment of field: " , stringify ! (
37638                CThostFtdcNotifyFutureSignOutField ) , "::" , stringify ! (
37639                LastFragment ) ));
37640    assert_eq! (unsafe {
37641                & ( * ( 0 as * const CThostFtdcNotifyFutureSignOutField ) ) .
37642                SessionID as * const _ as usize } , 108usize , concat ! (
37643                "Alignment of field: " , stringify ! (
37644                CThostFtdcNotifyFutureSignOutField ) , "::" , stringify ! (
37645                SessionID ) ));
37646    assert_eq! (unsafe {
37647                & ( * ( 0 as * const CThostFtdcNotifyFutureSignOutField ) ) .
37648                InstallID as * const _ as usize } , 112usize , concat ! (
37649                "Alignment of field: " , stringify ! (
37650                CThostFtdcNotifyFutureSignOutField ) , "::" , stringify ! (
37651                InstallID ) ));
37652    assert_eq! (unsafe {
37653                & ( * ( 0 as * const CThostFtdcNotifyFutureSignOutField ) ) .
37654                UserID as * const _ as usize } , 116usize , concat ! (
37655                "Alignment of field: " , stringify ! (
37656                CThostFtdcNotifyFutureSignOutField ) , "::" , stringify ! (
37657                UserID ) ));
37658    assert_eq! (unsafe {
37659                & ( * ( 0 as * const CThostFtdcNotifyFutureSignOutField ) ) .
37660                Digest as * const _ as usize } , 132usize , concat ! (
37661                "Alignment of field: " , stringify ! (
37662                CThostFtdcNotifyFutureSignOutField ) , "::" , stringify ! (
37663                Digest ) ));
37664    assert_eq! (unsafe {
37665                & ( * ( 0 as * const CThostFtdcNotifyFutureSignOutField ) ) .
37666                CurrencyID as * const _ as usize } , 168usize , concat ! (
37667                "Alignment of field: " , stringify ! (
37668                CThostFtdcNotifyFutureSignOutField ) , "::" , stringify ! (
37669                CurrencyID ) ));
37670    assert_eq! (unsafe {
37671                & ( * ( 0 as * const CThostFtdcNotifyFutureSignOutField ) ) .
37672                DeviceID as * const _ as usize } , 172usize , concat ! (
37673                "Alignment of field: " , stringify ! (
37674                CThostFtdcNotifyFutureSignOutField ) , "::" , stringify ! (
37675                DeviceID ) ));
37676    assert_eq! (unsafe {
37677                & ( * ( 0 as * const CThostFtdcNotifyFutureSignOutField ) ) .
37678                BrokerIDByBank as * const _ as usize } , 175usize , concat ! (
37679                "Alignment of field: " , stringify ! (
37680                CThostFtdcNotifyFutureSignOutField ) , "::" , stringify ! (
37681                BrokerIDByBank ) ));
37682    assert_eq! (unsafe {
37683                & ( * ( 0 as * const CThostFtdcNotifyFutureSignOutField ) ) .
37684                OperNo as * const _ as usize } , 208usize , concat ! (
37685                "Alignment of field: " , stringify ! (
37686                CThostFtdcNotifyFutureSignOutField ) , "::" , stringify ! (
37687                OperNo ) ));
37688    assert_eq! (unsafe {
37689                & ( * ( 0 as * const CThostFtdcNotifyFutureSignOutField ) ) .
37690                RequestID as * const _ as usize } , 228usize , concat ! (
37691                "Alignment of field: " , stringify ! (
37692                CThostFtdcNotifyFutureSignOutField ) , "::" , stringify ! (
37693                RequestID ) ));
37694    assert_eq! (unsafe {
37695                & ( * ( 0 as * const CThostFtdcNotifyFutureSignOutField ) ) .
37696                TID as * const _ as usize } , 232usize , concat ! (
37697                "Alignment of field: " , stringify ! (
37698                CThostFtdcNotifyFutureSignOutField ) , "::" , stringify ! (
37699                TID ) ));
37700    assert_eq! (unsafe {
37701                & ( * ( 0 as * const CThostFtdcNotifyFutureSignOutField ) ) .
37702                ErrorID as * const _ as usize } , 236usize , concat ! (
37703                "Alignment of field: " , stringify ! (
37704                CThostFtdcNotifyFutureSignOutField ) , "::" , stringify ! (
37705                ErrorID ) ));
37706    assert_eq! (unsafe {
37707                & ( * ( 0 as * const CThostFtdcNotifyFutureSignOutField ) ) .
37708                ErrorMsg as * const _ as usize } , 240usize , concat ! (
37709                "Alignment of field: " , stringify ! (
37710                CThostFtdcNotifyFutureSignOutField ) , "::" , stringify ! (
37711                ErrorMsg ) ));
37712}
37713impl Clone for CThostFtdcNotifyFutureSignOutField {
37714    fn clone(&self) -> Self { *self }
37715}
37716impl Default for CThostFtdcNotifyFutureSignOutField {
37717    fn default() -> Self { unsafe { ::std::mem::zeroed() } }
37718}
37719/// 交易核心向银期报盘发出密钥同步处理结果的通知
37720#[repr(C)]
37721#[derive(Copy)]
37722pub struct CThostFtdcNotifySyncKeyField {
37723    /// 业务功能码
37724    pub TradeCode: TThostFtdcTradeCodeType,
37725    /// 银行代码
37726    pub BankID: TThostFtdcBankIDType,
37727    /// 银行分支机构代码
37728    pub BankBranchID: TThostFtdcBankBrchIDType,
37729    /// 期商代码
37730    pub BrokerID: TThostFtdcBrokerIDType,
37731    /// 期商分支机构代码
37732    pub BrokerBranchID: TThostFtdcFutureBranchIDType,
37733    /// 交易日期
37734    pub TradeDate: TThostFtdcTradeDateType,
37735    /// 交易时间
37736    pub TradeTime: TThostFtdcTradeTimeType,
37737    /// 银行流水号
37738    pub BankSerial: TThostFtdcBankSerialType,
37739    /// 交易系统日期
37740    pub TradingDay: TThostFtdcTradeDateType,
37741    /// 银期平台消息流水号
37742    pub PlateSerial: TThostFtdcSerialType,
37743    /// 最后分片标志
37744    pub LastFragment: TThostFtdcLastFragmentType,
37745    /// 会话号
37746    pub SessionID: TThostFtdcSessionIDType,
37747    /// 安装编号
37748    pub InstallID: TThostFtdcInstallIDType,
37749    /// 用户标识
37750    pub UserID: TThostFtdcUserIDType,
37751    /// 交易核心给银期报盘的消息
37752    pub Message: TThostFtdcAddInfoType,
37753    /// 渠道标志
37754    pub DeviceID: TThostFtdcDeviceIDType,
37755    /// 期货公司银行编码
37756    pub BrokerIDByBank: TThostFtdcBankCodingForFutureType,
37757    /// 交易柜员
37758    pub OperNo: TThostFtdcOperNoType,
37759    /// 请求编号
37760    pub RequestID: TThostFtdcRequestIDType,
37761    /// 交易ID
37762    pub TID: TThostFtdcTIDType,
37763    /// 错误代码
37764    pub ErrorID: TThostFtdcErrorIDType,
37765    /// 错误信息
37766    pub ErrorMsg: TThostFtdcErrorMsgType,
37767}
37768#[test]
37769fn bindgen_test_layout_CThostFtdcNotifySyncKeyField() {
37770    assert_eq!(::std::mem::size_of::<CThostFtdcNotifySyncKeyField>() ,
37771               412usize , concat ! (
37772               "Size of: " , stringify ! ( CThostFtdcNotifySyncKeyField ) ));
37773    assert_eq! (::std::mem::align_of::<CThostFtdcNotifySyncKeyField>() ,
37774                4usize , concat ! (
37775                "Alignment of " , stringify ! ( CThostFtdcNotifySyncKeyField )
37776                ));
37777    assert_eq! (unsafe {
37778                & ( * ( 0 as * const CThostFtdcNotifySyncKeyField ) ) .
37779                TradeCode as * const _ as usize } , 0usize , concat ! (
37780                "Alignment of field: " , stringify ! (
37781                CThostFtdcNotifySyncKeyField ) , "::" , stringify ! (
37782                TradeCode ) ));
37783    assert_eq! (unsafe {
37784                & ( * ( 0 as * const CThostFtdcNotifySyncKeyField ) ) . BankID
37785                as * const _ as usize } , 7usize , concat ! (
37786                "Alignment of field: " , stringify ! (
37787                CThostFtdcNotifySyncKeyField ) , "::" , stringify ! ( BankID )
37788                ));
37789    assert_eq! (unsafe {
37790                & ( * ( 0 as * const CThostFtdcNotifySyncKeyField ) ) .
37791                BankBranchID as * const _ as usize } , 11usize , concat ! (
37792                "Alignment of field: " , stringify ! (
37793                CThostFtdcNotifySyncKeyField ) , "::" , stringify ! (
37794                BankBranchID ) ));
37795    assert_eq! (unsafe {
37796                & ( * ( 0 as * const CThostFtdcNotifySyncKeyField ) ) .
37797                BrokerID as * const _ as usize } , 16usize , concat ! (
37798                "Alignment of field: " , stringify ! (
37799                CThostFtdcNotifySyncKeyField ) , "::" , stringify ! ( BrokerID
37800                ) ));
37801    assert_eq! (unsafe {
37802                & ( * ( 0 as * const CThostFtdcNotifySyncKeyField ) ) .
37803                BrokerBranchID as * const _ as usize } , 27usize , concat ! (
37804                "Alignment of field: " , stringify ! (
37805                CThostFtdcNotifySyncKeyField ) , "::" , stringify ! (
37806                BrokerBranchID ) ));
37807    assert_eq! (unsafe {
37808                & ( * ( 0 as * const CThostFtdcNotifySyncKeyField ) ) .
37809                TradeDate as * const _ as usize } , 58usize , concat ! (
37810                "Alignment of field: " , stringify ! (
37811                CThostFtdcNotifySyncKeyField ) , "::" , stringify ! (
37812                TradeDate ) ));
37813    assert_eq! (unsafe {
37814                & ( * ( 0 as * const CThostFtdcNotifySyncKeyField ) ) .
37815                TradeTime as * const _ as usize } , 67usize , concat ! (
37816                "Alignment of field: " , stringify ! (
37817                CThostFtdcNotifySyncKeyField ) , "::" , stringify ! (
37818                TradeTime ) ));
37819    assert_eq! (unsafe {
37820                & ( * ( 0 as * const CThostFtdcNotifySyncKeyField ) ) .
37821                BankSerial as * const _ as usize } , 76usize , concat ! (
37822                "Alignment of field: " , stringify ! (
37823                CThostFtdcNotifySyncKeyField ) , "::" , stringify ! (
37824                BankSerial ) ));
37825    assert_eq! (unsafe {
37826                & ( * ( 0 as * const CThostFtdcNotifySyncKeyField ) ) .
37827                TradingDay as * const _ as usize } , 89usize , concat ! (
37828                "Alignment of field: " , stringify ! (
37829                CThostFtdcNotifySyncKeyField ) , "::" , stringify ! (
37830                TradingDay ) ));
37831    assert_eq! (unsafe {
37832                & ( * ( 0 as * const CThostFtdcNotifySyncKeyField ) ) .
37833                PlateSerial as * const _ as usize } , 100usize , concat ! (
37834                "Alignment of field: " , stringify ! (
37835                CThostFtdcNotifySyncKeyField ) , "::" , stringify ! (
37836                PlateSerial ) ));
37837    assert_eq! (unsafe {
37838                & ( * ( 0 as * const CThostFtdcNotifySyncKeyField ) ) .
37839                LastFragment as * const _ as usize } , 104usize , concat ! (
37840                "Alignment of field: " , stringify ! (
37841                CThostFtdcNotifySyncKeyField ) , "::" , stringify ! (
37842                LastFragment ) ));
37843    assert_eq! (unsafe {
37844                & ( * ( 0 as * const CThostFtdcNotifySyncKeyField ) ) .
37845                SessionID as * const _ as usize } , 108usize , concat ! (
37846                "Alignment of field: " , stringify ! (
37847                CThostFtdcNotifySyncKeyField ) , "::" , stringify ! (
37848                SessionID ) ));
37849    assert_eq! (unsafe {
37850                & ( * ( 0 as * const CThostFtdcNotifySyncKeyField ) ) .
37851                InstallID as * const _ as usize } , 112usize , concat ! (
37852                "Alignment of field: " , stringify ! (
37853                CThostFtdcNotifySyncKeyField ) , "::" , stringify ! (
37854                InstallID ) ));
37855    assert_eq! (unsafe {
37856                & ( * ( 0 as * const CThostFtdcNotifySyncKeyField ) ) . UserID
37857                as * const _ as usize } , 116usize , concat ! (
37858                "Alignment of field: " , stringify ! (
37859                CThostFtdcNotifySyncKeyField ) , "::" , stringify ! ( UserID )
37860                ));
37861    assert_eq! (unsafe {
37862                & ( * ( 0 as * const CThostFtdcNotifySyncKeyField ) ) .
37863                Message as * const _ as usize } , 132usize , concat ! (
37864                "Alignment of field: " , stringify ! (
37865                CThostFtdcNotifySyncKeyField ) , "::" , stringify ! ( Message
37866                ) ));
37867    assert_eq! (unsafe {
37868                & ( * ( 0 as * const CThostFtdcNotifySyncKeyField ) ) .
37869                DeviceID as * const _ as usize } , 261usize , concat ! (
37870                "Alignment of field: " , stringify ! (
37871                CThostFtdcNotifySyncKeyField ) , "::" , stringify ! ( DeviceID
37872                ) ));
37873    assert_eq! (unsafe {
37874                & ( * ( 0 as * const CThostFtdcNotifySyncKeyField ) ) .
37875                BrokerIDByBank as * const _ as usize } , 264usize , concat ! (
37876                "Alignment of field: " , stringify ! (
37877                CThostFtdcNotifySyncKeyField ) , "::" , stringify ! (
37878                BrokerIDByBank ) ));
37879    assert_eq! (unsafe {
37880                & ( * ( 0 as * const CThostFtdcNotifySyncKeyField ) ) . OperNo
37881                as * const _ as usize } , 297usize , concat ! (
37882                "Alignment of field: " , stringify ! (
37883                CThostFtdcNotifySyncKeyField ) , "::" , stringify ! ( OperNo )
37884                ));
37885    assert_eq! (unsafe {
37886                & ( * ( 0 as * const CThostFtdcNotifySyncKeyField ) ) .
37887                RequestID as * const _ as usize } , 316usize , concat ! (
37888                "Alignment of field: " , stringify ! (
37889                CThostFtdcNotifySyncKeyField ) , "::" , stringify ! (
37890                RequestID ) ));
37891    assert_eq! (unsafe {
37892                & ( * ( 0 as * const CThostFtdcNotifySyncKeyField ) ) . TID as
37893                * const _ as usize } , 320usize , concat ! (
37894                "Alignment of field: " , stringify ! (
37895                CThostFtdcNotifySyncKeyField ) , "::" , stringify ! ( TID )
37896                ));
37897    assert_eq! (unsafe {
37898                & ( * ( 0 as * const CThostFtdcNotifySyncKeyField ) ) .
37899                ErrorID as * const _ as usize } , 324usize , concat ! (
37900                "Alignment of field: " , stringify ! (
37901                CThostFtdcNotifySyncKeyField ) , "::" , stringify ! ( ErrorID
37902                ) ));
37903    assert_eq! (unsafe {
37904                & ( * ( 0 as * const CThostFtdcNotifySyncKeyField ) ) .
37905                ErrorMsg as * const _ as usize } , 328usize , concat ! (
37906                "Alignment of field: " , stringify ! (
37907                CThostFtdcNotifySyncKeyField ) , "::" , stringify ! ( ErrorMsg
37908                ) ));
37909}
37910impl Clone for CThostFtdcNotifySyncKeyField {
37911    fn clone(&self) -> Self { *self }
37912}
37913impl Default for CThostFtdcNotifySyncKeyField {
37914    fn default() -> Self { unsafe { ::std::mem::zeroed() } }
37915}
37916/// 请求查询银期签约关系
37917#[repr(C)]
37918#[derive(Default, Copy)]
37919pub struct CThostFtdcQryAccountregisterField {
37920    /// 经纪公司代码
37921    pub BrokerID: TThostFtdcBrokerIDType,
37922    /// 投资者帐号
37923    pub AccountID: TThostFtdcAccountIDType,
37924    /// 银行编码
37925    pub BankID: TThostFtdcBankIDType,
37926    /// 银行分支机构编码
37927    pub BankBranchID: TThostFtdcBankBrchIDType,
37928    /// 币种代码
37929    pub CurrencyID: TThostFtdcCurrencyIDType,
37930}
37931#[test]
37932fn bindgen_test_layout_CThostFtdcQryAccountregisterField() {
37933    assert_eq!(::std::mem::size_of::<CThostFtdcQryAccountregisterField>() ,
37934               37usize , concat ! (
37935               "Size of: " , stringify ! ( CThostFtdcQryAccountregisterField )
37936               ));
37937    assert_eq! (::std::mem::align_of::<CThostFtdcQryAccountregisterField>() ,
37938                1usize , concat ! (
37939                "Alignment of " , stringify ! (
37940                CThostFtdcQryAccountregisterField ) ));
37941    assert_eq! (unsafe {
37942                & ( * ( 0 as * const CThostFtdcQryAccountregisterField ) ) .
37943                BrokerID as * const _ as usize } , 0usize , concat ! (
37944                "Alignment of field: " , stringify ! (
37945                CThostFtdcQryAccountregisterField ) , "::" , stringify ! (
37946                BrokerID ) ));
37947    assert_eq! (unsafe {
37948                & ( * ( 0 as * const CThostFtdcQryAccountregisterField ) ) .
37949                AccountID as * const _ as usize } , 11usize , concat ! (
37950                "Alignment of field: " , stringify ! (
37951                CThostFtdcQryAccountregisterField ) , "::" , stringify ! (
37952                AccountID ) ));
37953    assert_eq! (unsafe {
37954                & ( * ( 0 as * const CThostFtdcQryAccountregisterField ) ) .
37955                BankID as * const _ as usize } , 24usize , concat ! (
37956                "Alignment of field: " , stringify ! (
37957                CThostFtdcQryAccountregisterField ) , "::" , stringify ! (
37958                BankID ) ));
37959    assert_eq! (unsafe {
37960                & ( * ( 0 as * const CThostFtdcQryAccountregisterField ) ) .
37961                BankBranchID as * const _ as usize } , 28usize , concat ! (
37962                "Alignment of field: " , stringify ! (
37963                CThostFtdcQryAccountregisterField ) , "::" , stringify ! (
37964                BankBranchID ) ));
37965    assert_eq! (unsafe {
37966                & ( * ( 0 as * const CThostFtdcQryAccountregisterField ) ) .
37967                CurrencyID as * const _ as usize } , 33usize , concat ! (
37968                "Alignment of field: " , stringify ! (
37969                CThostFtdcQryAccountregisterField ) , "::" , stringify ! (
37970                CurrencyID ) ));
37971}
37972impl Clone for CThostFtdcQryAccountregisterField {
37973    fn clone(&self) -> Self { *self }
37974}
37975/// 客户开销户信息表
37976#[repr(C)]
37977#[derive(Copy)]
37978pub struct CThostFtdcAccountregisterField {
37979    /// 交易日期
37980    pub TradeDay: TThostFtdcTradeDateType,
37981    /// 银行编码
37982    pub BankID: TThostFtdcBankIDType,
37983    /// 银行分支机构编码
37984    pub BankBranchID: TThostFtdcBankBrchIDType,
37985    /// 银行帐号
37986    pub BankAccount: TThostFtdcBankAccountType,
37987    /// 期货公司编码
37988    pub BrokerID: TThostFtdcBrokerIDType,
37989    /// 期货公司分支机构编码
37990    pub BrokerBranchID: TThostFtdcFutureBranchIDType,
37991    /// 投资者帐号
37992    pub AccountID: TThostFtdcAccountIDType,
37993    /// 证件类型
37994    pub IdCardType: TThostFtdcIdCardTypeType,
37995    /// 证件号码
37996    pub IdentifiedCardNo: TThostFtdcIdentifiedCardNoType,
37997    /// 客户姓名
37998    pub CustomerName: TThostFtdcIndividualNameType,
37999    /// 币种代码
38000    pub CurrencyID: TThostFtdcCurrencyIDType,
38001    /// 开销户类别
38002    pub OpenOrDestroy: TThostFtdcOpenOrDestroyType,
38003    /// 签约日期
38004    pub RegDate: TThostFtdcTradeDateType,
38005    /// 解约日期
38006    pub OutDate: TThostFtdcTradeDateType,
38007    /// 交易ID
38008    pub TID: TThostFtdcTIDType,
38009    /// 客户类型
38010    pub CustType: TThostFtdcCustTypeType,
38011    /// 银行帐号类型
38012    pub BankAccType: TThostFtdcBankAccTypeType,
38013    /// 长客户姓名
38014    pub LongCustomerName: TThostFtdcLongIndividualNameType,
38015}
38016#[test]
38017fn bindgen_test_layout_CThostFtdcAccountregisterField() {
38018    assert_eq!(::std::mem::size_of::<CThostFtdcAccountregisterField>() ,
38019               408usize , concat ! (
38020               "Size of: " , stringify ! ( CThostFtdcAccountregisterField )
38021               ));
38022    assert_eq! (::std::mem::align_of::<CThostFtdcAccountregisterField>() ,
38023                4usize , concat ! (
38024                "Alignment of " , stringify ! ( CThostFtdcAccountregisterField
38025                ) ));
38026    assert_eq! (unsafe {
38027                & ( * ( 0 as * const CThostFtdcAccountregisterField ) ) .
38028                TradeDay as * const _ as usize } , 0usize , concat ! (
38029                "Alignment of field: " , stringify ! (
38030                CThostFtdcAccountregisterField ) , "::" , stringify ! (
38031                TradeDay ) ));
38032    assert_eq! (unsafe {
38033                & ( * ( 0 as * const CThostFtdcAccountregisterField ) ) .
38034                BankID as * const _ as usize } , 9usize , concat ! (
38035                "Alignment of field: " , stringify ! (
38036                CThostFtdcAccountregisterField ) , "::" , stringify ! ( BankID
38037                ) ));
38038    assert_eq! (unsafe {
38039                & ( * ( 0 as * const CThostFtdcAccountregisterField ) ) .
38040                BankBranchID as * const _ as usize } , 13usize , concat ! (
38041                "Alignment of field: " , stringify ! (
38042                CThostFtdcAccountregisterField ) , "::" , stringify ! (
38043                BankBranchID ) ));
38044    assert_eq! (unsafe {
38045                & ( * ( 0 as * const CThostFtdcAccountregisterField ) ) .
38046                BankAccount as * const _ as usize } , 18usize , concat ! (
38047                "Alignment of field: " , stringify ! (
38048                CThostFtdcAccountregisterField ) , "::" , stringify ! (
38049                BankAccount ) ));
38050    assert_eq! (unsafe {
38051                & ( * ( 0 as * const CThostFtdcAccountregisterField ) ) .
38052                BrokerID as * const _ as usize } , 59usize , concat ! (
38053                "Alignment of field: " , stringify ! (
38054                CThostFtdcAccountregisterField ) , "::" , stringify ! (
38055                BrokerID ) ));
38056    assert_eq! (unsafe {
38057                & ( * ( 0 as * const CThostFtdcAccountregisterField ) ) .
38058                BrokerBranchID as * const _ as usize } , 70usize , concat ! (
38059                "Alignment of field: " , stringify ! (
38060                CThostFtdcAccountregisterField ) , "::" , stringify ! (
38061                BrokerBranchID ) ));
38062    assert_eq! (unsafe {
38063                & ( * ( 0 as * const CThostFtdcAccountregisterField ) ) .
38064                AccountID as * const _ as usize } , 101usize , concat ! (
38065                "Alignment of field: " , stringify ! (
38066                CThostFtdcAccountregisterField ) , "::" , stringify ! (
38067                AccountID ) ));
38068    assert_eq! (unsafe {
38069                & ( * ( 0 as * const CThostFtdcAccountregisterField ) ) .
38070                IdCardType as * const _ as usize } , 114usize , concat ! (
38071                "Alignment of field: " , stringify ! (
38072                CThostFtdcAccountregisterField ) , "::" , stringify ! (
38073                IdCardType ) ));
38074    assert_eq! (unsafe {
38075                & ( * ( 0 as * const CThostFtdcAccountregisterField ) ) .
38076                IdentifiedCardNo as * const _ as usize } , 115usize , concat !
38077                (
38078                "Alignment of field: " , stringify ! (
38079                CThostFtdcAccountregisterField ) , "::" , stringify ! (
38080                IdentifiedCardNo ) ));
38081    assert_eq! (unsafe {
38082                & ( * ( 0 as * const CThostFtdcAccountregisterField ) ) .
38083                CustomerName as * const _ as usize } , 166usize , concat ! (
38084                "Alignment of field: " , stringify ! (
38085                CThostFtdcAccountregisterField ) , "::" , stringify ! (
38086                CustomerName ) ));
38087    assert_eq! (unsafe {
38088                & ( * ( 0 as * const CThostFtdcAccountregisterField ) ) .
38089                CurrencyID as * const _ as usize } , 217usize , concat ! (
38090                "Alignment of field: " , stringify ! (
38091                CThostFtdcAccountregisterField ) , "::" , stringify ! (
38092                CurrencyID ) ));
38093    assert_eq! (unsafe {
38094                & ( * ( 0 as * const CThostFtdcAccountregisterField ) ) .
38095                OpenOrDestroy as * const _ as usize } , 221usize , concat ! (
38096                "Alignment of field: " , stringify ! (
38097                CThostFtdcAccountregisterField ) , "::" , stringify ! (
38098                OpenOrDestroy ) ));
38099    assert_eq! (unsafe {
38100                & ( * ( 0 as * const CThostFtdcAccountregisterField ) ) .
38101                RegDate as * const _ as usize } , 222usize , concat ! (
38102                "Alignment of field: " , stringify ! (
38103                CThostFtdcAccountregisterField ) , "::" , stringify ! (
38104                RegDate ) ));
38105    assert_eq! (unsafe {
38106                & ( * ( 0 as * const CThostFtdcAccountregisterField ) ) .
38107                OutDate as * const _ as usize } , 231usize , concat ! (
38108                "Alignment of field: " , stringify ! (
38109                CThostFtdcAccountregisterField ) , "::" , stringify ! (
38110                OutDate ) ));
38111    assert_eq! (unsafe {
38112                & ( * ( 0 as * const CThostFtdcAccountregisterField ) ) . TID
38113                as * const _ as usize } , 240usize , concat ! (
38114                "Alignment of field: " , stringify ! (
38115                CThostFtdcAccountregisterField ) , "::" , stringify ! ( TID )
38116                ));
38117    assert_eq! (unsafe {
38118                & ( * ( 0 as * const CThostFtdcAccountregisterField ) ) .
38119                CustType as * const _ as usize } , 244usize , concat ! (
38120                "Alignment of field: " , stringify ! (
38121                CThostFtdcAccountregisterField ) , "::" , stringify ! (
38122                CustType ) ));
38123    assert_eq! (unsafe {
38124                & ( * ( 0 as * const CThostFtdcAccountregisterField ) ) .
38125                BankAccType as * const _ as usize } , 245usize , concat ! (
38126                "Alignment of field: " , stringify ! (
38127                CThostFtdcAccountregisterField ) , "::" , stringify ! (
38128                BankAccType ) ));
38129    assert_eq! (unsafe {
38130                & ( * ( 0 as * const CThostFtdcAccountregisterField ) ) .
38131                LongCustomerName as * const _ as usize } , 246usize , concat !
38132                (
38133                "Alignment of field: " , stringify ! (
38134                CThostFtdcAccountregisterField ) , "::" , stringify ! (
38135                LongCustomerName ) ));
38136}
38137impl Clone for CThostFtdcAccountregisterField {
38138    fn clone(&self) -> Self { *self }
38139}
38140impl Default for CThostFtdcAccountregisterField {
38141    fn default() -> Self { unsafe { ::std::mem::zeroed() } }
38142}
38143/// 银期开户信息
38144#[repr(C)]
38145#[derive(Copy)]
38146pub struct CThostFtdcOpenAccountField {
38147    /// 业务功能码
38148    pub TradeCode: TThostFtdcTradeCodeType,
38149    /// 银行代码
38150    pub BankID: TThostFtdcBankIDType,
38151    /// 银行分支机构代码
38152    pub BankBranchID: TThostFtdcBankBrchIDType,
38153    /// 期商代码
38154    pub BrokerID: TThostFtdcBrokerIDType,
38155    /// 期商分支机构代码
38156    pub BrokerBranchID: TThostFtdcFutureBranchIDType,
38157    /// 交易日期
38158    pub TradeDate: TThostFtdcTradeDateType,
38159    /// 交易时间
38160    pub TradeTime: TThostFtdcTradeTimeType,
38161    /// 银行流水号
38162    pub BankSerial: TThostFtdcBankSerialType,
38163    /// 交易系统日期
38164    pub TradingDay: TThostFtdcTradeDateType,
38165    /// 银期平台消息流水号
38166    pub PlateSerial: TThostFtdcSerialType,
38167    /// 最后分片标志
38168    pub LastFragment: TThostFtdcLastFragmentType,
38169    /// 会话号
38170    pub SessionID: TThostFtdcSessionIDType,
38171    /// 客户姓名
38172    pub CustomerName: TThostFtdcIndividualNameType,
38173    /// 证件类型
38174    pub IdCardType: TThostFtdcIdCardTypeType,
38175    /// 证件号码
38176    pub IdentifiedCardNo: TThostFtdcIdentifiedCardNoType,
38177    /// 性别
38178    pub Gender: TThostFtdcGenderType,
38179    /// 国家代码
38180    pub CountryCode: TThostFtdcCountryCodeType,
38181    /// 客户类型
38182    pub CustType: TThostFtdcCustTypeType,
38183    /// 地址
38184    pub Address: TThostFtdcAddressType,
38185    /// 邮编
38186    pub ZipCode: TThostFtdcZipCodeType,
38187    /// 电话号码
38188    pub Telephone: TThostFtdcTelephoneType,
38189    /// 手机
38190    pub MobilePhone: TThostFtdcMobilePhoneType,
38191    /// 传真
38192    pub Fax: TThostFtdcFaxType,
38193    /// 电子邮件
38194    pub EMail: TThostFtdcEMailType,
38195    /// 资金账户状态
38196    pub MoneyAccountStatus: TThostFtdcMoneyAccountStatusType,
38197    /// 银行帐号
38198    pub BankAccount: TThostFtdcBankAccountType,
38199    /// 银行密码
38200    pub BankPassWord: TThostFtdcPasswordType,
38201    /// 投资者帐号
38202    pub AccountID: TThostFtdcAccountIDType,
38203    /// 期货密码
38204    pub Password: TThostFtdcPasswordType,
38205    /// 安装编号
38206    pub InstallID: TThostFtdcInstallIDType,
38207    /// 验证客户证件号码标志
38208    pub VerifyCertNoFlag: TThostFtdcYesNoIndicatorType,
38209    /// 币种代码
38210    pub CurrencyID: TThostFtdcCurrencyIDType,
38211    /// 汇钞标志
38212    pub CashExchangeCode: TThostFtdcCashExchangeCodeType,
38213    /// 摘要
38214    pub Digest: TThostFtdcDigestType,
38215    /// 银行帐号类型
38216    pub BankAccType: TThostFtdcBankAccTypeType,
38217    /// 渠道标志
38218    pub DeviceID: TThostFtdcDeviceIDType,
38219    /// 期货单位帐号类型
38220    pub BankSecuAccType: TThostFtdcBankAccTypeType,
38221    /// 期货公司银行编码
38222    pub BrokerIDByBank: TThostFtdcBankCodingForFutureType,
38223    /// 期货单位帐号
38224    pub BankSecuAcc: TThostFtdcBankAccountType,
38225    /// 银行密码标志
38226    pub BankPwdFlag: TThostFtdcPwdFlagType,
38227    /// 期货资金密码核对标志
38228    pub SecuPwdFlag: TThostFtdcPwdFlagType,
38229    /// 交易柜员
38230    pub OperNo: TThostFtdcOperNoType,
38231    /// 交易ID
38232    pub TID: TThostFtdcTIDType,
38233    /// 用户标识
38234    pub UserID: TThostFtdcUserIDType,
38235    /// 错误代码
38236    pub ErrorID: TThostFtdcErrorIDType,
38237    /// 错误信息
38238    pub ErrorMsg: TThostFtdcErrorMsgType,
38239    /// 长客户姓名
38240    pub LongCustomerName: TThostFtdcLongIndividualNameType,
38241}
38242#[test]
38243fn bindgen_test_layout_CThostFtdcOpenAccountField() {
38244    assert_eq!(::std::mem::size_of::<CThostFtdcOpenAccountField>() , 1040usize
38245               , concat ! (
38246               "Size of: " , stringify ! ( CThostFtdcOpenAccountField ) ));
38247    assert_eq! (::std::mem::align_of::<CThostFtdcOpenAccountField>() , 4usize
38248                , concat ! (
38249                "Alignment of " , stringify ! ( CThostFtdcOpenAccountField )
38250                ));
38251    assert_eq! (unsafe {
38252                & ( * ( 0 as * const CThostFtdcOpenAccountField ) ) .
38253                TradeCode as * const _ as usize } , 0usize , concat ! (
38254                "Alignment of field: " , stringify ! (
38255                CThostFtdcOpenAccountField ) , "::" , stringify ! ( TradeCode
38256                ) ));
38257    assert_eq! (unsafe {
38258                & ( * ( 0 as * const CThostFtdcOpenAccountField ) ) . BankID
38259                as * const _ as usize } , 7usize , concat ! (
38260                "Alignment of field: " , stringify ! (
38261                CThostFtdcOpenAccountField ) , "::" , stringify ! ( BankID )
38262                ));
38263    assert_eq! (unsafe {
38264                & ( * ( 0 as * const CThostFtdcOpenAccountField ) ) .
38265                BankBranchID as * const _ as usize } , 11usize , concat ! (
38266                "Alignment of field: " , stringify ! (
38267                CThostFtdcOpenAccountField ) , "::" , stringify ! (
38268                BankBranchID ) ));
38269    assert_eq! (unsafe {
38270                & ( * ( 0 as * const CThostFtdcOpenAccountField ) ) . BrokerID
38271                as * const _ as usize } , 16usize , concat ! (
38272                "Alignment of field: " , stringify ! (
38273                CThostFtdcOpenAccountField ) , "::" , stringify ! ( BrokerID )
38274                ));
38275    assert_eq! (unsafe {
38276                & ( * ( 0 as * const CThostFtdcOpenAccountField ) ) .
38277                BrokerBranchID as * const _ as usize } , 27usize , concat ! (
38278                "Alignment of field: " , stringify ! (
38279                CThostFtdcOpenAccountField ) , "::" , stringify ! (
38280                BrokerBranchID ) ));
38281    assert_eq! (unsafe {
38282                & ( * ( 0 as * const CThostFtdcOpenAccountField ) ) .
38283                TradeDate as * const _ as usize } , 58usize , concat ! (
38284                "Alignment of field: " , stringify ! (
38285                CThostFtdcOpenAccountField ) , "::" , stringify ! ( TradeDate
38286                ) ));
38287    assert_eq! (unsafe {
38288                & ( * ( 0 as * const CThostFtdcOpenAccountField ) ) .
38289                TradeTime as * const _ as usize } , 67usize , concat ! (
38290                "Alignment of field: " , stringify ! (
38291                CThostFtdcOpenAccountField ) , "::" , stringify ! ( TradeTime
38292                ) ));
38293    assert_eq! (unsafe {
38294                & ( * ( 0 as * const CThostFtdcOpenAccountField ) ) .
38295                BankSerial as * const _ as usize } , 76usize , concat ! (
38296                "Alignment of field: " , stringify ! (
38297                CThostFtdcOpenAccountField ) , "::" , stringify ! ( BankSerial
38298                ) ));
38299    assert_eq! (unsafe {
38300                & ( * ( 0 as * const CThostFtdcOpenAccountField ) ) .
38301                TradingDay as * const _ as usize } , 89usize , concat ! (
38302                "Alignment of field: " , stringify ! (
38303                CThostFtdcOpenAccountField ) , "::" , stringify ! ( TradingDay
38304                ) ));
38305    assert_eq! (unsafe {
38306                & ( * ( 0 as * const CThostFtdcOpenAccountField ) ) .
38307                PlateSerial as * const _ as usize } , 100usize , concat ! (
38308                "Alignment of field: " , stringify ! (
38309                CThostFtdcOpenAccountField ) , "::" , stringify ! (
38310                PlateSerial ) ));
38311    assert_eq! (unsafe {
38312                & ( * ( 0 as * const CThostFtdcOpenAccountField ) ) .
38313                LastFragment as * const _ as usize } , 104usize , concat ! (
38314                "Alignment of field: " , stringify ! (
38315                CThostFtdcOpenAccountField ) , "::" , stringify ! (
38316                LastFragment ) ));
38317    assert_eq! (unsafe {
38318                & ( * ( 0 as * const CThostFtdcOpenAccountField ) ) .
38319                SessionID as * const _ as usize } , 108usize , concat ! (
38320                "Alignment of field: " , stringify ! (
38321                CThostFtdcOpenAccountField ) , "::" , stringify ! ( SessionID
38322                ) ));
38323    assert_eq! (unsafe {
38324                & ( * ( 0 as * const CThostFtdcOpenAccountField ) ) .
38325                CustomerName as * const _ as usize } , 112usize , concat ! (
38326                "Alignment of field: " , stringify ! (
38327                CThostFtdcOpenAccountField ) , "::" , stringify ! (
38328                CustomerName ) ));
38329    assert_eq! (unsafe {
38330                & ( * ( 0 as * const CThostFtdcOpenAccountField ) ) .
38331                IdCardType as * const _ as usize } , 163usize , concat ! (
38332                "Alignment of field: " , stringify ! (
38333                CThostFtdcOpenAccountField ) , "::" , stringify ! ( IdCardType
38334                ) ));
38335    assert_eq! (unsafe {
38336                & ( * ( 0 as * const CThostFtdcOpenAccountField ) ) .
38337                IdentifiedCardNo as * const _ as usize } , 164usize , concat !
38338                (
38339                "Alignment of field: " , stringify ! (
38340                CThostFtdcOpenAccountField ) , "::" , stringify ! (
38341                IdentifiedCardNo ) ));
38342    assert_eq! (unsafe {
38343                & ( * ( 0 as * const CThostFtdcOpenAccountField ) ) . Gender
38344                as * const _ as usize } , 215usize , concat ! (
38345                "Alignment of field: " , stringify ! (
38346                CThostFtdcOpenAccountField ) , "::" , stringify ! ( Gender )
38347                ));
38348    assert_eq! (unsafe {
38349                & ( * ( 0 as * const CThostFtdcOpenAccountField ) ) .
38350                CountryCode as * const _ as usize } , 216usize , concat ! (
38351                "Alignment of field: " , stringify ! (
38352                CThostFtdcOpenAccountField ) , "::" , stringify ! (
38353                CountryCode ) ));
38354    assert_eq! (unsafe {
38355                & ( * ( 0 as * const CThostFtdcOpenAccountField ) ) . CustType
38356                as * const _ as usize } , 237usize , concat ! (
38357                "Alignment of field: " , stringify ! (
38358                CThostFtdcOpenAccountField ) , "::" , stringify ! ( CustType )
38359                ));
38360    assert_eq! (unsafe {
38361                & ( * ( 0 as * const CThostFtdcOpenAccountField ) ) . Address
38362                as * const _ as usize } , 238usize , concat ! (
38363                "Alignment of field: " , stringify ! (
38364                CThostFtdcOpenAccountField ) , "::" , stringify ! ( Address )
38365                ));
38366    assert_eq! (unsafe {
38367                & ( * ( 0 as * const CThostFtdcOpenAccountField ) ) . ZipCode
38368                as * const _ as usize } , 339usize , concat ! (
38369                "Alignment of field: " , stringify ! (
38370                CThostFtdcOpenAccountField ) , "::" , stringify ! ( ZipCode )
38371                ));
38372    assert_eq! (unsafe {
38373                & ( * ( 0 as * const CThostFtdcOpenAccountField ) ) .
38374                Telephone as * const _ as usize } , 346usize , concat ! (
38375                "Alignment of field: " , stringify ! (
38376                CThostFtdcOpenAccountField ) , "::" , stringify ! ( Telephone
38377                ) ));
38378    assert_eq! (unsafe {
38379                & ( * ( 0 as * const CThostFtdcOpenAccountField ) ) .
38380                MobilePhone as * const _ as usize } , 387usize , concat ! (
38381                "Alignment of field: " , stringify ! (
38382                CThostFtdcOpenAccountField ) , "::" , stringify ! (
38383                MobilePhone ) ));
38384    assert_eq! (unsafe {
38385                & ( * ( 0 as * const CThostFtdcOpenAccountField ) ) . Fax as *
38386                const _ as usize } , 408usize , concat ! (
38387                "Alignment of field: " , stringify ! (
38388                CThostFtdcOpenAccountField ) , "::" , stringify ! ( Fax ) ));
38389    assert_eq! (unsafe {
38390                & ( * ( 0 as * const CThostFtdcOpenAccountField ) ) . EMail as
38391                * const _ as usize } , 449usize , concat ! (
38392                "Alignment of field: " , stringify ! (
38393                CThostFtdcOpenAccountField ) , "::" , stringify ! ( EMail )
38394                ));
38395    assert_eq! (unsafe {
38396                & ( * ( 0 as * const CThostFtdcOpenAccountField ) ) .
38397                MoneyAccountStatus as * const _ as usize } , 490usize , concat
38398                ! (
38399                "Alignment of field: " , stringify ! (
38400                CThostFtdcOpenAccountField ) , "::" , stringify ! (
38401                MoneyAccountStatus ) ));
38402    assert_eq! (unsafe {
38403                & ( * ( 0 as * const CThostFtdcOpenAccountField ) ) .
38404                BankAccount as * const _ as usize } , 491usize , concat ! (
38405                "Alignment of field: " , stringify ! (
38406                CThostFtdcOpenAccountField ) , "::" , stringify ! (
38407                BankAccount ) ));
38408    assert_eq! (unsafe {
38409                & ( * ( 0 as * const CThostFtdcOpenAccountField ) ) .
38410                BankPassWord as * const _ as usize } , 532usize , concat ! (
38411                "Alignment of field: " , stringify ! (
38412                CThostFtdcOpenAccountField ) , "::" , stringify ! (
38413                BankPassWord ) ));
38414    assert_eq! (unsafe {
38415                & ( * ( 0 as * const CThostFtdcOpenAccountField ) ) .
38416                AccountID as * const _ as usize } , 573usize , concat ! (
38417                "Alignment of field: " , stringify ! (
38418                CThostFtdcOpenAccountField ) , "::" , stringify ! ( AccountID
38419                ) ));
38420    assert_eq! (unsafe {
38421                & ( * ( 0 as * const CThostFtdcOpenAccountField ) ) . Password
38422                as * const _ as usize } , 586usize , concat ! (
38423                "Alignment of field: " , stringify ! (
38424                CThostFtdcOpenAccountField ) , "::" , stringify ! ( Password )
38425                ));
38426    assert_eq! (unsafe {
38427                & ( * ( 0 as * const CThostFtdcOpenAccountField ) ) .
38428                InstallID as * const _ as usize } , 628usize , concat ! (
38429                "Alignment of field: " , stringify ! (
38430                CThostFtdcOpenAccountField ) , "::" , stringify ! ( InstallID
38431                ) ));
38432    assert_eq! (unsafe {
38433                & ( * ( 0 as * const CThostFtdcOpenAccountField ) ) .
38434                VerifyCertNoFlag as * const _ as usize } , 632usize , concat !
38435                (
38436                "Alignment of field: " , stringify ! (
38437                CThostFtdcOpenAccountField ) , "::" , stringify ! (
38438                VerifyCertNoFlag ) ));
38439    assert_eq! (unsafe {
38440                & ( * ( 0 as * const CThostFtdcOpenAccountField ) ) .
38441                CurrencyID as * const _ as usize } , 633usize , concat ! (
38442                "Alignment of field: " , stringify ! (
38443                CThostFtdcOpenAccountField ) , "::" , stringify ! ( CurrencyID
38444                ) ));
38445    assert_eq! (unsafe {
38446                & ( * ( 0 as * const CThostFtdcOpenAccountField ) ) .
38447                CashExchangeCode as * const _ as usize } , 637usize , concat !
38448                (
38449                "Alignment of field: " , stringify ! (
38450                CThostFtdcOpenAccountField ) , "::" , stringify ! (
38451                CashExchangeCode ) ));
38452    assert_eq! (unsafe {
38453                & ( * ( 0 as * const CThostFtdcOpenAccountField ) ) . Digest
38454                as * const _ as usize } , 638usize , concat ! (
38455                "Alignment of field: " , stringify ! (
38456                CThostFtdcOpenAccountField ) , "::" , stringify ! ( Digest )
38457                ));
38458    assert_eq! (unsafe {
38459                & ( * ( 0 as * const CThostFtdcOpenAccountField ) ) .
38460                BankAccType as * const _ as usize } , 674usize , concat ! (
38461                "Alignment of field: " , stringify ! (
38462                CThostFtdcOpenAccountField ) , "::" , stringify ! (
38463                BankAccType ) ));
38464    assert_eq! (unsafe {
38465                & ( * ( 0 as * const CThostFtdcOpenAccountField ) ) . DeviceID
38466                as * const _ as usize } , 675usize , concat ! (
38467                "Alignment of field: " , stringify ! (
38468                CThostFtdcOpenAccountField ) , "::" , stringify ! ( DeviceID )
38469                ));
38470    assert_eq! (unsafe {
38471                & ( * ( 0 as * const CThostFtdcOpenAccountField ) ) .
38472                BankSecuAccType as * const _ as usize } , 678usize , concat !
38473                (
38474                "Alignment of field: " , stringify ! (
38475                CThostFtdcOpenAccountField ) , "::" , stringify ! (
38476                BankSecuAccType ) ));
38477    assert_eq! (unsafe {
38478                & ( * ( 0 as * const CThostFtdcOpenAccountField ) ) .
38479                BrokerIDByBank as * const _ as usize } , 679usize , concat ! (
38480                "Alignment of field: " , stringify ! (
38481                CThostFtdcOpenAccountField ) , "::" , stringify ! (
38482                BrokerIDByBank ) ));
38483    assert_eq! (unsafe {
38484                & ( * ( 0 as * const CThostFtdcOpenAccountField ) ) .
38485                BankSecuAcc as * const _ as usize } , 712usize , concat ! (
38486                "Alignment of field: " , stringify ! (
38487                CThostFtdcOpenAccountField ) , "::" , stringify ! (
38488                BankSecuAcc ) ));
38489    assert_eq! (unsafe {
38490                & ( * ( 0 as * const CThostFtdcOpenAccountField ) ) .
38491                BankPwdFlag as * const _ as usize } , 753usize , concat ! (
38492                "Alignment of field: " , stringify ! (
38493                CThostFtdcOpenAccountField ) , "::" , stringify ! (
38494                BankPwdFlag ) ));
38495    assert_eq! (unsafe {
38496                & ( * ( 0 as * const CThostFtdcOpenAccountField ) ) .
38497                SecuPwdFlag as * const _ as usize } , 754usize , concat ! (
38498                "Alignment of field: " , stringify ! (
38499                CThostFtdcOpenAccountField ) , "::" , stringify ! (
38500                SecuPwdFlag ) ));
38501    assert_eq! (unsafe {
38502                & ( * ( 0 as * const CThostFtdcOpenAccountField ) ) . OperNo
38503                as * const _ as usize } , 755usize , concat ! (
38504                "Alignment of field: " , stringify ! (
38505                CThostFtdcOpenAccountField ) , "::" , stringify ! ( OperNo )
38506                ));
38507    assert_eq! (unsafe {
38508                & ( * ( 0 as * const CThostFtdcOpenAccountField ) ) . TID as *
38509                const _ as usize } , 772usize , concat ! (
38510                "Alignment of field: " , stringify ! (
38511                CThostFtdcOpenAccountField ) , "::" , stringify ! ( TID ) ));
38512    assert_eq! (unsafe {
38513                & ( * ( 0 as * const CThostFtdcOpenAccountField ) ) . UserID
38514                as * const _ as usize } , 776usize , concat ! (
38515                "Alignment of field: " , stringify ! (
38516                CThostFtdcOpenAccountField ) , "::" , stringify ! ( UserID )
38517                ));
38518    assert_eq! (unsafe {
38519                & ( * ( 0 as * const CThostFtdcOpenAccountField ) ) . ErrorID
38520                as * const _ as usize } , 792usize , concat ! (
38521                "Alignment of field: " , stringify ! (
38522                CThostFtdcOpenAccountField ) , "::" , stringify ! ( ErrorID )
38523                ));
38524    assert_eq! (unsafe {
38525                & ( * ( 0 as * const CThostFtdcOpenAccountField ) ) . ErrorMsg
38526                as * const _ as usize } , 796usize , concat ! (
38527                "Alignment of field: " , stringify ! (
38528                CThostFtdcOpenAccountField ) , "::" , stringify ! ( ErrorMsg )
38529                ));
38530    assert_eq! (unsafe {
38531                & ( * ( 0 as * const CThostFtdcOpenAccountField ) ) .
38532                LongCustomerName as * const _ as usize } , 877usize , concat !
38533                (
38534                "Alignment of field: " , stringify ! (
38535                CThostFtdcOpenAccountField ) , "::" , stringify ! (
38536                LongCustomerName ) ));
38537}
38538impl Clone for CThostFtdcOpenAccountField {
38539    fn clone(&self) -> Self { *self }
38540}
38541impl Default for CThostFtdcOpenAccountField {
38542    fn default() -> Self { unsafe { ::std::mem::zeroed() } }
38543}
38544/// 银期销户信息
38545#[repr(C)]
38546#[derive(Copy)]
38547pub struct CThostFtdcCancelAccountField {
38548    /// 业务功能码
38549    pub TradeCode: TThostFtdcTradeCodeType,
38550    /// 银行代码
38551    pub BankID: TThostFtdcBankIDType,
38552    /// 银行分支机构代码
38553    pub BankBranchID: TThostFtdcBankBrchIDType,
38554    /// 期商代码
38555    pub BrokerID: TThostFtdcBrokerIDType,
38556    /// 期商分支机构代码
38557    pub BrokerBranchID: TThostFtdcFutureBranchIDType,
38558    /// 交易日期
38559    pub TradeDate: TThostFtdcTradeDateType,
38560    /// 交易时间
38561    pub TradeTime: TThostFtdcTradeTimeType,
38562    /// 银行流水号
38563    pub BankSerial: TThostFtdcBankSerialType,
38564    /// 交易系统日期
38565    pub TradingDay: TThostFtdcTradeDateType,
38566    /// 银期平台消息流水号
38567    pub PlateSerial: TThostFtdcSerialType,
38568    /// 最后分片标志
38569    pub LastFragment: TThostFtdcLastFragmentType,
38570    /// 会话号
38571    pub SessionID: TThostFtdcSessionIDType,
38572    /// 客户姓名
38573    pub CustomerName: TThostFtdcIndividualNameType,
38574    /// 证件类型
38575    pub IdCardType: TThostFtdcIdCardTypeType,
38576    /// 证件号码
38577    pub IdentifiedCardNo: TThostFtdcIdentifiedCardNoType,
38578    /// 性别
38579    pub Gender: TThostFtdcGenderType,
38580    /// 国家代码
38581    pub CountryCode: TThostFtdcCountryCodeType,
38582    /// 客户类型
38583    pub CustType: TThostFtdcCustTypeType,
38584    /// 地址
38585    pub Address: TThostFtdcAddressType,
38586    /// 邮编
38587    pub ZipCode: TThostFtdcZipCodeType,
38588    /// 电话号码
38589    pub Telephone: TThostFtdcTelephoneType,
38590    /// 手机
38591    pub MobilePhone: TThostFtdcMobilePhoneType,
38592    /// 传真
38593    pub Fax: TThostFtdcFaxType,
38594    /// 电子邮件
38595    pub EMail: TThostFtdcEMailType,
38596    /// 资金账户状态
38597    pub MoneyAccountStatus: TThostFtdcMoneyAccountStatusType,
38598    /// 银行帐号
38599    pub BankAccount: TThostFtdcBankAccountType,
38600    /// 银行密码
38601    pub BankPassWord: TThostFtdcPasswordType,
38602    /// 投资者帐号
38603    pub AccountID: TThostFtdcAccountIDType,
38604    /// 期货密码
38605    pub Password: TThostFtdcPasswordType,
38606    /// 安装编号
38607    pub InstallID: TThostFtdcInstallIDType,
38608    /// 验证客户证件号码标志
38609    pub VerifyCertNoFlag: TThostFtdcYesNoIndicatorType,
38610    /// 币种代码
38611    pub CurrencyID: TThostFtdcCurrencyIDType,
38612    /// 汇钞标志
38613    pub CashExchangeCode: TThostFtdcCashExchangeCodeType,
38614    /// 摘要
38615    pub Digest: TThostFtdcDigestType,
38616    /// 银行帐号类型
38617    pub BankAccType: TThostFtdcBankAccTypeType,
38618    /// 渠道标志
38619    pub DeviceID: TThostFtdcDeviceIDType,
38620    /// 期货单位帐号类型
38621    pub BankSecuAccType: TThostFtdcBankAccTypeType,
38622    /// 期货公司银行编码
38623    pub BrokerIDByBank: TThostFtdcBankCodingForFutureType,
38624    /// 期货单位帐号
38625    pub BankSecuAcc: TThostFtdcBankAccountType,
38626    /// 银行密码标志
38627    pub BankPwdFlag: TThostFtdcPwdFlagType,
38628    /// 期货资金密码核对标志
38629    pub SecuPwdFlag: TThostFtdcPwdFlagType,
38630    /// 交易柜员
38631    pub OperNo: TThostFtdcOperNoType,
38632    /// 交易ID
38633    pub TID: TThostFtdcTIDType,
38634    /// 用户标识
38635    pub UserID: TThostFtdcUserIDType,
38636    /// 错误代码
38637    pub ErrorID: TThostFtdcErrorIDType,
38638    /// 错误信息
38639    pub ErrorMsg: TThostFtdcErrorMsgType,
38640    /// 长客户姓名
38641    pub LongCustomerName: TThostFtdcLongIndividualNameType,
38642}
38643#[test]
38644fn bindgen_test_layout_CThostFtdcCancelAccountField() {
38645    assert_eq!(::std::mem::size_of::<CThostFtdcCancelAccountField>() ,
38646               1040usize , concat ! (
38647               "Size of: " , stringify ! ( CThostFtdcCancelAccountField ) ));
38648    assert_eq! (::std::mem::align_of::<CThostFtdcCancelAccountField>() ,
38649                4usize , concat ! (
38650                "Alignment of " , stringify ! ( CThostFtdcCancelAccountField )
38651                ));
38652    assert_eq! (unsafe {
38653                & ( * ( 0 as * const CThostFtdcCancelAccountField ) ) .
38654                TradeCode as * const _ as usize } , 0usize , concat ! (
38655                "Alignment of field: " , stringify ! (
38656                CThostFtdcCancelAccountField ) , "::" , stringify ! (
38657                TradeCode ) ));
38658    assert_eq! (unsafe {
38659                & ( * ( 0 as * const CThostFtdcCancelAccountField ) ) . BankID
38660                as * const _ as usize } , 7usize , concat ! (
38661                "Alignment of field: " , stringify ! (
38662                CThostFtdcCancelAccountField ) , "::" , stringify ! ( BankID )
38663                ));
38664    assert_eq! (unsafe {
38665                & ( * ( 0 as * const CThostFtdcCancelAccountField ) ) .
38666                BankBranchID as * const _ as usize } , 11usize , concat ! (
38667                "Alignment of field: " , stringify ! (
38668                CThostFtdcCancelAccountField ) , "::" , stringify ! (
38669                BankBranchID ) ));
38670    assert_eq! (unsafe {
38671                & ( * ( 0 as * const CThostFtdcCancelAccountField ) ) .
38672                BrokerID as * const _ as usize } , 16usize , concat ! (
38673                "Alignment of field: " , stringify ! (
38674                CThostFtdcCancelAccountField ) , "::" , stringify ! ( BrokerID
38675                ) ));
38676    assert_eq! (unsafe {
38677                & ( * ( 0 as * const CThostFtdcCancelAccountField ) ) .
38678                BrokerBranchID as * const _ as usize } , 27usize , concat ! (
38679                "Alignment of field: " , stringify ! (
38680                CThostFtdcCancelAccountField ) , "::" , stringify ! (
38681                BrokerBranchID ) ));
38682    assert_eq! (unsafe {
38683                & ( * ( 0 as * const CThostFtdcCancelAccountField ) ) .
38684                TradeDate as * const _ as usize } , 58usize , concat ! (
38685                "Alignment of field: " , stringify ! (
38686                CThostFtdcCancelAccountField ) , "::" , stringify ! (
38687                TradeDate ) ));
38688    assert_eq! (unsafe {
38689                & ( * ( 0 as * const CThostFtdcCancelAccountField ) ) .
38690                TradeTime as * const _ as usize } , 67usize , concat ! (
38691                "Alignment of field: " , stringify ! (
38692                CThostFtdcCancelAccountField ) , "::" , stringify ! (
38693                TradeTime ) ));
38694    assert_eq! (unsafe {
38695                & ( * ( 0 as * const CThostFtdcCancelAccountField ) ) .
38696                BankSerial as * const _ as usize } , 76usize , concat ! (
38697                "Alignment of field: " , stringify ! (
38698                CThostFtdcCancelAccountField ) , "::" , stringify ! (
38699                BankSerial ) ));
38700    assert_eq! (unsafe {
38701                & ( * ( 0 as * const CThostFtdcCancelAccountField ) ) .
38702                TradingDay as * const _ as usize } , 89usize , concat ! (
38703                "Alignment of field: " , stringify ! (
38704                CThostFtdcCancelAccountField ) , "::" , stringify ! (
38705                TradingDay ) ));
38706    assert_eq! (unsafe {
38707                & ( * ( 0 as * const CThostFtdcCancelAccountField ) ) .
38708                PlateSerial as * const _ as usize } , 100usize , concat ! (
38709                "Alignment of field: " , stringify ! (
38710                CThostFtdcCancelAccountField ) , "::" , stringify ! (
38711                PlateSerial ) ));
38712    assert_eq! (unsafe {
38713                & ( * ( 0 as * const CThostFtdcCancelAccountField ) ) .
38714                LastFragment as * const _ as usize } , 104usize , concat ! (
38715                "Alignment of field: " , stringify ! (
38716                CThostFtdcCancelAccountField ) , "::" , stringify ! (
38717                LastFragment ) ));
38718    assert_eq! (unsafe {
38719                & ( * ( 0 as * const CThostFtdcCancelAccountField ) ) .
38720                SessionID as * const _ as usize } , 108usize , concat ! (
38721                "Alignment of field: " , stringify ! (
38722                CThostFtdcCancelAccountField ) , "::" , stringify ! (
38723                SessionID ) ));
38724    assert_eq! (unsafe {
38725                & ( * ( 0 as * const CThostFtdcCancelAccountField ) ) .
38726                CustomerName as * const _ as usize } , 112usize , concat ! (
38727                "Alignment of field: " , stringify ! (
38728                CThostFtdcCancelAccountField ) , "::" , stringify ! (
38729                CustomerName ) ));
38730    assert_eq! (unsafe {
38731                & ( * ( 0 as * const CThostFtdcCancelAccountField ) ) .
38732                IdCardType as * const _ as usize } , 163usize , concat ! (
38733                "Alignment of field: " , stringify ! (
38734                CThostFtdcCancelAccountField ) , "::" , stringify ! (
38735                IdCardType ) ));
38736    assert_eq! (unsafe {
38737                & ( * ( 0 as * const CThostFtdcCancelAccountField ) ) .
38738                IdentifiedCardNo as * const _ as usize } , 164usize , concat !
38739                (
38740                "Alignment of field: " , stringify ! (
38741                CThostFtdcCancelAccountField ) , "::" , stringify ! (
38742                IdentifiedCardNo ) ));
38743    assert_eq! (unsafe {
38744                & ( * ( 0 as * const CThostFtdcCancelAccountField ) ) . Gender
38745                as * const _ as usize } , 215usize , concat ! (
38746                "Alignment of field: " , stringify ! (
38747                CThostFtdcCancelAccountField ) , "::" , stringify ! ( Gender )
38748                ));
38749    assert_eq! (unsafe {
38750                & ( * ( 0 as * const CThostFtdcCancelAccountField ) ) .
38751                CountryCode as * const _ as usize } , 216usize , concat ! (
38752                "Alignment of field: " , stringify ! (
38753                CThostFtdcCancelAccountField ) , "::" , stringify ! (
38754                CountryCode ) ));
38755    assert_eq! (unsafe {
38756                & ( * ( 0 as * const CThostFtdcCancelAccountField ) ) .
38757                CustType as * const _ as usize } , 237usize , concat ! (
38758                "Alignment of field: " , stringify ! (
38759                CThostFtdcCancelAccountField ) , "::" , stringify ! ( CustType
38760                ) ));
38761    assert_eq! (unsafe {
38762                & ( * ( 0 as * const CThostFtdcCancelAccountField ) ) .
38763                Address as * const _ as usize } , 238usize , concat ! (
38764                "Alignment of field: " , stringify ! (
38765                CThostFtdcCancelAccountField ) , "::" , stringify ! ( Address
38766                ) ));
38767    assert_eq! (unsafe {
38768                & ( * ( 0 as * const CThostFtdcCancelAccountField ) ) .
38769                ZipCode as * const _ as usize } , 339usize , concat ! (
38770                "Alignment of field: " , stringify ! (
38771                CThostFtdcCancelAccountField ) , "::" , stringify ! ( ZipCode
38772                ) ));
38773    assert_eq! (unsafe {
38774                & ( * ( 0 as * const CThostFtdcCancelAccountField ) ) .
38775                Telephone as * const _ as usize } , 346usize , concat ! (
38776                "Alignment of field: " , stringify ! (
38777                CThostFtdcCancelAccountField ) , "::" , stringify ! (
38778                Telephone ) ));
38779    assert_eq! (unsafe {
38780                & ( * ( 0 as * const CThostFtdcCancelAccountField ) ) .
38781                MobilePhone as * const _ as usize } , 387usize , concat ! (
38782                "Alignment of field: " , stringify ! (
38783                CThostFtdcCancelAccountField ) , "::" , stringify ! (
38784                MobilePhone ) ));
38785    assert_eq! (unsafe {
38786                & ( * ( 0 as * const CThostFtdcCancelAccountField ) ) . Fax as
38787                * const _ as usize } , 408usize , concat ! (
38788                "Alignment of field: " , stringify ! (
38789                CThostFtdcCancelAccountField ) , "::" , stringify ! ( Fax )
38790                ));
38791    assert_eq! (unsafe {
38792                & ( * ( 0 as * const CThostFtdcCancelAccountField ) ) . EMail
38793                as * const _ as usize } , 449usize , concat ! (
38794                "Alignment of field: " , stringify ! (
38795                CThostFtdcCancelAccountField ) , "::" , stringify ! ( EMail )
38796                ));
38797    assert_eq! (unsafe {
38798                & ( * ( 0 as * const CThostFtdcCancelAccountField ) ) .
38799                MoneyAccountStatus as * const _ as usize } , 490usize , concat
38800                ! (
38801                "Alignment of field: " , stringify ! (
38802                CThostFtdcCancelAccountField ) , "::" , stringify ! (
38803                MoneyAccountStatus ) ));
38804    assert_eq! (unsafe {
38805                & ( * ( 0 as * const CThostFtdcCancelAccountField ) ) .
38806                BankAccount as * const _ as usize } , 491usize , concat ! (
38807                "Alignment of field: " , stringify ! (
38808                CThostFtdcCancelAccountField ) , "::" , stringify ! (
38809                BankAccount ) ));
38810    assert_eq! (unsafe {
38811                & ( * ( 0 as * const CThostFtdcCancelAccountField ) ) .
38812                BankPassWord as * const _ as usize } , 532usize , concat ! (
38813                "Alignment of field: " , stringify ! (
38814                CThostFtdcCancelAccountField ) , "::" , stringify ! (
38815                BankPassWord ) ));
38816    assert_eq! (unsafe {
38817                & ( * ( 0 as * const CThostFtdcCancelAccountField ) ) .
38818                AccountID as * const _ as usize } , 573usize , concat ! (
38819                "Alignment of field: " , stringify ! (
38820                CThostFtdcCancelAccountField ) , "::" , stringify ! (
38821                AccountID ) ));
38822    assert_eq! (unsafe {
38823                & ( * ( 0 as * const CThostFtdcCancelAccountField ) ) .
38824                Password as * const _ as usize } , 586usize , concat ! (
38825                "Alignment of field: " , stringify ! (
38826                CThostFtdcCancelAccountField ) , "::" , stringify ! ( Password
38827                ) ));
38828    assert_eq! (unsafe {
38829                & ( * ( 0 as * const CThostFtdcCancelAccountField ) ) .
38830                InstallID as * const _ as usize } , 628usize , concat ! (
38831                "Alignment of field: " , stringify ! (
38832                CThostFtdcCancelAccountField ) , "::" , stringify ! (
38833                InstallID ) ));
38834    assert_eq! (unsafe {
38835                & ( * ( 0 as * const CThostFtdcCancelAccountField ) ) .
38836                VerifyCertNoFlag as * const _ as usize } , 632usize , concat !
38837                (
38838                "Alignment of field: " , stringify ! (
38839                CThostFtdcCancelAccountField ) , "::" , stringify ! (
38840                VerifyCertNoFlag ) ));
38841    assert_eq! (unsafe {
38842                & ( * ( 0 as * const CThostFtdcCancelAccountField ) ) .
38843                CurrencyID as * const _ as usize } , 633usize , concat ! (
38844                "Alignment of field: " , stringify ! (
38845                CThostFtdcCancelAccountField ) , "::" , stringify ! (
38846                CurrencyID ) ));
38847    assert_eq! (unsafe {
38848                & ( * ( 0 as * const CThostFtdcCancelAccountField ) ) .
38849                CashExchangeCode as * const _ as usize } , 637usize , concat !
38850                (
38851                "Alignment of field: " , stringify ! (
38852                CThostFtdcCancelAccountField ) , "::" , stringify ! (
38853                CashExchangeCode ) ));
38854    assert_eq! (unsafe {
38855                & ( * ( 0 as * const CThostFtdcCancelAccountField ) ) . Digest
38856                as * const _ as usize } , 638usize , concat ! (
38857                "Alignment of field: " , stringify ! (
38858                CThostFtdcCancelAccountField ) , "::" , stringify ! ( Digest )
38859                ));
38860    assert_eq! (unsafe {
38861                & ( * ( 0 as * const CThostFtdcCancelAccountField ) ) .
38862                BankAccType as * const _ as usize } , 674usize , concat ! (
38863                "Alignment of field: " , stringify ! (
38864                CThostFtdcCancelAccountField ) , "::" , stringify ! (
38865                BankAccType ) ));
38866    assert_eq! (unsafe {
38867                & ( * ( 0 as * const CThostFtdcCancelAccountField ) ) .
38868                DeviceID as * const _ as usize } , 675usize , concat ! (
38869                "Alignment of field: " , stringify ! (
38870                CThostFtdcCancelAccountField ) , "::" , stringify ! ( DeviceID
38871                ) ));
38872    assert_eq! (unsafe {
38873                & ( * ( 0 as * const CThostFtdcCancelAccountField ) ) .
38874                BankSecuAccType as * const _ as usize } , 678usize , concat !
38875                (
38876                "Alignment of field: " , stringify ! (
38877                CThostFtdcCancelAccountField ) , "::" , stringify ! (
38878                BankSecuAccType ) ));
38879    assert_eq! (unsafe {
38880                & ( * ( 0 as * const CThostFtdcCancelAccountField ) ) .
38881                BrokerIDByBank as * const _ as usize } , 679usize , concat ! (
38882                "Alignment of field: " , stringify ! (
38883                CThostFtdcCancelAccountField ) , "::" , stringify ! (
38884                BrokerIDByBank ) ));
38885    assert_eq! (unsafe {
38886                & ( * ( 0 as * const CThostFtdcCancelAccountField ) ) .
38887                BankSecuAcc as * const _ as usize } , 712usize , concat ! (
38888                "Alignment of field: " , stringify ! (
38889                CThostFtdcCancelAccountField ) , "::" , stringify ! (
38890                BankSecuAcc ) ));
38891    assert_eq! (unsafe {
38892                & ( * ( 0 as * const CThostFtdcCancelAccountField ) ) .
38893                BankPwdFlag as * const _ as usize } , 753usize , concat ! (
38894                "Alignment of field: " , stringify ! (
38895                CThostFtdcCancelAccountField ) , "::" , stringify ! (
38896                BankPwdFlag ) ));
38897    assert_eq! (unsafe {
38898                & ( * ( 0 as * const CThostFtdcCancelAccountField ) ) .
38899                SecuPwdFlag as * const _ as usize } , 754usize , concat ! (
38900                "Alignment of field: " , stringify ! (
38901                CThostFtdcCancelAccountField ) , "::" , stringify ! (
38902                SecuPwdFlag ) ));
38903    assert_eq! (unsafe {
38904                & ( * ( 0 as * const CThostFtdcCancelAccountField ) ) . OperNo
38905                as * const _ as usize } , 755usize , concat ! (
38906                "Alignment of field: " , stringify ! (
38907                CThostFtdcCancelAccountField ) , "::" , stringify ! ( OperNo )
38908                ));
38909    assert_eq! (unsafe {
38910                & ( * ( 0 as * const CThostFtdcCancelAccountField ) ) . TID as
38911                * const _ as usize } , 772usize , concat ! (
38912                "Alignment of field: " , stringify ! (
38913                CThostFtdcCancelAccountField ) , "::" , stringify ! ( TID )
38914                ));
38915    assert_eq! (unsafe {
38916                & ( * ( 0 as * const CThostFtdcCancelAccountField ) ) . UserID
38917                as * const _ as usize } , 776usize , concat ! (
38918                "Alignment of field: " , stringify ! (
38919                CThostFtdcCancelAccountField ) , "::" , stringify ! ( UserID )
38920                ));
38921    assert_eq! (unsafe {
38922                & ( * ( 0 as * const CThostFtdcCancelAccountField ) ) .
38923                ErrorID as * const _ as usize } , 792usize , concat ! (
38924                "Alignment of field: " , stringify ! (
38925                CThostFtdcCancelAccountField ) , "::" , stringify ! ( ErrorID
38926                ) ));
38927    assert_eq! (unsafe {
38928                & ( * ( 0 as * const CThostFtdcCancelAccountField ) ) .
38929                ErrorMsg as * const _ as usize } , 796usize , concat ! (
38930                "Alignment of field: " , stringify ! (
38931                CThostFtdcCancelAccountField ) , "::" , stringify ! ( ErrorMsg
38932                ) ));
38933    assert_eq! (unsafe {
38934                & ( * ( 0 as * const CThostFtdcCancelAccountField ) ) .
38935                LongCustomerName as * const _ as usize } , 877usize , concat !
38936                (
38937                "Alignment of field: " , stringify ! (
38938                CThostFtdcCancelAccountField ) , "::" , stringify ! (
38939                LongCustomerName ) ));
38940}
38941impl Clone for CThostFtdcCancelAccountField {
38942    fn clone(&self) -> Self { *self }
38943}
38944impl Default for CThostFtdcCancelAccountField {
38945    fn default() -> Self { unsafe { ::std::mem::zeroed() } }
38946}
38947/// 银期变更银行账号信息
38948#[repr(C)]
38949#[derive(Copy)]
38950pub struct CThostFtdcChangeAccountField {
38951    /// 业务功能码
38952    pub TradeCode: TThostFtdcTradeCodeType,
38953    /// 银行代码
38954    pub BankID: TThostFtdcBankIDType,
38955    /// 银行分支机构代码
38956    pub BankBranchID: TThostFtdcBankBrchIDType,
38957    /// 期商代码
38958    pub BrokerID: TThostFtdcBrokerIDType,
38959    /// 期商分支机构代码
38960    pub BrokerBranchID: TThostFtdcFutureBranchIDType,
38961    /// 交易日期
38962    pub TradeDate: TThostFtdcTradeDateType,
38963    /// 交易时间
38964    pub TradeTime: TThostFtdcTradeTimeType,
38965    /// 银行流水号
38966    pub BankSerial: TThostFtdcBankSerialType,
38967    /// 交易系统日期
38968    pub TradingDay: TThostFtdcTradeDateType,
38969    /// 银期平台消息流水号
38970    pub PlateSerial: TThostFtdcSerialType,
38971    /// 最后分片标志
38972    pub LastFragment: TThostFtdcLastFragmentType,
38973    /// 会话号
38974    pub SessionID: TThostFtdcSessionIDType,
38975    /// 客户姓名
38976    pub CustomerName: TThostFtdcIndividualNameType,
38977    /// 证件类型
38978    pub IdCardType: TThostFtdcIdCardTypeType,
38979    /// 证件号码
38980    pub IdentifiedCardNo: TThostFtdcIdentifiedCardNoType,
38981    /// 性别
38982    pub Gender: TThostFtdcGenderType,
38983    /// 国家代码
38984    pub CountryCode: TThostFtdcCountryCodeType,
38985    /// 客户类型
38986    pub CustType: TThostFtdcCustTypeType,
38987    /// 地址
38988    pub Address: TThostFtdcAddressType,
38989    /// 邮编
38990    pub ZipCode: TThostFtdcZipCodeType,
38991    /// 电话号码
38992    pub Telephone: TThostFtdcTelephoneType,
38993    /// 手机
38994    pub MobilePhone: TThostFtdcMobilePhoneType,
38995    /// 传真
38996    pub Fax: TThostFtdcFaxType,
38997    /// 电子邮件
38998    pub EMail: TThostFtdcEMailType,
38999    /// 资金账户状态
39000    pub MoneyAccountStatus: TThostFtdcMoneyAccountStatusType,
39001    /// 银行帐号
39002    pub BankAccount: TThostFtdcBankAccountType,
39003    /// 银行密码
39004    pub BankPassWord: TThostFtdcPasswordType,
39005    /// 新银行帐号
39006    pub NewBankAccount: TThostFtdcBankAccountType,
39007    /// 新银行密码
39008    pub NewBankPassWord: TThostFtdcPasswordType,
39009    /// 投资者帐号
39010    pub AccountID: TThostFtdcAccountIDType,
39011    /// 期货密码
39012    pub Password: TThostFtdcPasswordType,
39013    /// 银行帐号类型
39014    pub BankAccType: TThostFtdcBankAccTypeType,
39015    /// 安装编号
39016    pub InstallID: TThostFtdcInstallIDType,
39017    /// 验证客户证件号码标志
39018    pub VerifyCertNoFlag: TThostFtdcYesNoIndicatorType,
39019    /// 币种代码
39020    pub CurrencyID: TThostFtdcCurrencyIDType,
39021    /// 期货公司银行编码
39022    pub BrokerIDByBank: TThostFtdcBankCodingForFutureType,
39023    /// 银行密码标志
39024    pub BankPwdFlag: TThostFtdcPwdFlagType,
39025    /// 期货资金密码核对标志
39026    pub SecuPwdFlag: TThostFtdcPwdFlagType,
39027    /// 交易ID
39028    pub TID: TThostFtdcTIDType,
39029    /// 摘要
39030    pub Digest: TThostFtdcDigestType,
39031    /// 错误代码
39032    pub ErrorID: TThostFtdcErrorIDType,
39033    /// 错误信息
39034    pub ErrorMsg: TThostFtdcErrorMsgType,
39035    /// 长客户姓名
39036    pub LongCustomerName: TThostFtdcLongIndividualNameType,
39037}
39038#[test]
39039fn bindgen_test_layout_CThostFtdcChangeAccountField() {
39040    assert_eq!(::std::mem::size_of::<CThostFtdcChangeAccountField>() ,
39041               1044usize , concat ! (
39042               "Size of: " , stringify ! ( CThostFtdcChangeAccountField ) ));
39043    assert_eq! (::std::mem::align_of::<CThostFtdcChangeAccountField>() ,
39044                4usize , concat ! (
39045                "Alignment of " , stringify ! ( CThostFtdcChangeAccountField )
39046                ));
39047    assert_eq! (unsafe {
39048                & ( * ( 0 as * const CThostFtdcChangeAccountField ) ) .
39049                TradeCode as * const _ as usize } , 0usize , concat ! (
39050                "Alignment of field: " , stringify ! (
39051                CThostFtdcChangeAccountField ) , "::" , stringify ! (
39052                TradeCode ) ));
39053    assert_eq! (unsafe {
39054                & ( * ( 0 as * const CThostFtdcChangeAccountField ) ) . BankID
39055                as * const _ as usize } , 7usize , concat ! (
39056                "Alignment of field: " , stringify ! (
39057                CThostFtdcChangeAccountField ) , "::" , stringify ! ( BankID )
39058                ));
39059    assert_eq! (unsafe {
39060                & ( * ( 0 as * const CThostFtdcChangeAccountField ) ) .
39061                BankBranchID as * const _ as usize } , 11usize , concat ! (
39062                "Alignment of field: " , stringify ! (
39063                CThostFtdcChangeAccountField ) , "::" , stringify ! (
39064                BankBranchID ) ));
39065    assert_eq! (unsafe {
39066                & ( * ( 0 as * const CThostFtdcChangeAccountField ) ) .
39067                BrokerID as * const _ as usize } , 16usize , concat ! (
39068                "Alignment of field: " , stringify ! (
39069                CThostFtdcChangeAccountField ) , "::" , stringify ! ( BrokerID
39070                ) ));
39071    assert_eq! (unsafe {
39072                & ( * ( 0 as * const CThostFtdcChangeAccountField ) ) .
39073                BrokerBranchID as * const _ as usize } , 27usize , concat ! (
39074                "Alignment of field: " , stringify ! (
39075                CThostFtdcChangeAccountField ) , "::" , stringify ! (
39076                BrokerBranchID ) ));
39077    assert_eq! (unsafe {
39078                & ( * ( 0 as * const CThostFtdcChangeAccountField ) ) .
39079                TradeDate as * const _ as usize } , 58usize , concat ! (
39080                "Alignment of field: " , stringify ! (
39081                CThostFtdcChangeAccountField ) , "::" , stringify ! (
39082                TradeDate ) ));
39083    assert_eq! (unsafe {
39084                & ( * ( 0 as * const CThostFtdcChangeAccountField ) ) .
39085                TradeTime as * const _ as usize } , 67usize , concat ! (
39086                "Alignment of field: " , stringify ! (
39087                CThostFtdcChangeAccountField ) , "::" , stringify ! (
39088                TradeTime ) ));
39089    assert_eq! (unsafe {
39090                & ( * ( 0 as * const CThostFtdcChangeAccountField ) ) .
39091                BankSerial as * const _ as usize } , 76usize , concat ! (
39092                "Alignment of field: " , stringify ! (
39093                CThostFtdcChangeAccountField ) , "::" , stringify ! (
39094                BankSerial ) ));
39095    assert_eq! (unsafe {
39096                & ( * ( 0 as * const CThostFtdcChangeAccountField ) ) .
39097                TradingDay as * const _ as usize } , 89usize , concat ! (
39098                "Alignment of field: " , stringify ! (
39099                CThostFtdcChangeAccountField ) , "::" , stringify ! (
39100                TradingDay ) ));
39101    assert_eq! (unsafe {
39102                & ( * ( 0 as * const CThostFtdcChangeAccountField ) ) .
39103                PlateSerial as * const _ as usize } , 100usize , concat ! (
39104                "Alignment of field: " , stringify ! (
39105                CThostFtdcChangeAccountField ) , "::" , stringify ! (
39106                PlateSerial ) ));
39107    assert_eq! (unsafe {
39108                & ( * ( 0 as * const CThostFtdcChangeAccountField ) ) .
39109                LastFragment as * const _ as usize } , 104usize , concat ! (
39110                "Alignment of field: " , stringify ! (
39111                CThostFtdcChangeAccountField ) , "::" , stringify ! (
39112                LastFragment ) ));
39113    assert_eq! (unsafe {
39114                & ( * ( 0 as * const CThostFtdcChangeAccountField ) ) .
39115                SessionID as * const _ as usize } , 108usize , concat ! (
39116                "Alignment of field: " , stringify ! (
39117                CThostFtdcChangeAccountField ) , "::" , stringify ! (
39118                SessionID ) ));
39119    assert_eq! (unsafe {
39120                & ( * ( 0 as * const CThostFtdcChangeAccountField ) ) .
39121                CustomerName as * const _ as usize } , 112usize , concat ! (
39122                "Alignment of field: " , stringify ! (
39123                CThostFtdcChangeAccountField ) , "::" , stringify ! (
39124                CustomerName ) ));
39125    assert_eq! (unsafe {
39126                & ( * ( 0 as * const CThostFtdcChangeAccountField ) ) .
39127                IdCardType as * const _ as usize } , 163usize , concat ! (
39128                "Alignment of field: " , stringify ! (
39129                CThostFtdcChangeAccountField ) , "::" , stringify ! (
39130                IdCardType ) ));
39131    assert_eq! (unsafe {
39132                & ( * ( 0 as * const CThostFtdcChangeAccountField ) ) .
39133                IdentifiedCardNo as * const _ as usize } , 164usize , concat !
39134                (
39135                "Alignment of field: " , stringify ! (
39136                CThostFtdcChangeAccountField ) , "::" , stringify ! (
39137                IdentifiedCardNo ) ));
39138    assert_eq! (unsafe {
39139                & ( * ( 0 as * const CThostFtdcChangeAccountField ) ) . Gender
39140                as * const _ as usize } , 215usize , concat ! (
39141                "Alignment of field: " , stringify ! (
39142                CThostFtdcChangeAccountField ) , "::" , stringify ! ( Gender )
39143                ));
39144    assert_eq! (unsafe {
39145                & ( * ( 0 as * const CThostFtdcChangeAccountField ) ) .
39146                CountryCode as * const _ as usize } , 216usize , concat ! (
39147                "Alignment of field: " , stringify ! (
39148                CThostFtdcChangeAccountField ) , "::" , stringify ! (
39149                CountryCode ) ));
39150    assert_eq! (unsafe {
39151                & ( * ( 0 as * const CThostFtdcChangeAccountField ) ) .
39152                CustType as * const _ as usize } , 237usize , concat ! (
39153                "Alignment of field: " , stringify ! (
39154                CThostFtdcChangeAccountField ) , "::" , stringify ! ( CustType
39155                ) ));
39156    assert_eq! (unsafe {
39157                & ( * ( 0 as * const CThostFtdcChangeAccountField ) ) .
39158                Address as * const _ as usize } , 238usize , concat ! (
39159                "Alignment of field: " , stringify ! (
39160                CThostFtdcChangeAccountField ) , "::" , stringify ! ( Address
39161                ) ));
39162    assert_eq! (unsafe {
39163                & ( * ( 0 as * const CThostFtdcChangeAccountField ) ) .
39164                ZipCode as * const _ as usize } , 339usize , concat ! (
39165                "Alignment of field: " , stringify ! (
39166                CThostFtdcChangeAccountField ) , "::" , stringify ! ( ZipCode
39167                ) ));
39168    assert_eq! (unsafe {
39169                & ( * ( 0 as * const CThostFtdcChangeAccountField ) ) .
39170                Telephone as * const _ as usize } , 346usize , concat ! (
39171                "Alignment of field: " , stringify ! (
39172                CThostFtdcChangeAccountField ) , "::" , stringify ! (
39173                Telephone ) ));
39174    assert_eq! (unsafe {
39175                & ( * ( 0 as * const CThostFtdcChangeAccountField ) ) .
39176                MobilePhone as * const _ as usize } , 387usize , concat ! (
39177                "Alignment of field: " , stringify ! (
39178                CThostFtdcChangeAccountField ) , "::" , stringify ! (
39179                MobilePhone ) ));
39180    assert_eq! (unsafe {
39181                & ( * ( 0 as * const CThostFtdcChangeAccountField ) ) . Fax as
39182                * const _ as usize } , 408usize , concat ! (
39183                "Alignment of field: " , stringify ! (
39184                CThostFtdcChangeAccountField ) , "::" , stringify ! ( Fax )
39185                ));
39186    assert_eq! (unsafe {
39187                & ( * ( 0 as * const CThostFtdcChangeAccountField ) ) . EMail
39188                as * const _ as usize } , 449usize , concat ! (
39189                "Alignment of field: " , stringify ! (
39190                CThostFtdcChangeAccountField ) , "::" , stringify ! ( EMail )
39191                ));
39192    assert_eq! (unsafe {
39193                & ( * ( 0 as * const CThostFtdcChangeAccountField ) ) .
39194                MoneyAccountStatus as * const _ as usize } , 490usize , concat
39195                ! (
39196                "Alignment of field: " , stringify ! (
39197                CThostFtdcChangeAccountField ) , "::" , stringify ! (
39198                MoneyAccountStatus ) ));
39199    assert_eq! (unsafe {
39200                & ( * ( 0 as * const CThostFtdcChangeAccountField ) ) .
39201                BankAccount as * const _ as usize } , 491usize , concat ! (
39202                "Alignment of field: " , stringify ! (
39203                CThostFtdcChangeAccountField ) , "::" , stringify ! (
39204                BankAccount ) ));
39205    assert_eq! (unsafe {
39206                & ( * ( 0 as * const CThostFtdcChangeAccountField ) ) .
39207                BankPassWord as * const _ as usize } , 532usize , concat ! (
39208                "Alignment of field: " , stringify ! (
39209                CThostFtdcChangeAccountField ) , "::" , stringify ! (
39210                BankPassWord ) ));
39211    assert_eq! (unsafe {
39212                & ( * ( 0 as * const CThostFtdcChangeAccountField ) ) .
39213                NewBankAccount as * const _ as usize } , 573usize , concat ! (
39214                "Alignment of field: " , stringify ! (
39215                CThostFtdcChangeAccountField ) , "::" , stringify ! (
39216                NewBankAccount ) ));
39217    assert_eq! (unsafe {
39218                & ( * ( 0 as * const CThostFtdcChangeAccountField ) ) .
39219                NewBankPassWord as * const _ as usize } , 614usize , concat !
39220                (
39221                "Alignment of field: " , stringify ! (
39222                CThostFtdcChangeAccountField ) , "::" , stringify ! (
39223                NewBankPassWord ) ));
39224    assert_eq! (unsafe {
39225                & ( * ( 0 as * const CThostFtdcChangeAccountField ) ) .
39226                AccountID as * const _ as usize } , 655usize , concat ! (
39227                "Alignment of field: " , stringify ! (
39228                CThostFtdcChangeAccountField ) , "::" , stringify ! (
39229                AccountID ) ));
39230    assert_eq! (unsafe {
39231                & ( * ( 0 as * const CThostFtdcChangeAccountField ) ) .
39232                Password as * const _ as usize } , 668usize , concat ! (
39233                "Alignment of field: " , stringify ! (
39234                CThostFtdcChangeAccountField ) , "::" , stringify ! ( Password
39235                ) ));
39236    assert_eq! (unsafe {
39237                & ( * ( 0 as * const CThostFtdcChangeAccountField ) ) .
39238                BankAccType as * const _ as usize } , 709usize , concat ! (
39239                "Alignment of field: " , stringify ! (
39240                CThostFtdcChangeAccountField ) , "::" , stringify ! (
39241                BankAccType ) ));
39242    assert_eq! (unsafe {
39243                & ( * ( 0 as * const CThostFtdcChangeAccountField ) ) .
39244                InstallID as * const _ as usize } , 712usize , concat ! (
39245                "Alignment of field: " , stringify ! (
39246                CThostFtdcChangeAccountField ) , "::" , stringify ! (
39247                InstallID ) ));
39248    assert_eq! (unsafe {
39249                & ( * ( 0 as * const CThostFtdcChangeAccountField ) ) .
39250                VerifyCertNoFlag as * const _ as usize } , 716usize , concat !
39251                (
39252                "Alignment of field: " , stringify ! (
39253                CThostFtdcChangeAccountField ) , "::" , stringify ! (
39254                VerifyCertNoFlag ) ));
39255    assert_eq! (unsafe {
39256                & ( * ( 0 as * const CThostFtdcChangeAccountField ) ) .
39257                CurrencyID as * const _ as usize } , 717usize , concat ! (
39258                "Alignment of field: " , stringify ! (
39259                CThostFtdcChangeAccountField ) , "::" , stringify ! (
39260                CurrencyID ) ));
39261    assert_eq! (unsafe {
39262                & ( * ( 0 as * const CThostFtdcChangeAccountField ) ) .
39263                BrokerIDByBank as * const _ as usize } , 721usize , concat ! (
39264                "Alignment of field: " , stringify ! (
39265                CThostFtdcChangeAccountField ) , "::" , stringify ! (
39266                BrokerIDByBank ) ));
39267    assert_eq! (unsafe {
39268                & ( * ( 0 as * const CThostFtdcChangeAccountField ) ) .
39269                BankPwdFlag as * const _ as usize } , 754usize , concat ! (
39270                "Alignment of field: " , stringify ! (
39271                CThostFtdcChangeAccountField ) , "::" , stringify ! (
39272                BankPwdFlag ) ));
39273    assert_eq! (unsafe {
39274                & ( * ( 0 as * const CThostFtdcChangeAccountField ) ) .
39275                SecuPwdFlag as * const _ as usize } , 755usize , concat ! (
39276                "Alignment of field: " , stringify ! (
39277                CThostFtdcChangeAccountField ) , "::" , stringify ! (
39278                SecuPwdFlag ) ));
39279    assert_eq! (unsafe {
39280                & ( * ( 0 as * const CThostFtdcChangeAccountField ) ) . TID as
39281                * const _ as usize } , 756usize , concat ! (
39282                "Alignment of field: " , stringify ! (
39283                CThostFtdcChangeAccountField ) , "::" , stringify ! ( TID )
39284                ));
39285    assert_eq! (unsafe {
39286                & ( * ( 0 as * const CThostFtdcChangeAccountField ) ) . Digest
39287                as * const _ as usize } , 760usize , concat ! (
39288                "Alignment of field: " , stringify ! (
39289                CThostFtdcChangeAccountField ) , "::" , stringify ! ( Digest )
39290                ));
39291    assert_eq! (unsafe {
39292                & ( * ( 0 as * const CThostFtdcChangeAccountField ) ) .
39293                ErrorID as * const _ as usize } , 796usize , concat ! (
39294                "Alignment of field: " , stringify ! (
39295                CThostFtdcChangeAccountField ) , "::" , stringify ! ( ErrorID
39296                ) ));
39297    assert_eq! (unsafe {
39298                & ( * ( 0 as * const CThostFtdcChangeAccountField ) ) .
39299                ErrorMsg as * const _ as usize } , 800usize , concat ! (
39300                "Alignment of field: " , stringify ! (
39301                CThostFtdcChangeAccountField ) , "::" , stringify ! ( ErrorMsg
39302                ) ));
39303    assert_eq! (unsafe {
39304                & ( * ( 0 as * const CThostFtdcChangeAccountField ) ) .
39305                LongCustomerName as * const _ as usize } , 881usize , concat !
39306                (
39307                "Alignment of field: " , stringify ! (
39308                CThostFtdcChangeAccountField ) , "::" , stringify ! (
39309                LongCustomerName ) ));
39310}
39311impl Clone for CThostFtdcChangeAccountField {
39312    fn clone(&self) -> Self { *self }
39313}
39314impl Default for CThostFtdcChangeAccountField {
39315    fn default() -> Self { unsafe { ::std::mem::zeroed() } }
39316}
39317/// 二级代理操作员银期权限
39318#[repr(C)]
39319#[derive(Default, Copy)]
39320pub struct CThostFtdcSecAgentACIDMapField {
39321    /// 经纪公司代码
39322    pub BrokerID: TThostFtdcBrokerIDType,
39323    /// 用户代码
39324    pub UserID: TThostFtdcUserIDType,
39325    /// 资金账户
39326    pub AccountID: TThostFtdcAccountIDType,
39327    /// 币种
39328    pub CurrencyID: TThostFtdcCurrencyIDType,
39329    /// 境外中介机构资金帐号
39330    pub BrokerSecAgentID: TThostFtdcAccountIDType,
39331}
39332#[test]
39333fn bindgen_test_layout_CThostFtdcSecAgentACIDMapField() {
39334    assert_eq!(::std::mem::size_of::<CThostFtdcSecAgentACIDMapField>() ,
39335               57usize , concat ! (
39336               "Size of: " , stringify ! ( CThostFtdcSecAgentACIDMapField )
39337               ));
39338    assert_eq! (::std::mem::align_of::<CThostFtdcSecAgentACIDMapField>() ,
39339                1usize , concat ! (
39340                "Alignment of " , stringify ! ( CThostFtdcSecAgentACIDMapField
39341                ) ));
39342    assert_eq! (unsafe {
39343                & ( * ( 0 as * const CThostFtdcSecAgentACIDMapField ) ) .
39344                BrokerID as * const _ as usize } , 0usize , concat ! (
39345                "Alignment of field: " , stringify ! (
39346                CThostFtdcSecAgentACIDMapField ) , "::" , stringify ! (
39347                BrokerID ) ));
39348    assert_eq! (unsafe {
39349                & ( * ( 0 as * const CThostFtdcSecAgentACIDMapField ) ) .
39350                UserID as * const _ as usize } , 11usize , concat ! (
39351                "Alignment of field: " , stringify ! (
39352                CThostFtdcSecAgentACIDMapField ) , "::" , stringify ! ( UserID
39353                ) ));
39354    assert_eq! (unsafe {
39355                & ( * ( 0 as * const CThostFtdcSecAgentACIDMapField ) ) .
39356                AccountID as * const _ as usize } , 27usize , concat ! (
39357                "Alignment of field: " , stringify ! (
39358                CThostFtdcSecAgentACIDMapField ) , "::" , stringify ! (
39359                AccountID ) ));
39360    assert_eq! (unsafe {
39361                & ( * ( 0 as * const CThostFtdcSecAgentACIDMapField ) ) .
39362                CurrencyID as * const _ as usize } , 40usize , concat ! (
39363                "Alignment of field: " , stringify ! (
39364                CThostFtdcSecAgentACIDMapField ) , "::" , stringify ! (
39365                CurrencyID ) ));
39366    assert_eq! (unsafe {
39367                & ( * ( 0 as * const CThostFtdcSecAgentACIDMapField ) ) .
39368                BrokerSecAgentID as * const _ as usize } , 44usize , concat !
39369                (
39370                "Alignment of field: " , stringify ! (
39371                CThostFtdcSecAgentACIDMapField ) , "::" , stringify ! (
39372                BrokerSecAgentID ) ));
39373}
39374impl Clone for CThostFtdcSecAgentACIDMapField {
39375    fn clone(&self) -> Self { *self }
39376}
39377/// 二级代理操作员银期权限查询
39378#[repr(C)]
39379#[derive(Default, Copy)]
39380pub struct CThostFtdcQrySecAgentACIDMapField {
39381    /// 经纪公司代码
39382    pub BrokerID: TThostFtdcBrokerIDType,
39383    /// 用户代码
39384    pub UserID: TThostFtdcUserIDType,
39385    /// 资金账户
39386    pub AccountID: TThostFtdcAccountIDType,
39387    /// 币种
39388    pub CurrencyID: TThostFtdcCurrencyIDType,
39389}
39390#[test]
39391fn bindgen_test_layout_CThostFtdcQrySecAgentACIDMapField() {
39392    assert_eq!(::std::mem::size_of::<CThostFtdcQrySecAgentACIDMapField>() ,
39393               44usize , concat ! (
39394               "Size of: " , stringify ! ( CThostFtdcQrySecAgentACIDMapField )
39395               ));
39396    assert_eq! (::std::mem::align_of::<CThostFtdcQrySecAgentACIDMapField>() ,
39397                1usize , concat ! (
39398                "Alignment of " , stringify ! (
39399                CThostFtdcQrySecAgentACIDMapField ) ));
39400    assert_eq! (unsafe {
39401                & ( * ( 0 as * const CThostFtdcQrySecAgentACIDMapField ) ) .
39402                BrokerID as * const _ as usize } , 0usize , concat ! (
39403                "Alignment of field: " , stringify ! (
39404                CThostFtdcQrySecAgentACIDMapField ) , "::" , stringify ! (
39405                BrokerID ) ));
39406    assert_eq! (unsafe {
39407                & ( * ( 0 as * const CThostFtdcQrySecAgentACIDMapField ) ) .
39408                UserID as * const _ as usize } , 11usize , concat ! (
39409                "Alignment of field: " , stringify ! (
39410                CThostFtdcQrySecAgentACIDMapField ) , "::" , stringify ! (
39411                UserID ) ));
39412    assert_eq! (unsafe {
39413                & ( * ( 0 as * const CThostFtdcQrySecAgentACIDMapField ) ) .
39414                AccountID as * const _ as usize } , 27usize , concat ! (
39415                "Alignment of field: " , stringify ! (
39416                CThostFtdcQrySecAgentACIDMapField ) , "::" , stringify ! (
39417                AccountID ) ));
39418    assert_eq! (unsafe {
39419                & ( * ( 0 as * const CThostFtdcQrySecAgentACIDMapField ) ) .
39420                CurrencyID as * const _ as usize } , 40usize , concat ! (
39421                "Alignment of field: " , stringify ! (
39422                CThostFtdcQrySecAgentACIDMapField ) , "::" , stringify ! (
39423                CurrencyID ) ));
39424}
39425impl Clone for CThostFtdcQrySecAgentACIDMapField {
39426    fn clone(&self) -> Self { *self }
39427}
39428/// 灾备中心交易权限
39429#[repr(C)]
39430#[derive(Default, Copy)]
39431pub struct CThostFtdcUserRightsAssignField {
39432    /// 应用单元代码
39433    pub BrokerID: TThostFtdcBrokerIDType,
39434    /// 用户代码
39435    pub UserID: TThostFtdcUserIDType,
39436    /// 交易中心代码
39437    pub DRIdentityID: TThostFtdcDRIdentityIDType,
39438}
39439#[test]
39440fn bindgen_test_layout_CThostFtdcUserRightsAssignField() {
39441    assert_eq!(::std::mem::size_of::<CThostFtdcUserRightsAssignField>() ,
39442               32usize , concat ! (
39443               "Size of: " , stringify ! ( CThostFtdcUserRightsAssignField )
39444               ));
39445    assert_eq! (::std::mem::align_of::<CThostFtdcUserRightsAssignField>() ,
39446                4usize , concat ! (
39447                "Alignment of " , stringify ! (
39448                CThostFtdcUserRightsAssignField ) ));
39449    assert_eq! (unsafe {
39450                & ( * ( 0 as * const CThostFtdcUserRightsAssignField ) ) .
39451                BrokerID as * const _ as usize } , 0usize , concat ! (
39452                "Alignment of field: " , stringify ! (
39453                CThostFtdcUserRightsAssignField ) , "::" , stringify ! (
39454                BrokerID ) ));
39455    assert_eq! (unsafe {
39456                & ( * ( 0 as * const CThostFtdcUserRightsAssignField ) ) .
39457                UserID as * const _ as usize } , 11usize , concat ! (
39458                "Alignment of field: " , stringify ! (
39459                CThostFtdcUserRightsAssignField ) , "::" , stringify ! (
39460                UserID ) ));
39461    assert_eq! (unsafe {
39462                & ( * ( 0 as * const CThostFtdcUserRightsAssignField ) ) .
39463                DRIdentityID as * const _ as usize } , 28usize , concat ! (
39464                "Alignment of field: " , stringify ! (
39465                CThostFtdcUserRightsAssignField ) , "::" , stringify ! (
39466                DRIdentityID ) ));
39467}
39468impl Clone for CThostFtdcUserRightsAssignField {
39469    fn clone(&self) -> Self { *self }
39470}
39471/// 经济公司是否有在本标示的交易权限
39472#[repr(C)]
39473#[derive(Default, Copy)]
39474pub struct CThostFtdcBrokerUserRightAssignField {
39475    /// 应用单元代码
39476    pub BrokerID: TThostFtdcBrokerIDType,
39477    /// 交易中心代码
39478    pub DRIdentityID: TThostFtdcDRIdentityIDType,
39479    /// 能否交易
39480    pub Tradeable: TThostFtdcBoolType,
39481}
39482#[test]
39483fn bindgen_test_layout_CThostFtdcBrokerUserRightAssignField() {
39484    assert_eq!(::std::mem::size_of::<CThostFtdcBrokerUserRightAssignField>() ,
39485               20usize , concat ! (
39486               "Size of: " , stringify ! (
39487               CThostFtdcBrokerUserRightAssignField ) ));
39488    assert_eq! (::std::mem::align_of::<CThostFtdcBrokerUserRightAssignField>()
39489                , 4usize , concat ! (
39490                "Alignment of " , stringify ! (
39491                CThostFtdcBrokerUserRightAssignField ) ));
39492    assert_eq! (unsafe {
39493                & ( * ( 0 as * const CThostFtdcBrokerUserRightAssignField ) )
39494                . BrokerID as * const _ as usize } , 0usize , concat ! (
39495                "Alignment of field: " , stringify ! (
39496                CThostFtdcBrokerUserRightAssignField ) , "::" , stringify ! (
39497                BrokerID ) ));
39498    assert_eq! (unsafe {
39499                & ( * ( 0 as * const CThostFtdcBrokerUserRightAssignField ) )
39500                . DRIdentityID as * const _ as usize } , 12usize , concat ! (
39501                "Alignment of field: " , stringify ! (
39502                CThostFtdcBrokerUserRightAssignField ) , "::" , stringify ! (
39503                DRIdentityID ) ));
39504    assert_eq! (unsafe {
39505                & ( * ( 0 as * const CThostFtdcBrokerUserRightAssignField ) )
39506                . Tradeable as * const _ as usize } , 16usize , concat ! (
39507                "Alignment of field: " , stringify ! (
39508                CThostFtdcBrokerUserRightAssignField ) , "::" , stringify ! (
39509                Tradeable ) ));
39510}
39511impl Clone for CThostFtdcBrokerUserRightAssignField {
39512    fn clone(&self) -> Self { *self }
39513}
39514/// 灾备交易转换报文
39515#[repr(C)]
39516#[derive(Default, Copy)]
39517pub struct CThostFtdcDRTransferField {
39518    /// 原交易中心代码
39519    pub OrigDRIdentityID: TThostFtdcDRIdentityIDType,
39520    /// 目标交易中心代码
39521    pub DestDRIdentityID: TThostFtdcDRIdentityIDType,
39522    /// 原应用单元代码
39523    pub OrigBrokerID: TThostFtdcBrokerIDType,
39524    /// 目标易用单元代码
39525    pub DestBrokerID: TThostFtdcBrokerIDType,
39526}
39527#[test]
39528fn bindgen_test_layout_CThostFtdcDRTransferField() {
39529    assert_eq!(::std::mem::size_of::<CThostFtdcDRTransferField>() , 32usize ,
39530               concat ! (
39531               "Size of: " , stringify ! ( CThostFtdcDRTransferField ) ));
39532    assert_eq! (::std::mem::align_of::<CThostFtdcDRTransferField>() , 4usize ,
39533                concat ! (
39534                "Alignment of " , stringify ! ( CThostFtdcDRTransferField )
39535                ));
39536    assert_eq! (unsafe {
39537                & ( * ( 0 as * const CThostFtdcDRTransferField ) ) .
39538                OrigDRIdentityID as * const _ as usize } , 0usize , concat ! (
39539                "Alignment of field: " , stringify ! (
39540                CThostFtdcDRTransferField ) , "::" , stringify ! (
39541                OrigDRIdentityID ) ));
39542    assert_eq! (unsafe {
39543                & ( * ( 0 as * const CThostFtdcDRTransferField ) ) .
39544                DestDRIdentityID as * const _ as usize } , 4usize , concat ! (
39545                "Alignment of field: " , stringify ! (
39546                CThostFtdcDRTransferField ) , "::" , stringify ! (
39547                DestDRIdentityID ) ));
39548    assert_eq! (unsafe {
39549                & ( * ( 0 as * const CThostFtdcDRTransferField ) ) .
39550                OrigBrokerID as * const _ as usize } , 8usize , concat ! (
39551                "Alignment of field: " , stringify ! (
39552                CThostFtdcDRTransferField ) , "::" , stringify ! (
39553                OrigBrokerID ) ));
39554    assert_eq! (unsafe {
39555                & ( * ( 0 as * const CThostFtdcDRTransferField ) ) .
39556                DestBrokerID as * const _ as usize } , 19usize , concat ! (
39557                "Alignment of field: " , stringify ! (
39558                CThostFtdcDRTransferField ) , "::" , stringify ! (
39559                DestBrokerID ) ));
39560}
39561impl Clone for CThostFtdcDRTransferField {
39562    fn clone(&self) -> Self { *self }
39563}
39564/// Fens用户信息
39565#[repr(C)]
39566#[derive(Default, Copy)]
39567pub struct CThostFtdcFensUserInfoField {
39568    /// 经纪公司代码
39569    pub BrokerID: TThostFtdcBrokerIDType,
39570    /// 用户代码
39571    pub UserID: TThostFtdcUserIDType,
39572    /// 登录模式
39573    pub LoginMode: TThostFtdcLoginModeType,
39574}
39575#[test]
39576fn bindgen_test_layout_CThostFtdcFensUserInfoField() {
39577    assert_eq!(::std::mem::size_of::<CThostFtdcFensUserInfoField>() , 28usize
39578               , concat ! (
39579               "Size of: " , stringify ! ( CThostFtdcFensUserInfoField ) ));
39580    assert_eq! (::std::mem::align_of::<CThostFtdcFensUserInfoField>() , 1usize
39581                , concat ! (
39582                "Alignment of " , stringify ! ( CThostFtdcFensUserInfoField )
39583                ));
39584    assert_eq! (unsafe {
39585                & ( * ( 0 as * const CThostFtdcFensUserInfoField ) ) .
39586                BrokerID as * const _ as usize } , 0usize , concat ! (
39587                "Alignment of field: " , stringify ! (
39588                CThostFtdcFensUserInfoField ) , "::" , stringify ! ( BrokerID
39589                ) ));
39590    assert_eq! (unsafe {
39591                & ( * ( 0 as * const CThostFtdcFensUserInfoField ) ) . UserID
39592                as * const _ as usize } , 11usize , concat ! (
39593                "Alignment of field: " , stringify ! (
39594                CThostFtdcFensUserInfoField ) , "::" , stringify ! ( UserID )
39595                ));
39596    assert_eq! (unsafe {
39597                & ( * ( 0 as * const CThostFtdcFensUserInfoField ) ) .
39598                LoginMode as * const _ as usize } , 27usize , concat ! (
39599                "Alignment of field: " , stringify ! (
39600                CThostFtdcFensUserInfoField ) , "::" , stringify ! ( LoginMode
39601                ) ));
39602}
39603impl Clone for CThostFtdcFensUserInfoField {
39604    fn clone(&self) -> Self { *self }
39605}
39606/// 当前银期所属交易中心
39607#[repr(C)]
39608#[derive(Default, Copy)]
39609pub struct CThostFtdcCurrTransferIdentityField {
39610    /// 交易中心代码
39611    pub IdentityID: TThostFtdcDRIdentityIDType,
39612}
39613#[test]
39614fn bindgen_test_layout_CThostFtdcCurrTransferIdentityField() {
39615    assert_eq!(::std::mem::size_of::<CThostFtdcCurrTransferIdentityField>() ,
39616               4usize , concat ! (
39617               "Size of: " , stringify ! ( CThostFtdcCurrTransferIdentityField
39618               ) ));
39619    assert_eq! (::std::mem::align_of::<CThostFtdcCurrTransferIdentityField>()
39620                , 4usize , concat ! (
39621                "Alignment of " , stringify ! (
39622                CThostFtdcCurrTransferIdentityField ) ));
39623    assert_eq! (unsafe {
39624                & ( * ( 0 as * const CThostFtdcCurrTransferIdentityField ) ) .
39625                IdentityID as * const _ as usize } , 0usize , concat ! (
39626                "Alignment of field: " , stringify ! (
39627                CThostFtdcCurrTransferIdentityField ) , "::" , stringify ! (
39628                IdentityID ) ));
39629}
39630impl Clone for CThostFtdcCurrTransferIdentityField {
39631    fn clone(&self) -> Self { *self }
39632}
39633/// 禁止登录用户
39634#[repr(C)]
39635#[derive(Default, Copy)]
39636pub struct CThostFtdcLoginForbiddenUserField {
39637    /// 经纪公司代码
39638    pub BrokerID: TThostFtdcBrokerIDType,
39639    /// 用户代码
39640    pub UserID: TThostFtdcUserIDType,
39641    /// IP地址
39642    pub IPAddress: TThostFtdcIPAddressType,
39643}
39644#[test]
39645fn bindgen_test_layout_CThostFtdcLoginForbiddenUserField() {
39646    assert_eq!(::std::mem::size_of::<CThostFtdcLoginForbiddenUserField>() ,
39647               43usize , concat ! (
39648               "Size of: " , stringify ! ( CThostFtdcLoginForbiddenUserField )
39649               ));
39650    assert_eq! (::std::mem::align_of::<CThostFtdcLoginForbiddenUserField>() ,
39651                1usize , concat ! (
39652                "Alignment of " , stringify ! (
39653                CThostFtdcLoginForbiddenUserField ) ));
39654    assert_eq! (unsafe {
39655                & ( * ( 0 as * const CThostFtdcLoginForbiddenUserField ) ) .
39656                BrokerID as * const _ as usize } , 0usize , concat ! (
39657                "Alignment of field: " , stringify ! (
39658                CThostFtdcLoginForbiddenUserField ) , "::" , stringify ! (
39659                BrokerID ) ));
39660    assert_eq! (unsafe {
39661                & ( * ( 0 as * const CThostFtdcLoginForbiddenUserField ) ) .
39662                UserID as * const _ as usize } , 11usize , concat ! (
39663                "Alignment of field: " , stringify ! (
39664                CThostFtdcLoginForbiddenUserField ) , "::" , stringify ! (
39665                UserID ) ));
39666    assert_eq! (unsafe {
39667                & ( * ( 0 as * const CThostFtdcLoginForbiddenUserField ) ) .
39668                IPAddress as * const _ as usize } , 27usize , concat ! (
39669                "Alignment of field: " , stringify ! (
39670                CThostFtdcLoginForbiddenUserField ) , "::" , stringify ! (
39671                IPAddress ) ));
39672}
39673impl Clone for CThostFtdcLoginForbiddenUserField {
39674    fn clone(&self) -> Self { *self }
39675}
39676/// 查询禁止登录用户
39677#[repr(C)]
39678#[derive(Default, Copy)]
39679pub struct CThostFtdcQryLoginForbiddenUserField {
39680    /// 经纪公司代码
39681    pub BrokerID: TThostFtdcBrokerIDType,
39682    /// 用户代码
39683    pub UserID: TThostFtdcUserIDType,
39684}
39685#[test]
39686fn bindgen_test_layout_CThostFtdcQryLoginForbiddenUserField() {
39687    assert_eq!(::std::mem::size_of::<CThostFtdcQryLoginForbiddenUserField>() ,
39688               27usize , concat ! (
39689               "Size of: " , stringify ! (
39690               CThostFtdcQryLoginForbiddenUserField ) ));
39691    assert_eq! (::std::mem::align_of::<CThostFtdcQryLoginForbiddenUserField>()
39692                , 1usize , concat ! (
39693                "Alignment of " , stringify ! (
39694                CThostFtdcQryLoginForbiddenUserField ) ));
39695    assert_eq! (unsafe {
39696                & ( * ( 0 as * const CThostFtdcQryLoginForbiddenUserField ) )
39697                . BrokerID as * const _ as usize } , 0usize , concat ! (
39698                "Alignment of field: " , stringify ! (
39699                CThostFtdcQryLoginForbiddenUserField ) , "::" , stringify ! (
39700                BrokerID ) ));
39701    assert_eq! (unsafe {
39702                & ( * ( 0 as * const CThostFtdcQryLoginForbiddenUserField ) )
39703                . UserID as * const _ as usize } , 11usize , concat ! (
39704                "Alignment of field: " , stringify ! (
39705                CThostFtdcQryLoginForbiddenUserField ) , "::" , stringify ! (
39706                UserID ) ));
39707}
39708impl Clone for CThostFtdcQryLoginForbiddenUserField {
39709    fn clone(&self) -> Self { *self }
39710}
39711/// UDP组播组信息
39712#[repr(C)]
39713#[derive(Default, Copy)]
39714pub struct CThostFtdcMulticastGroupInfoField {
39715    /// 组播组IP地址
39716    pub GroupIP: TThostFtdcIPAddressType,
39717    /// 组播组IP端口
39718    pub GroupPort: TThostFtdcIPPortType,
39719    /// 源地址
39720    pub SourceIP: TThostFtdcIPAddressType,
39721}
39722#[test]
39723fn bindgen_test_layout_CThostFtdcMulticastGroupInfoField() {
39724    assert_eq!(::std::mem::size_of::<CThostFtdcMulticastGroupInfoField>() ,
39725               36usize , concat ! (
39726               "Size of: " , stringify ! ( CThostFtdcMulticastGroupInfoField )
39727               ));
39728    assert_eq! (::std::mem::align_of::<CThostFtdcMulticastGroupInfoField>() ,
39729                4usize , concat ! (
39730                "Alignment of " , stringify ! (
39731                CThostFtdcMulticastGroupInfoField ) ));
39732    assert_eq! (unsafe {
39733                & ( * ( 0 as * const CThostFtdcMulticastGroupInfoField ) ) .
39734                GroupIP as * const _ as usize } , 0usize , concat ! (
39735                "Alignment of field: " , stringify ! (
39736                CThostFtdcMulticastGroupInfoField ) , "::" , stringify ! (
39737                GroupIP ) ));
39738    assert_eq! (unsafe {
39739                & ( * ( 0 as * const CThostFtdcMulticastGroupInfoField ) ) .
39740                GroupPort as * const _ as usize } , 16usize , concat ! (
39741                "Alignment of field: " , stringify ! (
39742                CThostFtdcMulticastGroupInfoField ) , "::" , stringify ! (
39743                GroupPort ) ));
39744    assert_eq! (unsafe {
39745                & ( * ( 0 as * const CThostFtdcMulticastGroupInfoField ) ) .
39746                SourceIP as * const _ as usize } , 20usize , concat ! (
39747                "Alignment of field: " , stringify ! (
39748                CThostFtdcMulticastGroupInfoField ) , "::" , stringify ! (
39749                SourceIP ) ));
39750}
39751impl Clone for CThostFtdcMulticastGroupInfoField {
39752    fn clone(&self) -> Self { *self }
39753}
39754/// 资金账户基本准备金
39755#[repr(C)]
39756#[derive(Default, Copy)]
39757pub struct CThostFtdcTradingAccountReserveField {
39758    /// 经纪公司代码
39759    pub BrokerID: TThostFtdcBrokerIDType,
39760    /// 投资者帐号
39761    pub AccountID: TThostFtdcAccountIDType,
39762    /// 基本准备金
39763    pub Reserve: TThostFtdcMoneyType,
39764    /// 币种代码
39765    pub CurrencyID: TThostFtdcCurrencyIDType,
39766}
39767#[test]
39768fn bindgen_test_layout_CThostFtdcTradingAccountReserveField() {
39769    assert_eq!(::std::mem::size_of::<CThostFtdcTradingAccountReserveField>() ,
39770               40usize , concat ! (
39771               "Size of: " , stringify ! (
39772               CThostFtdcTradingAccountReserveField ) ));
39773    assert_eq! (::std::mem::align_of::<CThostFtdcTradingAccountReserveField>()
39774                , 8usize , concat ! (
39775                "Alignment of " , stringify ! (
39776                CThostFtdcTradingAccountReserveField ) ));
39777    assert_eq! (unsafe {
39778                & ( * ( 0 as * const CThostFtdcTradingAccountReserveField ) )
39779                . BrokerID as * const _ as usize } , 0usize , concat ! (
39780                "Alignment of field: " , stringify ! (
39781                CThostFtdcTradingAccountReserveField ) , "::" , stringify ! (
39782                BrokerID ) ));
39783    assert_eq! (unsafe {
39784                & ( * ( 0 as * const CThostFtdcTradingAccountReserveField ) )
39785                . AccountID as * const _ as usize } , 11usize , concat ! (
39786                "Alignment of field: " , stringify ! (
39787                CThostFtdcTradingAccountReserveField ) , "::" , stringify ! (
39788                AccountID ) ));
39789    assert_eq! (unsafe {
39790                & ( * ( 0 as * const CThostFtdcTradingAccountReserveField ) )
39791                . Reserve as * const _ as usize } , 24usize , concat ! (
39792                "Alignment of field: " , stringify ! (
39793                CThostFtdcTradingAccountReserveField ) , "::" , stringify ! (
39794                Reserve ) ));
39795    assert_eq! (unsafe {
39796                & ( * ( 0 as * const CThostFtdcTradingAccountReserveField ) )
39797                . CurrencyID as * const _ as usize } , 32usize , concat ! (
39798                "Alignment of field: " , stringify ! (
39799                CThostFtdcTradingAccountReserveField ) , "::" , stringify ! (
39800                CurrencyID ) ));
39801}
39802impl Clone for CThostFtdcTradingAccountReserveField {
39803    fn clone(&self) -> Self { *self }
39804}
39805/// 查询禁止登录IP
39806#[repr(C)]
39807#[derive(Default, Copy)]
39808pub struct CThostFtdcQryLoginForbiddenIPField {
39809    /// IP地址
39810    pub IPAddress: TThostFtdcIPAddressType,
39811}
39812#[test]
39813fn bindgen_test_layout_CThostFtdcQryLoginForbiddenIPField() {
39814    assert_eq!(::std::mem::size_of::<CThostFtdcQryLoginForbiddenIPField>() ,
39815               16usize , concat ! (
39816               "Size of: " , stringify ! ( CThostFtdcQryLoginForbiddenIPField
39817               ) ));
39818    assert_eq! (::std::mem::align_of::<CThostFtdcQryLoginForbiddenIPField>() ,
39819                1usize , concat ! (
39820                "Alignment of " , stringify ! (
39821                CThostFtdcQryLoginForbiddenIPField ) ));
39822    assert_eq! (unsafe {
39823                & ( * ( 0 as * const CThostFtdcQryLoginForbiddenIPField ) ) .
39824                IPAddress as * const _ as usize } , 0usize , concat ! (
39825                "Alignment of field: " , stringify ! (
39826                CThostFtdcQryLoginForbiddenIPField ) , "::" , stringify ! (
39827                IPAddress ) ));
39828}
39829impl Clone for CThostFtdcQryLoginForbiddenIPField {
39830    fn clone(&self) -> Self { *self }
39831}
39832/// 查询IP列表
39833#[repr(C)]
39834#[derive(Default, Copy)]
39835pub struct CThostFtdcQryIPListField {
39836    /// IP地址
39837    pub IPAddress: TThostFtdcIPAddressType,
39838}
39839#[test]
39840fn bindgen_test_layout_CThostFtdcQryIPListField() {
39841    assert_eq!(::std::mem::size_of::<CThostFtdcQryIPListField>() , 16usize ,
39842               concat ! (
39843               "Size of: " , stringify ! ( CThostFtdcQryIPListField ) ));
39844    assert_eq! (::std::mem::align_of::<CThostFtdcQryIPListField>() , 1usize ,
39845                concat ! (
39846                "Alignment of " , stringify ! ( CThostFtdcQryIPListField ) ));
39847    assert_eq! (unsafe {
39848                & ( * ( 0 as * const CThostFtdcQryIPListField ) ) . IPAddress
39849                as * const _ as usize } , 0usize , concat ! (
39850                "Alignment of field: " , stringify ! (
39851                CThostFtdcQryIPListField ) , "::" , stringify ! ( IPAddress )
39852                ));
39853}
39854impl Clone for CThostFtdcQryIPListField {
39855    fn clone(&self) -> Self { *self }
39856}
39857/// 查询用户下单权限分配表
39858#[repr(C)]
39859#[derive(Default, Copy)]
39860pub struct CThostFtdcQryUserRightsAssignField {
39861    /// 应用单元代码
39862    pub BrokerID: TThostFtdcBrokerIDType,
39863    /// 用户代码
39864    pub UserID: TThostFtdcUserIDType,
39865}
39866#[test]
39867fn bindgen_test_layout_CThostFtdcQryUserRightsAssignField() {
39868    assert_eq!(::std::mem::size_of::<CThostFtdcQryUserRightsAssignField>() ,
39869               27usize , concat ! (
39870               "Size of: " , stringify ! ( CThostFtdcQryUserRightsAssignField
39871               ) ));
39872    assert_eq! (::std::mem::align_of::<CThostFtdcQryUserRightsAssignField>() ,
39873                1usize , concat ! (
39874                "Alignment of " , stringify ! (
39875                CThostFtdcQryUserRightsAssignField ) ));
39876    assert_eq! (unsafe {
39877                & ( * ( 0 as * const CThostFtdcQryUserRightsAssignField ) ) .
39878                BrokerID as * const _ as usize } , 0usize , concat ! (
39879                "Alignment of field: " , stringify ! (
39880                CThostFtdcQryUserRightsAssignField ) , "::" , stringify ! (
39881                BrokerID ) ));
39882    assert_eq! (unsafe {
39883                & ( * ( 0 as * const CThostFtdcQryUserRightsAssignField ) ) .
39884                UserID as * const _ as usize } , 11usize , concat ! (
39885                "Alignment of field: " , stringify ! (
39886                CThostFtdcQryUserRightsAssignField ) , "::" , stringify ! (
39887                UserID ) ));
39888}
39889impl Clone for CThostFtdcQryUserRightsAssignField {
39890    fn clone(&self) -> Self { *self }
39891}
39892/// 银期预约开户确认请求
39893#[repr(C)]
39894#[derive(Copy)]
39895pub struct CThostFtdcReserveOpenAccountConfirmField {
39896    /// 业务功能码
39897    pub TradeCode: TThostFtdcTradeCodeType,
39898    /// 银行代码
39899    pub BankID: TThostFtdcBankIDType,
39900    /// 银行分支机构代码
39901    pub BankBranchID: TThostFtdcBankBrchIDType,
39902    /// 期商代码
39903    pub BrokerID: TThostFtdcBrokerIDType,
39904    /// 期商分支机构代码
39905    pub BrokerBranchID: TThostFtdcFutureBranchIDType,
39906    /// 交易日期
39907    pub TradeDate: TThostFtdcTradeDateType,
39908    /// 交易时间
39909    pub TradeTime: TThostFtdcTradeTimeType,
39910    /// 银行流水号
39911    pub BankSerial: TThostFtdcBankSerialType,
39912    /// 交易系统日期
39913    pub TradingDay: TThostFtdcTradeDateType,
39914    /// 银期平台消息流水号
39915    pub PlateSerial: TThostFtdcSerialType,
39916    /// 最后分片标志
39917    pub LastFragment: TThostFtdcLastFragmentType,
39918    /// 会话号
39919    pub SessionID: TThostFtdcSessionIDType,
39920    /// 客户姓名
39921    pub CustomerName: TThostFtdcLongIndividualNameType,
39922    /// 证件类型
39923    pub IdCardType: TThostFtdcIdCardTypeType,
39924    /// 证件号码
39925    pub IdentifiedCardNo: TThostFtdcIdentifiedCardNoType,
39926    /// 性别
39927    pub Gender: TThostFtdcGenderType,
39928    /// 国家代码
39929    pub CountryCode: TThostFtdcCountryCodeType,
39930    /// 客户类型
39931    pub CustType: TThostFtdcCustTypeType,
39932    /// 地址
39933    pub Address: TThostFtdcAddressType,
39934    /// 邮编
39935    pub ZipCode: TThostFtdcZipCodeType,
39936    /// 电话号码
39937    pub Telephone: TThostFtdcTelephoneType,
39938    /// 手机
39939    pub MobilePhone: TThostFtdcMobilePhoneType,
39940    /// 传真
39941    pub Fax: TThostFtdcFaxType,
39942    /// 电子邮件
39943    pub EMail: TThostFtdcEMailType,
39944    /// 资金账户状态
39945    pub MoneyAccountStatus: TThostFtdcMoneyAccountStatusType,
39946    /// 银行帐号
39947    pub BankAccount: TThostFtdcBankAccountType,
39948    /// 银行密码
39949    pub BankPassWord: TThostFtdcPasswordType,
39950    /// 安装编号
39951    pub InstallID: TThostFtdcInstallIDType,
39952    /// 验证客户证件号码标志
39953    pub VerifyCertNoFlag: TThostFtdcYesNoIndicatorType,
39954    /// 币种代码
39955    pub CurrencyID: TThostFtdcCurrencyIDType,
39956    /// 摘要
39957    pub Digest: TThostFtdcDigestType,
39958    /// 银行帐号类型
39959    pub BankAccType: TThostFtdcBankAccTypeType,
39960    /// 期货公司银行编码
39961    pub BrokerIDByBank: TThostFtdcBankCodingForFutureType,
39962    /// 交易ID
39963    pub TID: TThostFtdcTIDType,
39964    /// 投资者帐号
39965    pub AccountID: TThostFtdcAccountIDType,
39966    /// 期货密码
39967    pub Password: TThostFtdcPasswordType,
39968    /// 预约开户银行流水号
39969    pub BankReserveOpenSeq: TThostFtdcBankSerialType,
39970    /// 预约开户日期
39971    pub BookDate: TThostFtdcTradeDateType,
39972    /// 预约开户验证密码
39973    pub BookPsw: TThostFtdcPasswordType,
39974    /// 错误代码
39975    pub ErrorID: TThostFtdcErrorIDType,
39976    /// 错误信息
39977    pub ErrorMsg: TThostFtdcErrorMsgType,
39978}
39979#[test]
39980fn bindgen_test_layout_CThostFtdcReserveOpenAccountConfirmField() {
39981    assert_eq!(::std::mem::size_of::<CThostFtdcReserveOpenAccountConfirmField>()
39982               , 976usize , concat ! (
39983               "Size of: " , stringify ! (
39984               CThostFtdcReserveOpenAccountConfirmField ) ));
39985    assert_eq! (::std::mem::align_of::<CThostFtdcReserveOpenAccountConfirmField>()
39986                , 4usize , concat ! (
39987                "Alignment of " , stringify ! (
39988                CThostFtdcReserveOpenAccountConfirmField ) ));
39989    assert_eq! (unsafe {
39990                & (
39991                * ( 0 as * const CThostFtdcReserveOpenAccountConfirmField ) )
39992                . TradeCode as * const _ as usize } , 0usize , concat ! (
39993                "Alignment of field: " , stringify ! (
39994                CThostFtdcReserveOpenAccountConfirmField ) , "::" , stringify
39995                ! ( TradeCode ) ));
39996    assert_eq! (unsafe {
39997                & (
39998                * ( 0 as * const CThostFtdcReserveOpenAccountConfirmField ) )
39999                . BankID as * const _ as usize } , 7usize , concat ! (
40000                "Alignment of field: " , stringify ! (
40001                CThostFtdcReserveOpenAccountConfirmField ) , "::" , stringify
40002                ! ( BankID ) ));
40003    assert_eq! (unsafe {
40004                & (
40005                * ( 0 as * const CThostFtdcReserveOpenAccountConfirmField ) )
40006                . BankBranchID as * const _ as usize } , 11usize , concat ! (
40007                "Alignment of field: " , stringify ! (
40008                CThostFtdcReserveOpenAccountConfirmField ) , "::" , stringify
40009                ! ( BankBranchID ) ));
40010    assert_eq! (unsafe {
40011                & (
40012                * ( 0 as * const CThostFtdcReserveOpenAccountConfirmField ) )
40013                . BrokerID as * const _ as usize } , 16usize , concat ! (
40014                "Alignment of field: " , stringify ! (
40015                CThostFtdcReserveOpenAccountConfirmField ) , "::" , stringify
40016                ! ( BrokerID ) ));
40017    assert_eq! (unsafe {
40018                & (
40019                * ( 0 as * const CThostFtdcReserveOpenAccountConfirmField ) )
40020                . BrokerBranchID as * const _ as usize } , 27usize , concat !
40021                (
40022                "Alignment of field: " , stringify ! (
40023                CThostFtdcReserveOpenAccountConfirmField ) , "::" , stringify
40024                ! ( BrokerBranchID ) ));
40025    assert_eq! (unsafe {
40026                & (
40027                * ( 0 as * const CThostFtdcReserveOpenAccountConfirmField ) )
40028                . TradeDate as * const _ as usize } , 58usize , concat ! (
40029                "Alignment of field: " , stringify ! (
40030                CThostFtdcReserveOpenAccountConfirmField ) , "::" , stringify
40031                ! ( TradeDate ) ));
40032    assert_eq! (unsafe {
40033                & (
40034                * ( 0 as * const CThostFtdcReserveOpenAccountConfirmField ) )
40035                . TradeTime as * const _ as usize } , 67usize , concat ! (
40036                "Alignment of field: " , stringify ! (
40037                CThostFtdcReserveOpenAccountConfirmField ) , "::" , stringify
40038                ! ( TradeTime ) ));
40039    assert_eq! (unsafe {
40040                & (
40041                * ( 0 as * const CThostFtdcReserveOpenAccountConfirmField ) )
40042                . BankSerial as * const _ as usize } , 76usize , concat ! (
40043                "Alignment of field: " , stringify ! (
40044                CThostFtdcReserveOpenAccountConfirmField ) , "::" , stringify
40045                ! ( BankSerial ) ));
40046    assert_eq! (unsafe {
40047                & (
40048                * ( 0 as * const CThostFtdcReserveOpenAccountConfirmField ) )
40049                . TradingDay as * const _ as usize } , 89usize , concat ! (
40050                "Alignment of field: " , stringify ! (
40051                CThostFtdcReserveOpenAccountConfirmField ) , "::" , stringify
40052                ! ( TradingDay ) ));
40053    assert_eq! (unsafe {
40054                & (
40055                * ( 0 as * const CThostFtdcReserveOpenAccountConfirmField ) )
40056                . PlateSerial as * const _ as usize } , 100usize , concat ! (
40057                "Alignment of field: " , stringify ! (
40058                CThostFtdcReserveOpenAccountConfirmField ) , "::" , stringify
40059                ! ( PlateSerial ) ));
40060    assert_eq! (unsafe {
40061                & (
40062                * ( 0 as * const CThostFtdcReserveOpenAccountConfirmField ) )
40063                . LastFragment as * const _ as usize } , 104usize , concat ! (
40064                "Alignment of field: " , stringify ! (
40065                CThostFtdcReserveOpenAccountConfirmField ) , "::" , stringify
40066                ! ( LastFragment ) ));
40067    assert_eq! (unsafe {
40068                & (
40069                * ( 0 as * const CThostFtdcReserveOpenAccountConfirmField ) )
40070                . SessionID as * const _ as usize } , 108usize , concat ! (
40071                "Alignment of field: " , stringify ! (
40072                CThostFtdcReserveOpenAccountConfirmField ) , "::" , stringify
40073                ! ( SessionID ) ));
40074    assert_eq! (unsafe {
40075                & (
40076                * ( 0 as * const CThostFtdcReserveOpenAccountConfirmField ) )
40077                . CustomerName as * const _ as usize } , 112usize , concat ! (
40078                "Alignment of field: " , stringify ! (
40079                CThostFtdcReserveOpenAccountConfirmField ) , "::" , stringify
40080                ! ( CustomerName ) ));
40081    assert_eq! (unsafe {
40082                & (
40083                * ( 0 as * const CThostFtdcReserveOpenAccountConfirmField ) )
40084                . IdCardType as * const _ as usize } , 273usize , concat ! (
40085                "Alignment of field: " , stringify ! (
40086                CThostFtdcReserveOpenAccountConfirmField ) , "::" , stringify
40087                ! ( IdCardType ) ));
40088    assert_eq! (unsafe {
40089                & (
40090                * ( 0 as * const CThostFtdcReserveOpenAccountConfirmField ) )
40091                . IdentifiedCardNo as * const _ as usize } , 274usize , concat
40092                ! (
40093                "Alignment of field: " , stringify ! (
40094                CThostFtdcReserveOpenAccountConfirmField ) , "::" , stringify
40095                ! ( IdentifiedCardNo ) ));
40096    assert_eq! (unsafe {
40097                & (
40098                * ( 0 as * const CThostFtdcReserveOpenAccountConfirmField ) )
40099                . Gender as * const _ as usize } , 325usize , concat ! (
40100                "Alignment of field: " , stringify ! (
40101                CThostFtdcReserveOpenAccountConfirmField ) , "::" , stringify
40102                ! ( Gender ) ));
40103    assert_eq! (unsafe {
40104                & (
40105                * ( 0 as * const CThostFtdcReserveOpenAccountConfirmField ) )
40106                . CountryCode as * const _ as usize } , 326usize , concat ! (
40107                "Alignment of field: " , stringify ! (
40108                CThostFtdcReserveOpenAccountConfirmField ) , "::" , stringify
40109                ! ( CountryCode ) ));
40110    assert_eq! (unsafe {
40111                & (
40112                * ( 0 as * const CThostFtdcReserveOpenAccountConfirmField ) )
40113                . CustType as * const _ as usize } , 347usize , concat ! (
40114                "Alignment of field: " , stringify ! (
40115                CThostFtdcReserveOpenAccountConfirmField ) , "::" , stringify
40116                ! ( CustType ) ));
40117    assert_eq! (unsafe {
40118                & (
40119                * ( 0 as * const CThostFtdcReserveOpenAccountConfirmField ) )
40120                . Address as * const _ as usize } , 348usize , concat ! (
40121                "Alignment of field: " , stringify ! (
40122                CThostFtdcReserveOpenAccountConfirmField ) , "::" , stringify
40123                ! ( Address ) ));
40124    assert_eq! (unsafe {
40125                & (
40126                * ( 0 as * const CThostFtdcReserveOpenAccountConfirmField ) )
40127                . ZipCode as * const _ as usize } , 449usize , concat ! (
40128                "Alignment of field: " , stringify ! (
40129                CThostFtdcReserveOpenAccountConfirmField ) , "::" , stringify
40130                ! ( ZipCode ) ));
40131    assert_eq! (unsafe {
40132                & (
40133                * ( 0 as * const CThostFtdcReserveOpenAccountConfirmField ) )
40134                . Telephone as * const _ as usize } , 456usize , concat ! (
40135                "Alignment of field: " , stringify ! (
40136                CThostFtdcReserveOpenAccountConfirmField ) , "::" , stringify
40137                ! ( Telephone ) ));
40138    assert_eq! (unsafe {
40139                & (
40140                * ( 0 as * const CThostFtdcReserveOpenAccountConfirmField ) )
40141                . MobilePhone as * const _ as usize } , 497usize , concat ! (
40142                "Alignment of field: " , stringify ! (
40143                CThostFtdcReserveOpenAccountConfirmField ) , "::" , stringify
40144                ! ( MobilePhone ) ));
40145    assert_eq! (unsafe {
40146                & (
40147                * ( 0 as * const CThostFtdcReserveOpenAccountConfirmField ) )
40148                . Fax as * const _ as usize } , 518usize , concat ! (
40149                "Alignment of field: " , stringify ! (
40150                CThostFtdcReserveOpenAccountConfirmField ) , "::" , stringify
40151                ! ( Fax ) ));
40152    assert_eq! (unsafe {
40153                & (
40154                * ( 0 as * const CThostFtdcReserveOpenAccountConfirmField ) )
40155                . EMail as * const _ as usize } , 559usize , concat ! (
40156                "Alignment of field: " , stringify ! (
40157                CThostFtdcReserveOpenAccountConfirmField ) , "::" , stringify
40158                ! ( EMail ) ));
40159    assert_eq! (unsafe {
40160                & (
40161                * ( 0 as * const CThostFtdcReserveOpenAccountConfirmField ) )
40162                . MoneyAccountStatus as * const _ as usize } , 600usize ,
40163                concat ! (
40164                "Alignment of field: " , stringify ! (
40165                CThostFtdcReserveOpenAccountConfirmField ) , "::" , stringify
40166                ! ( MoneyAccountStatus ) ));
40167    assert_eq! (unsafe {
40168                & (
40169                * ( 0 as * const CThostFtdcReserveOpenAccountConfirmField ) )
40170                . BankAccount as * const _ as usize } , 601usize , concat ! (
40171                "Alignment of field: " , stringify ! (
40172                CThostFtdcReserveOpenAccountConfirmField ) , "::" , stringify
40173                ! ( BankAccount ) ));
40174    assert_eq! (unsafe {
40175                & (
40176                * ( 0 as * const CThostFtdcReserveOpenAccountConfirmField ) )
40177                . BankPassWord as * const _ as usize } , 642usize , concat ! (
40178                "Alignment of field: " , stringify ! (
40179                CThostFtdcReserveOpenAccountConfirmField ) , "::" , stringify
40180                ! ( BankPassWord ) ));
40181    assert_eq! (unsafe {
40182                & (
40183                * ( 0 as * const CThostFtdcReserveOpenAccountConfirmField ) )
40184                . InstallID as * const _ as usize } , 684usize , concat ! (
40185                "Alignment of field: " , stringify ! (
40186                CThostFtdcReserveOpenAccountConfirmField ) , "::" , stringify
40187                ! ( InstallID ) ));
40188    assert_eq! (unsafe {
40189                & (
40190                * ( 0 as * const CThostFtdcReserveOpenAccountConfirmField ) )
40191                . VerifyCertNoFlag as * const _ as usize } , 688usize , concat
40192                ! (
40193                "Alignment of field: " , stringify ! (
40194                CThostFtdcReserveOpenAccountConfirmField ) , "::" , stringify
40195                ! ( VerifyCertNoFlag ) ));
40196    assert_eq! (unsafe {
40197                & (
40198                * ( 0 as * const CThostFtdcReserveOpenAccountConfirmField ) )
40199                . CurrencyID as * const _ as usize } , 689usize , concat ! (
40200                "Alignment of field: " , stringify ! (
40201                CThostFtdcReserveOpenAccountConfirmField ) , "::" , stringify
40202                ! ( CurrencyID ) ));
40203    assert_eq! (unsafe {
40204                & (
40205                * ( 0 as * const CThostFtdcReserveOpenAccountConfirmField ) )
40206                . Digest as * const _ as usize } , 693usize , concat ! (
40207                "Alignment of field: " , stringify ! (
40208                CThostFtdcReserveOpenAccountConfirmField ) , "::" , stringify
40209                ! ( Digest ) ));
40210    assert_eq! (unsafe {
40211                & (
40212                * ( 0 as * const CThostFtdcReserveOpenAccountConfirmField ) )
40213                . BankAccType as * const _ as usize } , 729usize , concat ! (
40214                "Alignment of field: " , stringify ! (
40215                CThostFtdcReserveOpenAccountConfirmField ) , "::" , stringify
40216                ! ( BankAccType ) ));
40217    assert_eq! (unsafe {
40218                & (
40219                * ( 0 as * const CThostFtdcReserveOpenAccountConfirmField ) )
40220                . BrokerIDByBank as * const _ as usize } , 730usize , concat !
40221                (
40222                "Alignment of field: " , stringify ! (
40223                CThostFtdcReserveOpenAccountConfirmField ) , "::" , stringify
40224                ! ( BrokerIDByBank ) ));
40225    assert_eq! (unsafe {
40226                & (
40227                * ( 0 as * const CThostFtdcReserveOpenAccountConfirmField ) )
40228                . TID as * const _ as usize } , 764usize , concat ! (
40229                "Alignment of field: " , stringify ! (
40230                CThostFtdcReserveOpenAccountConfirmField ) , "::" , stringify
40231                ! ( TID ) ));
40232    assert_eq! (unsafe {
40233                & (
40234                * ( 0 as * const CThostFtdcReserveOpenAccountConfirmField ) )
40235                . AccountID as * const _ as usize } , 768usize , concat ! (
40236                "Alignment of field: " , stringify ! (
40237                CThostFtdcReserveOpenAccountConfirmField ) , "::" , stringify
40238                ! ( AccountID ) ));
40239    assert_eq! (unsafe {
40240                & (
40241                * ( 0 as * const CThostFtdcReserveOpenAccountConfirmField ) )
40242                . Password as * const _ as usize } , 781usize , concat ! (
40243                "Alignment of field: " , stringify ! (
40244                CThostFtdcReserveOpenAccountConfirmField ) , "::" , stringify
40245                ! ( Password ) ));
40246    assert_eq! (unsafe {
40247                & (
40248                * ( 0 as * const CThostFtdcReserveOpenAccountConfirmField ) )
40249                . BankReserveOpenSeq as * const _ as usize } , 822usize ,
40250                concat ! (
40251                "Alignment of field: " , stringify ! (
40252                CThostFtdcReserveOpenAccountConfirmField ) , "::" , stringify
40253                ! ( BankReserveOpenSeq ) ));
40254    assert_eq! (unsafe {
40255                & (
40256                * ( 0 as * const CThostFtdcReserveOpenAccountConfirmField ) )
40257                . BookDate as * const _ as usize } , 835usize , concat ! (
40258                "Alignment of field: " , stringify ! (
40259                CThostFtdcReserveOpenAccountConfirmField ) , "::" , stringify
40260                ! ( BookDate ) ));
40261    assert_eq! (unsafe {
40262                & (
40263                * ( 0 as * const CThostFtdcReserveOpenAccountConfirmField ) )
40264                . BookPsw as * const _ as usize } , 844usize , concat ! (
40265                "Alignment of field: " , stringify ! (
40266                CThostFtdcReserveOpenAccountConfirmField ) , "::" , stringify
40267                ! ( BookPsw ) ));
40268    assert_eq! (unsafe {
40269                & (
40270                * ( 0 as * const CThostFtdcReserveOpenAccountConfirmField ) )
40271                . ErrorID as * const _ as usize } , 888usize , concat ! (
40272                "Alignment of field: " , stringify ! (
40273                CThostFtdcReserveOpenAccountConfirmField ) , "::" , stringify
40274                ! ( ErrorID ) ));
40275    assert_eq! (unsafe {
40276                & (
40277                * ( 0 as * const CThostFtdcReserveOpenAccountConfirmField ) )
40278                . ErrorMsg as * const _ as usize } , 892usize , concat ! (
40279                "Alignment of field: " , stringify ! (
40280                CThostFtdcReserveOpenAccountConfirmField ) , "::" , stringify
40281                ! ( ErrorMsg ) ));
40282}
40283impl Clone for CThostFtdcReserveOpenAccountConfirmField {
40284    fn clone(&self) -> Self { *self }
40285}
40286impl Default for CThostFtdcReserveOpenAccountConfirmField {
40287    fn default() -> Self { unsafe { ::std::mem::zeroed() } }
40288}
40289/// 银期预约开户
40290#[repr(C)]
40291#[derive(Copy)]
40292pub struct CThostFtdcReserveOpenAccountField {
40293    /// 业务功能码
40294    pub TradeCode: TThostFtdcTradeCodeType,
40295    /// 银行代码
40296    pub BankID: TThostFtdcBankIDType,
40297    /// 银行分支机构代码
40298    pub BankBranchID: TThostFtdcBankBrchIDType,
40299    /// 期商代码
40300    pub BrokerID: TThostFtdcBrokerIDType,
40301    /// 期商分支机构代码
40302    pub BrokerBranchID: TThostFtdcFutureBranchIDType,
40303    /// 交易日期
40304    pub TradeDate: TThostFtdcTradeDateType,
40305    /// 交易时间
40306    pub TradeTime: TThostFtdcTradeTimeType,
40307    /// 银行流水号
40308    pub BankSerial: TThostFtdcBankSerialType,
40309    /// 交易系统日期
40310    pub TradingDay: TThostFtdcTradeDateType,
40311    /// 银期平台消息流水号
40312    pub PlateSerial: TThostFtdcSerialType,
40313    /// 最后分片标志
40314    pub LastFragment: TThostFtdcLastFragmentType,
40315    /// 会话号
40316    pub SessionID: TThostFtdcSessionIDType,
40317    /// 客户姓名
40318    pub CustomerName: TThostFtdcLongIndividualNameType,
40319    /// 证件类型
40320    pub IdCardType: TThostFtdcIdCardTypeType,
40321    /// 证件号码
40322    pub IdentifiedCardNo: TThostFtdcIdentifiedCardNoType,
40323    /// 性别
40324    pub Gender: TThostFtdcGenderType,
40325    /// 国家代码
40326    pub CountryCode: TThostFtdcCountryCodeType,
40327    /// 客户类型
40328    pub CustType: TThostFtdcCustTypeType,
40329    /// 地址
40330    pub Address: TThostFtdcAddressType,
40331    /// 邮编
40332    pub ZipCode: TThostFtdcZipCodeType,
40333    /// 电话号码
40334    pub Telephone: TThostFtdcTelephoneType,
40335    /// 手机
40336    pub MobilePhone: TThostFtdcMobilePhoneType,
40337    /// 传真
40338    pub Fax: TThostFtdcFaxType,
40339    /// 电子邮件
40340    pub EMail: TThostFtdcEMailType,
40341    /// 资金账户状态
40342    pub MoneyAccountStatus: TThostFtdcMoneyAccountStatusType,
40343    /// 银行帐号
40344    pub BankAccount: TThostFtdcBankAccountType,
40345    /// 银行密码
40346    pub BankPassWord: TThostFtdcPasswordType,
40347    /// 安装编号
40348    pub InstallID: TThostFtdcInstallIDType,
40349    /// 验证客户证件号码标志
40350    pub VerifyCertNoFlag: TThostFtdcYesNoIndicatorType,
40351    /// 币种代码
40352    pub CurrencyID: TThostFtdcCurrencyIDType,
40353    /// 摘要
40354    pub Digest: TThostFtdcDigestType,
40355    /// 银行帐号类型
40356    pub BankAccType: TThostFtdcBankAccTypeType,
40357    /// 期货公司银行编码
40358    pub BrokerIDByBank: TThostFtdcBankCodingForFutureType,
40359    /// 交易ID
40360    pub TID: TThostFtdcTIDType,
40361    /// 预约开户状态
40362    pub ReserveOpenAccStas: TThostFtdcReserveOpenAccStasType,
40363    /// 错误代码
40364    pub ErrorID: TThostFtdcErrorIDType,
40365    /// 错误信息
40366    pub ErrorMsg: TThostFtdcErrorMsgType,
40367}
40368#[test]
40369fn bindgen_test_layout_CThostFtdcReserveOpenAccountField() {
40370    assert_eq!(::std::mem::size_of::<CThostFtdcReserveOpenAccountField>() ,
40371               860usize , concat ! (
40372               "Size of: " , stringify ! ( CThostFtdcReserveOpenAccountField )
40373               ));
40374    assert_eq! (::std::mem::align_of::<CThostFtdcReserveOpenAccountField>() ,
40375                4usize , concat ! (
40376                "Alignment of " , stringify ! (
40377                CThostFtdcReserveOpenAccountField ) ));
40378    assert_eq! (unsafe {
40379                & ( * ( 0 as * const CThostFtdcReserveOpenAccountField ) ) .
40380                TradeCode as * const _ as usize } , 0usize , concat ! (
40381                "Alignment of field: " , stringify ! (
40382                CThostFtdcReserveOpenAccountField ) , "::" , stringify ! (
40383                TradeCode ) ));
40384    assert_eq! (unsafe {
40385                & ( * ( 0 as * const CThostFtdcReserveOpenAccountField ) ) .
40386                BankID as * const _ as usize } , 7usize , concat ! (
40387                "Alignment of field: " , stringify ! (
40388                CThostFtdcReserveOpenAccountField ) , "::" , stringify ! (
40389                BankID ) ));
40390    assert_eq! (unsafe {
40391                & ( * ( 0 as * const CThostFtdcReserveOpenAccountField ) ) .
40392                BankBranchID as * const _ as usize } , 11usize , concat ! (
40393                "Alignment of field: " , stringify ! (
40394                CThostFtdcReserveOpenAccountField ) , "::" , stringify ! (
40395                BankBranchID ) ));
40396    assert_eq! (unsafe {
40397                & ( * ( 0 as * const CThostFtdcReserveOpenAccountField ) ) .
40398                BrokerID as * const _ as usize } , 16usize , concat ! (
40399                "Alignment of field: " , stringify ! (
40400                CThostFtdcReserveOpenAccountField ) , "::" , stringify ! (
40401                BrokerID ) ));
40402    assert_eq! (unsafe {
40403                & ( * ( 0 as * const CThostFtdcReserveOpenAccountField ) ) .
40404                BrokerBranchID as * const _ as usize } , 27usize , concat ! (
40405                "Alignment of field: " , stringify ! (
40406                CThostFtdcReserveOpenAccountField ) , "::" , stringify ! (
40407                BrokerBranchID ) ));
40408    assert_eq! (unsafe {
40409                & ( * ( 0 as * const CThostFtdcReserveOpenAccountField ) ) .
40410                TradeDate as * const _ as usize } , 58usize , concat ! (
40411                "Alignment of field: " , stringify ! (
40412                CThostFtdcReserveOpenAccountField ) , "::" , stringify ! (
40413                TradeDate ) ));
40414    assert_eq! (unsafe {
40415                & ( * ( 0 as * const CThostFtdcReserveOpenAccountField ) ) .
40416                TradeTime as * const _ as usize } , 67usize , concat ! (
40417                "Alignment of field: " , stringify ! (
40418                CThostFtdcReserveOpenAccountField ) , "::" , stringify ! (
40419                TradeTime ) ));
40420    assert_eq! (unsafe {
40421                & ( * ( 0 as * const CThostFtdcReserveOpenAccountField ) ) .
40422                BankSerial as * const _ as usize } , 76usize , concat ! (
40423                "Alignment of field: " , stringify ! (
40424                CThostFtdcReserveOpenAccountField ) , "::" , stringify ! (
40425                BankSerial ) ));
40426    assert_eq! (unsafe {
40427                & ( * ( 0 as * const CThostFtdcReserveOpenAccountField ) ) .
40428                TradingDay as * const _ as usize } , 89usize , concat ! (
40429                "Alignment of field: " , stringify ! (
40430                CThostFtdcReserveOpenAccountField ) , "::" , stringify ! (
40431                TradingDay ) ));
40432    assert_eq! (unsafe {
40433                & ( * ( 0 as * const CThostFtdcReserveOpenAccountField ) ) .
40434                PlateSerial as * const _ as usize } , 100usize , concat ! (
40435                "Alignment of field: " , stringify ! (
40436                CThostFtdcReserveOpenAccountField ) , "::" , stringify ! (
40437                PlateSerial ) ));
40438    assert_eq! (unsafe {
40439                & ( * ( 0 as * const CThostFtdcReserveOpenAccountField ) ) .
40440                LastFragment as * const _ as usize } , 104usize , concat ! (
40441                "Alignment of field: " , stringify ! (
40442                CThostFtdcReserveOpenAccountField ) , "::" , stringify ! (
40443                LastFragment ) ));
40444    assert_eq! (unsafe {
40445                & ( * ( 0 as * const CThostFtdcReserveOpenAccountField ) ) .
40446                SessionID as * const _ as usize } , 108usize , concat ! (
40447                "Alignment of field: " , stringify ! (
40448                CThostFtdcReserveOpenAccountField ) , "::" , stringify ! (
40449                SessionID ) ));
40450    assert_eq! (unsafe {
40451                & ( * ( 0 as * const CThostFtdcReserveOpenAccountField ) ) .
40452                CustomerName as * const _ as usize } , 112usize , concat ! (
40453                "Alignment of field: " , stringify ! (
40454                CThostFtdcReserveOpenAccountField ) , "::" , stringify ! (
40455                CustomerName ) ));
40456    assert_eq! (unsafe {
40457                & ( * ( 0 as * const CThostFtdcReserveOpenAccountField ) ) .
40458                IdCardType as * const _ as usize } , 273usize , concat ! (
40459                "Alignment of field: " , stringify ! (
40460                CThostFtdcReserveOpenAccountField ) , "::" , stringify ! (
40461                IdCardType ) ));
40462    assert_eq! (unsafe {
40463                & ( * ( 0 as * const CThostFtdcReserveOpenAccountField ) ) .
40464                IdentifiedCardNo as * const _ as usize } , 274usize , concat !
40465                (
40466                "Alignment of field: " , stringify ! (
40467                CThostFtdcReserveOpenAccountField ) , "::" , stringify ! (
40468                IdentifiedCardNo ) ));
40469    assert_eq! (unsafe {
40470                & ( * ( 0 as * const CThostFtdcReserveOpenAccountField ) ) .
40471                Gender as * const _ as usize } , 325usize , concat ! (
40472                "Alignment of field: " , stringify ! (
40473                CThostFtdcReserveOpenAccountField ) , "::" , stringify ! (
40474                Gender ) ));
40475    assert_eq! (unsafe {
40476                & ( * ( 0 as * const CThostFtdcReserveOpenAccountField ) ) .
40477                CountryCode as * const _ as usize } , 326usize , concat ! (
40478                "Alignment of field: " , stringify ! (
40479                CThostFtdcReserveOpenAccountField ) , "::" , stringify ! (
40480                CountryCode ) ));
40481    assert_eq! (unsafe {
40482                & ( * ( 0 as * const CThostFtdcReserveOpenAccountField ) ) .
40483                CustType as * const _ as usize } , 347usize , concat ! (
40484                "Alignment of field: " , stringify ! (
40485                CThostFtdcReserveOpenAccountField ) , "::" , stringify ! (
40486                CustType ) ));
40487    assert_eq! (unsafe {
40488                & ( * ( 0 as * const CThostFtdcReserveOpenAccountField ) ) .
40489                Address as * const _ as usize } , 348usize , concat ! (
40490                "Alignment of field: " , stringify ! (
40491                CThostFtdcReserveOpenAccountField ) , "::" , stringify ! (
40492                Address ) ));
40493    assert_eq! (unsafe {
40494                & ( * ( 0 as * const CThostFtdcReserveOpenAccountField ) ) .
40495                ZipCode as * const _ as usize } , 449usize , concat ! (
40496                "Alignment of field: " , stringify ! (
40497                CThostFtdcReserveOpenAccountField ) , "::" , stringify ! (
40498                ZipCode ) ));
40499    assert_eq! (unsafe {
40500                & ( * ( 0 as * const CThostFtdcReserveOpenAccountField ) ) .
40501                Telephone as * const _ as usize } , 456usize , concat ! (
40502                "Alignment of field: " , stringify ! (
40503                CThostFtdcReserveOpenAccountField ) , "::" , stringify ! (
40504                Telephone ) ));
40505    assert_eq! (unsafe {
40506                & ( * ( 0 as * const CThostFtdcReserveOpenAccountField ) ) .
40507                MobilePhone as * const _ as usize } , 497usize , concat ! (
40508                "Alignment of field: " , stringify ! (
40509                CThostFtdcReserveOpenAccountField ) , "::" , stringify ! (
40510                MobilePhone ) ));
40511    assert_eq! (unsafe {
40512                & ( * ( 0 as * const CThostFtdcReserveOpenAccountField ) ) .
40513                Fax as * const _ as usize } , 518usize , concat ! (
40514                "Alignment of field: " , stringify ! (
40515                CThostFtdcReserveOpenAccountField ) , "::" , stringify ! ( Fax
40516                ) ));
40517    assert_eq! (unsafe {
40518                & ( * ( 0 as * const CThostFtdcReserveOpenAccountField ) ) .
40519                EMail as * const _ as usize } , 559usize , concat ! (
40520                "Alignment of field: " , stringify ! (
40521                CThostFtdcReserveOpenAccountField ) , "::" , stringify ! (
40522                EMail ) ));
40523    assert_eq! (unsafe {
40524                & ( * ( 0 as * const CThostFtdcReserveOpenAccountField ) ) .
40525                MoneyAccountStatus as * const _ as usize } , 600usize , concat
40526                ! (
40527                "Alignment of field: " , stringify ! (
40528                CThostFtdcReserveOpenAccountField ) , "::" , stringify ! (
40529                MoneyAccountStatus ) ));
40530    assert_eq! (unsafe {
40531                & ( * ( 0 as * const CThostFtdcReserveOpenAccountField ) ) .
40532                BankAccount as * const _ as usize } , 601usize , concat ! (
40533                "Alignment of field: " , stringify ! (
40534                CThostFtdcReserveOpenAccountField ) , "::" , stringify ! (
40535                BankAccount ) ));
40536    assert_eq! (unsafe {
40537                & ( * ( 0 as * const CThostFtdcReserveOpenAccountField ) ) .
40538                BankPassWord as * const _ as usize } , 642usize , concat ! (
40539                "Alignment of field: " , stringify ! (
40540                CThostFtdcReserveOpenAccountField ) , "::" , stringify ! (
40541                BankPassWord ) ));
40542    assert_eq! (unsafe {
40543                & ( * ( 0 as * const CThostFtdcReserveOpenAccountField ) ) .
40544                InstallID as * const _ as usize } , 684usize , concat ! (
40545                "Alignment of field: " , stringify ! (
40546                CThostFtdcReserveOpenAccountField ) , "::" , stringify ! (
40547                InstallID ) ));
40548    assert_eq! (unsafe {
40549                & ( * ( 0 as * const CThostFtdcReserveOpenAccountField ) ) .
40550                VerifyCertNoFlag as * const _ as usize } , 688usize , concat !
40551                (
40552                "Alignment of field: " , stringify ! (
40553                CThostFtdcReserveOpenAccountField ) , "::" , stringify ! (
40554                VerifyCertNoFlag ) ));
40555    assert_eq! (unsafe {
40556                & ( * ( 0 as * const CThostFtdcReserveOpenAccountField ) ) .
40557                CurrencyID as * const _ as usize } , 689usize , concat ! (
40558                "Alignment of field: " , stringify ! (
40559                CThostFtdcReserveOpenAccountField ) , "::" , stringify ! (
40560                CurrencyID ) ));
40561    assert_eq! (unsafe {
40562                & ( * ( 0 as * const CThostFtdcReserveOpenAccountField ) ) .
40563                Digest as * const _ as usize } , 693usize , concat ! (
40564                "Alignment of field: " , stringify ! (
40565                CThostFtdcReserveOpenAccountField ) , "::" , stringify ! (
40566                Digest ) ));
40567    assert_eq! (unsafe {
40568                & ( * ( 0 as * const CThostFtdcReserveOpenAccountField ) ) .
40569                BankAccType as * const _ as usize } , 729usize , concat ! (
40570                "Alignment of field: " , stringify ! (
40571                CThostFtdcReserveOpenAccountField ) , "::" , stringify ! (
40572                BankAccType ) ));
40573    assert_eq! (unsafe {
40574                & ( * ( 0 as * const CThostFtdcReserveOpenAccountField ) ) .
40575                BrokerIDByBank as * const _ as usize } , 730usize , concat ! (
40576                "Alignment of field: " , stringify ! (
40577                CThostFtdcReserveOpenAccountField ) , "::" , stringify ! (
40578                BrokerIDByBank ) ));
40579    assert_eq! (unsafe {
40580                & ( * ( 0 as * const CThostFtdcReserveOpenAccountField ) ) .
40581                TID as * const _ as usize } , 764usize , concat ! (
40582                "Alignment of field: " , stringify ! (
40583                CThostFtdcReserveOpenAccountField ) , "::" , stringify ! ( TID
40584                ) ));
40585    assert_eq! (unsafe {
40586                & ( * ( 0 as * const CThostFtdcReserveOpenAccountField ) ) .
40587                ReserveOpenAccStas as * const _ as usize } , 768usize , concat
40588                ! (
40589                "Alignment of field: " , stringify ! (
40590                CThostFtdcReserveOpenAccountField ) , "::" , stringify ! (
40591                ReserveOpenAccStas ) ));
40592    assert_eq! (unsafe {
40593                & ( * ( 0 as * const CThostFtdcReserveOpenAccountField ) ) .
40594                ErrorID as * const _ as usize } , 772usize , concat ! (
40595                "Alignment of field: " , stringify ! (
40596                CThostFtdcReserveOpenAccountField ) , "::" , stringify ! (
40597                ErrorID ) ));
40598    assert_eq! (unsafe {
40599                & ( * ( 0 as * const CThostFtdcReserveOpenAccountField ) ) .
40600                ErrorMsg as * const _ as usize } , 776usize , concat ! (
40601                "Alignment of field: " , stringify ! (
40602                CThostFtdcReserveOpenAccountField ) , "::" , stringify ! (
40603                ErrorMsg ) ));
40604}
40605impl Clone for CThostFtdcReserveOpenAccountField {
40606    fn clone(&self) -> Self { *self }
40607}
40608impl Default for CThostFtdcReserveOpenAccountField {
40609    fn default() -> Self { unsafe { ::std::mem::zeroed() } }
40610}
40611/// 银行账户属性
40612#[repr(C)]
40613#[derive(Copy)]
40614pub struct CThostFtdcAccountPropertyField {
40615    /// 经纪公司代码
40616    pub BrokerID: TThostFtdcBrokerIDType,
40617    /// 投资者帐号
40618    pub AccountID: TThostFtdcAccountIDType,
40619    /// 银行统一标识类型
40620    pub BankID: TThostFtdcBankIDType,
40621    /// 银行账户
40622    pub BankAccount: TThostFtdcBankAccountType,
40623    /// 银行账户的开户人名称
40624    pub OpenName: TThostFtdcInvestorFullNameType,
40625    /// 银行账户的开户行
40626    pub OpenBank: TThostFtdcOpenBankType,
40627    /// 是否活跃
40628    pub IsActive: TThostFtdcBoolType,
40629    /// 账户来源
40630    pub AccountSourceType: TThostFtdcAccountSourceTypeType,
40631    /// 开户日期
40632    pub OpenDate: TThostFtdcDateType,
40633    /// 注销日期
40634    pub CancelDate: TThostFtdcDateType,
40635    /// 录入员代码
40636    pub OperatorID: TThostFtdcOperatorIDType,
40637    /// 录入日期
40638    pub OperateDate: TThostFtdcDateType,
40639    /// 录入时间
40640    pub OperateTime: TThostFtdcTimeType,
40641    /// 币种代码
40642    pub CurrencyID: TThostFtdcCurrencyIDType,
40643}
40644#[test]
40645fn bindgen_test_layout_CThostFtdcAccountPropertyField() {
40646    assert_eq!(::std::mem::size_of::<CThostFtdcAccountPropertyField>() ,
40647               384usize , concat ! (
40648               "Size of: " , stringify ! ( CThostFtdcAccountPropertyField )
40649               ));
40650    assert_eq! (::std::mem::align_of::<CThostFtdcAccountPropertyField>() ,
40651                4usize , concat ! (
40652                "Alignment of " , stringify ! ( CThostFtdcAccountPropertyField
40653                ) ));
40654    assert_eq! (unsafe {
40655                & ( * ( 0 as * const CThostFtdcAccountPropertyField ) ) .
40656                BrokerID as * const _ as usize } , 0usize , concat ! (
40657                "Alignment of field: " , stringify ! (
40658                CThostFtdcAccountPropertyField ) , "::" , stringify ! (
40659                BrokerID ) ));
40660    assert_eq! (unsafe {
40661                & ( * ( 0 as * const CThostFtdcAccountPropertyField ) ) .
40662                AccountID as * const _ as usize } , 11usize , concat ! (
40663                "Alignment of field: " , stringify ! (
40664                CThostFtdcAccountPropertyField ) , "::" , stringify ! (
40665                AccountID ) ));
40666    assert_eq! (unsafe {
40667                & ( * ( 0 as * const CThostFtdcAccountPropertyField ) ) .
40668                BankID as * const _ as usize } , 24usize , concat ! (
40669                "Alignment of field: " , stringify ! (
40670                CThostFtdcAccountPropertyField ) , "::" , stringify ! ( BankID
40671                ) ));
40672    assert_eq! (unsafe {
40673                & ( * ( 0 as * const CThostFtdcAccountPropertyField ) ) .
40674                BankAccount as * const _ as usize } , 28usize , concat ! (
40675                "Alignment of field: " , stringify ! (
40676                CThostFtdcAccountPropertyField ) , "::" , stringify ! (
40677                BankAccount ) ));
40678    assert_eq! (unsafe {
40679                & ( * ( 0 as * const CThostFtdcAccountPropertyField ) ) .
40680                OpenName as * const _ as usize } , 69usize , concat ! (
40681                "Alignment of field: " , stringify ! (
40682                CThostFtdcAccountPropertyField ) , "::" , stringify ! (
40683                OpenName ) ));
40684    assert_eq! (unsafe {
40685                & ( * ( 0 as * const CThostFtdcAccountPropertyField ) ) .
40686                OpenBank as * const _ as usize } , 170usize , concat ! (
40687                "Alignment of field: " , stringify ! (
40688                CThostFtdcAccountPropertyField ) , "::" , stringify ! (
40689                OpenBank ) ));
40690    assert_eq! (unsafe {
40691                & ( * ( 0 as * const CThostFtdcAccountPropertyField ) ) .
40692                IsActive as * const _ as usize } , 272usize , concat ! (
40693                "Alignment of field: " , stringify ! (
40694                CThostFtdcAccountPropertyField ) , "::" , stringify ! (
40695                IsActive ) ));
40696    assert_eq! (unsafe {
40697                & ( * ( 0 as * const CThostFtdcAccountPropertyField ) ) .
40698                AccountSourceType as * const _ as usize } , 276usize , concat
40699                ! (
40700                "Alignment of field: " , stringify ! (
40701                CThostFtdcAccountPropertyField ) , "::" , stringify ! (
40702                AccountSourceType ) ));
40703    assert_eq! (unsafe {
40704                & ( * ( 0 as * const CThostFtdcAccountPropertyField ) ) .
40705                OpenDate as * const _ as usize } , 277usize , concat ! (
40706                "Alignment of field: " , stringify ! (
40707                CThostFtdcAccountPropertyField ) , "::" , stringify ! (
40708                OpenDate ) ));
40709    assert_eq! (unsafe {
40710                & ( * ( 0 as * const CThostFtdcAccountPropertyField ) ) .
40711                CancelDate as * const _ as usize } , 286usize , concat ! (
40712                "Alignment of field: " , stringify ! (
40713                CThostFtdcAccountPropertyField ) , "::" , stringify ! (
40714                CancelDate ) ));
40715    assert_eq! (unsafe {
40716                & ( * ( 0 as * const CThostFtdcAccountPropertyField ) ) .
40717                OperatorID as * const _ as usize } , 295usize , concat ! (
40718                "Alignment of field: " , stringify ! (
40719                CThostFtdcAccountPropertyField ) , "::" , stringify ! (
40720                OperatorID ) ));
40721    assert_eq! (unsafe {
40722                & ( * ( 0 as * const CThostFtdcAccountPropertyField ) ) .
40723                OperateDate as * const _ as usize } , 360usize , concat ! (
40724                "Alignment of field: " , stringify ! (
40725                CThostFtdcAccountPropertyField ) , "::" , stringify ! (
40726                OperateDate ) ));
40727    assert_eq! (unsafe {
40728                & ( * ( 0 as * const CThostFtdcAccountPropertyField ) ) .
40729                OperateTime as * const _ as usize } , 369usize , concat ! (
40730                "Alignment of field: " , stringify ! (
40731                CThostFtdcAccountPropertyField ) , "::" , stringify ! (
40732                OperateTime ) ));
40733    assert_eq! (unsafe {
40734                & ( * ( 0 as * const CThostFtdcAccountPropertyField ) ) .
40735                CurrencyID as * const _ as usize } , 378usize , concat ! (
40736                "Alignment of field: " , stringify ! (
40737                CThostFtdcAccountPropertyField ) , "::" , stringify ! (
40738                CurrencyID ) ));
40739}
40740impl Clone for CThostFtdcAccountPropertyField {
40741    fn clone(&self) -> Self { *self }
40742}
40743impl Default for CThostFtdcAccountPropertyField {
40744    fn default() -> Self { unsafe { ::std::mem::zeroed() } }
40745}
40746/// 查询当前交易中心
40747#[repr(C)]
40748#[derive(Default, Copy)]
40749pub struct CThostFtdcQryCurrDRIdentityField {
40750    /// 交易中心代码
40751    pub DRIdentityID: TThostFtdcDRIdentityIDType,
40752}
40753#[test]
40754fn bindgen_test_layout_CThostFtdcQryCurrDRIdentityField() {
40755    assert_eq!(::std::mem::size_of::<CThostFtdcQryCurrDRIdentityField>() ,
40756               4usize , concat ! (
40757               "Size of: " , stringify ! ( CThostFtdcQryCurrDRIdentityField )
40758               ));
40759    assert_eq! (::std::mem::align_of::<CThostFtdcQryCurrDRIdentityField>() ,
40760                4usize , concat ! (
40761                "Alignment of " , stringify ! (
40762                CThostFtdcQryCurrDRIdentityField ) ));
40763    assert_eq! (unsafe {
40764                & ( * ( 0 as * const CThostFtdcQryCurrDRIdentityField ) ) .
40765                DRIdentityID as * const _ as usize } , 0usize , concat ! (
40766                "Alignment of field: " , stringify ! (
40767                CThostFtdcQryCurrDRIdentityField ) , "::" , stringify ! (
40768                DRIdentityID ) ));
40769}
40770impl Clone for CThostFtdcQryCurrDRIdentityField {
40771    fn clone(&self) -> Self { *self }
40772}
40773/// 当前交易中心
40774#[repr(C)]
40775#[derive(Default, Copy)]
40776pub struct CThostFtdcCurrDRIdentityField {
40777    /// 交易中心代码
40778    pub DRIdentityID: TThostFtdcDRIdentityIDType,
40779}
40780#[test]
40781fn bindgen_test_layout_CThostFtdcCurrDRIdentityField() {
40782    assert_eq!(::std::mem::size_of::<CThostFtdcCurrDRIdentityField>() , 4usize
40783               , concat ! (
40784               "Size of: " , stringify ! ( CThostFtdcCurrDRIdentityField ) ));
40785    assert_eq! (::std::mem::align_of::<CThostFtdcCurrDRIdentityField>() ,
40786                4usize , concat ! (
40787                "Alignment of " , stringify ! ( CThostFtdcCurrDRIdentityField
40788                ) ));
40789    assert_eq! (unsafe {
40790                & ( * ( 0 as * const CThostFtdcCurrDRIdentityField ) ) .
40791                DRIdentityID as * const _ as usize } , 0usize , concat ! (
40792                "Alignment of field: " , stringify ! (
40793                CThostFtdcCurrDRIdentityField ) , "::" , stringify ! (
40794                DRIdentityID ) ));
40795}
40796impl Clone for CThostFtdcCurrDRIdentityField {
40797    fn clone(&self) -> Self { *self }
40798}
40799/// 查询二级代理商资金校验模式
40800#[repr(C)]
40801#[derive(Default, Copy)]
40802pub struct CThostFtdcQrySecAgentCheckModeField {
40803    /// 经纪公司代码
40804    pub BrokerID: TThostFtdcBrokerIDType,
40805    /// 投资者代码
40806    pub InvestorID: TThostFtdcInvestorIDType,
40807}
40808#[test]
40809fn bindgen_test_layout_CThostFtdcQrySecAgentCheckModeField() {
40810    assert_eq!(::std::mem::size_of::<CThostFtdcQrySecAgentCheckModeField>() ,
40811               24usize , concat ! (
40812               "Size of: " , stringify ! ( CThostFtdcQrySecAgentCheckModeField
40813               ) ));
40814    assert_eq! (::std::mem::align_of::<CThostFtdcQrySecAgentCheckModeField>()
40815                , 1usize , concat ! (
40816                "Alignment of " , stringify ! (
40817                CThostFtdcQrySecAgentCheckModeField ) ));
40818    assert_eq! (unsafe {
40819                & ( * ( 0 as * const CThostFtdcQrySecAgentCheckModeField ) ) .
40820                BrokerID as * const _ as usize } , 0usize , concat ! (
40821                "Alignment of field: " , stringify ! (
40822                CThostFtdcQrySecAgentCheckModeField ) , "::" , stringify ! (
40823                BrokerID ) ));
40824    assert_eq! (unsafe {
40825                & ( * ( 0 as * const CThostFtdcQrySecAgentCheckModeField ) ) .
40826                InvestorID as * const _ as usize } , 11usize , concat ! (
40827                "Alignment of field: " , stringify ! (
40828                CThostFtdcQrySecAgentCheckModeField ) , "::" , stringify ! (
40829                InvestorID ) ));
40830}
40831impl Clone for CThostFtdcQrySecAgentCheckModeField {
40832    fn clone(&self) -> Self { *self }
40833}
40834/// 查询二级代理商信息
40835#[repr(C)]
40836#[derive(Default, Copy)]
40837pub struct CThostFtdcQrySecAgentTradeInfoField {
40838    /// 经纪公司代码
40839    pub BrokerID: TThostFtdcBrokerIDType,
40840    /// 境外中介机构资金帐号
40841    pub BrokerSecAgentID: TThostFtdcAccountIDType,
40842}
40843#[test]
40844fn bindgen_test_layout_CThostFtdcQrySecAgentTradeInfoField() {
40845    assert_eq!(::std::mem::size_of::<CThostFtdcQrySecAgentTradeInfoField>() ,
40846               24usize , concat ! (
40847               "Size of: " , stringify ! ( CThostFtdcQrySecAgentTradeInfoField
40848               ) ));
40849    assert_eq! (::std::mem::align_of::<CThostFtdcQrySecAgentTradeInfoField>()
40850                , 1usize , concat ! (
40851                "Alignment of " , stringify ! (
40852                CThostFtdcQrySecAgentTradeInfoField ) ));
40853    assert_eq! (unsafe {
40854                & ( * ( 0 as * const CThostFtdcQrySecAgentTradeInfoField ) ) .
40855                BrokerID as * const _ as usize } , 0usize , concat ! (
40856                "Alignment of field: " , stringify ! (
40857                CThostFtdcQrySecAgentTradeInfoField ) , "::" , stringify ! (
40858                BrokerID ) ));
40859    assert_eq! (unsafe {
40860                & ( * ( 0 as * const CThostFtdcQrySecAgentTradeInfoField ) ) .
40861                BrokerSecAgentID as * const _ as usize } , 11usize , concat !
40862                (
40863                "Alignment of field: " , stringify ! (
40864                CThostFtdcQrySecAgentTradeInfoField ) , "::" , stringify ! (
40865                BrokerSecAgentID ) ));
40866}
40867impl Clone for CThostFtdcQrySecAgentTradeInfoField {
40868    fn clone(&self) -> Self { *self }
40869}
40870/// 用户系统信息
40871#[repr(C)]
40872#[derive(Copy)]
40873pub struct CThostFtdcUserSystemInfoField {
40874    /// 经纪公司代码
40875    pub BrokerID: TThostFtdcBrokerIDType,
40876    /// 用户代码
40877    pub UserID: TThostFtdcUserIDType,
40878    /// 用户端系统内部信息长度
40879    pub ClientSystemInfoLen: TThostFtdcSystemInfoLenType,
40880    /// 用户端系统内部信息
40881    pub ClientSystemInfo: TThostFtdcClientSystemInfoType,
40882    /// 用户公网IP
40883    pub ClientPublicIP: TThostFtdcIPAddressType,
40884    /// 终端IP端口
40885    pub ClientIPPort: TThostFtdcIPPortType,
40886    /// 登录成功时间
40887    pub ClientLoginTime: TThostFtdcTimeType,
40888    /// App代码
40889    pub ClientAppID: TThostFtdcAppIDType,
40890}
40891#[test]
40892fn bindgen_test_layout_CThostFtdcUserSystemInfoField() {
40893    assert_eq!(::std::mem::size_of::<CThostFtdcUserSystemInfoField>() ,
40894               372usize , concat ! (
40895               "Size of: " , stringify ! ( CThostFtdcUserSystemInfoField ) ));
40896    assert_eq! (::std::mem::align_of::<CThostFtdcUserSystemInfoField>() ,
40897                4usize , concat ! (
40898                "Alignment of " , stringify ! ( CThostFtdcUserSystemInfoField
40899                ) ));
40900    assert_eq! (unsafe {
40901                & ( * ( 0 as * const CThostFtdcUserSystemInfoField ) ) .
40902                BrokerID as * const _ as usize } , 0usize , concat ! (
40903                "Alignment of field: " , stringify ! (
40904                CThostFtdcUserSystemInfoField ) , "::" , stringify ! (
40905                BrokerID ) ));
40906    assert_eq! (unsafe {
40907                & ( * ( 0 as * const CThostFtdcUserSystemInfoField ) ) .
40908                UserID as * const _ as usize } , 11usize , concat ! (
40909                "Alignment of field: " , stringify ! (
40910                CThostFtdcUserSystemInfoField ) , "::" , stringify ! ( UserID
40911                ) ));
40912    assert_eq! (unsafe {
40913                & ( * ( 0 as * const CThostFtdcUserSystemInfoField ) ) .
40914                ClientSystemInfoLen as * const _ as usize } , 28usize , concat
40915                ! (
40916                "Alignment of field: " , stringify ! (
40917                CThostFtdcUserSystemInfoField ) , "::" , stringify ! (
40918                ClientSystemInfoLen ) ));
40919    assert_eq! (unsafe {
40920                & ( * ( 0 as * const CThostFtdcUserSystemInfoField ) ) .
40921                ClientSystemInfo as * const _ as usize } , 32usize , concat !
40922                (
40923                "Alignment of field: " , stringify ! (
40924                CThostFtdcUserSystemInfoField ) , "::" , stringify ! (
40925                ClientSystemInfo ) ));
40926    assert_eq! (unsafe {
40927                & ( * ( 0 as * const CThostFtdcUserSystemInfoField ) ) .
40928                ClientPublicIP as * const _ as usize } , 305usize , concat ! (
40929                "Alignment of field: " , stringify ! (
40930                CThostFtdcUserSystemInfoField ) , "::" , stringify ! (
40931                ClientPublicIP ) ));
40932    assert_eq! (unsafe {
40933                & ( * ( 0 as * const CThostFtdcUserSystemInfoField ) ) .
40934                ClientIPPort as * const _ as usize } , 324usize , concat ! (
40935                "Alignment of field: " , stringify ! (
40936                CThostFtdcUserSystemInfoField ) , "::" , stringify ! (
40937                ClientIPPort ) ));
40938    assert_eq! (unsafe {
40939                & ( * ( 0 as * const CThostFtdcUserSystemInfoField ) ) .
40940                ClientLoginTime as * const _ as usize } , 328usize , concat !
40941                (
40942                "Alignment of field: " , stringify ! (
40943                CThostFtdcUserSystemInfoField ) , "::" , stringify ! (
40944                ClientLoginTime ) ));
40945    assert_eq! (unsafe {
40946                & ( * ( 0 as * const CThostFtdcUserSystemInfoField ) ) .
40947                ClientAppID as * const _ as usize } , 337usize , concat ! (
40948                "Alignment of field: " , stringify ! (
40949                CThostFtdcUserSystemInfoField ) , "::" , stringify ! (
40950                ClientAppID ) ));
40951}
40952impl Clone for CThostFtdcUserSystemInfoField {
40953    fn clone(&self) -> Self { *self }
40954}
40955impl Default for CThostFtdcUserSystemInfoField {
40956    fn default() -> Self { unsafe { ::std::mem::zeroed() } }
40957}
40958/// 用户发出获取安全安全登陆方法请求
40959#[repr(C)]
40960#[derive(Default, Copy)]
40961pub struct CThostFtdcReqUserAuthMethodField {
40962    /// 交易日
40963    pub TradingDay: TThostFtdcDateType,
40964    /// 经纪公司代码
40965    pub BrokerID: TThostFtdcBrokerIDType,
40966    /// 用户代码
40967    pub UserID: TThostFtdcUserIDType,
40968}
40969#[test]
40970fn bindgen_test_layout_CThostFtdcReqUserAuthMethodField() {
40971    assert_eq!(::std::mem::size_of::<CThostFtdcReqUserAuthMethodField>() ,
40972               36usize , concat ! (
40973               "Size of: " , stringify ! ( CThostFtdcReqUserAuthMethodField )
40974               ));
40975    assert_eq! (::std::mem::align_of::<CThostFtdcReqUserAuthMethodField>() ,
40976                1usize , concat ! (
40977                "Alignment of " , stringify ! (
40978                CThostFtdcReqUserAuthMethodField ) ));
40979    assert_eq! (unsafe {
40980                & ( * ( 0 as * const CThostFtdcReqUserAuthMethodField ) ) .
40981                TradingDay as * const _ as usize } , 0usize , concat ! (
40982                "Alignment of field: " , stringify ! (
40983                CThostFtdcReqUserAuthMethodField ) , "::" , stringify ! (
40984                TradingDay ) ));
40985    assert_eq! (unsafe {
40986                & ( * ( 0 as * const CThostFtdcReqUserAuthMethodField ) ) .
40987                BrokerID as * const _ as usize } , 9usize , concat ! (
40988                "Alignment of field: " , stringify ! (
40989                CThostFtdcReqUserAuthMethodField ) , "::" , stringify ! (
40990                BrokerID ) ));
40991    assert_eq! (unsafe {
40992                & ( * ( 0 as * const CThostFtdcReqUserAuthMethodField ) ) .
40993                UserID as * const _ as usize } , 20usize , concat ! (
40994                "Alignment of field: " , stringify ! (
40995                CThostFtdcReqUserAuthMethodField ) , "::" , stringify ! (
40996                UserID ) ));
40997}
40998impl Clone for CThostFtdcReqUserAuthMethodField {
40999    fn clone(&self) -> Self { *self }
41000}
41001/// 用户发出获取安全安全登陆方法回复
41002#[repr(C)]
41003#[derive(Default, Copy)]
41004pub struct CThostFtdcRspUserAuthMethodField {
41005    /// 当前可以用的认证模式
41006    pub UsableAuthMethod: TThostFtdcCurrentAuthMethodType,
41007}
41008#[test]
41009fn bindgen_test_layout_CThostFtdcRspUserAuthMethodField() {
41010    assert_eq!(::std::mem::size_of::<CThostFtdcRspUserAuthMethodField>() ,
41011               4usize , concat ! (
41012               "Size of: " , stringify ! ( CThostFtdcRspUserAuthMethodField )
41013               ));
41014    assert_eq! (::std::mem::align_of::<CThostFtdcRspUserAuthMethodField>() ,
41015                4usize , concat ! (
41016                "Alignment of " , stringify ! (
41017                CThostFtdcRspUserAuthMethodField ) ));
41018    assert_eq! (unsafe {
41019                & ( * ( 0 as * const CThostFtdcRspUserAuthMethodField ) ) .
41020                UsableAuthMethod as * const _ as usize } , 0usize , concat ! (
41021                "Alignment of field: " , stringify ! (
41022                CThostFtdcRspUserAuthMethodField ) , "::" , stringify ! (
41023                UsableAuthMethod ) ));
41024}
41025impl Clone for CThostFtdcRspUserAuthMethodField {
41026    fn clone(&self) -> Self { *self }
41027}
41028/// 用户发出获取安全安全登陆方法请求
41029#[repr(C)]
41030#[derive(Default, Copy)]
41031pub struct CThostFtdcReqGenUserCaptchaField {
41032    /// 交易日
41033    pub TradingDay: TThostFtdcDateType,
41034    /// 经纪公司代码
41035    pub BrokerID: TThostFtdcBrokerIDType,
41036    /// 用户代码
41037    pub UserID: TThostFtdcUserIDType,
41038}
41039#[test]
41040fn bindgen_test_layout_CThostFtdcReqGenUserCaptchaField() {
41041    assert_eq!(::std::mem::size_of::<CThostFtdcReqGenUserCaptchaField>() ,
41042               36usize , concat ! (
41043               "Size of: " , stringify ! ( CThostFtdcReqGenUserCaptchaField )
41044               ));
41045    assert_eq! (::std::mem::align_of::<CThostFtdcReqGenUserCaptchaField>() ,
41046                1usize , concat ! (
41047                "Alignment of " , stringify ! (
41048                CThostFtdcReqGenUserCaptchaField ) ));
41049    assert_eq! (unsafe {
41050                & ( * ( 0 as * const CThostFtdcReqGenUserCaptchaField ) ) .
41051                TradingDay as * const _ as usize } , 0usize , concat ! (
41052                "Alignment of field: " , stringify ! (
41053                CThostFtdcReqGenUserCaptchaField ) , "::" , stringify ! (
41054                TradingDay ) ));
41055    assert_eq! (unsafe {
41056                & ( * ( 0 as * const CThostFtdcReqGenUserCaptchaField ) ) .
41057                BrokerID as * const _ as usize } , 9usize , concat ! (
41058                "Alignment of field: " , stringify ! (
41059                CThostFtdcReqGenUserCaptchaField ) , "::" , stringify ! (
41060                BrokerID ) ));
41061    assert_eq! (unsafe {
41062                & ( * ( 0 as * const CThostFtdcReqGenUserCaptchaField ) ) .
41063                UserID as * const _ as usize } , 20usize , concat ! (
41064                "Alignment of field: " , stringify ! (
41065                CThostFtdcReqGenUserCaptchaField ) , "::" , stringify ! (
41066                UserID ) ));
41067}
41068impl Clone for CThostFtdcReqGenUserCaptchaField {
41069    fn clone(&self) -> Self { *self }
41070}
41071/// 生成的图片验证码信息
41072#[repr(C)]
41073#[derive(Copy)]
41074pub struct CThostFtdcRspGenUserCaptchaField {
41075    /// 经纪公司代码
41076    pub BrokerID: TThostFtdcBrokerIDType,
41077    /// 用户代码
41078    pub UserID: TThostFtdcUserIDType,
41079    /// 图片信息长度
41080    pub CaptchaInfoLen: TThostFtdcCaptchaInfoLenType,
41081    /// 图片信息
41082    pub CaptchaInfo: TThostFtdcCaptchaInfoType,
41083}
41084#[test]
41085fn bindgen_test_layout_CThostFtdcRspGenUserCaptchaField() {
41086    assert_eq!(::std::mem::size_of::<CThostFtdcRspGenUserCaptchaField>() ,
41087               2596usize , concat ! (
41088               "Size of: " , stringify ! ( CThostFtdcRspGenUserCaptchaField )
41089               ));
41090    assert_eq! (::std::mem::align_of::<CThostFtdcRspGenUserCaptchaField>() ,
41091                4usize , concat ! (
41092                "Alignment of " , stringify ! (
41093                CThostFtdcRspGenUserCaptchaField ) ));
41094    assert_eq! (unsafe {
41095                & ( * ( 0 as * const CThostFtdcRspGenUserCaptchaField ) ) .
41096                BrokerID as * const _ as usize } , 0usize , concat ! (
41097                "Alignment of field: " , stringify ! (
41098                CThostFtdcRspGenUserCaptchaField ) , "::" , stringify ! (
41099                BrokerID ) ));
41100    assert_eq! (unsafe {
41101                & ( * ( 0 as * const CThostFtdcRspGenUserCaptchaField ) ) .
41102                UserID as * const _ as usize } , 11usize , concat ! (
41103                "Alignment of field: " , stringify ! (
41104                CThostFtdcRspGenUserCaptchaField ) , "::" , stringify ! (
41105                UserID ) ));
41106    assert_eq! (unsafe {
41107                & ( * ( 0 as * const CThostFtdcRspGenUserCaptchaField ) ) .
41108                CaptchaInfoLen as * const _ as usize } , 28usize , concat ! (
41109                "Alignment of field: " , stringify ! (
41110                CThostFtdcRspGenUserCaptchaField ) , "::" , stringify ! (
41111                CaptchaInfoLen ) ));
41112    assert_eq! (unsafe {
41113                & ( * ( 0 as * const CThostFtdcRspGenUserCaptchaField ) ) .
41114                CaptchaInfo as * const _ as usize } , 32usize , concat ! (
41115                "Alignment of field: " , stringify ! (
41116                CThostFtdcRspGenUserCaptchaField ) , "::" , stringify ! (
41117                CaptchaInfo ) ));
41118}
41119impl Clone for CThostFtdcRspGenUserCaptchaField {
41120    fn clone(&self) -> Self { *self }
41121}
41122impl Default for CThostFtdcRspGenUserCaptchaField {
41123    fn default() -> Self { unsafe { ::std::mem::zeroed() } }
41124}
41125/// 用户发出获取安全安全登陆方法请求
41126#[repr(C)]
41127#[derive(Default, Copy)]
41128pub struct CThostFtdcReqGenUserTextField {
41129    /// 交易日
41130    pub TradingDay: TThostFtdcDateType,
41131    /// 经纪公司代码
41132    pub BrokerID: TThostFtdcBrokerIDType,
41133    /// 用户代码
41134    pub UserID: TThostFtdcUserIDType,
41135}
41136#[test]
41137fn bindgen_test_layout_CThostFtdcReqGenUserTextField() {
41138    assert_eq!(::std::mem::size_of::<CThostFtdcReqGenUserTextField>() ,
41139               36usize , concat ! (
41140               "Size of: " , stringify ! ( CThostFtdcReqGenUserTextField ) ));
41141    assert_eq! (::std::mem::align_of::<CThostFtdcReqGenUserTextField>() ,
41142                1usize , concat ! (
41143                "Alignment of " , stringify ! ( CThostFtdcReqGenUserTextField
41144                ) ));
41145    assert_eq! (unsafe {
41146                & ( * ( 0 as * const CThostFtdcReqGenUserTextField ) ) .
41147                TradingDay as * const _ as usize } , 0usize , concat ! (
41148                "Alignment of field: " , stringify ! (
41149                CThostFtdcReqGenUserTextField ) , "::" , stringify ! (
41150                TradingDay ) ));
41151    assert_eq! (unsafe {
41152                & ( * ( 0 as * const CThostFtdcReqGenUserTextField ) ) .
41153                BrokerID as * const _ as usize } , 9usize , concat ! (
41154                "Alignment of field: " , stringify ! (
41155                CThostFtdcReqGenUserTextField ) , "::" , stringify ! (
41156                BrokerID ) ));
41157    assert_eq! (unsafe {
41158                & ( * ( 0 as * const CThostFtdcReqGenUserTextField ) ) .
41159                UserID as * const _ as usize } , 20usize , concat ! (
41160                "Alignment of field: " , stringify ! (
41161                CThostFtdcReqGenUserTextField ) , "::" , stringify ! ( UserID
41162                ) ));
41163}
41164impl Clone for CThostFtdcReqGenUserTextField {
41165    fn clone(&self) -> Self { *self }
41166}
41167/// 短信验证码生成的回复
41168#[repr(C)]
41169#[derive(Default, Copy)]
41170pub struct CThostFtdcRspGenUserTextField {
41171    /// 短信验证码序号
41172    pub UserTextSeq: TThostFtdcUserTextSeqType,
41173}
41174#[test]
41175fn bindgen_test_layout_CThostFtdcRspGenUserTextField() {
41176    assert_eq!(::std::mem::size_of::<CThostFtdcRspGenUserTextField>() , 4usize
41177               , concat ! (
41178               "Size of: " , stringify ! ( CThostFtdcRspGenUserTextField ) ));
41179    assert_eq! (::std::mem::align_of::<CThostFtdcRspGenUserTextField>() ,
41180                4usize , concat ! (
41181                "Alignment of " , stringify ! ( CThostFtdcRspGenUserTextField
41182                ) ));
41183    assert_eq! (unsafe {
41184                & ( * ( 0 as * const CThostFtdcRspGenUserTextField ) ) .
41185                UserTextSeq as * const _ as usize } , 0usize , concat ! (
41186                "Alignment of field: " , stringify ! (
41187                CThostFtdcRspGenUserTextField ) , "::" , stringify ! (
41188                UserTextSeq ) ));
41189}
41190impl Clone for CThostFtdcRspGenUserTextField {
41191    fn clone(&self) -> Self { *self }
41192}
41193/// 用户发出带图形验证码的登录请求请求
41194#[repr(C)]
41195#[derive(Copy)]
41196pub struct CThostFtdcReqUserLoginWithCaptchaField {
41197    /// 交易日
41198    pub TradingDay: TThostFtdcDateType,
41199    /// 经纪公司代码
41200    pub BrokerID: TThostFtdcBrokerIDType,
41201    /// 用户代码
41202    pub UserID: TThostFtdcUserIDType,
41203    /// 密码
41204    pub Password: TThostFtdcPasswordType,
41205    /// 用户端产品信息
41206    pub UserProductInfo: TThostFtdcProductInfoType,
41207    /// 接口端产品信息
41208    pub InterfaceProductInfo: TThostFtdcProductInfoType,
41209    /// 协议信息
41210    pub ProtocolInfo: TThostFtdcProtocolInfoType,
41211    /// Mac地址
41212    pub MacAddress: TThostFtdcMacAddressType,
41213    /// 终端IP地址
41214    pub ClientIPAddress: TThostFtdcIPAddressType,
41215    /// 登录备注
41216    pub LoginRemark: TThostFtdcLoginRemarkType,
41217    /// 图形验证码的文字内容
41218    pub Captcha: TThostFtdcPasswordType,
41219    /// 终端IP端口
41220    pub ClientIPPort: TThostFtdcIPPortType,
41221}
41222#[test]
41223fn bindgen_test_layout_CThostFtdcReqUserLoginWithCaptchaField() {
41224    assert_eq!(::std::mem::size_of::<CThostFtdcReqUserLoginWithCaptchaField>()
41225               , 228usize , concat ! (
41226               "Size of: " , stringify ! (
41227               CThostFtdcReqUserLoginWithCaptchaField ) ));
41228    assert_eq! (::std::mem::align_of::<CThostFtdcReqUserLoginWithCaptchaField>()
41229                , 4usize , concat ! (
41230                "Alignment of " , stringify ! (
41231                CThostFtdcReqUserLoginWithCaptchaField ) ));
41232    assert_eq! (unsafe {
41233                & ( * ( 0 as * const CThostFtdcReqUserLoginWithCaptchaField )
41234                ) . TradingDay as * const _ as usize } , 0usize , concat ! (
41235                "Alignment of field: " , stringify ! (
41236                CThostFtdcReqUserLoginWithCaptchaField ) , "::" , stringify !
41237                ( TradingDay ) ));
41238    assert_eq! (unsafe {
41239                & ( * ( 0 as * const CThostFtdcReqUserLoginWithCaptchaField )
41240                ) . BrokerID as * const _ as usize } , 9usize , concat ! (
41241                "Alignment of field: " , stringify ! (
41242                CThostFtdcReqUserLoginWithCaptchaField ) , "::" , stringify !
41243                ( BrokerID ) ));
41244    assert_eq! (unsafe {
41245                & ( * ( 0 as * const CThostFtdcReqUserLoginWithCaptchaField )
41246                ) . UserID as * const _ as usize } , 20usize , concat ! (
41247                "Alignment of field: " , stringify ! (
41248                CThostFtdcReqUserLoginWithCaptchaField ) , "::" , stringify !
41249                ( UserID ) ));
41250    assert_eq! (unsafe {
41251                & ( * ( 0 as * const CThostFtdcReqUserLoginWithCaptchaField )
41252                ) . Password as * const _ as usize } , 36usize , concat ! (
41253                "Alignment of field: " , stringify ! (
41254                CThostFtdcReqUserLoginWithCaptchaField ) , "::" , stringify !
41255                ( Password ) ));
41256    assert_eq! (unsafe {
41257                & ( * ( 0 as * const CThostFtdcReqUserLoginWithCaptchaField )
41258                ) . UserProductInfo as * const _ as usize } , 77usize , concat
41259                ! (
41260                "Alignment of field: " , stringify ! (
41261                CThostFtdcReqUserLoginWithCaptchaField ) , "::" , stringify !
41262                ( UserProductInfo ) ));
41263    assert_eq! (unsafe {
41264                & ( * ( 0 as * const CThostFtdcReqUserLoginWithCaptchaField )
41265                ) . InterfaceProductInfo as * const _ as usize } , 88usize ,
41266                concat ! (
41267                "Alignment of field: " , stringify ! (
41268                CThostFtdcReqUserLoginWithCaptchaField ) , "::" , stringify !
41269                ( InterfaceProductInfo ) ));
41270    assert_eq! (unsafe {
41271                & ( * ( 0 as * const CThostFtdcReqUserLoginWithCaptchaField )
41272                ) . ProtocolInfo as * const _ as usize } , 99usize , concat !
41273                (
41274                "Alignment of field: " , stringify ! (
41275                CThostFtdcReqUserLoginWithCaptchaField ) , "::" , stringify !
41276                ( ProtocolInfo ) ));
41277    assert_eq! (unsafe {
41278                & ( * ( 0 as * const CThostFtdcReqUserLoginWithCaptchaField )
41279                ) . MacAddress as * const _ as usize } , 110usize , concat ! (
41280                "Alignment of field: " , stringify ! (
41281                CThostFtdcReqUserLoginWithCaptchaField ) , "::" , stringify !
41282                ( MacAddress ) ));
41283    assert_eq! (unsafe {
41284                & ( * ( 0 as * const CThostFtdcReqUserLoginWithCaptchaField )
41285                ) . ClientIPAddress as * const _ as usize } , 131usize ,
41286                concat ! (
41287                "Alignment of field: " , stringify ! (
41288                CThostFtdcReqUserLoginWithCaptchaField ) , "::" , stringify !
41289                ( ClientIPAddress ) ));
41290    assert_eq! (unsafe {
41291                & ( * ( 0 as * const CThostFtdcReqUserLoginWithCaptchaField )
41292                ) . LoginRemark as * const _ as usize } , 147usize , concat !
41293                (
41294                "Alignment of field: " , stringify ! (
41295                CThostFtdcReqUserLoginWithCaptchaField ) , "::" , stringify !
41296                ( LoginRemark ) ));
41297    assert_eq! (unsafe {
41298                & ( * ( 0 as * const CThostFtdcReqUserLoginWithCaptchaField )
41299                ) . Captcha as * const _ as usize } , 183usize , concat ! (
41300                "Alignment of field: " , stringify ! (
41301                CThostFtdcReqUserLoginWithCaptchaField ) , "::" , stringify !
41302                ( Captcha ) ));
41303    assert_eq! (unsafe {
41304                & ( * ( 0 as * const CThostFtdcReqUserLoginWithCaptchaField )
41305                ) . ClientIPPort as * const _ as usize } , 224usize , concat !
41306                (
41307                "Alignment of field: " , stringify ! (
41308                CThostFtdcReqUserLoginWithCaptchaField ) , "::" , stringify !
41309                ( ClientIPPort ) ));
41310}
41311impl Clone for CThostFtdcReqUserLoginWithCaptchaField {
41312    fn clone(&self) -> Self { *self }
41313}
41314impl Default for CThostFtdcReqUserLoginWithCaptchaField {
41315    fn default() -> Self { unsafe { ::std::mem::zeroed() } }
41316}
41317/// 用户发出带短信验证码的登录请求请求
41318#[repr(C)]
41319#[derive(Copy)]
41320pub struct CThostFtdcReqUserLoginWithTextField {
41321    /// 交易日
41322    pub TradingDay: TThostFtdcDateType,
41323    /// 经纪公司代码
41324    pub BrokerID: TThostFtdcBrokerIDType,
41325    /// 用户代码
41326    pub UserID: TThostFtdcUserIDType,
41327    /// 密码
41328    pub Password: TThostFtdcPasswordType,
41329    /// 用户端产品信息
41330    pub UserProductInfo: TThostFtdcProductInfoType,
41331    /// 接口端产品信息
41332    pub InterfaceProductInfo: TThostFtdcProductInfoType,
41333    /// 协议信息
41334    pub ProtocolInfo: TThostFtdcProtocolInfoType,
41335    /// Mac地址
41336    pub MacAddress: TThostFtdcMacAddressType,
41337    /// 终端IP地址
41338    pub ClientIPAddress: TThostFtdcIPAddressType,
41339    /// 登录备注
41340    pub LoginRemark: TThostFtdcLoginRemarkType,
41341    /// 短信验证码文字内容
41342    pub Text: TThostFtdcPasswordType,
41343    /// 终端IP端口
41344    pub ClientIPPort: TThostFtdcIPPortType,
41345}
41346#[test]
41347fn bindgen_test_layout_CThostFtdcReqUserLoginWithTextField() {
41348    assert_eq!(::std::mem::size_of::<CThostFtdcReqUserLoginWithTextField>() ,
41349               228usize , concat ! (
41350               "Size of: " , stringify ! ( CThostFtdcReqUserLoginWithTextField
41351               ) ));
41352    assert_eq! (::std::mem::align_of::<CThostFtdcReqUserLoginWithTextField>()
41353                , 4usize , concat ! (
41354                "Alignment of " , stringify ! (
41355                CThostFtdcReqUserLoginWithTextField ) ));
41356    assert_eq! (unsafe {
41357                & ( * ( 0 as * const CThostFtdcReqUserLoginWithTextField ) ) .
41358                TradingDay as * const _ as usize } , 0usize , concat ! (
41359                "Alignment of field: " , stringify ! (
41360                CThostFtdcReqUserLoginWithTextField ) , "::" , stringify ! (
41361                TradingDay ) ));
41362    assert_eq! (unsafe {
41363                & ( * ( 0 as * const CThostFtdcReqUserLoginWithTextField ) ) .
41364                BrokerID as * const _ as usize } , 9usize , concat ! (
41365                "Alignment of field: " , stringify ! (
41366                CThostFtdcReqUserLoginWithTextField ) , "::" , stringify ! (
41367                BrokerID ) ));
41368    assert_eq! (unsafe {
41369                & ( * ( 0 as * const CThostFtdcReqUserLoginWithTextField ) ) .
41370                UserID as * const _ as usize } , 20usize , concat ! (
41371                "Alignment of field: " , stringify ! (
41372                CThostFtdcReqUserLoginWithTextField ) , "::" , stringify ! (
41373                UserID ) ));
41374    assert_eq! (unsafe {
41375                & ( * ( 0 as * const CThostFtdcReqUserLoginWithTextField ) ) .
41376                Password as * const _ as usize } , 36usize , concat ! (
41377                "Alignment of field: " , stringify ! (
41378                CThostFtdcReqUserLoginWithTextField ) , "::" , stringify ! (
41379                Password ) ));
41380    assert_eq! (unsafe {
41381                & ( * ( 0 as * const CThostFtdcReqUserLoginWithTextField ) ) .
41382                UserProductInfo as * const _ as usize } , 77usize , concat ! (
41383                "Alignment of field: " , stringify ! (
41384                CThostFtdcReqUserLoginWithTextField ) , "::" , stringify ! (
41385                UserProductInfo ) ));
41386    assert_eq! (unsafe {
41387                & ( * ( 0 as * const CThostFtdcReqUserLoginWithTextField ) ) .
41388                InterfaceProductInfo as * const _ as usize } , 88usize ,
41389                concat ! (
41390                "Alignment of field: " , stringify ! (
41391                CThostFtdcReqUserLoginWithTextField ) , "::" , stringify ! (
41392                InterfaceProductInfo ) ));
41393    assert_eq! (unsafe {
41394                & ( * ( 0 as * const CThostFtdcReqUserLoginWithTextField ) ) .
41395                ProtocolInfo as * const _ as usize } , 99usize , concat ! (
41396                "Alignment of field: " , stringify ! (
41397                CThostFtdcReqUserLoginWithTextField ) , "::" , stringify ! (
41398                ProtocolInfo ) ));
41399    assert_eq! (unsafe {
41400                & ( * ( 0 as * const CThostFtdcReqUserLoginWithTextField ) ) .
41401                MacAddress as * const _ as usize } , 110usize , concat ! (
41402                "Alignment of field: " , stringify ! (
41403                CThostFtdcReqUserLoginWithTextField ) , "::" , stringify ! (
41404                MacAddress ) ));
41405    assert_eq! (unsafe {
41406                & ( * ( 0 as * const CThostFtdcReqUserLoginWithTextField ) ) .
41407                ClientIPAddress as * const _ as usize } , 131usize , concat !
41408                (
41409                "Alignment of field: " , stringify ! (
41410                CThostFtdcReqUserLoginWithTextField ) , "::" , stringify ! (
41411                ClientIPAddress ) ));
41412    assert_eq! (unsafe {
41413                & ( * ( 0 as * const CThostFtdcReqUserLoginWithTextField ) ) .
41414                LoginRemark as * const _ as usize } , 147usize , concat ! (
41415                "Alignment of field: " , stringify ! (
41416                CThostFtdcReqUserLoginWithTextField ) , "::" , stringify ! (
41417                LoginRemark ) ));
41418    assert_eq! (unsafe {
41419                & ( * ( 0 as * const CThostFtdcReqUserLoginWithTextField ) ) .
41420                Text as * const _ as usize } , 183usize , concat ! (
41421                "Alignment of field: " , stringify ! (
41422                CThostFtdcReqUserLoginWithTextField ) , "::" , stringify ! (
41423                Text ) ));
41424    assert_eq! (unsafe {
41425                & ( * ( 0 as * const CThostFtdcReqUserLoginWithTextField ) ) .
41426                ClientIPPort as * const _ as usize } , 224usize , concat ! (
41427                "Alignment of field: " , stringify ! (
41428                CThostFtdcReqUserLoginWithTextField ) , "::" , stringify ! (
41429                ClientIPPort ) ));
41430}
41431impl Clone for CThostFtdcReqUserLoginWithTextField {
41432    fn clone(&self) -> Self { *self }
41433}
41434impl Default for CThostFtdcReqUserLoginWithTextField {
41435    fn default() -> Self { unsafe { ::std::mem::zeroed() } }
41436}
41437/// 用户发出带动态验证码的登录请求请求
41438#[repr(C)]
41439#[derive(Copy)]
41440pub struct CThostFtdcReqUserLoginWithOTPField {
41441    /// 交易日
41442    pub TradingDay: TThostFtdcDateType,
41443    /// 经纪公司代码
41444    pub BrokerID: TThostFtdcBrokerIDType,
41445    /// 用户代码
41446    pub UserID: TThostFtdcUserIDType,
41447    /// 密码
41448    pub Password: TThostFtdcPasswordType,
41449    /// 用户端产品信息
41450    pub UserProductInfo: TThostFtdcProductInfoType,
41451    /// 接口端产品信息
41452    pub InterfaceProductInfo: TThostFtdcProductInfoType,
41453    /// 协议信息
41454    pub ProtocolInfo: TThostFtdcProtocolInfoType,
41455    /// Mac地址
41456    pub MacAddress: TThostFtdcMacAddressType,
41457    /// 终端IP地址
41458    pub ClientIPAddress: TThostFtdcIPAddressType,
41459    /// 登录备注
41460    pub LoginRemark: TThostFtdcLoginRemarkType,
41461    /// OTP密码
41462    pub OTPPassword: TThostFtdcPasswordType,
41463    /// 终端IP端口
41464    pub ClientIPPort: TThostFtdcIPPortType,
41465}
41466#[test]
41467fn bindgen_test_layout_CThostFtdcReqUserLoginWithOTPField() {
41468    assert_eq!(::std::mem::size_of::<CThostFtdcReqUserLoginWithOTPField>() ,
41469               228usize , concat ! (
41470               "Size of: " , stringify ! ( CThostFtdcReqUserLoginWithOTPField
41471               ) ));
41472    assert_eq! (::std::mem::align_of::<CThostFtdcReqUserLoginWithOTPField>() ,
41473                4usize , concat ! (
41474                "Alignment of " , stringify ! (
41475                CThostFtdcReqUserLoginWithOTPField ) ));
41476    assert_eq! (unsafe {
41477                & ( * ( 0 as * const CThostFtdcReqUserLoginWithOTPField ) ) .
41478                TradingDay as * const _ as usize } , 0usize , concat ! (
41479                "Alignment of field: " , stringify ! (
41480                CThostFtdcReqUserLoginWithOTPField ) , "::" , stringify ! (
41481                TradingDay ) ));
41482    assert_eq! (unsafe {
41483                & ( * ( 0 as * const CThostFtdcReqUserLoginWithOTPField ) ) .
41484                BrokerID as * const _ as usize } , 9usize , concat ! (
41485                "Alignment of field: " , stringify ! (
41486                CThostFtdcReqUserLoginWithOTPField ) , "::" , stringify ! (
41487                BrokerID ) ));
41488    assert_eq! (unsafe {
41489                & ( * ( 0 as * const CThostFtdcReqUserLoginWithOTPField ) ) .
41490                UserID as * const _ as usize } , 20usize , concat ! (
41491                "Alignment of field: " , stringify ! (
41492                CThostFtdcReqUserLoginWithOTPField ) , "::" , stringify ! (
41493                UserID ) ));
41494    assert_eq! (unsafe {
41495                & ( * ( 0 as * const CThostFtdcReqUserLoginWithOTPField ) ) .
41496                Password as * const _ as usize } , 36usize , concat ! (
41497                "Alignment of field: " , stringify ! (
41498                CThostFtdcReqUserLoginWithOTPField ) , "::" , stringify ! (
41499                Password ) ));
41500    assert_eq! (unsafe {
41501                & ( * ( 0 as * const CThostFtdcReqUserLoginWithOTPField ) ) .
41502                UserProductInfo as * const _ as usize } , 77usize , concat ! (
41503                "Alignment of field: " , stringify ! (
41504                CThostFtdcReqUserLoginWithOTPField ) , "::" , stringify ! (
41505                UserProductInfo ) ));
41506    assert_eq! (unsafe {
41507                & ( * ( 0 as * const CThostFtdcReqUserLoginWithOTPField ) ) .
41508                InterfaceProductInfo as * const _ as usize } , 88usize ,
41509                concat ! (
41510                "Alignment of field: " , stringify ! (
41511                CThostFtdcReqUserLoginWithOTPField ) , "::" , stringify ! (
41512                InterfaceProductInfo ) ));
41513    assert_eq! (unsafe {
41514                & ( * ( 0 as * const CThostFtdcReqUserLoginWithOTPField ) ) .
41515                ProtocolInfo as * const _ as usize } , 99usize , concat ! (
41516                "Alignment of field: " , stringify ! (
41517                CThostFtdcReqUserLoginWithOTPField ) , "::" , stringify ! (
41518                ProtocolInfo ) ));
41519    assert_eq! (unsafe {
41520                & ( * ( 0 as * const CThostFtdcReqUserLoginWithOTPField ) ) .
41521                MacAddress as * const _ as usize } , 110usize , concat ! (
41522                "Alignment of field: " , stringify ! (
41523                CThostFtdcReqUserLoginWithOTPField ) , "::" , stringify ! (
41524                MacAddress ) ));
41525    assert_eq! (unsafe {
41526                & ( * ( 0 as * const CThostFtdcReqUserLoginWithOTPField ) ) .
41527                ClientIPAddress as * const _ as usize } , 131usize , concat !
41528                (
41529                "Alignment of field: " , stringify ! (
41530                CThostFtdcReqUserLoginWithOTPField ) , "::" , stringify ! (
41531                ClientIPAddress ) ));
41532    assert_eq! (unsafe {
41533                & ( * ( 0 as * const CThostFtdcReqUserLoginWithOTPField ) ) .
41534                LoginRemark as * const _ as usize } , 147usize , concat ! (
41535                "Alignment of field: " , stringify ! (
41536                CThostFtdcReqUserLoginWithOTPField ) , "::" , stringify ! (
41537                LoginRemark ) ));
41538    assert_eq! (unsafe {
41539                & ( * ( 0 as * const CThostFtdcReqUserLoginWithOTPField ) ) .
41540                OTPPassword as * const _ as usize } , 183usize , concat ! (
41541                "Alignment of field: " , stringify ! (
41542                CThostFtdcReqUserLoginWithOTPField ) , "::" , stringify ! (
41543                OTPPassword ) ));
41544    assert_eq! (unsafe {
41545                & ( * ( 0 as * const CThostFtdcReqUserLoginWithOTPField ) ) .
41546                ClientIPPort as * const _ as usize } , 224usize , concat ! (
41547                "Alignment of field: " , stringify ! (
41548                CThostFtdcReqUserLoginWithOTPField ) , "::" , stringify ! (
41549                ClientIPPort ) ));
41550}
41551impl Clone for CThostFtdcReqUserLoginWithOTPField {
41552    fn clone(&self) -> Self { *self }
41553}
41554impl Default for CThostFtdcReqUserLoginWithOTPField {
41555    fn default() -> Self { unsafe { ::std::mem::zeroed() } }
41556}
41557/// api握手请求
41558#[repr(C)]
41559#[derive(Default, Copy)]
41560pub struct CThostFtdcReqApiHandshakeField {
41561    /// api与front通信密钥版本号
41562    pub CryptoKeyVersion: TThostFtdcCryptoKeyVersionType,
41563}
41564#[test]
41565fn bindgen_test_layout_CThostFtdcReqApiHandshakeField() {
41566    assert_eq!(::std::mem::size_of::<CThostFtdcReqApiHandshakeField>() ,
41567               31usize , concat ! (
41568               "Size of: " , stringify ! ( CThostFtdcReqApiHandshakeField )
41569               ));
41570    assert_eq! (::std::mem::align_of::<CThostFtdcReqApiHandshakeField>() ,
41571                1usize , concat ! (
41572                "Alignment of " , stringify ! ( CThostFtdcReqApiHandshakeField
41573                ) ));
41574    assert_eq! (unsafe {
41575                & ( * ( 0 as * const CThostFtdcReqApiHandshakeField ) ) .
41576                CryptoKeyVersion as * const _ as usize } , 0usize , concat ! (
41577                "Alignment of field: " , stringify ! (
41578                CThostFtdcReqApiHandshakeField ) , "::" , stringify ! (
41579                CryptoKeyVersion ) ));
41580}
41581impl Clone for CThostFtdcReqApiHandshakeField {
41582    fn clone(&self) -> Self { *self }
41583}
41584/// front发给api的握手回复
41585#[repr(C)]
41586#[derive(Copy)]
41587pub struct CThostFtdcRspApiHandshakeField {
41588    /// 握手回复数据长度
41589    pub FrontHandshakeDataLen: TThostFtdcHandshakeDataLenType,
41590    /// 握手回复数据
41591    pub FrontHandshakeData: TThostFtdcHandshakeDataType,
41592    /// API认证是否开启
41593    pub IsApiAuthEnabled: TThostFtdcBoolType,
41594}
41595#[test]
41596fn bindgen_test_layout_CThostFtdcRspApiHandshakeField() {
41597    assert_eq!(::std::mem::size_of::<CThostFtdcRspApiHandshakeField>() ,
41598               312usize , concat ! (
41599               "Size of: " , stringify ! ( CThostFtdcRspApiHandshakeField )
41600               ));
41601    assert_eq! (::std::mem::align_of::<CThostFtdcRspApiHandshakeField>() ,
41602                4usize , concat ! (
41603                "Alignment of " , stringify ! ( CThostFtdcRspApiHandshakeField
41604                ) ));
41605    assert_eq! (unsafe {
41606                & ( * ( 0 as * const CThostFtdcRspApiHandshakeField ) ) .
41607                FrontHandshakeDataLen as * const _ as usize } , 0usize ,
41608                concat ! (
41609                "Alignment of field: " , stringify ! (
41610                CThostFtdcRspApiHandshakeField ) , "::" , stringify ! (
41611                FrontHandshakeDataLen ) ));
41612    assert_eq! (unsafe {
41613                & ( * ( 0 as * const CThostFtdcRspApiHandshakeField ) ) .
41614                FrontHandshakeData as * const _ as usize } , 4usize , concat !
41615                (
41616                "Alignment of field: " , stringify ! (
41617                CThostFtdcRspApiHandshakeField ) , "::" , stringify ! (
41618                FrontHandshakeData ) ));
41619    assert_eq! (unsafe {
41620                & ( * ( 0 as * const CThostFtdcRspApiHandshakeField ) ) .
41621                IsApiAuthEnabled as * const _ as usize } , 308usize , concat !
41622                (
41623                "Alignment of field: " , stringify ! (
41624                CThostFtdcRspApiHandshakeField ) , "::" , stringify ! (
41625                IsApiAuthEnabled ) ));
41626}
41627impl Clone for CThostFtdcRspApiHandshakeField {
41628    fn clone(&self) -> Self { *self }
41629}
41630impl Default for CThostFtdcRspApiHandshakeField {
41631    fn default() -> Self { unsafe { ::std::mem::zeroed() } }
41632}
41633/// api给front的验证key的请求
41634#[repr(C)]
41635#[derive(Copy)]
41636pub struct CThostFtdcReqVerifyApiKeyField {
41637    /// 握手回复数据长度
41638    pub ApiHandshakeDataLen: TThostFtdcHandshakeDataLenType,
41639    /// 握手回复数据
41640    pub ApiHandshakeData: TThostFtdcHandshakeDataType,
41641}
41642#[test]
41643fn bindgen_test_layout_CThostFtdcReqVerifyApiKeyField() {
41644    assert_eq!(::std::mem::size_of::<CThostFtdcReqVerifyApiKeyField>() ,
41645               308usize , concat ! (
41646               "Size of: " , stringify ! ( CThostFtdcReqVerifyApiKeyField )
41647               ));
41648    assert_eq! (::std::mem::align_of::<CThostFtdcReqVerifyApiKeyField>() ,
41649                4usize , concat ! (
41650                "Alignment of " , stringify ! ( CThostFtdcReqVerifyApiKeyField
41651                ) ));
41652    assert_eq! (unsafe {
41653                & ( * ( 0 as * const CThostFtdcReqVerifyApiKeyField ) ) .
41654                ApiHandshakeDataLen as * const _ as usize } , 0usize , concat
41655                ! (
41656                "Alignment of field: " , stringify ! (
41657                CThostFtdcReqVerifyApiKeyField ) , "::" , stringify ! (
41658                ApiHandshakeDataLen ) ));
41659    assert_eq! (unsafe {
41660                & ( * ( 0 as * const CThostFtdcReqVerifyApiKeyField ) ) .
41661                ApiHandshakeData as * const _ as usize } , 4usize , concat ! (
41662                "Alignment of field: " , stringify ! (
41663                CThostFtdcReqVerifyApiKeyField ) , "::" , stringify ! (
41664                ApiHandshakeData ) ));
41665}
41666impl Clone for CThostFtdcReqVerifyApiKeyField {
41667    fn clone(&self) -> Self { *self }
41668}
41669impl Default for CThostFtdcReqVerifyApiKeyField {
41670    fn default() -> Self { unsafe { ::std::mem::zeroed() } }
41671}
41672/// 操作员组织架构关系
41673#[repr(C)]
41674#[derive(Default, Copy)]
41675pub struct CThostFtdcDepartmentUserField {
41676    /// 经纪公司代码
41677    pub BrokerID: TThostFtdcBrokerIDType,
41678    /// 用户代码
41679    pub UserID: TThostFtdcUserIDType,
41680    /// 投资者范围
41681    pub InvestorRange: TThostFtdcDepartmentRangeType,
41682    /// 投资者代码
41683    pub InvestorID: TThostFtdcInvestorIDType,
41684}
41685#[test]
41686fn bindgen_test_layout_CThostFtdcDepartmentUserField() {
41687    assert_eq!(::std::mem::size_of::<CThostFtdcDepartmentUserField>() ,
41688               41usize , concat ! (
41689               "Size of: " , stringify ! ( CThostFtdcDepartmentUserField ) ));
41690    assert_eq! (::std::mem::align_of::<CThostFtdcDepartmentUserField>() ,
41691                1usize , concat ! (
41692                "Alignment of " , stringify ! ( CThostFtdcDepartmentUserField
41693                ) ));
41694    assert_eq! (unsafe {
41695                & ( * ( 0 as * const CThostFtdcDepartmentUserField ) ) .
41696                BrokerID as * const _ as usize } , 0usize , concat ! (
41697                "Alignment of field: " , stringify ! (
41698                CThostFtdcDepartmentUserField ) , "::" , stringify ! (
41699                BrokerID ) ));
41700    assert_eq! (unsafe {
41701                & ( * ( 0 as * const CThostFtdcDepartmentUserField ) ) .
41702                UserID as * const _ as usize } , 11usize , concat ! (
41703                "Alignment of field: " , stringify ! (
41704                CThostFtdcDepartmentUserField ) , "::" , stringify ! ( UserID
41705                ) ));
41706    assert_eq! (unsafe {
41707                & ( * ( 0 as * const CThostFtdcDepartmentUserField ) ) .
41708                InvestorRange as * const _ as usize } , 27usize , concat ! (
41709                "Alignment of field: " , stringify ! (
41710                CThostFtdcDepartmentUserField ) , "::" , stringify ! (
41711                InvestorRange ) ));
41712    assert_eq! (unsafe {
41713                & ( * ( 0 as * const CThostFtdcDepartmentUserField ) ) .
41714                InvestorID as * const _ as usize } , 28usize , concat ! (
41715                "Alignment of field: " , stringify ! (
41716                CThostFtdcDepartmentUserField ) , "::" , stringify ! (
41717                InvestorID ) ));
41718}
41719impl Clone for CThostFtdcDepartmentUserField {
41720    fn clone(&self) -> Self { *self }
41721}
41722/// 查询频率,每秒查询比数
41723#[repr(C)]
41724#[derive(Default, Copy)]
41725pub struct CThostFtdcQueryFreqField {
41726    /// 查询频率
41727    pub QueryFreq: TThostFtdcQueryFreqType,
41728}
41729#[test]
41730fn bindgen_test_layout_CThostFtdcQueryFreqField() {
41731    assert_eq!(::std::mem::size_of::<CThostFtdcQueryFreqField>() , 4usize ,
41732               concat ! (
41733               "Size of: " , stringify ! ( CThostFtdcQueryFreqField ) ));
41734    assert_eq! (::std::mem::align_of::<CThostFtdcQueryFreqField>() , 4usize ,
41735                concat ! (
41736                "Alignment of " , stringify ! ( CThostFtdcQueryFreqField ) ));
41737    assert_eq! (unsafe {
41738                & ( * ( 0 as * const CThostFtdcQueryFreqField ) ) . QueryFreq
41739                as * const _ as usize } , 0usize , concat ! (
41740                "Alignment of field: " , stringify ! (
41741                CThostFtdcQueryFreqField ) , "::" , stringify ! ( QueryFreq )
41742                ));
41743}
41744impl Clone for CThostFtdcQueryFreqField {
41745    fn clone(&self) -> Self { *self }
41746}