/* automatically generated by rust-bindgen 0.71.0 */

pub const THOST_FTDC_EXP_Normal: u8 = 48u8;
pub const THOST_FTDC_EXP_GenOrderByTrade: u8 = 49u8;
pub const THOST_FTDC_ICT_EID: u8 = 48u8;
pub const THOST_FTDC_ICT_IDCard: u8 = 49u8;
pub const THOST_FTDC_ICT_OfficerIDCard: u8 = 50u8;
pub const THOST_FTDC_ICT_PoliceIDCard: u8 = 51u8;
pub const THOST_FTDC_ICT_SoldierIDCard: u8 = 52u8;
pub const THOST_FTDC_ICT_HouseholdRegister: u8 = 53u8;
pub const THOST_FTDC_ICT_Passport: u8 = 54u8;
pub const THOST_FTDC_ICT_TaiwanCompatriotIDCard: u8 = 55u8;
pub const THOST_FTDC_ICT_HomeComingCard: u8 = 56u8;
pub const THOST_FTDC_ICT_LicenseNo: u8 = 57u8;
pub const THOST_FTDC_ICT_TaxNo: u8 = 65u8;
pub const THOST_FTDC_ICT_HMMainlandTravelPermit: u8 = 66u8;
pub const THOST_FTDC_ICT_TwMainlandTravelPermit: u8 = 67u8;
pub const THOST_FTDC_ICT_DrivingLicense: u8 = 68u8;
pub const THOST_FTDC_ICT_SocialID: u8 = 70u8;
pub const THOST_FTDC_ICT_LocalID: u8 = 71u8;
pub const THOST_FTDC_ICT_BusinessRegistration: u8 = 72u8;
pub const THOST_FTDC_ICT_HKMCIDCard: u8 = 73u8;
pub const THOST_FTDC_ICT_AccountsPermits: u8 = 74u8;
pub const THOST_FTDC_ICT_FrgPrmtRdCard: u8 = 75u8;
pub const THOST_FTDC_ICT_CptMngPrdLetter: u8 = 76u8;
pub const THOST_FTDC_ICT_HKMCTwResidencePermit: u8 = 77u8;
pub const THOST_FTDC_ICT_UniformSocialCreditCode: u8 = 78u8;
pub const THOST_FTDC_ICT_CorporationCertNo: u8 = 79u8;
pub const THOST_FTDC_ICT_OtherCard: u8 = 120u8;
pub const THOST_FTDC_IR_All: u8 = 49u8;
pub const THOST_FTDC_IR_Group: u8 = 50u8;
pub const THOST_FTDC_IR_Single: u8 = 51u8;
pub const THOST_FTDC_DR_All: u8 = 49u8;
pub const THOST_FTDC_DR_Group: u8 = 50u8;
pub const THOST_FTDC_DR_Single: u8 = 51u8;
pub const THOST_FTDC_DS_Asynchronous: u8 = 49u8;
pub const THOST_FTDC_DS_Synchronizing: u8 = 50u8;
pub const THOST_FTDC_DS_Synchronized: u8 = 51u8;
pub const THOST_FTDC_BDS_Synchronized: u8 = 49u8;
pub const THOST_FTDC_BDS_Synchronizing: u8 = 50u8;
pub const THOST_FTDC_ECS_NoConnection: u8 = 49u8;
pub const THOST_FTDC_ECS_QryInstrumentSent: u8 = 50u8;
pub const THOST_FTDC_ECS_GotInformation: u8 = 57u8;
pub const THOST_FTDC_TCS_NotConnected: u8 = 49u8;
pub const THOST_FTDC_TCS_Connected: u8 = 50u8;
pub const THOST_FTDC_TCS_QryInstrumentSent: u8 = 51u8;
pub const THOST_FTDC_TCS_SubPrivateFlow: u8 = 52u8;
pub const THOST_FTDC_FC_DataAsync: u8 = 49u8;
pub const THOST_FTDC_FC_ForceUserLogout: u8 = 50u8;
pub const THOST_FTDC_FC_UserPasswordUpdate: u8 = 51u8;
pub const THOST_FTDC_FC_BrokerPasswordUpdate: u8 = 52u8;
pub const THOST_FTDC_FC_InvestorPasswordUpdate: u8 = 53u8;
pub const THOST_FTDC_FC_OrderInsert: u8 = 54u8;
pub const THOST_FTDC_FC_OrderAction: u8 = 55u8;
pub const THOST_FTDC_FC_SyncSystemData: u8 = 56u8;
pub const THOST_FTDC_FC_SyncBrokerData: u8 = 57u8;
pub const THOST_FTDC_FC_BachSyncBrokerData: u8 = 65u8;
pub const THOST_FTDC_FC_SuperQuery: u8 = 66u8;
pub const THOST_FTDC_FC_ParkedOrderInsert: u8 = 67u8;
pub const THOST_FTDC_FC_ParkedOrderAction: u8 = 68u8;
pub const THOST_FTDC_FC_SyncOTP: u8 = 69u8;
pub const THOST_FTDC_FC_DeleteOrder: u8 = 70u8;
pub const THOST_FTDC_BFC_ForceUserLogout: u8 = 49u8;
pub const THOST_FTDC_BFC_UserPasswordUpdate: u8 = 50u8;
pub const THOST_FTDC_BFC_SyncBrokerData: u8 = 51u8;
pub const THOST_FTDC_BFC_BachSyncBrokerData: u8 = 52u8;
pub const THOST_FTDC_BFC_OrderInsert: u8 = 53u8;
pub const THOST_FTDC_BFC_OrderAction: u8 = 54u8;
pub const THOST_FTDC_BFC_AllQuery: u8 = 55u8;
pub const THOST_FTDC_BFC_log: u8 = 97u8;
pub const THOST_FTDC_BFC_BaseQry: u8 = 98u8;
pub const THOST_FTDC_BFC_TradeQry: u8 = 99u8;
pub const THOST_FTDC_BFC_Trade: u8 = 100u8;
pub const THOST_FTDC_BFC_Virement: u8 = 101u8;
pub const THOST_FTDC_BFC_Risk: u8 = 102u8;
pub const THOST_FTDC_BFC_Session: u8 = 103u8;
pub const THOST_FTDC_BFC_RiskNoticeCtl: u8 = 104u8;
pub const THOST_FTDC_BFC_RiskNotice: u8 = 105u8;
pub const THOST_FTDC_BFC_BrokerDeposit: u8 = 106u8;
pub const THOST_FTDC_BFC_QueryFund: u8 = 107u8;
pub const THOST_FTDC_BFC_QueryOrder: u8 = 108u8;
pub const THOST_FTDC_BFC_QueryTrade: u8 = 109u8;
pub const THOST_FTDC_BFC_QueryPosition: u8 = 110u8;
pub const THOST_FTDC_BFC_QueryMarketData: u8 = 111u8;
pub const THOST_FTDC_BFC_QueryUserEvent: u8 = 112u8;
pub const THOST_FTDC_BFC_QueryRiskNotify: u8 = 113u8;
pub const THOST_FTDC_BFC_QueryFundChange: u8 = 114u8;
pub const THOST_FTDC_BFC_QueryInvestor: u8 = 115u8;
pub const THOST_FTDC_BFC_QueryTradingCode: u8 = 116u8;
pub const THOST_FTDC_BFC_ForceClose: u8 = 117u8;
pub const THOST_FTDC_BFC_PressTest: u8 = 118u8;
pub const THOST_FTDC_BFC_RemainCalc: u8 = 119u8;
pub const THOST_FTDC_BFC_NetPositionInd: u8 = 120u8;
pub const THOST_FTDC_BFC_RiskPredict: u8 = 121u8;
pub const THOST_FTDC_BFC_DataExport: u8 = 122u8;
pub const THOST_FTDC_BFC_RiskTargetSetup: u8 = 65u8;
pub const THOST_FTDC_BFC_MarketDataWarn: u8 = 66u8;
pub const THOST_FTDC_BFC_QryBizNotice: u8 = 67u8;
pub const THOST_FTDC_BFC_CfgBizNotice: u8 = 68u8;
pub const THOST_FTDC_BFC_SyncOTP: u8 = 69u8;
pub const THOST_FTDC_BFC_SendBizNotice: u8 = 70u8;
pub const THOST_FTDC_BFC_CfgRiskLevelStd: u8 = 71u8;
pub const THOST_FTDC_BFC_TbCommand: u8 = 72u8;
pub const THOST_FTDC_BFC_DeleteOrder: u8 = 74u8;
pub const THOST_FTDC_BFC_ParkedOrderInsert: u8 = 75u8;
pub const THOST_FTDC_BFC_ParkedOrderAction: u8 = 76u8;
pub const THOST_FTDC_BFC_ExecOrderNoCheck: u8 = 77u8;
pub const THOST_FTDC_BFC_Designate: u8 = 78u8;
pub const THOST_FTDC_BFC_StockDisposal: u8 = 79u8;
pub const THOST_FTDC_BFC_BrokerDepositWarn: u8 = 81u8;
pub const THOST_FTDC_BFC_CoverWarn: u8 = 83u8;
pub const THOST_FTDC_BFC_PreExecOrder: u8 = 84u8;
pub const THOST_FTDC_BFC_ExecOrderRisk: u8 = 80u8;
pub const THOST_FTDC_BFC_PosiLimitWarn: u8 = 85u8;
pub const THOST_FTDC_BFC_QryPosiLimit: u8 = 86u8;
pub const THOST_FTDC_BFC_FBSign: u8 = 87u8;
pub const THOST_FTDC_BFC_FBAccount: u8 = 88u8;
pub const THOST_FTDC_OAS_Submitted: u8 = 97u8;
pub const THOST_FTDC_OAS_Accepted: u8 = 98u8;
pub const THOST_FTDC_OAS_Rejected: u8 = 99u8;
pub const THOST_FTDC_OST_AllTraded: u8 = 48u8;
pub const THOST_FTDC_OST_PartTradedQueueing: u8 = 49u8;
pub const THOST_FTDC_OST_PartTradedNotQueueing: u8 = 50u8;
pub const THOST_FTDC_OST_NoTradeQueueing: u8 = 51u8;
pub const THOST_FTDC_OST_NoTradeNotQueueing: u8 = 52u8;
pub const THOST_FTDC_OST_Canceled: u8 = 53u8;
pub const THOST_FTDC_OST_Unknown: u8 = 97u8;
pub const THOST_FTDC_OST_NotTouched: u8 = 98u8;
pub const THOST_FTDC_OST_Touched: u8 = 99u8;
pub const THOST_FTDC_OSS_InsertSubmitted: u8 = 48u8;
pub const THOST_FTDC_OSS_CancelSubmitted: u8 = 49u8;
pub const THOST_FTDC_OSS_ModifySubmitted: u8 = 50u8;
pub const THOST_FTDC_OSS_Accepted: u8 = 51u8;
pub const THOST_FTDC_OSS_InsertRejected: u8 = 52u8;
pub const THOST_FTDC_OSS_CancelRejected: u8 = 53u8;
pub const THOST_FTDC_OSS_ModifyRejected: u8 = 54u8;
pub const THOST_FTDC_PSD_Today: u8 = 49u8;
pub const THOST_FTDC_PSD_History: u8 = 50u8;
pub const THOST_FTDC_PDT_UseHistory: u8 = 49u8;
pub const THOST_FTDC_PDT_NoUseHistory: u8 = 50u8;
pub const THOST_FTDC_ER_Broker: u8 = 49u8;
pub const THOST_FTDC_ER_Host: u8 = 50u8;
pub const THOST_FTDC_ER_Maker: u8 = 51u8;
pub const THOST_FTDC_PC_Futures: u8 = 49u8;
pub const THOST_FTDC_PC_Options: u8 = 50u8;
pub const THOST_FTDC_PC_Combination: u8 = 51u8;
pub const THOST_FTDC_PC_Spot: u8 = 52u8;
pub const THOST_FTDC_PC_EFP: u8 = 53u8;
pub const THOST_FTDC_PC_SpotOption: u8 = 54u8;
pub const THOST_FTDC_PC_TAS: u8 = 55u8;
pub const THOST_FTDC_PC_MI: u8 = 73u8;
pub const THOST_FTDC_APC_FutureSingle: u8 = 49u8;
pub const THOST_FTDC_APC_OptionSingle: u8 = 50u8;
pub const THOST_FTDC_APC_Futures: u8 = 51u8;
pub const THOST_FTDC_APC_Options: u8 = 52u8;
pub const THOST_FTDC_APC_TradingComb: u8 = 53u8;
pub const THOST_FTDC_APC_UnTradingComb: u8 = 54u8;
pub const THOST_FTDC_APC_AllTrading: u8 = 55u8;
pub const THOST_FTDC_APC_All: u8 = 56u8;
pub const THOST_FTDC_IP_NotStart: u8 = 48u8;
pub const THOST_FTDC_IP_Started: u8 = 49u8;
pub const THOST_FTDC_IP_Pause: u8 = 50u8;
pub const THOST_FTDC_IP_Expired: u8 = 51u8;
pub const THOST_FTDC_D_Buy: u8 = 48u8;
pub const THOST_FTDC_D_Sell: u8 = 49u8;
pub const THOST_FTDC_PT_Net: u8 = 49u8;
pub const THOST_FTDC_PT_Gross: u8 = 50u8;
pub const THOST_FTDC_PD_Net: u8 = 49u8;
pub const THOST_FTDC_PD_Long: u8 = 50u8;
pub const THOST_FTDC_PD_Short: u8 = 51u8;
pub const THOST_FTDC_SS_NonActive: u8 = 49u8;
pub const THOST_FTDC_SS_Startup: u8 = 50u8;
pub const THOST_FTDC_SS_Operating: u8 = 51u8;
pub const THOST_FTDC_SS_Settlement: u8 = 52u8;
pub const THOST_FTDC_SS_SettlementFinished: u8 = 53u8;
pub const THOST_FTDC_RA_Trade: u8 = 48u8;
pub const THOST_FTDC_RA_Settlement: u8 = 49u8;
pub const THOST_FTDC_HF_Speculation: u8 = 49u8;
pub const THOST_FTDC_HF_Arbitrage: u8 = 50u8;
pub const THOST_FTDC_HF_Hedge: u8 = 51u8;
pub const THOST_FTDC_HF_MarketMaker: u8 = 53u8;
pub const THOST_FTDC_HF_SpecHedge: u8 = 54u8;
pub const THOST_FTDC_HF_HedgeSpec: u8 = 55u8;
pub const THOST_FTDC_BHF_Speculation: u8 = 49u8;
pub const THOST_FTDC_BHF_Arbitrage: u8 = 50u8;
pub const THOST_FTDC_BHF_Hedge: u8 = 51u8;
pub const THOST_FTDC_CIDT_Speculation: u8 = 49u8;
pub const THOST_FTDC_CIDT_Arbitrage: u8 = 50u8;
pub const THOST_FTDC_CIDT_Hedge: u8 = 51u8;
pub const THOST_FTDC_CIDT_MarketMaker: u8 = 53u8;
pub const THOST_FTDC_OPT_AnyPrice: u8 = 49u8;
pub const THOST_FTDC_OPT_LimitPrice: u8 = 50u8;
pub const THOST_FTDC_OPT_BestPrice: u8 = 51u8;
pub const THOST_FTDC_OPT_LastPrice: u8 = 52u8;
pub const THOST_FTDC_OPT_LastPricePlusOneTicks: u8 = 53u8;
pub const THOST_FTDC_OPT_LastPricePlusTwoTicks: u8 = 54u8;
pub const THOST_FTDC_OPT_LastPricePlusThreeTicks: u8 = 55u8;
pub const THOST_FTDC_OPT_AskPrice1: u8 = 56u8;
pub const THOST_FTDC_OPT_AskPrice1PlusOneTicks: u8 = 57u8;
pub const THOST_FTDC_OPT_AskPrice1PlusTwoTicks: u8 = 65u8;
pub const THOST_FTDC_OPT_AskPrice1PlusThreeTicks: u8 = 66u8;
pub const THOST_FTDC_OPT_BidPrice1: u8 = 67u8;
pub const THOST_FTDC_OPT_BidPrice1PlusOneTicks: u8 = 68u8;
pub const THOST_FTDC_OPT_BidPrice1PlusTwoTicks: u8 = 69u8;
pub const THOST_FTDC_OPT_BidPrice1PlusThreeTicks: u8 = 70u8;
pub const THOST_FTDC_OPT_FiveLevelPrice: u8 = 71u8;
pub const THOST_FTDC_OF_Open: u8 = 48u8;
pub const THOST_FTDC_OF_Close: u8 = 49u8;
pub const THOST_FTDC_OF_ForceClose: u8 = 50u8;
pub const THOST_FTDC_OF_CloseToday: u8 = 51u8;
pub const THOST_FTDC_OF_CloseYesterday: u8 = 52u8;
pub const THOST_FTDC_OF_ForceOff: u8 = 53u8;
pub const THOST_FTDC_OF_LocalForceClose: u8 = 54u8;
pub const THOST_FTDC_FCC_NotForceClose: u8 = 48u8;
pub const THOST_FTDC_FCC_LackDeposit: u8 = 49u8;
pub const THOST_FTDC_FCC_ClientOverPositionLimit: u8 = 50u8;
pub const THOST_FTDC_FCC_MemberOverPositionLimit: u8 = 51u8;
pub const THOST_FTDC_FCC_NotMultiple: u8 = 52u8;
pub const THOST_FTDC_FCC_Violation: u8 = 53u8;
pub const THOST_FTDC_FCC_Other: u8 = 54u8;
pub const THOST_FTDC_FCC_PersonDeliv: u8 = 55u8;
pub const THOST_FTDC_FCC_Notverifycapital: u8 = 56u8;
pub const THOST_FTDC_ORDT_Normal: u8 = 48u8;
pub const THOST_FTDC_ORDT_DeriveFromQuote: u8 = 49u8;
pub const THOST_FTDC_ORDT_DeriveFromCombination: u8 = 50u8;
pub const THOST_FTDC_ORDT_Combination: u8 = 51u8;
pub const THOST_FTDC_ORDT_ConditionalOrder: u8 = 52u8;
pub const THOST_FTDC_ORDT_Swap: u8 = 53u8;
pub const THOST_FTDC_ORDT_DeriveFromBlockTrade: u8 = 54u8;
pub const THOST_FTDC_ORDT_DeriveFromEFPTrade: u8 = 55u8;
pub const THOST_FTDC_TC_IOC: u8 = 49u8;
pub const THOST_FTDC_TC_GFS: u8 = 50u8;
pub const THOST_FTDC_TC_GFD: u8 = 51u8;
pub const THOST_FTDC_TC_GTD: u8 = 52u8;
pub const THOST_FTDC_TC_GTC: u8 = 53u8;
pub const THOST_FTDC_TC_GFA: u8 = 54u8;
pub const THOST_FTDC_VC_AV: u8 = 49u8;
pub const THOST_FTDC_VC_MV: u8 = 50u8;
pub const THOST_FTDC_VC_CV: u8 = 51u8;
pub const THOST_FTDC_CC_Immediately: u8 = 49u8;
pub const THOST_FTDC_CC_Touch: u8 = 50u8;
pub const THOST_FTDC_CC_TouchProfit: u8 = 51u8;
pub const THOST_FTDC_CC_ParkedOrder: u8 = 52u8;
pub const THOST_FTDC_CC_LastPriceGreaterThanStopPrice: u8 = 53u8;
pub const THOST_FTDC_CC_LastPriceGreaterEqualStopPrice: u8 = 54u8;
pub const THOST_FTDC_CC_LastPriceLesserThanStopPrice: u8 = 55u8;
pub const THOST_FTDC_CC_LastPriceLesserEqualStopPrice: u8 = 56u8;
pub const THOST_FTDC_CC_AskPriceGreaterThanStopPrice: u8 = 57u8;
pub const THOST_FTDC_CC_AskPriceGreaterEqualStopPrice: u8 = 65u8;
pub const THOST_FTDC_CC_AskPriceLesserThanStopPrice: u8 = 66u8;
pub const THOST_FTDC_CC_AskPriceLesserEqualStopPrice: u8 = 67u8;
pub const THOST_FTDC_CC_BidPriceGreaterThanStopPrice: u8 = 68u8;
pub const THOST_FTDC_CC_BidPriceGreaterEqualStopPrice: u8 = 69u8;
pub const THOST_FTDC_CC_BidPriceLesserThanStopPrice: u8 = 70u8;
pub const THOST_FTDC_CC_BidPriceLesserEqualStopPrice: u8 = 72u8;
pub const THOST_FTDC_AF_Delete: u8 = 48u8;
pub const THOST_FTDC_AF_Modify: u8 = 51u8;
pub const THOST_FTDC_TR_Allow: u8 = 48u8;
pub const THOST_FTDC_TR_CloseOnly: u8 = 49u8;
pub const THOST_FTDC_TR_Forbidden: u8 = 50u8;
pub const THOST_FTDC_OSRC_Participant: u8 = 48u8;
pub const THOST_FTDC_OSRC_Administrator: u8 = 49u8;
pub const THOST_FTDC_TRDT_SplitCombination: u8 = 35u8;
pub const THOST_FTDC_TRDT_Common: u8 = 48u8;
pub const THOST_FTDC_TRDT_OptionsExecution: u8 = 49u8;
pub const THOST_FTDC_TRDT_OTC: u8 = 50u8;
pub const THOST_FTDC_TRDT_EFPDerived: u8 = 51u8;
pub const THOST_FTDC_TRDT_CombinationDerived: u8 = 52u8;
pub const THOST_FTDC_TRDT_BlockTrade: u8 = 53u8;
pub const THOST_FTDC_SPOST_Common: u8 = 35u8;
pub const THOST_FTDC_SPOST_Tas: u8 = 48u8;
pub const THOST_FTDC_PSRC_LastPrice: u8 = 48u8;
pub const THOST_FTDC_PSRC_Buy: u8 = 49u8;
pub const THOST_FTDC_PSRC_Sell: u8 = 50u8;
pub const THOST_FTDC_PSRC_OTC: u8 = 51u8;
pub const THOST_FTDC_IS_BeforeTrading: u8 = 48u8;
pub const THOST_FTDC_IS_NoTrading: u8 = 49u8;
pub const THOST_FTDC_IS_Continous: u8 = 50u8;
pub const THOST_FTDC_IS_AuctionOrdering: u8 = 51u8;
pub const THOST_FTDC_IS_AuctionBalance: u8 = 52u8;
pub const THOST_FTDC_IS_AuctionMatch: u8 = 53u8;
pub const THOST_FTDC_IS_Closed: u8 = 54u8;
pub const THOST_FTDC_IER_Automatic: u8 = 49u8;
pub const THOST_FTDC_IER_Manual: u8 = 50u8;
pub const THOST_FTDC_IER_Fuse: u8 = 51u8;
pub const THOST_FTDC_BS_NoUpload: u8 = 49u8;
pub const THOST_FTDC_BS_Uploaded: u8 = 50u8;
pub const THOST_FTDC_BS_Failed: u8 = 51u8;
pub const THOST_FTDC_RS_All: u8 = 49u8;
pub const THOST_FTDC_RS_ByProduct: u8 = 50u8;
pub const THOST_FTDC_RP_ByVolume: u8 = 49u8;
pub const THOST_FTDC_RP_ByFeeOnHand: u8 = 50u8;
pub const THOST_FTDC_RL_Level1: u8 = 49u8;
pub const THOST_FTDC_RL_Level2: u8 = 50u8;
pub const THOST_FTDC_RL_Level3: u8 = 51u8;
pub const THOST_FTDC_RL_Level4: u8 = 52u8;
pub const THOST_FTDC_RL_Level5: u8 = 53u8;
pub const THOST_FTDC_RL_Level6: u8 = 54u8;
pub const THOST_FTDC_RL_Level7: u8 = 55u8;
pub const THOST_FTDC_RL_Level8: u8 = 56u8;
pub const THOST_FTDC_RL_Level9: u8 = 57u8;
pub const THOST_FTDC_RSD_ByPeriod: u8 = 49u8;
pub const THOST_FTDC_RSD_ByStandard: u8 = 50u8;
pub const THOST_FTDC_MT_Out: u8 = 48u8;
pub const THOST_FTDC_MT_In: u8 = 49u8;
pub const THOST_FTDC_ISPI_MortgageRatio: u8 = 52u8;
pub const THOST_FTDC_ISPI_MarginWay: u8 = 53u8;
pub const THOST_FTDC_ISPI_BillDeposit: u8 = 57u8;
pub const THOST_FTDC_ESPI_MortgageRatio: u8 = 49u8;
pub const THOST_FTDC_ESPI_OtherFundItem: u8 = 50u8;
pub const THOST_FTDC_ESPI_OtherFundImport: u8 = 51u8;
pub const THOST_FTDC_ESPI_CFFEXMinPrepa: u8 = 54u8;
pub const THOST_FTDC_ESPI_CZCESettlementType: u8 = 55u8;
pub const THOST_FTDC_ESPI_ExchDelivFeeMode: u8 = 57u8;
pub const THOST_FTDC_ESPI_DelivFeeMode: u8 = 48u8;
pub const THOST_FTDC_ESPI_CZCEComMarginType: u8 = 65u8;
pub const THOST_FTDC_ESPI_DceComMarginType: u8 = 66u8;
pub const THOST_FTDC_ESPI_OptOutDisCountRate: u8 = 97u8;
pub const THOST_FTDC_ESPI_OptMiniGuarantee: u8 = 98u8;
pub const THOST_FTDC_SPI_InvestorIDMinLength: u8 = 49u8;
pub const THOST_FTDC_SPI_AccountIDMinLength: u8 = 50u8;
pub const THOST_FTDC_SPI_UserRightLogon: u8 = 51u8;
pub const THOST_FTDC_SPI_SettlementBillTrade: u8 = 52u8;
pub const THOST_FTDC_SPI_TradingCode: u8 = 53u8;
pub const THOST_FTDC_SPI_CheckFund: u8 = 54u8;
pub const THOST_FTDC_SPI_CommModelRight: u8 = 55u8;
pub const THOST_FTDC_SPI_MarginModelRight: u8 = 57u8;
pub const THOST_FTDC_SPI_IsStandardActive: u8 = 56u8;
pub const THOST_FTDC_SPI_UploadSettlementFile: u8 = 85u8;
pub const THOST_FTDC_SPI_DownloadCSRCFile: u8 = 68u8;
pub const THOST_FTDC_SPI_SettlementBillFile: u8 = 83u8;
pub const THOST_FTDC_SPI_CSRCOthersFile: u8 = 67u8;
pub const THOST_FTDC_SPI_InvestorPhoto: u8 = 80u8;
pub const THOST_FTDC_SPI_CSRCData: u8 = 82u8;
pub const THOST_FTDC_SPI_InvestorPwdModel: u8 = 73u8;
pub const THOST_FTDC_SPI_CFFEXInvestorSettleFile: u8 = 70u8;
pub const THOST_FTDC_SPI_InvestorIDType: u8 = 97u8;
pub const THOST_FTDC_SPI_FreezeMaxReMain: u8 = 114u8;
pub const THOST_FTDC_SPI_IsSync: u8 = 65u8;
pub const THOST_FTDC_SPI_RelieveOpenLimit: u8 = 79u8;
pub const THOST_FTDC_SPI_IsStandardFreeze: u8 = 88u8;
pub const THOST_FTDC_SPI_CZCENormalProductHedge: u8 = 66u8;
pub const THOST_FTDC_TPID_EncryptionStandard: u8 = 69u8;
pub const THOST_FTDC_TPID_RiskMode: u8 = 82u8;
pub const THOST_FTDC_TPID_RiskModeGlobal: u8 = 71u8;
pub const THOST_FTDC_TPID_modeEncode: u8 = 80u8;
pub const THOST_FTDC_TPID_tickMode: u8 = 84u8;
pub const THOST_FTDC_TPID_SingleUserSessionMaxNum: u8 = 83u8;
pub const THOST_FTDC_TPID_LoginFailMaxNum: u8 = 76u8;
pub const THOST_FTDC_TPID_IsAuthForce: u8 = 65u8;
pub const THOST_FTDC_TPID_IsPosiFreeze: u8 = 70u8;
pub const THOST_FTDC_TPID_IsPosiLimit: u8 = 77u8;
pub const THOST_FTDC_TPID_ForQuoteTimeInterval: u8 = 81u8;
pub const THOST_FTDC_TPID_IsFuturePosiLimit: u8 = 66u8;
pub const THOST_FTDC_TPID_IsFutureOrderFreq: u8 = 67u8;
pub const THOST_FTDC_TPID_IsExecOrderProfit: u8 = 72u8;
pub const THOST_FTDC_TPID_IsCheckBankAcc: u8 = 73u8;
pub const THOST_FTDC_TPID_PasswordDeadLine: u8 = 74u8;
pub const THOST_FTDC_TPID_IsStrongPassword: u8 = 75u8;
pub const THOST_FTDC_TPID_BalanceMorgage: u8 = 97u8;
pub const THOST_FTDC_TPID_MinPwdLen: u8 = 79u8;
pub const THOST_FTDC_TPID_LoginFailMaxNumForIP: u8 = 85u8;
pub const THOST_FTDC_TPID_PasswordPeriod: u8 = 86u8;
pub const THOST_FTDC_FI_SettlementFund: u8 = 70u8;
pub const THOST_FTDC_FI_Trade: u8 = 84u8;
pub const THOST_FTDC_FI_InvestorPosition: u8 = 80u8;
pub const THOST_FTDC_FI_SubEntryFund: u8 = 79u8;
pub const THOST_FTDC_FI_CZCECombinationPos: u8 = 67u8;
pub const THOST_FTDC_FI_CSRCData: u8 = 82u8;
pub const THOST_FTDC_FI_CZCEClose: u8 = 76u8;
pub const THOST_FTDC_FI_CZCENoClose: u8 = 78u8;
pub const THOST_FTDC_FI_PositionDtl: u8 = 68u8;
pub const THOST_FTDC_FI_OptionStrike: u8 = 83u8;
pub const THOST_FTDC_FI_SettlementPriceComparison: u8 = 77u8;
pub const THOST_FTDC_FI_NonTradePosChange: u8 = 66u8;
pub const THOST_FTDC_FUT_Settlement: u8 = 48u8;
pub const THOST_FTDC_FUT_Check: u8 = 49u8;
pub const THOST_FTDC_FFT_Txt: u8 = 48u8;
pub const THOST_FTDC_FFT_Zip: u8 = 49u8;
pub const THOST_FTDC_FFT_DBF: u8 = 50u8;
pub const THOST_FTDC_FUS_SucceedUpload: u8 = 49u8;
pub const THOST_FTDC_FUS_FailedUpload: u8 = 50u8;
pub const THOST_FTDC_FUS_SucceedLoad: u8 = 51u8;
pub const THOST_FTDC_FUS_PartSucceedLoad: u8 = 52u8;
pub const THOST_FTDC_FUS_FailedLoad: u8 = 53u8;
pub const THOST_FTDC_TD_Out: u8 = 48u8;
pub const THOST_FTDC_TD_In: u8 = 49u8;
pub const THOST_FTDC_SC_NoSpecialRule: u8 = 48u8;
pub const THOST_FTDC_SC_NoSpringFestival: u8 = 49u8;
pub const THOST_FTDC_IPT_LastSettlement: u8 = 49u8;
pub const THOST_FTDC_IPT_LaseClose: u8 = 50u8;
pub const THOST_FTDC_PLP_Active: u8 = 49u8;
pub const THOST_FTDC_PLP_NonActive: u8 = 50u8;
pub const THOST_FTDC_PLP_Canceled: u8 = 51u8;
pub const THOST_FTDC_DM_CashDeliv: u8 = 49u8;
pub const THOST_FTDC_DM_CommodityDeliv: u8 = 50u8;
pub const THOST_FTDC_FIOT_FundIO: u8 = 49u8;
pub const THOST_FTDC_FIOT_Transfer: u8 = 50u8;
pub const THOST_FTDC_FIOT_SwapCurrency: u8 = 51u8;
pub const THOST_FTDC_FT_Deposite: u8 = 49u8;
pub const THOST_FTDC_FT_ItemFund: u8 = 50u8;
pub const THOST_FTDC_FT_Company: u8 = 51u8;
pub const THOST_FTDC_FT_InnerTransfer: u8 = 52u8;
pub const THOST_FTDC_FD_In: u8 = 49u8;
pub const THOST_FTDC_FD_Out: u8 = 50u8;
pub const THOST_FTDC_FS_Record: u8 = 49u8;
pub const THOST_FTDC_FS_Check: u8 = 50u8;
pub const THOST_FTDC_FS_Charge: u8 = 51u8;
pub const THOST_FTDC_PS_None: u8 = 49u8;
pub const THOST_FTDC_PS_Publishing: u8 = 50u8;
pub const THOST_FTDC_PS_Published: u8 = 51u8;
pub const THOST_FTDC_ES_NonActive: u8 = 49u8;
pub const THOST_FTDC_ES_Startup: u8 = 50u8;
pub const THOST_FTDC_ES_Initialize: u8 = 51u8;
pub const THOST_FTDC_ES_Initialized: u8 = 52u8;
pub const THOST_FTDC_ES_Close: u8 = 53u8;
pub const THOST_FTDC_ES_Closed: u8 = 54u8;
pub const THOST_FTDC_ES_Settlement: u8 = 55u8;
pub const THOST_FTDC_STS_Initialize: u8 = 48u8;
pub const THOST_FTDC_STS_Settlementing: u8 = 49u8;
pub const THOST_FTDC_STS_Settlemented: u8 = 50u8;
pub const THOST_FTDC_STS_Finished: u8 = 51u8;
pub const THOST_FTDC_CT_Person: u8 = 48u8;
pub const THOST_FTDC_CT_Company: u8 = 49u8;
pub const THOST_FTDC_CT_Fund: u8 = 50u8;
pub const THOST_FTDC_CT_SpecialOrgan: u8 = 51u8;
pub const THOST_FTDC_CT_Asset: u8 = 52u8;
pub const THOST_FTDC_BT_Trade: u8 = 48u8;
pub const THOST_FTDC_BT_TradeSettle: u8 = 49u8;
pub const THOST_FTDC_FAS_Low: u8 = 49u8;
pub const THOST_FTDC_FAS_Normal: u8 = 50u8;
pub const THOST_FTDC_FAS_Focus: u8 = 51u8;
pub const THOST_FTDC_FAS_Risk: u8 = 52u8;
pub const THOST_FTDC_FAS_ByTrade: u8 = 49u8;
pub const THOST_FTDC_FAS_ByDeliv: u8 = 50u8;
pub const THOST_FTDC_FAS_None: u8 = 51u8;
pub const THOST_FTDC_FAS_FixFee: u8 = 52u8;
pub const THOST_FTDC_PWDT_Trade: u8 = 49u8;
pub const THOST_FTDC_PWDT_Account: u8 = 50u8;
pub const THOST_FTDC_AG_All: u8 = 49u8;
pub const THOST_FTDC_AG_OnlyLost: u8 = 50u8;
pub const THOST_FTDC_AG_OnlyGain: u8 = 51u8;
pub const THOST_FTDC_AG_None: u8 = 52u8;
pub const THOST_FTDC_ICP_Include: u8 = 48u8;
pub const THOST_FTDC_ICP_NotInclude: u8 = 50u8;
pub const THOST_FTDC_AWT_Enable: u8 = 48u8;
pub const THOST_FTDC_AWT_Disable: u8 = 50u8;
pub const THOST_FTDC_AWT_NoHoldEnable: u8 = 51u8;
pub const THOST_FTDC_FPWD_UnCheck: u8 = 48u8;
pub const THOST_FTDC_FPWD_Check: u8 = 49u8;
pub const THOST_FTDC_TT_BankToFuture: u8 = 48u8;
pub const THOST_FTDC_TT_FutureToBank: u8 = 49u8;
pub const THOST_FTDC_TVF_Invalid: u8 = 48u8;
pub const THOST_FTDC_TVF_Valid: u8 = 49u8;
pub const THOST_FTDC_TVF_Reverse: u8 = 50u8;
pub const THOST_FTDC_RN_CD: u8 = 48u8;
pub const THOST_FTDC_RN_ZT: u8 = 49u8;
pub const THOST_FTDC_RN_QT: u8 = 50u8;
pub const THOST_FTDC_SEX_None: u8 = 48u8;
pub const THOST_FTDC_SEX_Man: u8 = 49u8;
pub const THOST_FTDC_SEX_Woman: u8 = 50u8;
pub const THOST_FTDC_UT_Investor: u8 = 48u8;
pub const THOST_FTDC_UT_Operator: u8 = 49u8;
pub const THOST_FTDC_UT_SuperUser: u8 = 50u8;
pub const THOST_FTDC_RATETYPE_MarginRate: u8 = 50u8;
pub const THOST_FTDC_NOTETYPE_TradeSettleBill: u8 = 49u8;
pub const THOST_FTDC_NOTETYPE_TradeSettleMonth: u8 = 50u8;
pub const THOST_FTDC_NOTETYPE_CallMarginNotes: u8 = 51u8;
pub const THOST_FTDC_NOTETYPE_ForceCloseNotes: u8 = 52u8;
pub const THOST_FTDC_NOTETYPE_TradeNotes: u8 = 53u8;
pub const THOST_FTDC_NOTETYPE_DelivNotes: u8 = 54u8;
pub const THOST_FTDC_SBS_Day: u8 = 49u8;
pub const THOST_FTDC_SBS_Volume: u8 = 50u8;
pub const THOST_FTDC_ST_Day: u8 = 48u8;
pub const THOST_FTDC_ST_Month: u8 = 49u8;
pub const THOST_FTDC_URT_Logon: u8 = 49u8;
pub const THOST_FTDC_URT_Transfer: u8 = 50u8;
pub const THOST_FTDC_URT_EMail: u8 = 51u8;
pub const THOST_FTDC_URT_Fax: u8 = 52u8;
pub const THOST_FTDC_URT_ConditionOrder: u8 = 53u8;
pub const THOST_FTDC_MPT_PreSettlementPrice: u8 = 49u8;
pub const THOST_FTDC_MPT_SettlementPrice: u8 = 50u8;
pub const THOST_FTDC_MPT_AveragePrice: u8 = 51u8;
pub const THOST_FTDC_MPT_OpenPrice: u8 = 52u8;
pub const THOST_FTDC_BGS_None: u8 = 48u8;
pub const THOST_FTDC_BGS_NoGenerated: u8 = 49u8;
pub const THOST_FTDC_BGS_Generated: u8 = 50u8;
pub const THOST_FTDC_AT_HandlePositionAlgo: u8 = 49u8;
pub const THOST_FTDC_AT_FindMarginRateAlgo: u8 = 50u8;
pub const THOST_FTDC_HPA_Base: u8 = 49u8;
pub const THOST_FTDC_HPA_DCE: u8 = 50u8;
pub const THOST_FTDC_HPA_CZCE: u8 = 51u8;
pub const THOST_FTDC_FMRA_Base: u8 = 49u8;
pub const THOST_FTDC_FMRA_DCE: u8 = 50u8;
pub const THOST_FTDC_FMRA_CZCE: u8 = 51u8;
pub const THOST_FTDC_HTAA_Base: u8 = 49u8;
pub const THOST_FTDC_HTAA_DCE: u8 = 50u8;
pub const THOST_FTDC_HTAA_CZCE: u8 = 51u8;
pub const THOST_FTDC_PST_Order: u8 = 49u8;
pub const THOST_FTDC_PST_Open: u8 = 50u8;
pub const THOST_FTDC_PST_Fund: u8 = 51u8;
pub const THOST_FTDC_PST_Settlement: u8 = 52u8;
pub const THOST_FTDC_PST_Company: u8 = 53u8;
pub const THOST_FTDC_PST_Corporation: u8 = 54u8;
pub const THOST_FTDC_PST_LinkMan: u8 = 55u8;
pub const THOST_FTDC_PST_Ledger: u8 = 56u8;
pub const THOST_FTDC_PST_Trustee: u8 = 57u8;
pub const THOST_FTDC_PST_TrusteeCorporation: u8 = 65u8;
pub const THOST_FTDC_PST_TrusteeOpen: u8 = 66u8;
pub const THOST_FTDC_PST_TrusteeContact: u8 = 67u8;
pub const THOST_FTDC_PST_ForeignerRefer: u8 = 68u8;
pub const THOST_FTDC_PST_CorporationRefer: u8 = 69u8;
pub const THOST_FTDC_QIR_All: u8 = 49u8;
pub const THOST_FTDC_QIR_Group: u8 = 50u8;
pub const THOST_FTDC_QIR_Single: u8 = 51u8;
pub const THOST_FTDC_IRS_Normal: u8 = 49u8;
pub const THOST_FTDC_IRS_Warn: u8 = 50u8;
pub const THOST_FTDC_IRS_Call: u8 = 51u8;
pub const THOST_FTDC_IRS_Force: u8 = 52u8;
pub const THOST_FTDC_IRS_Exception: u8 = 53u8;
pub const THOST_FTDC_UET_Login: u8 = 49u8;
pub const THOST_FTDC_UET_Logout: u8 = 50u8;
pub const THOST_FTDC_UET_Trading: u8 = 51u8;
pub const THOST_FTDC_UET_TradingError: u8 = 52u8;
pub const THOST_FTDC_UET_UpdatePassword: u8 = 53u8;
pub const THOST_FTDC_UET_Authenticate: u8 = 54u8;
pub const THOST_FTDC_UET_SubmitSysInfo: u8 = 55u8;
pub const THOST_FTDC_UET_Transfer: u8 = 56u8;
pub const THOST_FTDC_UET_Other: u8 = 57u8;
pub const THOST_FTDC_ICS_Close: u8 = 48u8;
pub const THOST_FTDC_ICS_CloseToday: u8 = 49u8;
pub const THOST_FTDC_SM_Non: u8 = 48u8;
pub const THOST_FTDC_SM_Instrument: u8 = 49u8;
pub const THOST_FTDC_SM_Product: u8 = 50u8;
pub const THOST_FTDC_SM_Investor: u8 = 51u8;
pub const THOST_FTDC_PAOS_NotSend: u8 = 49u8;
pub const THOST_FTDC_PAOS_Send: u8 = 50u8;
pub const THOST_FTDC_PAOS_Deleted: u8 = 51u8;
pub const THOST_FTDC_VDS_Dealing: u8 = 49u8;
pub const THOST_FTDC_VDS_DeaclSucceed: u8 = 50u8;
pub const THOST_FTDC_ORGS_Standard: u8 = 48u8;
pub const THOST_FTDC_ORGS_ESunny: u8 = 49u8;
pub const THOST_FTDC_ORGS_KingStarV6: u8 = 50u8;
pub const THOST_FTDC_VTS_NaturalDeal: u8 = 48u8;
pub const THOST_FTDC_VTS_SucceedEnd: u8 = 49u8;
pub const THOST_FTDC_VTS_FailedEND: u8 = 50u8;
pub const THOST_FTDC_VTS_Exception: u8 = 51u8;
pub const THOST_FTDC_VTS_ManualDeal: u8 = 52u8;
pub const THOST_FTDC_VTS_MesException: u8 = 53u8;
pub const THOST_FTDC_VTS_SysException: u8 = 54u8;
pub const THOST_FTDC_VBAT_BankBook: u8 = 49u8;
pub const THOST_FTDC_VBAT_BankCard: u8 = 50u8;
pub const THOST_FTDC_VBAT_CreditCard: u8 = 51u8;
pub const THOST_FTDC_VMS_Natural: u8 = 48u8;
pub const THOST_FTDC_VMS_Canceled: u8 = 57u8;
pub const THOST_FTDC_VAA_NoAvailAbility: u8 = 48u8;
pub const THOST_FTDC_VAA_AvailAbility: u8 = 49u8;
pub const THOST_FTDC_VAA_Repeal: u8 = 50u8;
pub const THOST_FTDC_GEN_Program: u8 = 48u8;
pub const THOST_FTDC_GEN_HandWork: u8 = 49u8;
pub const THOST_FTDC_CFMMCKK_REQUEST: u8 = 82u8;
pub const THOST_FTDC_CFMMCKK_AUTO: u8 = 65u8;
pub const THOST_FTDC_CFMMCKK_MANUAL: u8 = 77u8;
pub const THOST_FTDC_CFT_IDCard: u8 = 48u8;
pub const THOST_FTDC_CFT_Passport: u8 = 49u8;
pub const THOST_FTDC_CFT_OfficerIDCard: u8 = 50u8;
pub const THOST_FTDC_CFT_SoldierIDCard: u8 = 51u8;
pub const THOST_FTDC_CFT_HomeComingCard: u8 = 52u8;
pub const THOST_FTDC_CFT_HouseholdRegister: u8 = 53u8;
pub const THOST_FTDC_CFT_LicenseNo: u8 = 54u8;
pub const THOST_FTDC_CFT_InstitutionCodeCard: u8 = 55u8;
pub const THOST_FTDC_CFT_TempLicenseNo: u8 = 56u8;
pub const THOST_FTDC_CFT_NoEnterpriseLicenseNo: u8 = 57u8;
pub const THOST_FTDC_CFT_OtherCard: u8 = 120u8;
pub const THOST_FTDC_CFT_SuperDepAgree: u8 = 97u8;
pub const THOST_FTDC_FBC_Others: u8 = 48u8;
pub const THOST_FTDC_FBC_TransferDetails: u8 = 49u8;
pub const THOST_FTDC_FBC_CustAccStatus: u8 = 50u8;
pub const THOST_FTDC_FBC_AccountTradeDetails: u8 = 51u8;
pub const THOST_FTDC_FBC_FutureAccountChangeInfoDetails: u8 = 52u8;
pub const THOST_FTDC_FBC_CustMoneyDetail: u8 = 53u8;
pub const THOST_FTDC_FBC_CustCancelAccountInfo: u8 = 54u8;
pub const THOST_FTDC_FBC_CustMoneyResult: u8 = 55u8;
pub const THOST_FTDC_FBC_OthersExceptionResult: u8 = 56u8;
pub const THOST_FTDC_FBC_CustInterestNetMoneyDetails: u8 = 57u8;
pub const THOST_FTDC_FBC_CustMoneySendAndReceiveDetails: u8 = 97u8;
pub const THOST_FTDC_FBC_CorporationMoneyTotal: u8 = 98u8;
pub const THOST_FTDC_FBC_MainbodyMoneyTotal: u8 = 99u8;
pub const THOST_FTDC_FBC_MainPartMonitorData: u8 = 100u8;
pub const THOST_FTDC_FBC_PreparationMoney: u8 = 101u8;
pub const THOST_FTDC_FBC_BankMoneyMonitorData: u8 = 102u8;
pub const THOST_FTDC_CEC_Exchange: u8 = 49u8;
pub const THOST_FTDC_CEC_Cash: u8 = 50u8;
pub const THOST_FTDC_YNI_Yes: u8 = 48u8;
pub const THOST_FTDC_YNI_No: u8 = 49u8;
pub const THOST_FTDC_BLT_CurrentMoney: u8 = 48u8;
pub const THOST_FTDC_BLT_UsableMoney: u8 = 49u8;
pub const THOST_FTDC_BLT_FetchableMoney: u8 = 50u8;
pub const THOST_FTDC_BLT_FreezeMoney: u8 = 51u8;
pub const THOST_FTDC_GD_Unknown: u8 = 48u8;
pub const THOST_FTDC_GD_Male: u8 = 49u8;
pub const THOST_FTDC_GD_Female: u8 = 50u8;
pub const THOST_FTDC_FPF_BEN: u8 = 48u8;
pub const THOST_FTDC_FPF_OUR: u8 = 49u8;
pub const THOST_FTDC_FPF_SHA: u8 = 50u8;
pub const THOST_FTDC_PWKT_ExchangeKey: u8 = 48u8;
pub const THOST_FTDC_PWKT_PassWordKey: u8 = 49u8;
pub const THOST_FTDC_PWKT_MACKey: u8 = 50u8;
pub const THOST_FTDC_PWKT_MessageKey: u8 = 51u8;
pub const THOST_FTDC_PWT_Query: u8 = 48u8;
pub const THOST_FTDC_PWT_Fetch: u8 = 49u8;
pub const THOST_FTDC_PWT_Transfer: u8 = 50u8;
pub const THOST_FTDC_PWT_Trade: u8 = 51u8;
pub const THOST_FTDC_EM_NoEncry: u8 = 48u8;
pub const THOST_FTDC_EM_DES: u8 = 49u8;
pub const THOST_FTDC_EM_3DES: u8 = 50u8;
pub const THOST_FTDC_BRF_BankNotNeedRepeal: u8 = 48u8;
pub const THOST_FTDC_BRF_BankWaitingRepeal: u8 = 49u8;
pub const THOST_FTDC_BRF_BankBeenRepealed: u8 = 50u8;
pub const THOST_FTDC_BRORF_BrokerNotNeedRepeal: u8 = 48u8;
pub const THOST_FTDC_BRORF_BrokerWaitingRepeal: u8 = 49u8;
pub const THOST_FTDC_BRORF_BrokerBeenRepealed: u8 = 50u8;
pub const THOST_FTDC_TS_Bank: u8 = 48u8;
pub const THOST_FTDC_TS_Future: u8 = 49u8;
pub const THOST_FTDC_TS_Store: u8 = 50u8;
pub const THOST_FTDC_LF_Yes: u8 = 48u8;
pub const THOST_FTDC_LF_No: u8 = 49u8;
pub const THOST_FTDC_BAS_Normal: u8 = 48u8;
pub const THOST_FTDC_BAS_Freeze: u8 = 49u8;
pub const THOST_FTDC_BAS_ReportLoss: u8 = 50u8;
pub const THOST_FTDC_MAS_Normal: u8 = 48u8;
pub const THOST_FTDC_MAS_Cancel: u8 = 49u8;
pub const THOST_FTDC_MSS_Point: u8 = 48u8;
pub const THOST_FTDC_MSS_PrePoint: u8 = 49u8;
pub const THOST_FTDC_MSS_CancelPoint: u8 = 50u8;
pub const THOST_FTDC_SYT_FutureBankTransfer: u8 = 48u8;
pub const THOST_FTDC_SYT_StockBankTransfer: u8 = 49u8;
pub const THOST_FTDC_SYT_TheThirdPartStore: u8 = 50u8;
pub const THOST_FTDC_TEF_NormalProcessing: u8 = 48u8;
pub const THOST_FTDC_TEF_Success: u8 = 49u8;
pub const THOST_FTDC_TEF_Failed: u8 = 50u8;
pub const THOST_FTDC_TEF_Abnormal: u8 = 51u8;
pub const THOST_FTDC_TEF_ManualProcessedForException: u8 = 52u8;
pub const THOST_FTDC_TEF_CommuFailedNeedManualProcess: u8 = 53u8;
pub const THOST_FTDC_TEF_SysErrorNeedManualProcess: u8 = 54u8;
pub const THOST_FTDC_PSS_NotProcess: u8 = 48u8;
pub const THOST_FTDC_PSS_StartProcess: u8 = 49u8;
pub const THOST_FTDC_PSS_Finished: u8 = 50u8;
pub const THOST_FTDC_CUSTT_Person: u8 = 48u8;
pub const THOST_FTDC_CUSTT_Institution: u8 = 49u8;
pub const THOST_FTDC_FBTTD_FromBankToFuture: u8 = 49u8;
pub const THOST_FTDC_FBTTD_FromFutureToBank: u8 = 50u8;
pub const THOST_FTDC_OOD_Open: u8 = 49u8;
pub const THOST_FTDC_OOD_Destroy: u8 = 48u8;
pub const THOST_FTDC_AVAF_Invalid: u8 = 48u8;
pub const THOST_FTDC_AVAF_Valid: u8 = 49u8;
pub const THOST_FTDC_AVAF_Repeal: u8 = 50u8;
pub const THOST_FTDC_OT_Bank: u8 = 49u8;
pub const THOST_FTDC_OT_Future: u8 = 50u8;
pub const THOST_FTDC_OT_PlateForm: u8 = 57u8;
pub const THOST_FTDC_OL_HeadQuarters: u8 = 49u8;
pub const THOST_FTDC_OL_Branch: u8 = 50u8;
pub const THOST_FTDC_PID_FutureProtocal: u8 = 48u8;
pub const THOST_FTDC_PID_ICBCProtocal: u8 = 49u8;
pub const THOST_FTDC_PID_ABCProtocal: u8 = 50u8;
pub const THOST_FTDC_PID_CBCProtocal: u8 = 51u8;
pub const THOST_FTDC_PID_CCBProtocal: u8 = 52u8;
pub const THOST_FTDC_PID_BOCOMProtocal: u8 = 53u8;
pub const THOST_FTDC_PID_FBTPlateFormProtocal: u8 = 88u8;
pub const THOST_FTDC_CM_ShortConnect: u8 = 48u8;
pub const THOST_FTDC_CM_LongConnect: u8 = 49u8;
pub const THOST_FTDC_SRM_ASync: u8 = 48u8;
pub const THOST_FTDC_SRM_Sync: u8 = 49u8;
pub const THOST_FTDC_BAT_BankBook: u8 = 49u8;
pub const THOST_FTDC_BAT_SavingCard: u8 = 50u8;
pub const THOST_FTDC_BAT_CreditCard: u8 = 51u8;
pub const THOST_FTDC_FAT_BankBook: u8 = 49u8;
pub const THOST_FTDC_FAT_SavingCard: u8 = 50u8;
pub const THOST_FTDC_FAT_CreditCard: u8 = 51u8;
pub const THOST_FTDC_OS_Ready: u8 = 48u8;
pub const THOST_FTDC_OS_CheckIn: u8 = 49u8;
pub const THOST_FTDC_OS_CheckOut: u8 = 50u8;
pub const THOST_FTDC_OS_CheckFileArrived: u8 = 51u8;
pub const THOST_FTDC_OS_CheckDetail: u8 = 52u8;
pub const THOST_FTDC_OS_DayEndClean: u8 = 53u8;
pub const THOST_FTDC_OS_Invalid: u8 = 57u8;
pub const THOST_FTDC_CCBFM_ByAmount: u8 = 49u8;
pub const THOST_FTDC_CCBFM_ByMonth: u8 = 50u8;
pub const THOST_FTDC_CAPIT_Client: u8 = 49u8;
pub const THOST_FTDC_CAPIT_Server: u8 = 50u8;
pub const THOST_FTDC_CAPIT_UserApi: u8 = 51u8;
pub const THOST_FTDC_LS_Connected: u8 = 49u8;
pub const THOST_FTDC_LS_Disconnected: u8 = 50u8;
pub const THOST_FTDC_BPWDF_NoCheck: u8 = 48u8;
pub const THOST_FTDC_BPWDF_BlankCheck: u8 = 49u8;
pub const THOST_FTDC_BPWDF_EncryptCheck: u8 = 50u8;
pub const THOST_FTDC_SAT_AccountID: u8 = 49u8;
pub const THOST_FTDC_SAT_CardID: u8 = 50u8;
pub const THOST_FTDC_SAT_SHStockholderID: u8 = 51u8;
pub const THOST_FTDC_SAT_SZStockholderID: u8 = 52u8;
pub const THOST_FTDC_TRFS_Normal: u8 = 48u8;
pub const THOST_FTDC_TRFS_Repealed: u8 = 49u8;
pub const THOST_FTDC_SPTYPE_Broker: u8 = 48u8;
pub const THOST_FTDC_SPTYPE_Bank: u8 = 49u8;
pub const THOST_FTDC_REQRSP_Request: u8 = 48u8;
pub const THOST_FTDC_REQRSP_Response: u8 = 49u8;
pub const THOST_FTDC_FBTUET_SignIn: u8 = 48u8;
pub const THOST_FTDC_FBTUET_FromBankToFuture: u8 = 49u8;
pub const THOST_FTDC_FBTUET_FromFutureToBank: u8 = 50u8;
pub const THOST_FTDC_FBTUET_OpenAccount: u8 = 51u8;
pub const THOST_FTDC_FBTUET_CancelAccount: u8 = 52u8;
pub const THOST_FTDC_FBTUET_ChangeAccount: u8 = 53u8;
pub const THOST_FTDC_FBTUET_RepealFromBankToFuture: u8 = 54u8;
pub const THOST_FTDC_FBTUET_RepealFromFutureToBank: u8 = 55u8;
pub const THOST_FTDC_FBTUET_QueryBankAccount: u8 = 56u8;
pub const THOST_FTDC_FBTUET_QueryFutureAccount: u8 = 57u8;
pub const THOST_FTDC_FBTUET_SignOut: u8 = 65u8;
pub const THOST_FTDC_FBTUET_SyncKey: u8 = 66u8;
pub const THOST_FTDC_FBTUET_ReserveOpenAccount: u8 = 67u8;
pub const THOST_FTDC_FBTUET_CancelReserveOpenAccount: u8 = 68u8;
pub const THOST_FTDC_FBTUET_ReserveOpenAccountConfirm: u8 = 69u8;
pub const THOST_FTDC_FBTUET_Other: u8 = 90u8;
pub const THOST_FTDC_DBOP_Insert: u8 = 48u8;
pub const THOST_FTDC_DBOP_Update: u8 = 49u8;
pub const THOST_FTDC_DBOP_Delete: u8 = 50u8;
pub const THOST_FTDC_SYNF_Yes: u8 = 48u8;
pub const THOST_FTDC_SYNF_No: u8 = 49u8;
pub const THOST_FTDC_SYNT_OneOffSync: u8 = 48u8;
pub const THOST_FTDC_SYNT_TimerSync: u8 = 49u8;
pub const THOST_FTDC_SYNT_TimerFullSync: u8 = 50u8;
pub const THOST_FTDC_FBEDIR_Settlement: u8 = 48u8;
pub const THOST_FTDC_FBEDIR_Sale: u8 = 49u8;
pub const THOST_FTDC_FBERES_Success: u8 = 48u8;
pub const THOST_FTDC_FBERES_InsufficientBalance: u8 = 49u8;
pub const THOST_FTDC_FBERES_UnknownTrading: u8 = 56u8;
pub const THOST_FTDC_FBERES_Fail: u8 = 120u8;
pub const THOST_FTDC_FBEES_Normal: u8 = 48u8;
pub const THOST_FTDC_FBEES_ReExchange: u8 = 49u8;
pub const THOST_FTDC_FBEFG_DataPackage: u8 = 48u8;
pub const THOST_FTDC_FBEFG_File: u8 = 49u8;
pub const THOST_FTDC_FBEAT_NotTrade: u8 = 48u8;
pub const THOST_FTDC_FBEAT_Trade: u8 = 49u8;
pub const THOST_FTDC_FBEUET_SignIn: u8 = 48u8;
pub const THOST_FTDC_FBEUET_Exchange: u8 = 49u8;
pub const THOST_FTDC_FBEUET_ReExchange: u8 = 50u8;
pub const THOST_FTDC_FBEUET_QueryBankAccount: u8 = 51u8;
pub const THOST_FTDC_FBEUET_QueryExchDetial: u8 = 52u8;
pub const THOST_FTDC_FBEUET_QueryExchSummary: u8 = 53u8;
pub const THOST_FTDC_FBEUET_QueryExchRate: u8 = 54u8;
pub const THOST_FTDC_FBEUET_CheckBankAccount: u8 = 55u8;
pub const THOST_FTDC_FBEUET_SignOut: u8 = 56u8;
pub const THOST_FTDC_FBEUET_Other: u8 = 90u8;
pub const THOST_FTDC_FBERF_UnProcessed: u8 = 48u8;
pub const THOST_FTDC_FBERF_WaitSend: u8 = 49u8;
pub const THOST_FTDC_FBERF_SendSuccess: u8 = 50u8;
pub const THOST_FTDC_FBERF_SendFailed: u8 = 51u8;
pub const THOST_FTDC_FBERF_WaitReSend: u8 = 52u8;
pub const THOST_FTDC_NC_NOERROR: u8 = 48u8;
pub const THOST_FTDC_NC_Warn: u8 = 49u8;
pub const THOST_FTDC_NC_Call: u8 = 50u8;
pub const THOST_FTDC_NC_Force: u8 = 51u8;
pub const THOST_FTDC_NC_CHUANCANG: u8 = 52u8;
pub const THOST_FTDC_NC_Exception: u8 = 53u8;
pub const THOST_FTDC_FCT_Manual: u8 = 48u8;
pub const THOST_FTDC_FCT_Single: u8 = 49u8;
pub const THOST_FTDC_FCT_Group: u8 = 50u8;
pub const THOST_FTDC_RNM_System: u8 = 48u8;
pub const THOST_FTDC_RNM_SMS: u8 = 49u8;
pub const THOST_FTDC_RNM_EMail: u8 = 50u8;
pub const THOST_FTDC_RNM_Manual: u8 = 51u8;
pub const THOST_FTDC_RNS_NotGen: u8 = 48u8;
pub const THOST_FTDC_RNS_Generated: u8 = 49u8;
pub const THOST_FTDC_RNS_SendError: u8 = 50u8;
pub const THOST_FTDC_RNS_SendOk: u8 = 51u8;
pub const THOST_FTDC_RNS_Received: u8 = 52u8;
pub const THOST_FTDC_RNS_Confirmed: u8 = 53u8;
pub const THOST_FTDC_RUE_ExportData: u8 = 48u8;
pub const THOST_FTDC_COST_LastPriceAsc: u8 = 48u8;
pub const THOST_FTDC_COST_LastPriceDesc: u8 = 49u8;
pub const THOST_FTDC_COST_AskPriceAsc: u8 = 50u8;
pub const THOST_FTDC_COST_AskPriceDesc: u8 = 51u8;
pub const THOST_FTDC_COST_BidPriceAsc: u8 = 52u8;
pub const THOST_FTDC_COST_BidPriceDesc: u8 = 53u8;
pub const THOST_FTDC_UOAST_NoSend: u8 = 48u8;
pub const THOST_FTDC_UOAST_Sended: u8 = 49u8;
pub const THOST_FTDC_UOAST_Generated: u8 = 50u8;
pub const THOST_FTDC_UOAST_SendFail: u8 = 51u8;
pub const THOST_FTDC_UOAST_Success: u8 = 52u8;
pub const THOST_FTDC_UOAST_Fail: u8 = 53u8;
pub const THOST_FTDC_UOAST_Cancel: u8 = 54u8;
pub const THOST_FTDC_UOACS_NoApply: u8 = 49u8;
pub const THOST_FTDC_UOACS_Submited: u8 = 50u8;
pub const THOST_FTDC_UOACS_Sended: u8 = 51u8;
pub const THOST_FTDC_UOACS_Success: u8 = 52u8;
pub const THOST_FTDC_UOACS_Refuse: u8 = 53u8;
pub const THOST_FTDC_UOACS_Cancel: u8 = 54u8;
pub const THOST_FTDC_QT_Radio: u8 = 49u8;
pub const THOST_FTDC_QT_Option: u8 = 50u8;
pub const THOST_FTDC_QT_Blank: u8 = 51u8;
pub const THOST_FTDC_BT_Request: u8 = 49u8;
pub const THOST_FTDC_BT_Response: u8 = 50u8;
pub const THOST_FTDC_BT_Notice: u8 = 51u8;
pub const THOST_FTDC_CRC_Success: u8 = 48u8;
pub const THOST_FTDC_CRC_Working: u8 = 49u8;
pub const THOST_FTDC_CRC_InfoFail: u8 = 50u8;
pub const THOST_FTDC_CRC_IDCardFail: u8 = 51u8;
pub const THOST_FTDC_CRC_OtherFail: u8 = 52u8;
pub const THOST_FTDC_CfMMCCT_All: u8 = 48u8;
pub const THOST_FTDC_CfMMCCT_Person: u8 = 49u8;
pub const THOST_FTDC_CfMMCCT_Company: u8 = 50u8;
pub const THOST_FTDC_CfMMCCT_Other: u8 = 51u8;
pub const THOST_FTDC_CfMMCCT_SpecialOrgan: u8 = 52u8;
pub const THOST_FTDC_CfMMCCT_Asset: u8 = 53u8;
pub const THOST_FTDC_EIDT_SHFE: u8 = 83u8;
pub const THOST_FTDC_EIDT_CZCE: u8 = 90u8;
pub const THOST_FTDC_EIDT_DCE: u8 = 68u8;
pub const THOST_FTDC_EIDT_CFFEX: u8 = 74u8;
pub const THOST_FTDC_EIDT_INE: u8 = 78u8;
pub const THOST_FTDC_ECIDT_Hedge: u8 = 49u8;
pub const THOST_FTDC_ECIDT_Arbitrage: u8 = 50u8;
pub const THOST_FTDC_ECIDT_Speculation: u8 = 51u8;
pub const THOST_FTDC_UF_NoUpdate: u8 = 48u8;
pub const THOST_FTDC_UF_Success: u8 = 49u8;
pub const THOST_FTDC_UF_Fail: u8 = 50u8;
pub const THOST_FTDC_UF_TCSuccess: u8 = 51u8;
pub const THOST_FTDC_UF_TCFail: u8 = 52u8;
pub const THOST_FTDC_UF_Cancel: u8 = 53u8;
pub const THOST_FTDC_AOID_OpenInvestor: u8 = 49u8;
pub const THOST_FTDC_AOID_ModifyIDCard: u8 = 50u8;
pub const THOST_FTDC_AOID_ModifyNoIDCard: u8 = 51u8;
pub const THOST_FTDC_AOID_ApplyTradingCode: u8 = 52u8;
pub const THOST_FTDC_AOID_CancelTradingCode: u8 = 53u8;
pub const THOST_FTDC_AOID_CancelInvestor: u8 = 54u8;
pub const THOST_FTDC_AOID_FreezeAccount: u8 = 56u8;
pub const THOST_FTDC_AOID_ActiveFreezeAccount: u8 = 57u8;
pub const THOST_FTDC_ASID_NoComplete: u8 = 49u8;
pub const THOST_FTDC_ASID_Submited: u8 = 50u8;
pub const THOST_FTDC_ASID_Checked: u8 = 51u8;
pub const THOST_FTDC_ASID_Refused: u8 = 52u8;
pub const THOST_FTDC_ASID_Deleted: u8 = 53u8;
pub const THOST_FTDC_UOASM_ByAPI: u8 = 49u8;
pub const THOST_FTDC_UOASM_ByFile: u8 = 50u8;
pub const THOST_FTDC_EvM_ADD: u8 = 49u8;
pub const THOST_FTDC_EvM_UPDATE: u8 = 50u8;
pub const THOST_FTDC_EvM_DELETE: u8 = 51u8;
pub const THOST_FTDC_EvM_CHECK: u8 = 52u8;
pub const THOST_FTDC_EvM_COPY: u8 = 53u8;
pub const THOST_FTDC_EvM_CANCEL: u8 = 54u8;
pub const THOST_FTDC_EvM_Reverse: u8 = 55u8;
pub const THOST_FTDC_UOAA_ASR: u8 = 49u8;
pub const THOST_FTDC_UOAA_ASNR: u8 = 50u8;
pub const THOST_FTDC_UOAA_NSAR: u8 = 51u8;
pub const THOST_FTDC_UOAA_NSR: u8 = 52u8;
pub const THOST_FTDC_EvM_InvestorGroupFlow: u8 = 49u8;
pub const THOST_FTDC_EvM_InvestorRate: u8 = 50u8;
pub const THOST_FTDC_EvM_InvestorCommRateModel: u8 = 51u8;
pub const THOST_FTDC_CL_Zero: u8 = 48u8;
pub const THOST_FTDC_CL_One: u8 = 49u8;
pub const THOST_FTDC_CL_Two: u8 = 50u8;
pub const THOST_FTDC_CHS_Init: u8 = 48u8;
pub const THOST_FTDC_CHS_Checking: u8 = 49u8;
pub const THOST_FTDC_CHS_Checked: u8 = 50u8;
pub const THOST_FTDC_CHS_Refuse: u8 = 51u8;
pub const THOST_FTDC_CHS_Cancel: u8 = 52u8;
pub const THOST_FTDC_CHU_Unused: u8 = 48u8;
pub const THOST_FTDC_CHU_Used: u8 = 49u8;
pub const THOST_FTDC_CHU_Fail: u8 = 50u8;
pub const THOST_FTDC_BAO_ByAccProperty: u8 = 48u8;
pub const THOST_FTDC_BAO_ByFBTransfer: u8 = 49u8;
pub const THOST_FTDC_MBTS_ByInstrument: u8 = 48u8;
pub const THOST_FTDC_MBTS_ByDayInsPrc: u8 = 49u8;
pub const THOST_FTDC_MBTS_ByDayIns: u8 = 50u8;
pub const THOST_FTDC_OTP_NONE: u8 = 48u8;
pub const THOST_FTDC_OTP_TOTP: u8 = 49u8;
pub const THOST_FTDC_OTPS_Unused: u8 = 48u8;
pub const THOST_FTDC_OTPS_Used: u8 = 49u8;
pub const THOST_FTDC_OTPS_Disuse: u8 = 50u8;
pub const THOST_FTDC_BUT_Investor: u8 = 49u8;
pub const THOST_FTDC_BUT_BrokerUser: u8 = 50u8;
pub const THOST_FTDC_FUTT_Commodity: u8 = 49u8;
pub const THOST_FTDC_FUTT_Financial: u8 = 50u8;
pub const THOST_FTDC_FET_Restriction: u8 = 48u8;
pub const THOST_FTDC_FET_TodayRestriction: u8 = 49u8;
pub const THOST_FTDC_FET_Transfer: u8 = 50u8;
pub const THOST_FTDC_FET_Credit: u8 = 51u8;
pub const THOST_FTDC_FET_InvestorWithdrawAlm: u8 = 52u8;
pub const THOST_FTDC_FET_BankRestriction: u8 = 53u8;
pub const THOST_FTDC_FET_Accountregister: u8 = 54u8;
pub const THOST_FTDC_FET_ExchangeFundIO: u8 = 55u8;
pub const THOST_FTDC_FET_InvestorFundIO: u8 = 56u8;
pub const THOST_FTDC_AST_FBTransfer: u8 = 48u8;
pub const THOST_FTDC_AST_ManualEntry: u8 = 49u8;
pub const THOST_FTDC_CST_UnifyAccount: u8 = 48u8;
pub const THOST_FTDC_CST_ManualEntry: u8 = 49u8;
pub const THOST_FTDC_UR_All: u8 = 48u8;
pub const THOST_FTDC_UR_Single: u8 = 49u8;
pub const THOST_FTDC_BG_Investor: u8 = 50u8;
pub const THOST_FTDC_BG_Group: u8 = 49u8;
pub const THOST_FTDC_TSSM_Instrument: u8 = 49u8;
pub const THOST_FTDC_TSSM_Product: u8 = 50u8;
pub const THOST_FTDC_TSSM_Exchange: u8 = 51u8;
pub const THOST_FTDC_ESM_Relative: u8 = 49u8;
pub const THOST_FTDC_ESM_Typical: u8 = 50u8;
pub const THOST_FTDC_RIR_All: u8 = 49u8;
pub const THOST_FTDC_RIR_Model: u8 = 50u8;
pub const THOST_FTDC_RIR_Single: u8 = 51u8;
pub const THOST_FTDC_SDS_Initialize: u8 = 48u8;
pub const THOST_FTDC_SDS_Settlementing: u8 = 49u8;
pub const THOST_FTDC_SDS_Settlemented: u8 = 50u8;
pub const THOST_FTDC_TSRC_NORMAL: u8 = 48u8;
pub const THOST_FTDC_TSRC_QUERY: u8 = 49u8;
pub const THOST_FTDC_FSM_Product: u8 = 49u8;
pub const THOST_FTDC_FSM_Exchange: u8 = 50u8;
pub const THOST_FTDC_FSM_All: u8 = 51u8;
pub const THOST_FTDC_BIR_Property: u8 = 49u8;
pub const THOST_FTDC_BIR_All: u8 = 50u8;
pub const THOST_FTDC_PIR_All: u8 = 49u8;
pub const THOST_FTDC_PIR_Property: u8 = 50u8;
pub const THOST_FTDC_PIR_Single: u8 = 51u8;
pub const THOST_FTDC_FIS_NoCreate: u8 = 48u8;
pub const THOST_FTDC_FIS_Created: u8 = 49u8;
pub const THOST_FTDC_FIS_Failed: u8 = 50u8;
pub const THOST_FTDC_FGS_FileTransmit: u8 = 48u8;
pub const THOST_FTDC_FGS_FileGen: u8 = 49u8;
pub const THOST_FTDC_SoM_Add: u8 = 49u8;
pub const THOST_FTDC_SoM_Update: u8 = 50u8;
pub const THOST_FTDC_SoM_Delete: u8 = 51u8;
pub const THOST_FTDC_SoM_Copy: u8 = 52u8;
pub const THOST_FTDC_SoM_AcTive: u8 = 53u8;
pub const THOST_FTDC_SoM_CanCel: u8 = 54u8;
pub const THOST_FTDC_SoM_ReSet: u8 = 55u8;
pub const THOST_FTDC_SoT_UpdatePassword: u8 = 48u8;
pub const THOST_FTDC_SoT_UserDepartment: u8 = 49u8;
pub const THOST_FTDC_SoT_RoleManager: u8 = 50u8;
pub const THOST_FTDC_SoT_RoleFunction: u8 = 51u8;
pub const THOST_FTDC_SoT_BaseParam: u8 = 52u8;
pub const THOST_FTDC_SoT_SetUserID: u8 = 53u8;
pub const THOST_FTDC_SoT_SetUserRole: u8 = 54u8;
pub const THOST_FTDC_SoT_UserIpRestriction: u8 = 55u8;
pub const THOST_FTDC_SoT_DepartmentManager: u8 = 56u8;
pub const THOST_FTDC_SoT_DepartmentCopy: u8 = 57u8;
pub const THOST_FTDC_SoT_Tradingcode: u8 = 65u8;
pub const THOST_FTDC_SoT_InvestorStatus: u8 = 66u8;
pub const THOST_FTDC_SoT_InvestorAuthority: u8 = 67u8;
pub const THOST_FTDC_SoT_PropertySet: u8 = 68u8;
pub const THOST_FTDC_SoT_ReSetInvestorPasswd: u8 = 69u8;
pub const THOST_FTDC_SoT_InvestorPersonalityInfo: u8 = 70u8;
pub const THOST_FTDC_CSRCQ_Current: u8 = 48u8;
pub const THOST_FTDC_CSRCQ_History: u8 = 49u8;
pub const THOST_FTDC_FRS_Normal: u8 = 49u8;
pub const THOST_FTDC_FRS_Freeze: u8 = 48u8;
pub const THOST_FTDC_STST_Standard: u8 = 48u8;
pub const THOST_FTDC_STST_NonStandard: u8 = 49u8;
pub const THOST_FTDC_RPT_Freeze: u8 = 49u8;
pub const THOST_FTDC_RPT_FreezeActive: u8 = 50u8;
pub const THOST_FTDC_RPT_OpenLimit: u8 = 51u8;
pub const THOST_FTDC_RPT_RelieveOpenLimit: u8 = 52u8;
pub const THOST_FTDC_AMLDS_Normal: u8 = 48u8;
pub const THOST_FTDC_AMLDS_Deleted: u8 = 49u8;
pub const THOST_FTDC_AMLCHS_Init: u8 = 48u8;
pub const THOST_FTDC_AMLCHS_Checking: u8 = 49u8;
pub const THOST_FTDC_AMLCHS_Checked: u8 = 50u8;
pub const THOST_FTDC_AMLCHS_RefuseReport: u8 = 51u8;
pub const THOST_FTDC_AMLDT_DrawDay: u8 = 48u8;
pub const THOST_FTDC_AMLDT_TouchDay: u8 = 49u8;
pub const THOST_FTDC_AMLCL_CheckLevel0: u8 = 48u8;
pub const THOST_FTDC_AMLCL_CheckLevel1: u8 = 49u8;
pub const THOST_FTDC_AMLCL_CheckLevel2: u8 = 50u8;
pub const THOST_FTDC_AMLCL_CheckLevel3: u8 = 51u8;
pub const THOST_FTDC_EFT_CSV: u8 = 48u8;
pub const THOST_FTDC_EFT_EXCEL: u8 = 49u8;
pub const THOST_FTDC_EFT_DBF: u8 = 50u8;
pub const THOST_FTDC_SMT_Before: u8 = 49u8;
pub const THOST_FTDC_SMT_Settlement: u8 = 50u8;
pub const THOST_FTDC_SMT_After: u8 = 51u8;
pub const THOST_FTDC_SMT_Settlemented: u8 = 52u8;
pub const THOST_FTDC_SML_Must: u8 = 49u8;
pub const THOST_FTDC_SML_Alarm: u8 = 50u8;
pub const THOST_FTDC_SML_Prompt: u8 = 51u8;
pub const THOST_FTDC_SML_Ignore: u8 = 52u8;
pub const THOST_FTDC_SMG_Exhcange: u8 = 49u8;
pub const THOST_FTDC_SMG_ASP: u8 = 50u8;
pub const THOST_FTDC_SMG_CSRC: u8 = 51u8;
pub const THOST_FTDC_LUT_Repeatable: u8 = 49u8;
pub const THOST_FTDC_LUT_Unrepeatable: u8 = 50u8;
pub const THOST_FTDC_DAR_Settle: u8 = 49u8;
pub const THOST_FTDC_DAR_Exchange: u8 = 50u8;
pub const THOST_FTDC_DAR_CSRC: u8 = 51u8;
pub const THOST_FTDC_MGT_ExchMarginRate: u8 = 48u8;
pub const THOST_FTDC_MGT_InstrMarginRate: u8 = 49u8;
pub const THOST_FTDC_MGT_InstrMarginRateTrade: u8 = 50u8;
pub const THOST_FTDC_ACT_Intraday: u8 = 49u8;
pub const THOST_FTDC_ACT_Long: u8 = 50u8;
pub const THOST_FTDC_MRT_Exchange: u8 = 49u8;
pub const THOST_FTDC_MRT_Investor: u8 = 50u8;
pub const THOST_FTDC_MRT_InvestorTrade: u8 = 51u8;
pub const THOST_FTDC_BUS_UnBak: u8 = 48u8;
pub const THOST_FTDC_BUS_BakUp: u8 = 49u8;
pub const THOST_FTDC_BUS_BakUped: u8 = 50u8;
pub const THOST_FTDC_BUS_BakFail: u8 = 51u8;
pub const THOST_FTDC_SIS_UnInitialize: u8 = 48u8;
pub const THOST_FTDC_SIS_Initialize: u8 = 49u8;
pub const THOST_FTDC_SIS_Initialized: u8 = 50u8;
pub const THOST_FTDC_SRS_NoCreate: u8 = 48u8;
pub const THOST_FTDC_SRS_Create: u8 = 49u8;
pub const THOST_FTDC_SRS_Created: u8 = 50u8;
pub const THOST_FTDC_SRS_CreateFail: u8 = 51u8;
pub const THOST_FTDC_SSS_UnSaveData: u8 = 48u8;
pub const THOST_FTDC_SSS_SaveDatad: u8 = 49u8;
pub const THOST_FTDC_SAS_UnArchived: u8 = 48u8;
pub const THOST_FTDC_SAS_Archiving: u8 = 49u8;
pub const THOST_FTDC_SAS_Archived: u8 = 50u8;
pub const THOST_FTDC_SAS_ArchiveFail: u8 = 51u8;
pub const THOST_FTDC_CTPT_Unkown: u8 = 48u8;
pub const THOST_FTDC_CTPT_MainCenter: u8 = 49u8;
pub const THOST_FTDC_CTPT_BackUp: u8 = 50u8;
pub const THOST_FTDC_CDT_Normal: u8 = 48u8;
pub const THOST_FTDC_CDT_SpecFirst: u8 = 49u8;
pub const THOST_FTDC_MFUR_None: u8 = 48u8;
pub const THOST_FTDC_MFUR_Margin: u8 = 49u8;
pub const THOST_FTDC_MFUR_All: u8 = 50u8;
pub const THOST_FTDC_MFUR_CNY3: u8 = 51u8;
pub const THOST_FTDC_SPT_CzceHedge: u8 = 49u8;
pub const THOST_FTDC_SPT_IneForeignCurrency: u8 = 50u8;
pub const THOST_FTDC_SPT_DceOpenClose: u8 = 51u8;
pub const THOST_FTDC_FMT_Mortgage: u8 = 49u8;
pub const THOST_FTDC_FMT_Redemption: u8 = 50u8;
pub const THOST_FTDC_ASPI_BaseMargin: u8 = 49u8;
pub const THOST_FTDC_ASPI_LowestInterest: u8 = 50u8;
pub const THOST_FTDC_FMD_In: u8 = 49u8;
pub const THOST_FTDC_FMD_Out: u8 = 50u8;
pub const THOST_FTDC_BT_Profit: u8 = 48u8;
pub const THOST_FTDC_BT_Loss: u8 = 49u8;
pub const THOST_FTDC_BT_Other: u8 = 90u8;
pub const THOST_FTDC_SST_Manual: u8 = 48u8;
pub const THOST_FTDC_SST_Automatic: u8 = 49u8;
pub const THOST_FTDC_CED_Settlement: u8 = 48u8;
pub const THOST_FTDC_CED_Sale: u8 = 49u8;
pub const THOST_FTDC_CSS_Entry: u8 = 49u8;
pub const THOST_FTDC_CSS_Approve: u8 = 50u8;
pub const THOST_FTDC_CSS_Refuse: u8 = 51u8;
pub const THOST_FTDC_CSS_Revoke: u8 = 52u8;
pub const THOST_FTDC_CSS_Send: u8 = 53u8;
pub const THOST_FTDC_CSS_Success: u8 = 54u8;
pub const THOST_FTDC_CSS_Failure: u8 = 55u8;
pub const THOST_FTDC_REQF_NoSend: u8 = 48u8;
pub const THOST_FTDC_REQF_SendSuccess: u8 = 49u8;
pub const THOST_FTDC_REQF_SendFailed: u8 = 50u8;
pub const THOST_FTDC_REQF_WaitReSend: u8 = 51u8;
pub const THOST_FTDC_RESF_Success: u8 = 48u8;
pub const THOST_FTDC_RESF_InsuffiCient: u8 = 49u8;
pub const THOST_FTDC_RESF_UnKnown: u8 = 56u8;
pub const THOST_FTDC_EXS_Before: u8 = 48u8;
pub const THOST_FTDC_EXS_After: u8 = 49u8;
pub const THOST_FTDC_CR_Domestic: u8 = 49u8;
pub const THOST_FTDC_CR_GMT: u8 = 50u8;
pub const THOST_FTDC_CR_Foreign: u8 = 51u8;
pub const THOST_FTDC_HB_No: u8 = 48u8;
pub const THOST_FTDC_HB_Yes: u8 = 49u8;
pub const THOST_FTDC_SM_Normal: u8 = 49u8;
pub const THOST_FTDC_SM_Emerge: u8 = 50u8;
pub const THOST_FTDC_SM_Restore: u8 = 51u8;
pub const THOST_FTDC_TPT_Full: u8 = 49u8;
pub const THOST_FTDC_TPT_Increment: u8 = 50u8;
pub const THOST_FTDC_TPT_BackUp: u8 = 51u8;
pub const THOST_FTDC_LM_Trade: u8 = 48u8;
pub const THOST_FTDC_LM_Transfer: u8 = 49u8;
pub const THOST_FTDC_CPT_Instrument: u8 = 49u8;
pub const THOST_FTDC_CPT_Margin: u8 = 50u8;
pub const THOST_FTDC_HT_Yes: u8 = 49u8;
pub const THOST_FTDC_HT_No: u8 = 48u8;
pub const THOST_FTDC_AMT_Bank: u8 = 49u8;
pub const THOST_FTDC_AMT_Securities: u8 = 50u8;
pub const THOST_FTDC_AMT_Fund: u8 = 51u8;
pub const THOST_FTDC_AMT_Insurance: u8 = 52u8;
pub const THOST_FTDC_AMT_Trust: u8 = 53u8;
pub const THOST_FTDC_AMT_Other: u8 = 57u8;
pub const THOST_FTDC_CFIOT_FundIO: u8 = 48u8;
pub const THOST_FTDC_CFIOT_SwapCurrency: u8 = 49u8;
pub const THOST_FTDC_CAT_Futures: u8 = 49u8;
pub const THOST_FTDC_CAT_AssetmgrFuture: u8 = 50u8;
pub const THOST_FTDC_CAT_AssetmgrTrustee: u8 = 51u8;
pub const THOST_FTDC_CAT_AssetmgrTransfer: u8 = 52u8;
pub const THOST_FTDC_LT_Chinese: u8 = 49u8;
pub const THOST_FTDC_LT_English: u8 = 50u8;
pub const THOST_FTDC_AMCT_Person: u8 = 49u8;
pub const THOST_FTDC_AMCT_Organ: u8 = 50u8;
pub const THOST_FTDC_AMCT_SpecialOrgan: u8 = 52u8;
pub const THOST_FTDC_ASST_Futures: u8 = 51u8;
pub const THOST_FTDC_ASST_SpecialOrgan: u8 = 52u8;
pub const THOST_FTDC_CIT_HasExch: u8 = 48u8;
pub const THOST_FTDC_CIT_HasATP: u8 = 49u8;
pub const THOST_FTDC_CIT_HasDiff: u8 = 50u8;
pub const THOST_FTDC_DT_HandDeliv: u8 = 49u8;
pub const THOST_FTDC_DT_PersonDeliv: u8 = 50u8;
pub const THOST_FTDC_MMSA_NO: u8 = 48u8;
pub const THOST_FTDC_MMSA_YES: u8 = 49u8;
pub const THOST_FTDC_CACT_Person: u8 = 48u8;
pub const THOST_FTDC_CACT_Company: u8 = 49u8;
pub const THOST_FTDC_CACT_Other: u8 = 50u8;
pub const THOST_FTDC_UOAAT_Futures: u8 = 49u8;
pub const THOST_FTDC_UOAAT_SpecialOrgan: u8 = 50u8;
pub const THOST_FTDC_DEN_Buy: u8 = 48u8;
pub const THOST_FTDC_DEN_Sell: u8 = 49u8;
pub const THOST_FTDC_OFEN_Open: u8 = 48u8;
pub const THOST_FTDC_OFEN_Close: u8 = 49u8;
pub const THOST_FTDC_OFEN_ForceClose: u8 = 50u8;
pub const THOST_FTDC_OFEN_CloseToday: u8 = 51u8;
pub const THOST_FTDC_OFEN_CloseYesterday: u8 = 52u8;
pub const THOST_FTDC_OFEN_ForceOff: u8 = 53u8;
pub const THOST_FTDC_OFEN_LocalForceClose: u8 = 54u8;
pub const THOST_FTDC_HFEN_Speculation: u8 = 49u8;
pub const THOST_FTDC_HFEN_Arbitrage: u8 = 50u8;
pub const THOST_FTDC_HFEN_Hedge: u8 = 51u8;
pub const THOST_FTDC_FIOTEN_FundIO: u8 = 49u8;
pub const THOST_FTDC_FIOTEN_Transfer: u8 = 50u8;
pub const THOST_FTDC_FIOTEN_SwapCurrency: u8 = 51u8;
pub const THOST_FTDC_FTEN_Deposite: u8 = 49u8;
pub const THOST_FTDC_FTEN_ItemFund: u8 = 50u8;
pub const THOST_FTDC_FTEN_Company: u8 = 51u8;
pub const THOST_FTDC_FTEN_InnerTransfer: u8 = 52u8;
pub const THOST_FTDC_FDEN_In: u8 = 49u8;
pub const THOST_FTDC_FDEN_Out: u8 = 50u8;
pub const THOST_FTDC_FMDEN_In: u8 = 49u8;
pub const THOST_FTDC_FMDEN_Out: u8 = 50u8;
pub const THOST_FTDC_CP_CallOptions: u8 = 49u8;
pub const THOST_FTDC_CP_PutOptions: u8 = 50u8;
pub const THOST_FTDC_STM_Continental: u8 = 48u8;
pub const THOST_FTDC_STM_American: u8 = 49u8;
pub const THOST_FTDC_STM_Bermuda: u8 = 50u8;
pub const THOST_FTDC_STT_Hedge: u8 = 48u8;
pub const THOST_FTDC_STT_Match: u8 = 49u8;
pub const THOST_FTDC_APPT_NotStrikeNum: u8 = 52u8;
pub const THOST_FTDC_GUDS_Gen: u8 = 48u8;
pub const THOST_FTDC_GUDS_Hand: u8 = 49u8;
pub const THOST_FTDC_OER_NoExec: u8 = 110u8;
pub const THOST_FTDC_OER_Canceled: u8 = 99u8;
pub const THOST_FTDC_OER_OK: u8 = 48u8;
pub const THOST_FTDC_OER_NoPosition: u8 = 49u8;
pub const THOST_FTDC_OER_NoDeposit: u8 = 50u8;
pub const THOST_FTDC_OER_NoParticipant: u8 = 51u8;
pub const THOST_FTDC_OER_NoClient: u8 = 52u8;
pub const THOST_FTDC_OER_NoInstrument: u8 = 54u8;
pub const THOST_FTDC_OER_NoRight: u8 = 55u8;
pub const THOST_FTDC_OER_InvalidVolume: u8 = 56u8;
pub const THOST_FTDC_OER_NoEnoughHistoryTrade: u8 = 57u8;
pub const THOST_FTDC_OER_Unknown: u8 = 97u8;
pub const THOST_FTDC_COMBT_Future: u8 = 48u8;
pub const THOST_FTDC_COMBT_BUL: u8 = 49u8;
pub const THOST_FTDC_COMBT_BER: u8 = 50u8;
pub const THOST_FTDC_COMBT_STD: u8 = 51u8;
pub const THOST_FTDC_COMBT_STG: u8 = 52u8;
pub const THOST_FTDC_COMBT_PRT: u8 = 53u8;
pub const THOST_FTDC_COMBT_CAS: u8 = 54u8;
pub const THOST_FTDC_COMBT_OPL: u8 = 55u8;
pub const THOST_FTDC_COMBT_BFO: u8 = 56u8;
pub const THOST_FTDC_COMBT_BLS: u8 = 57u8;
pub const THOST_FTDC_COMBT_BES: u8 = 97u8;
pub const THOST_FTDC_DCECOMBT_SPL: u8 = 48u8;
pub const THOST_FTDC_DCECOMBT_OPL: u8 = 49u8;
pub const THOST_FTDC_DCECOMBT_SP: u8 = 50u8;
pub const THOST_FTDC_DCECOMBT_SPC: u8 = 51u8;
pub const THOST_FTDC_DCECOMBT_BLS: u8 = 52u8;
pub const THOST_FTDC_DCECOMBT_BES: u8 = 53u8;
pub const THOST_FTDC_DCECOMBT_CAS: u8 = 54u8;
pub const THOST_FTDC_DCECOMBT_STD: u8 = 55u8;
pub const THOST_FTDC_DCECOMBT_STG: u8 = 56u8;
pub const THOST_FTDC_DCECOMBT_BFO: u8 = 57u8;
pub const THOST_FTDC_DCECOMBT_SFO: u8 = 97u8;
pub const THOST_FTDC_ORPT_PreSettlementPrice: u8 = 49u8;
pub const THOST_FTDC_ORPT_OpenPrice: u8 = 52u8;
pub const THOST_FTDC_ORPT_MaxPreSettlementPrice: u8 = 53u8;
pub const THOST_FTDC_BLAG_Default: u8 = 49u8;
pub const THOST_FTDC_BLAG_IncludeOptValLost: u8 = 50u8;
pub const THOST_FTDC_ACTP_Exec: u8 = 49u8;
pub const THOST_FTDC_ACTP_Abandon: u8 = 50u8;
pub const THOST_FTDC_FQST_Submitted: u8 = 97u8;
pub const THOST_FTDC_FQST_Accepted: u8 = 98u8;
pub const THOST_FTDC_FQST_Rejected: u8 = 99u8;
pub const THOST_FTDC_VM_Absolute: u8 = 48u8;
pub const THOST_FTDC_VM_Ratio: u8 = 49u8;
pub const THOST_FTDC_EOPF_Reserve: u8 = 48u8;
pub const THOST_FTDC_EOPF_UnReserve: u8 = 49u8;
pub const THOST_FTDC_EOCF_AutoClose: u8 = 48u8;
pub const THOST_FTDC_EOCF_NotToClose: u8 = 49u8;
pub const THOST_FTDC_PTE_Futures: u8 = 49u8;
pub const THOST_FTDC_PTE_Options: u8 = 50u8;
pub const THOST_FTDC_CUFN_CUFN_O: u8 = 79u8;
pub const THOST_FTDC_CUFN_CUFN_T: u8 = 84u8;
pub const THOST_FTDC_CUFN_CUFN_P: u8 = 80u8;
pub const THOST_FTDC_CUFN_CUFN_N: u8 = 78u8;
pub const THOST_FTDC_CUFN_CUFN_L: u8 = 76u8;
pub const THOST_FTDC_CUFN_CUFN_F: u8 = 70u8;
pub const THOST_FTDC_CUFN_CUFN_C: u8 = 67u8;
pub const THOST_FTDC_CUFN_CUFN_M: u8 = 77u8;
pub const THOST_FTDC_DUFN_DUFN_O: u8 = 79u8;
pub const THOST_FTDC_DUFN_DUFN_T: u8 = 84u8;
pub const THOST_FTDC_DUFN_DUFN_P: u8 = 80u8;
pub const THOST_FTDC_DUFN_DUFN_F: u8 = 70u8;
pub const THOST_FTDC_DUFN_DUFN_C: u8 = 67u8;
pub const THOST_FTDC_DUFN_DUFN_D: u8 = 68u8;
pub const THOST_FTDC_DUFN_DUFN_M: u8 = 77u8;
pub const THOST_FTDC_DUFN_DUFN_S: u8 = 83u8;
pub const THOST_FTDC_SUFN_SUFN_O: u8 = 79u8;
pub const THOST_FTDC_SUFN_SUFN_T: u8 = 84u8;
pub const THOST_FTDC_SUFN_SUFN_P: u8 = 80u8;
pub const THOST_FTDC_SUFN_SUFN_F: u8 = 70u8;
pub const THOST_FTDC_CFUFN_SUFN_T: u8 = 84u8;
pub const THOST_FTDC_CFUFN_SUFN_P: u8 = 80u8;
pub const THOST_FTDC_CFUFN_SUFN_F: u8 = 70u8;
pub const THOST_FTDC_CFUFN_SUFN_S: u8 = 83u8;
pub const THOST_FTDC_CMDR_Comb: u8 = 48u8;
pub const THOST_FTDC_CMDR_UnComb: u8 = 49u8;
pub const THOST_FTDC_CMDR_DelComb: u8 = 50u8;
pub const THOST_FTDC_STOV_RealValue: u8 = 49u8;
pub const THOST_FTDC_STOV_ProfitValue: u8 = 50u8;
pub const THOST_FTDC_STOV_RealRatio: u8 = 51u8;
pub const THOST_FTDC_STOV_ProfitRatio: u8 = 52u8;
pub const THOST_FTDC_ROAST_Processing: u8 = 48u8;
pub const THOST_FTDC_ROAST_Cancelled: u8 = 49u8;
pub const THOST_FTDC_ROAST_Opened: u8 = 50u8;
pub const THOST_FTDC_ROAST_Invalid: u8 = 51u8;
pub const THOST_FTDC_WPSR_Lib: u8 = 49u8;
pub const THOST_FTDC_WPSR_Manual: u8 = 50u8;
pub const THOST_FTDC_OSCF_CloseSelfOptionPosition: u8 = 49u8;
pub const THOST_FTDC_OSCF_ReserveOptionPosition: u8 = 50u8;
pub const THOST_FTDC_OSCF_SellCloseSelfFuturePosition: u8 = 51u8;
pub const THOST_FTDC_OSCF_ReserveFuturePosition: u8 = 52u8;
pub const THOST_FTDC_BZTP_Future: u8 = 49u8;
pub const THOST_FTDC_BZTP_Stock: u8 = 50u8;
pub const THOST_FTDC_APP_TYPE_Investor: u8 = 49u8;
pub const THOST_FTDC_APP_TYPE_InvestorRelay: u8 = 50u8;
pub const THOST_FTDC_APP_TYPE_OperatorRelay: u8 = 51u8;
pub const THOST_FTDC_APP_TYPE_UnKnown: u8 = 52u8;
pub const THOST_FTDC_RV_Right: u8 = 48u8;
pub const THOST_FTDC_RV_Refuse: u8 = 49u8;
pub const THOST_FTDC_OTC_TRDT_Block: u8 = 48u8;
pub const THOST_FTDC_OTC_TRDT_EFP: u8 = 49u8;
pub const THOST_FTDC_OTC_MT_DV01: u8 = 49u8;
pub const THOST_FTDC_OTC_MT_ParValue: u8 = 50u8;
pub const THOST_FTDC_AU_WHITE: u8 = 48u8;
pub const THOST_FTDC_AU_BLACK: u8 = 49u8;
pub const THOST_FTDC_INS_ALL: u8 = 48u8;
pub const THOST_FTDC_INS_FUTURE: u8 = 49u8;
pub const THOST_FTDC_INS_OPTION: u8 = 50u8;
pub const THOST_FTDC_INS_COMB: u8 = 51u8;
pub const THOST_FTDC_TD_ALL: u8 = 48u8;
pub const THOST_FTDC_TD_TRADE: u8 = 49u8;
pub const THOST_FTDC_TD_UNTRADE: u8 = 50u8;
pub const THOST_FTDC_PS_tradeable: u8 = 49u8;
pub const THOST_FTDC_PS_untradeable: u8 = 50u8;
pub const THOST_FTDC_SDS_Readable: u8 = 49u8;
pub const THOST_FTDC_SDS_Reading: u8 = 50u8;
pub const THOST_FTDC_SDS_Readend: u8 = 51u8;
pub const THOST_FTDC_SDS_OptErr: u8 = 101u8;
pub const THOST_FTDC_ACD_Add: u8 = 49u8;
pub const THOST_FTDC_ACD_Del: u8 = 50u8;
pub const THOST_FTDC_ACD_Upd: u8 = 51u8;
pub const THOST_FTDC_OAC_Balance: u8 = 49u8;
pub const THOST_FTDC_OAC_OrigFirst: u8 = 50u8;
pub const THOST_FTDC_PLCL_None: u8 = 48u8;
pub const THOST_FTDC_PLCL_Product: u8 = 49u8;
pub const THOST_FTDC_PLCL_Inst: u8 = 50u8;
pub const THOST_FTDC_OFCL_None: u8 = 48u8;
pub const THOST_FTDC_OFCL_Product: u8 = 49u8;
pub const THOST_FTDC_OFCL_Inst: u8 = 50u8;
pub const THOST_FTDC_EBL_False: u8 = 48u8;
pub const THOST_FTDC_EBL_True: u8 = 49u8;
pub const THOST_FTDC_ETR_USUAL: u8 = 49u8;
pub const THOST_FTDC_ETR_FNSP: u8 = 50u8;
pub const THOST_FTDC_ETR_BNSP: u8 = 51u8;
pub const THOST_FTDC_ETR_SPOT: u8 = 52u8;
pub const THOST_FTDC_EPF_None: u8 = 48u8;
pub const THOST_FTDC_EPF_SPBM: u8 = 49u8;
pub const THOST_FTDC_EPF_RULE: u8 = 50u8;
pub const THOST_FTDC_EPF_SPMM: u8 = 51u8;
pub const THOST_FTDC_EPF_RCAMS: u8 = 52u8;
pub const THOST_FTDC_WDPID_CashIn: u8 = 67u8;
pub const THOST_FTDC_ITR_CloseOnly: u8 = 49u8;
pub const THOST_FTDC_ITR_Forbidden: u8 = 50u8;
pub const THOST_FTDC_IMID_BothSide: u8 = 49u8;
pub const THOST_FTDC_IMID_MMSA: u8 = 50u8;
pub const THOST_FTDC_IMID_SPMM: u8 = 51u8;
pub const THOST_FTDC_ERComb_BUC: u8 = 48u8;
pub const THOST_FTDC_ERComb_BEC: u8 = 49u8;
pub const THOST_FTDC_ERComb_BEP: u8 = 50u8;
pub const THOST_FTDC_ERComb_BUP: u8 = 51u8;
pub const THOST_FTDC_ERComb_CAS: u8 = 52u8;
pub const THOST_FTDC_EET_None: u8 = 48u8;
pub const THOST_FTDC_EET_SPBM_AddOnHedge: u8 = 49u8;
pub const THOST_FTDC_EIC_Usual: u8 = 49u8;
pub const THOST_FTDC_EIC_Delivery: u8 = 50u8;
pub const THOST_FTDC_EIC_NonComb: u8 = 51u8;
pub const THOST_FTDC_PCF_None: u8 = 48u8;
pub const THOST_FTDC_PCF_OnlyFrozen: u8 = 49u8;
pub const THOST_FTDC_PCF_PositionChange: u8 = 50u8;
#[repr(u32)]
#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
pub enum THOST_TE_RESUME_TYPE {
    THOST_TERT_RESTART = 0,
    THOST_TERT_RESUME = 1,
    THOST_TERT_QUICK = 2,
    THOST_TERT_NONE = 3,
}
#[doc = "\n TFtdcTraderIDType是一个交易所交易员代码类型\n"]
pub type TThostFtdcTraderIDType = [::std::os::raw::c_char; 21usize];
#[doc = "\n TFtdcInvestorIDType是一个投资者代码类型\n"]
pub type TThostFtdcInvestorIDType = [::std::os::raw::c_char; 13usize];
#[doc = "\n TFtdcBrokerIDType是一个经纪公司代码类型\n"]
pub type TThostFtdcBrokerIDType = [::std::os::raw::c_char; 11usize];
#[doc = "\n TFtdcBrokerAbbrType是一个经纪公司简称类型\n"]
pub type TThostFtdcBrokerAbbrType = [::std::os::raw::c_char; 9usize];
#[doc = "\n TFtdcBrokerNameType是一个经纪公司名称类型\n"]
pub type TThostFtdcBrokerNameType = [::std::os::raw::c_char; 81usize];
#[doc = "\n TFtdcOldExchangeInstIDType是一个合约在交易所的代码类型\n"]
pub type TThostFtdcOldExchangeInstIDType = [::std::os::raw::c_char; 31usize];
#[doc = "\n TFtdcExchangeInstIDType是一个合约在交易所的代码类型\n"]
pub type TThostFtdcExchangeInstIDType = [::std::os::raw::c_char; 81usize];
#[doc = "\n TFtdcOrderRefType是一个报单引用类型\n"]
pub type TThostFtdcOrderRefType = [::std::os::raw::c_char; 13usize];
#[doc = "\n TFtdcParticipantIDType是一个会员代码类型\n"]
pub type TThostFtdcParticipantIDType = [::std::os::raw::c_char; 11usize];
#[doc = "\n TFtdcUserIDType是一个用户代码类型\n"]
pub type TThostFtdcUserIDType = [::std::os::raw::c_char; 16usize];
#[doc = "\n TFtdcPasswordType是一个密码类型\n"]
pub type TThostFtdcPasswordType = [::std::os::raw::c_char; 41usize];
#[doc = "\n TFtdcClientIDType是一个交易编码类型\n"]
pub type TThostFtdcClientIDType = [::std::os::raw::c_char; 11usize];
#[doc = "\n TFtdcInstrumentIDType是一个合约代码类型\n"]
pub type TThostFtdcInstrumentIDType = [::std::os::raw::c_char; 81usize];
#[doc = "\n TFtdcOldInstrumentIDType是一个合约代码类型\n"]
pub type TThostFtdcOldInstrumentIDType = [::std::os::raw::c_char; 31usize];
#[doc = "\n TFtdcInstrumentCodeType是一个合约标识码类型\n"]
pub type TThostFtdcInstrumentCodeType = [::std::os::raw::c_char; 31usize];
#[doc = "\n TFtdcMarketIDType是一个市场代码类型\n"]
pub type TThostFtdcMarketIDType = [::std::os::raw::c_char; 31usize];
#[doc = "\n TFtdcProductNameType是一个产品名称类型\n"]
pub type TThostFtdcProductNameType = [::std::os::raw::c_char; 21usize];
#[doc = "\n TFtdcExchangeIDType是一个交易所代码类型\n"]
pub type TThostFtdcExchangeIDType = [::std::os::raw::c_char; 9usize];
#[doc = "\n TFtdcExchangeNameType是一个交易所名称类型\n"]
pub type TThostFtdcExchangeNameType = [::std::os::raw::c_char; 61usize];
#[doc = "\n TFtdcExchangeAbbrType是一个交易所简称类型\n"]
pub type TThostFtdcExchangeAbbrType = [::std::os::raw::c_char; 9usize];
#[doc = "\n TFtdcExchangeFlagType是一个交易所标志类型\n"]
pub type TThostFtdcExchangeFlagType = [::std::os::raw::c_char; 2usize];
#[doc = "\n TFtdcMacAddressType是一个Mac地址类型\n"]
pub type TThostFtdcMacAddressType = [::std::os::raw::c_char; 21usize];
#[doc = "\n TFtdcSystemIDType是一个系统编号类型\n"]
pub type TThostFtdcSystemIDType = [::std::os::raw::c_char; 21usize];
#[doc = "\n TFtdcClientLoginRemarkType是一个客户登录备注2类型\n"]
pub type TThostFtdcClientLoginRemarkType = [::std::os::raw::c_char; 151usize];
pub type TThostFtdcExchangePropertyType = ::std::os::raw::c_char;
#[doc = "\n TFtdcDateType是一个日期类型\n"]
pub type TThostFtdcDateType = [::std::os::raw::c_char; 9usize];
#[doc = "\n TFtdcTimeType是一个时间类型\n"]
pub type TThostFtdcTimeType = [::std::os::raw::c_char; 9usize];
#[doc = "\n TFtdcLongTimeType是一个长时间类型\n"]
pub type TThostFtdcLongTimeType = [::std::os::raw::c_char; 13usize];
#[doc = "\n TFtdcInstrumentNameType是一个合约名称类型\n"]
pub type TThostFtdcInstrumentNameType = [::std::os::raw::c_char; 21usize];
#[doc = "\n TFtdcSettlementGroupIDType是一个结算组代码类型\n"]
pub type TThostFtdcSettlementGroupIDType = [::std::os::raw::c_char; 9usize];
#[doc = "\n TFtdcOrderSysIDType是一个报单编号类型\n"]
pub type TThostFtdcOrderSysIDType = [::std::os::raw::c_char; 21usize];
#[doc = "\n TFtdcTradeIDType是一个成交编号类型\n"]
pub type TThostFtdcTradeIDType = [::std::os::raw::c_char; 21usize];
#[doc = "\n TFtdcCommandTypeType是一个DB命令类型类型\n"]
pub type TThostFtdcCommandTypeType = [::std::os::raw::c_char; 65usize];
#[doc = "\n TFtdcOldIPAddressType是一个IP地址类型\n"]
pub type TThostFtdcOldIPAddressType = [::std::os::raw::c_char; 16usize];
#[doc = "\n TFtdcIPAddressType是一个IP地址类型\n"]
pub type TThostFtdcIPAddressType = [::std::os::raw::c_char; 33usize];
#[doc = "\n TFtdcIPPortType是一个IP端口类型\n"]
pub type TThostFtdcIPPortType = ::std::os::raw::c_int;
#[doc = "\n TFtdcProductInfoType是一个产品信息类型\n"]
pub type TThostFtdcProductInfoType = [::std::os::raw::c_char; 11usize];
#[doc = "\n TFtdcProtocolInfoType是一个协议信息类型\n"]
pub type TThostFtdcProtocolInfoType = [::std::os::raw::c_char; 11usize];
#[doc = "\n TFtdcBusinessUnitType是一个业务单元类型\n"]
pub type TThostFtdcBusinessUnitType = [::std::os::raw::c_char; 21usize];
#[doc = "\n TFtdcDepositSeqNoType是一个出入金流水号类型\n"]
pub type TThostFtdcDepositSeqNoType = [::std::os::raw::c_char; 15usize];
#[doc = "\n TFtdcIdentifiedCardNoType是一个证件号码类型\n"]
pub type TThostFtdcIdentifiedCardNoType = [::std::os::raw::c_char; 51usize];
pub type TThostFtdcIdCardTypeType = ::std::os::raw::c_char;
#[doc = "\n TFtdcOrderLocalIDType是一个本地报单编号类型\n"]
pub type TThostFtdcOrderLocalIDType = [::std::os::raw::c_char; 13usize];
#[doc = "\n TFtdcUserNameType是一个用户名称类型\n"]
pub type TThostFtdcUserNameType = [::std::os::raw::c_char; 81usize];
#[doc = "\n TFtdcPartyNameType是一个参与人名称类型\n"]
pub type TThostFtdcPartyNameType = [::std::os::raw::c_char; 81usize];
#[doc = "\n TFtdcErrorMsgType是一个错误信息类型\n"]
pub type TThostFtdcErrorMsgType = [::std::os::raw::c_char; 81usize];
#[doc = "\n TFtdcFieldNameType是一个字段名类型\n"]
pub type TThostFtdcFieldNameType = [::std::os::raw::c_char; 2049usize];
#[doc = "\n TFtdcFieldContentType是一个字段内容类型\n"]
pub type TThostFtdcFieldContentType = [::std::os::raw::c_char; 2049usize];
#[doc = "\n TFtdcSystemNameType是一个系统名称类型\n"]
pub type TThostFtdcSystemNameType = [::std::os::raw::c_char; 41usize];
#[doc = "\n TFtdcContentType是一个消息正文类型\n"]
pub type TThostFtdcContentType = [::std::os::raw::c_char; 501usize];
pub type TThostFtdcInvestorRangeType = ::std::os::raw::c_char;
pub type TThostFtdcDepartmentRangeType = ::std::os::raw::c_char;
pub type TThostFtdcDataSyncStatusType = ::std::os::raw::c_char;
pub type TThostFtdcBrokerDataSyncStatusType = ::std::os::raw::c_char;
pub type TThostFtdcExchangeConnectStatusType = ::std::os::raw::c_char;
pub type TThostFtdcTraderConnectStatusType = ::std::os::raw::c_char;
pub type TThostFtdcFunctionCodeType = ::std::os::raw::c_char;
pub type TThostFtdcBrokerFunctionCodeType = ::std::os::raw::c_char;
pub type TThostFtdcOrderActionStatusType = ::std::os::raw::c_char;
pub type TThostFtdcOrderStatusType = ::std::os::raw::c_char;
pub type TThostFtdcOrderSubmitStatusType = ::std::os::raw::c_char;
pub type TThostFtdcPositionDateType = ::std::os::raw::c_char;
pub type TThostFtdcPositionDateTypeType = ::std::os::raw::c_char;
pub type TThostFtdcTradingRoleType = ::std::os::raw::c_char;
pub type TThostFtdcProductClassType = ::std::os::raw::c_char;
pub type TThostFtdcAPIProductClassType = ::std::os::raw::c_char;
pub type TThostFtdcInstLifePhaseType = ::std::os::raw::c_char;
pub type TThostFtdcDirectionType = ::std::os::raw::c_char;
pub type TThostFtdcPositionTypeType = ::std::os::raw::c_char;
pub type TThostFtdcPosiDirectionType = ::std::os::raw::c_char;
pub type TThostFtdcSysSettlementStatusType = ::std::os::raw::c_char;
pub type TThostFtdcRatioAttrType = ::std::os::raw::c_char;
pub type TThostFtdcHedgeFlagType = ::std::os::raw::c_char;
pub type TThostFtdcBillHedgeFlagType = ::std::os::raw::c_char;
pub type TThostFtdcClientIDTypeType = ::std::os::raw::c_char;
pub type TThostFtdcOrderPriceTypeType = ::std::os::raw::c_char;
pub type TThostFtdcOffsetFlagType = ::std::os::raw::c_char;
pub type TThostFtdcForceCloseReasonType = ::std::os::raw::c_char;
pub type TThostFtdcOrderTypeType = ::std::os::raw::c_char;
pub type TThostFtdcTimeConditionType = ::std::os::raw::c_char;
pub type TThostFtdcVolumeConditionType = ::std::os::raw::c_char;
pub type TThostFtdcContingentConditionType = ::std::os::raw::c_char;
pub type TThostFtdcActionFlagType = ::std::os::raw::c_char;
pub type TThostFtdcTradingRightType = ::std::os::raw::c_char;
pub type TThostFtdcOrderSourceType = ::std::os::raw::c_char;
pub type TThostFtdcTradeTypeType = ::std::os::raw::c_char;
pub type TThostFtdcSpecPosiTypeType = ::std::os::raw::c_char;
pub type TThostFtdcPriceSourceType = ::std::os::raw::c_char;
pub type TThostFtdcInstrumentStatusType = ::std::os::raw::c_char;
pub type TThostFtdcInstStatusEnterReasonType = ::std::os::raw::c_char;
#[doc = "\n TFtdcOrderActionRefType是一个报单操作引用类型\n"]
pub type TThostFtdcOrderActionRefType = ::std::os::raw::c_int;
#[doc = "\n TFtdcInstallCountType是一个安装数量类型\n"]
pub type TThostFtdcInstallCountType = ::std::os::raw::c_int;
#[doc = "\n TFtdcInstallIDType是一个安装编号类型\n"]
pub type TThostFtdcInstallIDType = ::std::os::raw::c_int;
#[doc = "\n TFtdcErrorIDType是一个错误代码类型\n"]
pub type TThostFtdcErrorIDType = ::std::os::raw::c_int;
#[doc = "\n TFtdcSettlementIDType是一个结算编号类型\n"]
pub type TThostFtdcSettlementIDType = ::std::os::raw::c_int;
#[doc = "\n TFtdcVolumeType是一个数量类型\n"]
pub type TThostFtdcVolumeType = ::std::os::raw::c_int;
#[doc = "\n TFtdcFrontIDType是一个前置编号类型\n"]
pub type TThostFtdcFrontIDType = ::std::os::raw::c_int;
#[doc = "\n TFtdcSessionIDType是一个会话编号类型\n"]
pub type TThostFtdcSessionIDType = ::std::os::raw::c_int;
#[doc = "\n TFtdcSequenceNoType是一个序号类型\n"]
pub type TThostFtdcSequenceNoType = ::std::os::raw::c_int;
#[doc = "\n TFtdcCommandNoType是一个DB命令序号类型\n"]
pub type TThostFtdcCommandNoType = ::std::os::raw::c_int;
#[doc = "\n TFtdcMillisecType是一个时间（毫秒）类型\n"]
pub type TThostFtdcMillisecType = ::std::os::raw::c_int;
#[doc = "\n TFtdcSecType是一个时间（秒）类型\n"]
pub type TThostFtdcSecType = ::std::os::raw::c_int;
#[doc = "\n TFtdcVolumeMultipleType是一个合约数量乘数类型\n"]
pub type TThostFtdcVolumeMultipleType = ::std::os::raw::c_int;
#[doc = "\n TFtdcTradingSegmentSNType是一个交易阶段编号类型\n"]
pub type TThostFtdcTradingSegmentSNType = ::std::os::raw::c_int;
#[doc = "\n TFtdcRequestIDType是一个请求编号类型\n"]
pub type TThostFtdcRequestIDType = ::std::os::raw::c_int;
#[doc = "\n TFtdcYearType是一个年份类型\n"]
pub type TThostFtdcYearType = ::std::os::raw::c_int;
#[doc = "\n TFtdcMonthType是一个月份类型\n"]
pub type TThostFtdcMonthType = ::std::os::raw::c_int;
#[doc = "\n TFtdcBoolType是一个布尔型类型\n"]
pub type TThostFtdcBoolType = ::std::os::raw::c_int;
#[doc = "\n TFtdcPriceType是一个价格类型\n"]
pub type TThostFtdcPriceType = f64;
#[doc = "\n TFtdcCombOffsetFlagType是一个组合开平标志类型\n"]
pub type TThostFtdcCombOffsetFlagType = [::std::os::raw::c_char; 5usize];
#[doc = "\n TFtdcCombHedgeFlagType是一个组合投机套保标志类型\n"]
pub type TThostFtdcCombHedgeFlagType = [::std::os::raw::c_char; 5usize];
#[doc = "\n TFtdcRatioType是一个比率类型\n"]
pub type TThostFtdcRatioType = f64;
#[doc = "\n TFtdcMoneyType是一个资金类型\n"]
pub type TThostFtdcMoneyType = f64;
#[doc = "\n TFtdcLargeVolumeType是一个大额数量类型\n"]
pub type TThostFtdcLargeVolumeType = f64;
#[doc = "\n TFtdcSequenceSeriesType是一个序列系列号类型\n"]
pub type TThostFtdcSequenceSeriesType = ::std::os::raw::c_short;
#[doc = "\n TFtdcCommPhaseNoType是一个通讯时段编号类型\n"]
pub type TThostFtdcCommPhaseNoType = ::std::os::raw::c_short;
#[doc = "\n TFtdcSequenceLabelType是一个序列编号类型\n"]
pub type TThostFtdcSequenceLabelType = [::std::os::raw::c_char; 2usize];
#[doc = "\n TFtdcUnderlyingMultipleType是一个基础商品乘数类型\n"]
pub type TThostFtdcUnderlyingMultipleType = f64;
#[doc = "\n TFtdcPriorityType是一个优先级类型\n"]
pub type TThostFtdcPriorityType = ::std::os::raw::c_int;
#[doc = "\n TFtdcContractCodeType是一个合同编号类型\n"]
pub type TThostFtdcContractCodeType = [::std::os::raw::c_char; 41usize];
#[doc = "\n TFtdcCityType是一个市类型\n"]
pub type TThostFtdcCityType = [::std::os::raw::c_char; 51usize];
#[doc = "\n TFtdcIsStockType是一个是否股民类型\n"]
pub type TThostFtdcIsStockType = [::std::os::raw::c_char; 11usize];
#[doc = "\n TFtdcChannelType是一个渠道类型\n"]
pub type TThostFtdcChannelType = [::std::os::raw::c_char; 51usize];
#[doc = "\n TFtdcAddressType是一个通讯地址类型\n"]
pub type TThostFtdcAddressType = [::std::os::raw::c_char; 101usize];
#[doc = "\n TFtdcZipCodeType是一个邮政编码类型\n"]
pub type TThostFtdcZipCodeType = [::std::os::raw::c_char; 7usize];
#[doc = "\n TFtdcTelephoneType是一个联系电话类型\n"]
pub type TThostFtdcTelephoneType = [::std::os::raw::c_char; 41usize];
#[doc = "\n TFtdcFaxType是一个传真类型\n"]
pub type TThostFtdcFaxType = [::std::os::raw::c_char; 41usize];
#[doc = "\n TFtdcMobileType是一个手机类型\n"]
pub type TThostFtdcMobileType = [::std::os::raw::c_char; 41usize];
#[doc = "\n TFtdcEMailType是一个电子邮件类型\n"]
pub type TThostFtdcEMailType = [::std::os::raw::c_char; 41usize];
#[doc = "\n TFtdcMemoType是一个备注类型\n"]
pub type TThostFtdcMemoType = [::std::os::raw::c_char; 161usize];
#[doc = "\n TFtdcCompanyCodeType是一个企业代码类型\n"]
pub type TThostFtdcCompanyCodeType = [::std::os::raw::c_char; 51usize];
#[doc = "\n TFtdcWebsiteType是一个网站地址类型\n"]
pub type TThostFtdcWebsiteType = [::std::os::raw::c_char; 51usize];
#[doc = "\n TFtdcTaxNoType是一个税务登记号类型\n"]
pub type TThostFtdcTaxNoType = [::std::os::raw::c_char; 31usize];
pub type TThostFtdcBatchStatusType = ::std::os::raw::c_char;
#[doc = "\n TFtdcPropertyIDType是一个属性代码类型\n"]
pub type TThostFtdcPropertyIDType = [::std::os::raw::c_char; 33usize];
#[doc = "\n TFtdcPropertyNameType是一个属性名称类型\n"]
pub type TThostFtdcPropertyNameType = [::std::os::raw::c_char; 65usize];
#[doc = "\n TFtdcLicenseNoType是一个营业执照号类型\n"]
pub type TThostFtdcLicenseNoType = [::std::os::raw::c_char; 51usize];
#[doc = "\n TFtdcAgentIDType是一个经纪人代码类型\n"]
pub type TThostFtdcAgentIDType = [::std::os::raw::c_char; 13usize];
#[doc = "\n TFtdcAgentNameType是一个经纪人名称类型\n"]
pub type TThostFtdcAgentNameType = [::std::os::raw::c_char; 41usize];
#[doc = "\n TFtdcAgentGroupIDType是一个经纪人组代码类型\n"]
pub type TThostFtdcAgentGroupIDType = [::std::os::raw::c_char; 13usize];
#[doc = "\n TFtdcAgentGroupNameType是一个经纪人组名称类型\n"]
pub type TThostFtdcAgentGroupNameType = [::std::os::raw::c_char; 41usize];
pub type TThostFtdcReturnStyleType = ::std::os::raw::c_char;
pub type TThostFtdcReturnPatternType = ::std::os::raw::c_char;
pub type TThostFtdcReturnLevelType = ::std::os::raw::c_char;
pub type TThostFtdcReturnStandardType = ::std::os::raw::c_char;
pub type TThostFtdcMortgageTypeType = ::std::os::raw::c_char;
pub type TThostFtdcInvestorSettlementParamIDType = ::std::os::raw::c_char;
pub type TThostFtdcExchangeSettlementParamIDType = ::std::os::raw::c_char;
pub type TThostFtdcSystemParamIDType = ::std::os::raw::c_char;
pub type TThostFtdcTradeParamIDType = ::std::os::raw::c_char;
#[doc = "\n TFtdcSettlementParamValueType是一个参数代码值类型\n"]
pub type TThostFtdcSettlementParamValueType = [::std::os::raw::c_char; 256usize];
#[doc = "\n TFtdcCounterIDType是一个计数器代码类型\n"]
pub type TThostFtdcCounterIDType = [::std::os::raw::c_char; 33usize];
#[doc = "\n TFtdcInvestorGroupNameType是一个投资者分组名称类型\n"]
pub type TThostFtdcInvestorGroupNameType = [::std::os::raw::c_char; 41usize];
#[doc = "\n TFtdcBrandCodeType是一个牌号类型\n"]
pub type TThostFtdcBrandCodeType = [::std::os::raw::c_char; 257usize];
#[doc = "\n TFtdcWarehouseType是一个仓库类型\n"]
pub type TThostFtdcWarehouseType = [::std::os::raw::c_char; 257usize];
#[doc = "\n TFtdcProductDateType是一个产期类型\n"]
pub type TThostFtdcProductDateType = [::std::os::raw::c_char; 41usize];
#[doc = "\n TFtdcGradeType是一个等级类型\n"]
pub type TThostFtdcGradeType = [::std::os::raw::c_char; 41usize];
#[doc = "\n TFtdcClassifyType是一个类别类型\n"]
pub type TThostFtdcClassifyType = [::std::os::raw::c_char; 41usize];
#[doc = "\n TFtdcPositionType是一个货位类型\n"]
pub type TThostFtdcPositionType = [::std::os::raw::c_char; 41usize];
#[doc = "\n TFtdcYieldlyType是一个产地类型\n"]
pub type TThostFtdcYieldlyType = [::std::os::raw::c_char; 41usize];
#[doc = "\n TFtdcWeightType是一个公定重量类型\n"]
pub type TThostFtdcWeightType = [::std::os::raw::c_char; 41usize];
#[doc = "\n TFtdcSubEntryFundNoType是一个分项资金流水号类型\n"]
pub type TThostFtdcSubEntryFundNoType = ::std::os::raw::c_int;
pub type TThostFtdcFileIDType = ::std::os::raw::c_char;
#[doc = "\n TFtdcFileNameType是一个文件名称类型\n"]
pub type TThostFtdcFileNameType = [::std::os::raw::c_char; 257usize];
pub type TThostFtdcFileTypeType = ::std::os::raw::c_char;
pub type TThostFtdcFileFormatType = ::std::os::raw::c_char;
pub type TThostFtdcFileUploadStatusType = ::std::os::raw::c_char;
pub type TThostFtdcTransferDirectionType = ::std::os::raw::c_char;
#[doc = "\n TFtdcUploadModeType是一个上传文件类型类型\n"]
pub type TThostFtdcUploadModeType = [::std::os::raw::c_char; 21usize];
#[doc = "\n TFtdcAccountIDType是一个投资者帐号类型\n"]
pub type TThostFtdcAccountIDType = [::std::os::raw::c_char; 13usize];
#[doc = "\n TFtdcBankFlagType是一个银行统一标识类型类型\n"]
pub type TThostFtdcBankFlagType = [::std::os::raw::c_char; 4usize];
#[doc = "\n TFtdcBankAccountType是一个银行账户类型\n"]
pub type TThostFtdcBankAccountType = [::std::os::raw::c_char; 41usize];
#[doc = "\n TFtdcOpenNameType是一个银行账户的开户人名称类型\n"]
pub type TThostFtdcOpenNameType = [::std::os::raw::c_char; 61usize];
#[doc = "\n TFtdcOpenBankType是一个银行账户的开户行类型\n"]
pub type TThostFtdcOpenBankType = [::std::os::raw::c_char; 101usize];
#[doc = "\n TFtdcBankNameType是一个银行名称类型\n"]
pub type TThostFtdcBankNameType = [::std::os::raw::c_char; 101usize];
#[doc = "\n TFtdcPublishPathType是一个发布路径类型\n"]
pub type TThostFtdcPublishPathType = [::std::os::raw::c_char; 257usize];
#[doc = "\n TFtdcOperatorIDType是一个操作员代码类型\n"]
pub type TThostFtdcOperatorIDType = [::std::os::raw::c_char; 65usize];
#[doc = "\n TFtdcMonthCountType是一个月份数量类型\n"]
pub type TThostFtdcMonthCountType = ::std::os::raw::c_int;
#[doc = "\n TFtdcAdvanceMonthArrayType是一个月份提前数组类型\n"]
pub type TThostFtdcAdvanceMonthArrayType = [::std::os::raw::c_char; 13usize];
#[doc = "\n TFtdcDateExprType是一个日期表达式类型\n"]
pub type TThostFtdcDateExprType = [::std::os::raw::c_char; 1025usize];
#[doc = "\n TFtdcInstrumentIDExprType是一个合约代码表达式类型\n"]
pub type TThostFtdcInstrumentIDExprType = [::std::os::raw::c_char; 41usize];
#[doc = "\n TFtdcInstrumentNameExprType是一个合约名称表达式类型\n"]
pub type TThostFtdcInstrumentNameExprType = [::std::os::raw::c_char; 41usize];
pub type TThostFtdcSpecialCreateRuleType = ::std::os::raw::c_char;
pub type TThostFtdcBasisPriceTypeType = ::std::os::raw::c_char;
pub type TThostFtdcProductLifePhaseType = ::std::os::raw::c_char;
pub type TThostFtdcDeliveryModeType = ::std::os::raw::c_char;
#[doc = "\n TFtdcLogLevelType是一个日志级别类型\n"]
pub type TThostFtdcLogLevelType = [::std::os::raw::c_char; 33usize];
#[doc = "\n TFtdcProcessNameType是一个存储过程名称类型\n"]
pub type TThostFtdcProcessNameType = [::std::os::raw::c_char; 257usize];
#[doc = "\n TFtdcOperationMemoType是一个操作摘要类型\n"]
pub type TThostFtdcOperationMemoType = [::std::os::raw::c_char; 1025usize];
pub type TThostFtdcFundIOTypeType = ::std::os::raw::c_char;
pub type TThostFtdcFundTypeType = ::std::os::raw::c_char;
pub type TThostFtdcFundDirectionType = ::std::os::raw::c_char;
pub type TThostFtdcFundStatusType = ::std::os::raw::c_char;
#[doc = "\n TFtdcBillNoType是一个票据号类型\n"]
pub type TThostFtdcBillNoType = [::std::os::raw::c_char; 15usize];
#[doc = "\n TFtdcBillNameType是一个票据名称类型\n"]
pub type TThostFtdcBillNameType = [::std::os::raw::c_char; 33usize];
pub type TThostFtdcPublishStatusType = ::std::os::raw::c_char;
#[doc = "\n TFtdcEnumValueIDType是一个枚举值代码类型\n"]
pub type TThostFtdcEnumValueIDType = [::std::os::raw::c_char; 65usize];
#[doc = "\n TFtdcEnumValueTypeType是一个枚举值类型类型\n"]
pub type TThostFtdcEnumValueTypeType = [::std::os::raw::c_char; 33usize];
#[doc = "\n TFtdcEnumValueLabelType是一个枚举值名称类型\n"]
pub type TThostFtdcEnumValueLabelType = [::std::os::raw::c_char; 65usize];
#[doc = "\n TFtdcEnumValueResultType是一个枚举值结果类型\n"]
pub type TThostFtdcEnumValueResultType = [::std::os::raw::c_char; 33usize];
pub type TThostFtdcSystemStatusType = ::std::os::raw::c_char;
pub type TThostFtdcSettlementStatusType = ::std::os::raw::c_char;
#[doc = "\n TFtdcRangeIntTypeType是一个限定值类型类型\n"]
pub type TThostFtdcRangeIntTypeType = [::std::os::raw::c_char; 33usize];
#[doc = "\n TFtdcRangeIntFromType是一个限定值下限类型\n"]
pub type TThostFtdcRangeIntFromType = [::std::os::raw::c_char; 33usize];
#[doc = "\n TFtdcRangeIntToType是一个限定值上限类型\n"]
pub type TThostFtdcRangeIntToType = [::std::os::raw::c_char; 33usize];
#[doc = "\n TFtdcFunctionIDType是一个功能代码类型\n"]
pub type TThostFtdcFunctionIDType = [::std::os::raw::c_char; 25usize];
#[doc = "\n TFtdcFunctionValueCodeType是一个功能编码类型\n"]
pub type TThostFtdcFunctionValueCodeType = [::std::os::raw::c_char; 257usize];
#[doc = "\n TFtdcFunctionNameType是一个功能名称类型\n"]
pub type TThostFtdcFunctionNameType = [::std::os::raw::c_char; 65usize];
#[doc = "\n TFtdcRoleIDType是一个角色编号类型\n"]
pub type TThostFtdcRoleIDType = [::std::os::raw::c_char; 11usize];
#[doc = "\n TFtdcRoleNameType是一个角色名称类型\n"]
pub type TThostFtdcRoleNameType = [::std::os::raw::c_char; 41usize];
#[doc = "\n TFtdcDescriptionType是一个描述类型\n"]
pub type TThostFtdcDescriptionType = [::std::os::raw::c_char; 401usize];
#[doc = "\n TFtdcCombineIDType是一个组合编号类型\n"]
pub type TThostFtdcCombineIDType = [::std::os::raw::c_char; 25usize];
#[doc = "\n TFtdcCombineTypeType是一个组合类型类型\n"]
pub type TThostFtdcCombineTypeType = [::std::os::raw::c_char; 25usize];
pub type TThostFtdcInvestorTypeType = ::std::os::raw::c_char;
pub type TThostFtdcBrokerTypeType = ::std::os::raw::c_char;
pub type TThostFtdcRiskLevelType = ::std::os::raw::c_char;
pub type TThostFtdcFeeAcceptStyleType = ::std::os::raw::c_char;
pub type TThostFtdcPasswordTypeType = ::std::os::raw::c_char;
pub type TThostFtdcAlgorithmType = ::std::os::raw::c_char;
pub type TThostFtdcIncludeCloseProfitType = ::std::os::raw::c_char;
pub type TThostFtdcAllWithoutTradeType = ::std::os::raw::c_char;
#[doc = "\n TFtdcCommentType是一个盈亏算法说明类型\n"]
pub type TThostFtdcCommentType = [::std::os::raw::c_char; 31usize];
#[doc = "\n TFtdcVersionType是一个版本号类型\n"]
pub type TThostFtdcVersionType = [::std::os::raw::c_char; 4usize];
#[doc = "\n TFtdcTradeCodeType是一个交易代码类型\n"]
pub type TThostFtdcTradeCodeType = [::std::os::raw::c_char; 7usize];
#[doc = "\n TFtdcTradeDateType是一个交易日期类型\n"]
pub type TThostFtdcTradeDateType = [::std::os::raw::c_char; 9usize];
#[doc = "\n TFtdcTradeTimeType是一个交易时间类型\n"]
pub type TThostFtdcTradeTimeType = [::std::os::raw::c_char; 9usize];
#[doc = "\n TFtdcTradeSerialType是一个发起方流水号类型\n"]
pub type TThostFtdcTradeSerialType = [::std::os::raw::c_char; 9usize];
#[doc = "\n TFtdcTradeSerialNoType是一个发起方流水号类型\n"]
pub type TThostFtdcTradeSerialNoType = ::std::os::raw::c_int;
#[doc = "\n TFtdcFutureIDType是一个期货公司代码类型\n"]
pub type TThostFtdcFutureIDType = [::std::os::raw::c_char; 11usize];
#[doc = "\n TFtdcBankIDType是一个银行代码类型\n"]
pub type TThostFtdcBankIDType = [::std::os::raw::c_char; 4usize];
#[doc = "\n TFtdcBankBrchIDType是一个银行分中心代码类型\n"]
pub type TThostFtdcBankBrchIDType = [::std::os::raw::c_char; 5usize];
#[doc = "\n TFtdcBankBranchIDType是一个分中心代码类型\n"]
pub type TThostFtdcBankBranchIDType = [::std::os::raw::c_char; 11usize];
#[doc = "\n TFtdcOperNoType是一个交易柜员类型\n"]
pub type TThostFtdcOperNoType = [::std::os::raw::c_char; 17usize];
#[doc = "\n TFtdcDeviceIDType是一个渠道标志类型\n"]
pub type TThostFtdcDeviceIDType = [::std::os::raw::c_char; 3usize];
#[doc = "\n TFtdcRecordNumType是一个记录数类型\n"]
pub type TThostFtdcRecordNumType = [::std::os::raw::c_char; 7usize];
#[doc = "\n TFtdcFutureAccountType是一个期货资金账号类型\n"]
pub type TThostFtdcFutureAccountType = [::std::os::raw::c_char; 22usize];
pub type TThostFtdcFuturePwdFlagType = ::std::os::raw::c_char;
pub type TThostFtdcTransferTypeType = ::std::os::raw::c_char;
#[doc = "\n TFtdcFutureAccPwdType是一个期货资金密码类型\n"]
pub type TThostFtdcFutureAccPwdType = [::std::os::raw::c_char; 17usize];
#[doc = "\n TFtdcCurrencyCodeType是一个币种类型\n"]
pub type TThostFtdcCurrencyCodeType = [::std::os::raw::c_char; 4usize];
#[doc = "\n TFtdcRetCodeType是一个响应代码类型\n"]
pub type TThostFtdcRetCodeType = [::std::os::raw::c_char; 5usize];
#[doc = "\n TFtdcRetInfoType是一个响应信息类型\n"]
pub type TThostFtdcRetInfoType = [::std::os::raw::c_char; 129usize];
#[doc = "\n TFtdcTradeAmtType是一个银行总余额类型\n"]
pub type TThostFtdcTradeAmtType = [::std::os::raw::c_char; 20usize];
#[doc = "\n TFtdcUseAmtType是一个银行可用余额类型\n"]
pub type TThostFtdcUseAmtType = [::std::os::raw::c_char; 20usize];
#[doc = "\n TFtdcFetchAmtType是一个银行可取余额类型\n"]
pub type TThostFtdcFetchAmtType = [::std::os::raw::c_char; 20usize];
pub type TThostFtdcTransferValidFlagType = ::std::os::raw::c_char;
#[doc = "\n TFtdcCertCodeType是一个证件号码类型\n"]
pub type TThostFtdcCertCodeType = [::std::os::raw::c_char; 21usize];
pub type TThostFtdcReasonType = ::std::os::raw::c_char;
#[doc = "\n TFtdcFundProjectIDType是一个资金项目编号类型\n"]
pub type TThostFtdcFundProjectIDType = [::std::os::raw::c_char; 5usize];
pub type TThostFtdcSexType = ::std::os::raw::c_char;
#[doc = "\n TFtdcProfessionType是一个职业类型\n"]
pub type TThostFtdcProfessionType = [::std::os::raw::c_char; 101usize];
#[doc = "\n TFtdcNationalType是一个国籍类型\n"]
pub type TThostFtdcNationalType = [::std::os::raw::c_char; 31usize];
#[doc = "\n TFtdcProvinceType是一个省类型\n"]
pub type TThostFtdcProvinceType = [::std::os::raw::c_char; 51usize];
#[doc = "\n TFtdcRegionType是一个区类型\n"]
pub type TThostFtdcRegionType = [::std::os::raw::c_char; 16usize];
#[doc = "\n TFtdcCountryType是一个国家类型\n"]
pub type TThostFtdcCountryType = [::std::os::raw::c_char; 16usize];
#[doc = "\n TFtdcLicenseNOType是一个营业执照类型\n"]
pub type TThostFtdcLicenseNOType = [::std::os::raw::c_char; 33usize];
#[doc = "\n TFtdcCompanyTypeType是一个企业性质类型\n"]
pub type TThostFtdcCompanyTypeType = [::std::os::raw::c_char; 16usize];
#[doc = "\n TFtdcBusinessScopeType是一个经营范围类型\n"]
pub type TThostFtdcBusinessScopeType = [::std::os::raw::c_char; 1001usize];
#[doc = "\n TFtdcCapitalCurrencyType是一个注册资本币种类型\n"]
pub type TThostFtdcCapitalCurrencyType = [::std::os::raw::c_char; 4usize];
pub type TThostFtdcUserTypeType = ::std::os::raw::c_char;
#[doc = "\n TFtdcBranchIDType是一个营业部编号类型\n"]
pub type TThostFtdcBranchIDType = [::std::os::raw::c_char; 9usize];
pub type TThostFtdcRateTypeType = ::std::os::raw::c_char;
pub type TThostFtdcNoteTypeType = ::std::os::raw::c_char;
pub type TThostFtdcSettlementStyleType = ::std::os::raw::c_char;
#[doc = "\n TFtdcBrokerDNSType是一个域名类型\n"]
pub type TThostFtdcBrokerDNSType = [::std::os::raw::c_char; 256usize];
#[doc = "\n TFtdcSentenceType是一个语句类型\n"]
pub type TThostFtdcSentenceType = [::std::os::raw::c_char; 501usize];
pub type TThostFtdcSettlementBillTypeType = ::std::os::raw::c_char;
pub type TThostFtdcUserRightTypeType = ::std::os::raw::c_char;
pub type TThostFtdcMarginPriceTypeType = ::std::os::raw::c_char;
pub type TThostFtdcBillGenStatusType = ::std::os::raw::c_char;
pub type TThostFtdcAlgoTypeType = ::std::os::raw::c_char;
pub type TThostFtdcHandlePositionAlgoIDType = ::std::os::raw::c_char;
pub type TThostFtdcFindMarginRateAlgoIDType = ::std::os::raw::c_char;
pub type TThostFtdcHandleTradingAccountAlgoIDType = ::std::os::raw::c_char;
pub type TThostFtdcPersonTypeType = ::std::os::raw::c_char;
pub type TThostFtdcQueryInvestorRangeType = ::std::os::raw::c_char;
pub type TThostFtdcInvestorRiskStatusType = ::std::os::raw::c_char;
#[doc = "\n TFtdcLegIDType是一个单腿编号类型\n"]
pub type TThostFtdcLegIDType = ::std::os::raw::c_int;
#[doc = "\n TFtdcLegMultipleType是一个单腿乘数类型\n"]
pub type TThostFtdcLegMultipleType = ::std::os::raw::c_int;
#[doc = "\n TFtdcImplyLevelType是一个派生层数类型\n"]
pub type TThostFtdcImplyLevelType = ::std::os::raw::c_int;
#[doc = "\n TFtdcClearAccountType是一个结算账户类型\n"]
pub type TThostFtdcClearAccountType = [::std::os::raw::c_char; 33usize];
#[doc = "\n TFtdcOrganNOType是一个结算账户类型\n"]
pub type TThostFtdcOrganNOType = [::std::os::raw::c_char; 6usize];
#[doc = "\n TFtdcClearbarchIDType是一个结算账户联行号类型\n"]
pub type TThostFtdcClearbarchIDType = [::std::os::raw::c_char; 6usize];
pub type TThostFtdcUserEventTypeType = ::std::os::raw::c_char;
#[doc = "\n TFtdcUserEventInfoType是一个用户事件信息类型\n"]
pub type TThostFtdcUserEventInfoType = [::std::os::raw::c_char; 1025usize];
pub type TThostFtdcCloseStyleType = ::std::os::raw::c_char;
pub type TThostFtdcStatModeType = ::std::os::raw::c_char;
pub type TThostFtdcParkedOrderStatusType = ::std::os::raw::c_char;
#[doc = "\n TFtdcParkedOrderIDType是一个预埋报单编号类型\n"]
pub type TThostFtdcParkedOrderIDType = [::std::os::raw::c_char; 13usize];
#[doc = "\n TFtdcParkedOrderActionIDType是一个预埋撤单编号类型\n"]
pub type TThostFtdcParkedOrderActionIDType = [::std::os::raw::c_char; 13usize];
pub type TThostFtdcVirDealStatusType = ::std::os::raw::c_char;
pub type TThostFtdcOrgSystemIDType = ::std::os::raw::c_char;
pub type TThostFtdcVirTradeStatusType = ::std::os::raw::c_char;
pub type TThostFtdcVirBankAccTypeType = ::std::os::raw::c_char;
pub type TThostFtdcVirementStatusType = ::std::os::raw::c_char;
pub type TThostFtdcVirementAvailAbilityType = ::std::os::raw::c_char;
pub type TThostFtdcVirementTradeCodeType = ::std::os::raw::c_char;
#[doc = "\n TFtdcPhotoTypeNameType是一个影像类型名称类型\n"]
pub type TThostFtdcPhotoTypeNameType = [::std::os::raw::c_char; 41usize];
#[doc = "\n TFtdcPhotoTypeIDType是一个影像类型代码类型\n"]
pub type TThostFtdcPhotoTypeIDType = [::std::os::raw::c_char; 5usize];
#[doc = "\n TFtdcPhotoNameType是一个影像名称类型\n"]
pub type TThostFtdcPhotoNameType = [::std::os::raw::c_char; 161usize];
#[doc = "\n TFtdcTopicIDType是一个主题代码类型\n"]
pub type TThostFtdcTopicIDType = ::std::os::raw::c_int;
#[doc = "\n TFtdcReportTypeIDType是一个交易报告类型标识类型\n"]
pub type TThostFtdcReportTypeIDType = [::std::os::raw::c_char; 3usize];
#[doc = "\n TFtdcCharacterIDType是一个交易特征代码类型\n"]
pub type TThostFtdcCharacterIDType = [::std::os::raw::c_char; 5usize];
#[doc = "\n TFtdcAMLParamIDType是一个参数代码类型\n"]
pub type TThostFtdcAMLParamIDType = [::std::os::raw::c_char; 21usize];
#[doc = "\n TFtdcAMLInvestorTypeType是一个投资者类型类型\n"]
pub type TThostFtdcAMLInvestorTypeType = [::std::os::raw::c_char; 3usize];
#[doc = "\n TFtdcAMLIdCardTypeType是一个证件类型类型\n"]
pub type TThostFtdcAMLIdCardTypeType = [::std::os::raw::c_char; 3usize];
#[doc = "\n TFtdcAMLTradeDirectType是一个资金进出方向类型\n"]
pub type TThostFtdcAMLTradeDirectType = [::std::os::raw::c_char; 3usize];
#[doc = "\n TFtdcAMLTradeModelType是一个资金进出方式类型\n"]
pub type TThostFtdcAMLTradeModelType = [::std::os::raw::c_char; 3usize];
#[doc = "\n TFtdcAMLOpParamValueType是一个业务参数代码值类型\n"]
pub type TThostFtdcAMLOpParamValueType = f64;
#[doc = "\n TFtdcAMLCustomerCardTypeType是一个客户身份证件/证明文件类型类型\n"]
pub type TThostFtdcAMLCustomerCardTypeType = [::std::os::raw::c_char; 81usize];
#[doc = "\n TFtdcAMLInstitutionNameType是一个金融机构网点名称类型\n"]
pub type TThostFtdcAMLInstitutionNameType = [::std::os::raw::c_char; 65usize];
#[doc = "\n TFtdcAMLDistrictIDType是一个金融机构网点所在地区行政区划代码类型\n"]
pub type TThostFtdcAMLDistrictIDType = [::std::os::raw::c_char; 7usize];
#[doc = "\n TFtdcAMLRelationShipType是一个金融机构网点与大额交易的关系类型\n"]
pub type TThostFtdcAMLRelationShipType = [::std::os::raw::c_char; 3usize];
#[doc = "\n TFtdcAMLInstitutionTypeType是一个金融机构网点代码类型类型\n"]
pub type TThostFtdcAMLInstitutionTypeType = [::std::os::raw::c_char; 3usize];
#[doc = "\n TFtdcAMLInstitutionIDType是一个金融机构网点代码类型\n"]
pub type TThostFtdcAMLInstitutionIDType = [::std::os::raw::c_char; 13usize];
#[doc = "\n TFtdcAMLAccountTypeType是一个账户类型类型\n"]
pub type TThostFtdcAMLAccountTypeType = [::std::os::raw::c_char; 5usize];
#[doc = "\n TFtdcAMLTradingTypeType是一个交易方式类型\n"]
pub type TThostFtdcAMLTradingTypeType = [::std::os::raw::c_char; 7usize];
#[doc = "\n TFtdcAMLTransactClassType是一个涉外收支交易分类与代码类型\n"]
pub type TThostFtdcAMLTransactClassType = [::std::os::raw::c_char; 7usize];
#[doc = "\n TFtdcAMLCapitalIOType是一个资金收付标识类型\n"]
pub type TThostFtdcAMLCapitalIOType = [::std::os::raw::c_char; 3usize];
#[doc = "\n TFtdcAMLSiteType是一个交易地点类型\n"]
pub type TThostFtdcAMLSiteType = [::std::os::raw::c_char; 10usize];
#[doc = "\n TFtdcAMLCapitalPurposeType是一个资金用途类型\n"]
pub type TThostFtdcAMLCapitalPurposeType = [::std::os::raw::c_char; 129usize];
#[doc = "\n TFtdcAMLReportTypeType是一个报文类型类型\n"]
pub type TThostFtdcAMLReportTypeType = [::std::os::raw::c_char; 2usize];
#[doc = "\n TFtdcAMLSerialNoType是一个编号类型\n"]
pub type TThostFtdcAMLSerialNoType = [::std::os::raw::c_char; 5usize];
#[doc = "\n TFtdcAMLStatusType是一个状态类型\n"]
pub type TThostFtdcAMLStatusType = [::std::os::raw::c_char; 2usize];
pub type TThostFtdcAMLGenStatusType = ::std::os::raw::c_char;
#[doc = "\n TFtdcAMLSeqCodeType是一个业务标识号类型\n"]
pub type TThostFtdcAMLSeqCodeType = [::std::os::raw::c_char; 65usize];
#[doc = "\n TFtdcAMLFileNameType是一个AML文件名类型\n"]
pub type TThostFtdcAMLFileNameType = [::std::os::raw::c_char; 257usize];
#[doc = "\n TFtdcAMLMoneyType是一个反洗钱资金类型\n"]
pub type TThostFtdcAMLMoneyType = f64;
#[doc = "\n TFtdcAMLFileAmountType是一个反洗钱资金类型\n"]
pub type TThostFtdcAMLFileAmountType = ::std::os::raw::c_int;
#[doc = "\n TFtdcCFMMCKeyType是一个密钥类型(保证金监管)类型\n"]
pub type TThostFtdcCFMMCKeyType = [::std::os::raw::c_char; 21usize];
#[doc = "\n TFtdcCFMMCTokenType是一个令牌类型(保证金监管)类型\n"]
pub type TThostFtdcCFMMCTokenType = [::std::os::raw::c_char; 21usize];
pub type TThostFtdcCFMMCKeyKindType = ::std::os::raw::c_char;
#[doc = "\n TFtdcAMLReportNameType是一个报文名称类型\n"]
pub type TThostFtdcAMLReportNameType = [::std::os::raw::c_char; 81usize];
#[doc = "\n TFtdcIndividualNameType是一个个人姓名类型\n"]
pub type TThostFtdcIndividualNameType = [::std::os::raw::c_char; 51usize];
#[doc = "\n TFtdcCurrencyIDType是一个币种代码类型\n"]
pub type TThostFtdcCurrencyIDType = [::std::os::raw::c_char; 4usize];
#[doc = "\n TFtdcCustNumberType是一个客户编号类型\n"]
pub type TThostFtdcCustNumberType = [::std::os::raw::c_char; 36usize];
#[doc = "\n TFtdcOrganCodeType是一个机构编码类型\n"]
pub type TThostFtdcOrganCodeType = [::std::os::raw::c_char; 36usize];
#[doc = "\n TFtdcOrganNameType是一个机构名称类型\n"]
pub type TThostFtdcOrganNameType = [::std::os::raw::c_char; 71usize];
#[doc = "\n TFtdcSuperOrganCodeType是一个上级机构编码,即期货公司总部、银行总行类型\n"]
pub type TThostFtdcSuperOrganCodeType = [::std::os::raw::c_char; 12usize];
#[doc = "\n TFtdcSubBranchIDType是一个分支机构类型\n"]
pub type TThostFtdcSubBranchIDType = [::std::os::raw::c_char; 31usize];
#[doc = "\n TFtdcSubBranchNameType是一个分支机构名称类型\n"]
pub type TThostFtdcSubBranchNameType = [::std::os::raw::c_char; 71usize];
#[doc = "\n TFtdcBranchNetCodeType是一个机构网点号类型\n"]
pub type TThostFtdcBranchNetCodeType = [::std::os::raw::c_char; 31usize];
#[doc = "\n TFtdcBranchNetNameType是一个机构网点名称类型\n"]
pub type TThostFtdcBranchNetNameType = [::std::os::raw::c_char; 71usize];
#[doc = "\n TFtdcOrganFlagType是一个机构标识类型\n"]
pub type TThostFtdcOrganFlagType = [::std::os::raw::c_char; 2usize];
#[doc = "\n TFtdcBankCodingForFutureType是一个银行对期货公司的编码类型\n"]
pub type TThostFtdcBankCodingForFutureType = [::std::os::raw::c_char; 33usize];
#[doc = "\n TFtdcBankReturnCodeType是一个银行对返回码的定义类型\n"]
pub type TThostFtdcBankReturnCodeType = [::std::os::raw::c_char; 7usize];
#[doc = "\n TFtdcPlateReturnCodeType是一个银期转帐平台对返回码的定义类型\n"]
pub type TThostFtdcPlateReturnCodeType = [::std::os::raw::c_char; 5usize];
#[doc = "\n TFtdcBankSubBranchIDType是一个银行分支机构编码类型\n"]
pub type TThostFtdcBankSubBranchIDType = [::std::os::raw::c_char; 31usize];
#[doc = "\n TFtdcFutureBranchIDType是一个期货分支机构编码类型\n"]
pub type TThostFtdcFutureBranchIDType = [::std::os::raw::c_char; 31usize];
#[doc = "\n TFtdcReturnCodeType是一个返回代码类型\n"]
pub type TThostFtdcReturnCodeType = [::std::os::raw::c_char; 7usize];
#[doc = "\n TFtdcOperatorCodeType是一个操作员类型\n"]
pub type TThostFtdcOperatorCodeType = [::std::os::raw::c_char; 17usize];
#[doc = "\n TFtdcClearDepIDType是一个机构结算帐户机构号类型\n"]
pub type TThostFtdcClearDepIDType = [::std::os::raw::c_char; 6usize];
#[doc = "\n TFtdcClearBrchIDType是一个机构结算帐户联行号类型\n"]
pub type TThostFtdcClearBrchIDType = [::std::os::raw::c_char; 6usize];
#[doc = "\n TFtdcClearNameType是一个机构结算帐户名称类型\n"]
pub type TThostFtdcClearNameType = [::std::os::raw::c_char; 71usize];
#[doc = "\n TFtdcBankAccountNameType是一个银行帐户名称类型\n"]
pub type TThostFtdcBankAccountNameType = [::std::os::raw::c_char; 71usize];
#[doc = "\n TFtdcInvDepIDType是一个机构投资人账号机构号类型\n"]
pub type TThostFtdcInvDepIDType = [::std::os::raw::c_char; 6usize];
#[doc = "\n TFtdcInvBrchIDType是一个机构投资人联行号类型\n"]
pub type TThostFtdcInvBrchIDType = [::std::os::raw::c_char; 6usize];
#[doc = "\n TFtdcMessageFormatVersionType是一个信息格式版本类型\n"]
pub type TThostFtdcMessageFormatVersionType = [::std::os::raw::c_char; 36usize];
#[doc = "\n TFtdcDigestType是一个摘要类型\n"]
pub type TThostFtdcDigestType = [::std::os::raw::c_char; 36usize];
#[doc = "\n TFtdcAuthenticDataType是一个认证数据类型\n"]
pub type TThostFtdcAuthenticDataType = [::std::os::raw::c_char; 129usize];
#[doc = "\n TFtdcPasswordKeyType是一个密钥类型\n"]
pub type TThostFtdcPasswordKeyType = [::std::os::raw::c_char; 129usize];
#[doc = "\n TFtdcFutureAccountNameType是一个期货帐户名称类型\n"]
pub type TThostFtdcFutureAccountNameType = [::std::os::raw::c_char; 129usize];
#[doc = "\n TFtdcMobilePhoneType是一个手机类型\n"]
pub type TThostFtdcMobilePhoneType = [::std::os::raw::c_char; 21usize];
#[doc = "\n TFtdcFutureMainKeyType是一个期货公司主密钥类型\n"]
pub type TThostFtdcFutureMainKeyType = [::std::os::raw::c_char; 129usize];
#[doc = "\n TFtdcFutureWorkKeyType是一个期货公司工作密钥类型\n"]
pub type TThostFtdcFutureWorkKeyType = [::std::os::raw::c_char; 129usize];
#[doc = "\n TFtdcFutureTransKeyType是一个期货公司传输密钥类型\n"]
pub type TThostFtdcFutureTransKeyType = [::std::os::raw::c_char; 129usize];
#[doc = "\n TFtdcBankMainKeyType是一个银行主密钥类型\n"]
pub type TThostFtdcBankMainKeyType = [::std::os::raw::c_char; 129usize];
#[doc = "\n TFtdcBankWorkKeyType是一个银行工作密钥类型\n"]
pub type TThostFtdcBankWorkKeyType = [::std::os::raw::c_char; 129usize];
#[doc = "\n TFtdcBankTransKeyType是一个银行传输密钥类型\n"]
pub type TThostFtdcBankTransKeyType = [::std::os::raw::c_char; 129usize];
#[doc = "\n TFtdcBankServerDescriptionType是一个银行服务器描述信息类型\n"]
pub type TThostFtdcBankServerDescriptionType = [::std::os::raw::c_char; 129usize];
#[doc = "\n TFtdcAddInfoType是一个附加信息类型\n"]
pub type TThostFtdcAddInfoType = [::std::os::raw::c_char; 129usize];
#[doc = "\n TFtdcDescrInfoForReturnCodeType是一个返回码描述类型\n"]
pub type TThostFtdcDescrInfoForReturnCodeType = [::std::os::raw::c_char; 129usize];
#[doc = "\n TFtdcCountryCodeType是一个国家代码类型\n"]
pub type TThostFtdcCountryCodeType = [::std::os::raw::c_char; 21usize];
#[doc = "\n TFtdcSerialType是一个流水号类型\n"]
pub type TThostFtdcSerialType = ::std::os::raw::c_int;
#[doc = "\n TFtdcPlateSerialType是一个平台流水号类型\n"]
pub type TThostFtdcPlateSerialType = ::std::os::raw::c_int;
#[doc = "\n TFtdcBankSerialType是一个银行流水号类型\n"]
pub type TThostFtdcBankSerialType = [::std::os::raw::c_char; 13usize];
#[doc = "\n TFtdcCorrectSerialType是一个被冲正交易流水号类型\n"]
pub type TThostFtdcCorrectSerialType = ::std::os::raw::c_int;
#[doc = "\n TFtdcFutureSerialType是一个期货公司流水号类型\n"]
pub type TThostFtdcFutureSerialType = ::std::os::raw::c_int;
#[doc = "\n TFtdcApplicationIDType是一个应用标识类型\n"]
pub type TThostFtdcApplicationIDType = ::std::os::raw::c_int;
#[doc = "\n TFtdcBankProxyIDType是一个银行代理标识类型\n"]
pub type TThostFtdcBankProxyIDType = ::std::os::raw::c_int;
#[doc = "\n TFtdcFBTCoreIDType是一个银期转帐核心系统标识类型\n"]
pub type TThostFtdcFBTCoreIDType = ::std::os::raw::c_int;
#[doc = "\n TFtdcServerPortType是一个服务端口号类型\n"]
pub type TThostFtdcServerPortType = ::std::os::raw::c_int;
#[doc = "\n TFtdcRepealedTimesType是一个已经冲正次数类型\n"]
pub type TThostFtdcRepealedTimesType = ::std::os::raw::c_int;
#[doc = "\n TFtdcRepealTimeIntervalType是一个冲正时间间隔类型\n"]
pub type TThostFtdcRepealTimeIntervalType = ::std::os::raw::c_int;
#[doc = "\n TFtdcTotalTimesType是一个每日累计转帐次数类型\n"]
pub type TThostFtdcTotalTimesType = ::std::os::raw::c_int;
#[doc = "\n TFtdcFBTRequestIDType是一个请求ID类型\n"]
pub type TThostFtdcFBTRequestIDType = ::std::os::raw::c_int;
#[doc = "\n TFtdcTIDType是一个交易ID类型\n"]
pub type TThostFtdcTIDType = ::std::os::raw::c_int;
#[doc = "\n TFtdcTradeAmountType是一个交易金额（元）类型\n"]
pub type TThostFtdcTradeAmountType = f64;
#[doc = "\n TFtdcCustFeeType是一个应收客户费用（元）类型\n"]
pub type TThostFtdcCustFeeType = f64;
#[doc = "\n TFtdcFutureFeeType是一个应收期货公司费用（元）类型\n"]
pub type TThostFtdcFutureFeeType = f64;
#[doc = "\n TFtdcSingleMaxAmtType是一个单笔最高限额类型\n"]
pub type TThostFtdcSingleMaxAmtType = f64;
#[doc = "\n TFtdcSingleMinAmtType是一个单笔最低限额类型\n"]
pub type TThostFtdcSingleMinAmtType = f64;
#[doc = "\n TFtdcTotalAmtType是一个每日累计转帐额度类型\n"]
pub type TThostFtdcTotalAmtType = f64;
pub type TThostFtdcCertificationTypeType = ::std::os::raw::c_char;
pub type TThostFtdcFileBusinessCodeType = ::std::os::raw::c_char;
pub type TThostFtdcCashExchangeCodeType = ::std::os::raw::c_char;
pub type TThostFtdcYesNoIndicatorType = ::std::os::raw::c_char;
pub type TThostFtdcBanlanceTypeType = ::std::os::raw::c_char;
pub type TThostFtdcGenderType = ::std::os::raw::c_char;
pub type TThostFtdcFeePayFlagType = ::std::os::raw::c_char;
pub type TThostFtdcPassWordKeyTypeType = ::std::os::raw::c_char;
pub type TThostFtdcFBTPassWordTypeType = ::std::os::raw::c_char;
pub type TThostFtdcFBTEncryModeType = ::std::os::raw::c_char;
pub type TThostFtdcBankRepealFlagType = ::std::os::raw::c_char;
pub type TThostFtdcBrokerRepealFlagType = ::std::os::raw::c_char;
pub type TThostFtdcInstitutionTypeType = ::std::os::raw::c_char;
pub type TThostFtdcLastFragmentType = ::std::os::raw::c_char;
pub type TThostFtdcBankAccStatusType = ::std::os::raw::c_char;
pub type TThostFtdcMoneyAccountStatusType = ::std::os::raw::c_char;
pub type TThostFtdcManageStatusType = ::std::os::raw::c_char;
pub type TThostFtdcSystemTypeType = ::std::os::raw::c_char;
pub type TThostFtdcTxnEndFlagType = ::std::os::raw::c_char;
pub type TThostFtdcProcessStatusType = ::std::os::raw::c_char;
pub type TThostFtdcCustTypeType = ::std::os::raw::c_char;
pub type TThostFtdcFBTTransferDirectionType = ::std::os::raw::c_char;
pub type TThostFtdcOpenOrDestroyType = ::std::os::raw::c_char;
pub type TThostFtdcAvailabilityFlagType = ::std::os::raw::c_char;
pub type TThostFtdcOrganTypeType = ::std::os::raw::c_char;
pub type TThostFtdcOrganLevelType = ::std::os::raw::c_char;
pub type TThostFtdcProtocalIDType = ::std::os::raw::c_char;
pub type TThostFtdcConnectModeType = ::std::os::raw::c_char;
pub type TThostFtdcSyncModeType = ::std::os::raw::c_char;
pub type TThostFtdcBankAccTypeType = ::std::os::raw::c_char;
pub type TThostFtdcFutureAccTypeType = ::std::os::raw::c_char;
pub type TThostFtdcOrganStatusType = ::std::os::raw::c_char;
pub type TThostFtdcCCBFeeModeType = ::std::os::raw::c_char;
pub type TThostFtdcCommApiTypeType = ::std::os::raw::c_char;
#[doc = "\n TFtdcServiceIDType是一个服务编号类型\n"]
pub type TThostFtdcServiceIDType = ::std::os::raw::c_int;
#[doc = "\n TFtdcServiceLineNoType是一个服务线路编号类型\n"]
pub type TThostFtdcServiceLineNoType = ::std::os::raw::c_int;
#[doc = "\n TFtdcServiceNameType是一个服务名类型\n"]
pub type TThostFtdcServiceNameType = [::std::os::raw::c_char; 61usize];
pub type TThostFtdcLinkStatusType = ::std::os::raw::c_char;
#[doc = "\n TFtdcCommApiPointerType是一个通讯API指针类型\n"]
pub type TThostFtdcCommApiPointerType = ::std::os::raw::c_int;
pub type TThostFtdcPwdFlagType = ::std::os::raw::c_char;
pub type TThostFtdcSecuAccTypeType = ::std::os::raw::c_char;
pub type TThostFtdcTransferStatusType = ::std::os::raw::c_char;
pub type TThostFtdcSponsorTypeType = ::std::os::raw::c_char;
pub type TThostFtdcReqRspTypeType = ::std::os::raw::c_char;
pub type TThostFtdcFBTUserEventTypeType = ::std::os::raw::c_char;
#[doc = "\n TFtdcBankIDByBankType是一个银行自己的编码类型\n"]
pub type TThostFtdcBankIDByBankType = [::std::os::raw::c_char; 21usize];
#[doc = "\n TFtdcBankOperNoType是一个银行操作员号类型\n"]
pub type TThostFtdcBankOperNoType = [::std::os::raw::c_char; 4usize];
#[doc = "\n TFtdcBankCustNoType是一个银行客户号类型\n"]
pub type TThostFtdcBankCustNoType = [::std::os::raw::c_char; 21usize];
#[doc = "\n TFtdcDBOPSeqNoType是一个递增的序列号类型\n"]
pub type TThostFtdcDBOPSeqNoType = ::std::os::raw::c_int;
#[doc = "\n TFtdcTableNameType是一个FBT表名类型\n"]
pub type TThostFtdcTableNameType = [::std::os::raw::c_char; 61usize];
#[doc = "\n TFtdcPKNameType是一个FBT表操作主键名类型\n"]
pub type TThostFtdcPKNameType = [::std::os::raw::c_char; 201usize];
#[doc = "\n TFtdcPKValueType是一个FBT表操作主键值类型\n"]
pub type TThostFtdcPKValueType = [::std::os::raw::c_char; 501usize];
pub type TThostFtdcDBOperationType = ::std::os::raw::c_char;
pub type TThostFtdcSyncFlagType = ::std::os::raw::c_char;
#[doc = "\n TFtdcTargetIDType是一个同步目标编号类型\n"]
pub type TThostFtdcTargetIDType = [::std::os::raw::c_char; 4usize];
pub type TThostFtdcSyncTypeType = ::std::os::raw::c_char;
#[doc = "\n TFtdcFBETimeType是一个各种换汇时间类型\n"]
pub type TThostFtdcFBETimeType = [::std::os::raw::c_char; 7usize];
#[doc = "\n TFtdcFBEBankNoType是一个换汇银行行号类型\n"]
pub type TThostFtdcFBEBankNoType = [::std::os::raw::c_char; 13usize];
#[doc = "\n TFtdcFBECertNoType是一个换汇凭证号类型\n"]
pub type TThostFtdcFBECertNoType = [::std::os::raw::c_char; 13usize];
pub type TThostFtdcExDirectionType = ::std::os::raw::c_char;
#[doc = "\n TFtdcFBEBankAccountType是一个换汇银行账户类型\n"]
pub type TThostFtdcFBEBankAccountType = [::std::os::raw::c_char; 33usize];
#[doc = "\n TFtdcFBEBankAccountNameType是一个换汇银行账户名类型\n"]
pub type TThostFtdcFBEBankAccountNameType = [::std::os::raw::c_char; 61usize];
#[doc = "\n TFtdcFBEAmtType是一个各种换汇金额类型\n"]
pub type TThostFtdcFBEAmtType = f64;
#[doc = "\n TFtdcFBEBusinessTypeType是一个换汇业务类型类型\n"]
pub type TThostFtdcFBEBusinessTypeType = [::std::os::raw::c_char; 3usize];
#[doc = "\n TFtdcFBEPostScriptType是一个换汇附言类型\n"]
pub type TThostFtdcFBEPostScriptType = [::std::os::raw::c_char; 61usize];
#[doc = "\n TFtdcFBERemarkType是一个换汇备注类型\n"]
pub type TThostFtdcFBERemarkType = [::std::os::raw::c_char; 71usize];
#[doc = "\n TFtdcExRateType是一个换汇汇率类型\n"]
pub type TThostFtdcExRateType = f64;
pub type TThostFtdcFBEResultFlagType = ::std::os::raw::c_char;
#[doc = "\n TFtdcFBERtnMsgType是一个换汇返回信息类型\n"]
pub type TThostFtdcFBERtnMsgType = [::std::os::raw::c_char; 61usize];
#[doc = "\n TFtdcFBEExtendMsgType是一个换汇扩展信息类型\n"]
pub type TThostFtdcFBEExtendMsgType = [::std::os::raw::c_char; 61usize];
#[doc = "\n TFtdcFBEBusinessSerialType是一个换汇记账流水号类型\n"]
pub type TThostFtdcFBEBusinessSerialType = [::std::os::raw::c_char; 31usize];
#[doc = "\n TFtdcFBESystemSerialType是一个换汇流水号类型\n"]
pub type TThostFtdcFBESystemSerialType = [::std::os::raw::c_char; 21usize];
#[doc = "\n TFtdcFBETotalExCntType是一个换汇交易总笔数类型\n"]
pub type TThostFtdcFBETotalExCntType = ::std::os::raw::c_int;
pub type TThostFtdcFBEExchStatusType = ::std::os::raw::c_char;
pub type TThostFtdcFBEFileFlagType = ::std::os::raw::c_char;
pub type TThostFtdcFBEAlreadyTradeType = ::std::os::raw::c_char;
#[doc = "\n TFtdcFBEOpenBankType是一个换汇账户开户行类型\n"]
pub type TThostFtdcFBEOpenBankType = [::std::os::raw::c_char; 61usize];
pub type TThostFtdcFBEUserEventTypeType = ::std::os::raw::c_char;
#[doc = "\n TFtdcFBEFileNameType是一个换汇相关文件名类型\n"]
pub type TThostFtdcFBEFileNameType = [::std::os::raw::c_char; 21usize];
#[doc = "\n TFtdcFBEBatchSerialType是一个换汇批次号类型\n"]
pub type TThostFtdcFBEBatchSerialType = [::std::os::raw::c_char; 21usize];
pub type TThostFtdcFBEReqFlagType = ::std::os::raw::c_char;
pub type TThostFtdcNotifyClassType = ::std::os::raw::c_char;
#[doc = "\n TFtdcRiskNofityInfoType是一个客户风险通知消息类型\n"]
pub type TThostFtdcRiskNofityInfoType = [::std::os::raw::c_char; 257usize];
#[doc = "\n TFtdcForceCloseSceneIdType是一个强平场景编号类型\n"]
pub type TThostFtdcForceCloseSceneIdType = [::std::os::raw::c_char; 24usize];
pub type TThostFtdcForceCloseTypeType = ::std::os::raw::c_char;
#[doc = "\n TFtdcInstrumentIDsType是一个多个产品代码,用+分隔,如cu+zn类型\n"]
pub type TThostFtdcInstrumentIDsType = [::std::os::raw::c_char; 101usize];
pub type TThostFtdcRiskNotifyMethodType = ::std::os::raw::c_char;
pub type TThostFtdcRiskNotifyStatusType = ::std::os::raw::c_char;
pub type TThostFtdcRiskUserEventType = ::std::os::raw::c_char;
#[doc = "\n TFtdcParamIDType是一个参数代码类型\n"]
pub type TThostFtdcParamIDType = ::std::os::raw::c_int;
#[doc = "\n TFtdcParamNameType是一个参数名类型\n"]
pub type TThostFtdcParamNameType = [::std::os::raw::c_char; 41usize];
#[doc = "\n TFtdcParamValueType是一个参数值类型\n"]
pub type TThostFtdcParamValueType = [::std::os::raw::c_char; 41usize];
pub type TThostFtdcConditionalOrderSortTypeType = ::std::os::raw::c_char;
pub type TThostFtdcSendTypeType = ::std::os::raw::c_char;
pub type TThostFtdcClientIDStatusType = ::std::os::raw::c_char;
#[doc = "\n TFtdcIndustryIDType是一个行业编码类型\n"]
pub type TThostFtdcIndustryIDType = [::std::os::raw::c_char; 17usize];
#[doc = "\n TFtdcQuestionIDType是一个特有信息编号类型\n"]
pub type TThostFtdcQuestionIDType = [::std::os::raw::c_char; 5usize];
#[doc = "\n TFtdcQuestionContentType是一个特有信息说明类型\n"]
pub type TThostFtdcQuestionContentType = [::std::os::raw::c_char; 41usize];
#[doc = "\n TFtdcOptionIDType是一个选项编号类型\n"]
pub type TThostFtdcOptionIDType = [::std::os::raw::c_char; 13usize];
#[doc = "\n TFtdcOptionContentType是一个选项说明类型\n"]
pub type TThostFtdcOptionContentType = [::std::os::raw::c_char; 61usize];
pub type TThostFtdcQuestionTypeType = ::std::os::raw::c_char;
#[doc = "\n TFtdcProcessIDType是一个业务流水号类型\n"]
pub type TThostFtdcProcessIDType = [::std::os::raw::c_char; 33usize];
#[doc = "\n TFtdcSeqNoType是一个流水号类型\n"]
pub type TThostFtdcSeqNoType = ::std::os::raw::c_int;
#[doc = "\n TFtdcUOAProcessStatusType是一个流程状态类型\n"]
pub type TThostFtdcUOAProcessStatusType = [::std::os::raw::c_char; 3usize];
#[doc = "\n TFtdcProcessTypeType是一个流程功能类型类型\n"]
pub type TThostFtdcProcessTypeType = [::std::os::raw::c_char; 3usize];
pub type TThostFtdcBusinessTypeType = ::std::os::raw::c_char;
pub type TThostFtdcCfmmcReturnCodeType = ::std::os::raw::c_char;
#[doc = "\n TFtdcExReturnCodeType是一个交易所返回码类型\n"]
pub type TThostFtdcExReturnCodeType = ::std::os::raw::c_int;
pub type TThostFtdcClientTypeType = ::std::os::raw::c_char;
pub type TThostFtdcExchangeIDTypeType = ::std::os::raw::c_char;
pub type TThostFtdcExClientIDTypeType = ::std::os::raw::c_char;
#[doc = "\n TFtdcClientClassifyType是一个客户分类码类型\n"]
pub type TThostFtdcClientClassifyType = [::std::os::raw::c_char; 11usize];
#[doc = "\n TFtdcUOAOrganTypeType是一个单位性质类型\n"]
pub type TThostFtdcUOAOrganTypeType = [::std::os::raw::c_char; 11usize];
#[doc = "\n TFtdcUOACountryCodeType是一个国家代码类型\n"]
pub type TThostFtdcUOACountryCodeType = [::std::os::raw::c_char; 11usize];
#[doc = "\n TFtdcAreaCodeType是一个区号类型\n"]
pub type TThostFtdcAreaCodeType = [::std::os::raw::c_char; 11usize];
#[doc = "\n TFtdcFuturesIDType是一个监控中心为客户分配的代码类型\n"]
pub type TThostFtdcFuturesIDType = [::std::os::raw::c_char; 21usize];
#[doc = "\n TFtdcCffmcDateType是一个日期类型\n"]
pub type TThostFtdcCffmcDateType = [::std::os::raw::c_char; 11usize];
#[doc = "\n TFtdcCffmcTimeType是一个时间类型\n"]
pub type TThostFtdcCffmcTimeType = [::std::os::raw::c_char; 11usize];
#[doc = "\n TFtdcNocIDType是一个组织机构代码类型\n"]
pub type TThostFtdcNocIDType = [::std::os::raw::c_char; 21usize];
pub type TThostFtdcUpdateFlagType = ::std::os::raw::c_char;
pub type TThostFtdcApplyOperateIDType = ::std::os::raw::c_char;
pub type TThostFtdcApplyStatusIDType = ::std::os::raw::c_char;
pub type TThostFtdcSendMethodType = ::std::os::raw::c_char;
#[doc = "\n TFtdcEventTypeType是一个业务操作类型类型\n"]
pub type TThostFtdcEventTypeType = [::std::os::raw::c_char; 33usize];
pub type TThostFtdcEventModeType = ::std::os::raw::c_char;
pub type TThostFtdcUOAAutoSendType = ::std::os::raw::c_char;
#[doc = "\n TFtdcQueryDepthType是一个查询深度类型\n"]
pub type TThostFtdcQueryDepthType = ::std::os::raw::c_int;
#[doc = "\n TFtdcDataCenterIDType是一个数据中心代码类型\n"]
pub type TThostFtdcDataCenterIDType = ::std::os::raw::c_int;
pub type TThostFtdcFlowIDType = ::std::os::raw::c_char;
pub type TThostFtdcCheckLevelType = ::std::os::raw::c_char;
#[doc = "\n TFtdcCheckNoType是一个操作次数类型\n"]
pub type TThostFtdcCheckNoType = ::std::os::raw::c_int;
pub type TThostFtdcCheckStatusType = ::std::os::raw::c_char;
pub type TThostFtdcUsedStatusType = ::std::os::raw::c_char;
#[doc = "\n TFtdcRateTemplateNameType是一个模型名称类型\n"]
pub type TThostFtdcRateTemplateNameType = [::std::os::raw::c_char; 61usize];
#[doc = "\n TFtdcPropertyStringType是一个用于查询的投资属性字段类型\n"]
pub type TThostFtdcPropertyStringType = [::std::os::raw::c_char; 2049usize];
pub type TThostFtdcBankAcountOriginType = ::std::os::raw::c_char;
pub type TThostFtdcMonthBillTradeSumType = ::std::os::raw::c_char;
pub type TThostFtdcFBTTradeCodeEnumType = ::std::os::raw::c_char;
#[doc = "\n TFtdcRateTemplateIDType是一个模型代码类型\n"]
pub type TThostFtdcRateTemplateIDType = [::std::os::raw::c_char; 9usize];
#[doc = "\n TFtdcRiskRateType是一个风险度类型\n"]
pub type TThostFtdcRiskRateType = [::std::os::raw::c_char; 21usize];
#[doc = "\n TFtdcTimestampType是一个时间戳类型\n"]
pub type TThostFtdcTimestampType = ::std::os::raw::c_int;
#[doc = "\n TFtdcInvestorIDRuleNameType是一个号段规则名称类型\n"]
pub type TThostFtdcInvestorIDRuleNameType = [::std::os::raw::c_char; 61usize];
#[doc = "\n TFtdcInvestorIDRuleExprType是一个号段规则表达式类型\n"]
pub type TThostFtdcInvestorIDRuleExprType = [::std::os::raw::c_char; 513usize];
#[doc = "\n TFtdcLastDriftType是一个上次OTP漂移值类型\n"]
pub type TThostFtdcLastDriftType = ::std::os::raw::c_int;
#[doc = "\n TFtdcLastSuccessType是一个上次OTP成功值类型\n"]
pub type TThostFtdcLastSuccessType = ::std::os::raw::c_int;
#[doc = "\n TFtdcAuthKeyType是一个令牌密钥类型\n"]
pub type TThostFtdcAuthKeyType = [::std::os::raw::c_char; 41usize];
#[doc = "\n TFtdcSerialNumberType是一个序列号类型\n"]
pub type TThostFtdcSerialNumberType = [::std::os::raw::c_char; 17usize];
pub type TThostFtdcOTPTypeType = ::std::os::raw::c_char;
#[doc = "\n TFtdcOTPVendorsIDType是一个动态令牌提供商类型\n"]
pub type TThostFtdcOTPVendorsIDType = [::std::os::raw::c_char; 2usize];
#[doc = "\n TFtdcOTPVendorsNameType是一个动态令牌提供商名称类型\n"]
pub type TThostFtdcOTPVendorsNameType = [::std::os::raw::c_char; 61usize];
pub type TThostFtdcOTPStatusType = ::std::os::raw::c_char;
pub type TThostFtdcBrokerUserTypeType = ::std::os::raw::c_char;
pub type TThostFtdcFutureTypeType = ::std::os::raw::c_char;
pub type TThostFtdcFundEventTypeType = ::std::os::raw::c_char;
pub type TThostFtdcAccountSourceTypeType = ::std::os::raw::c_char;
pub type TThostFtdcCodeSourceTypeType = ::std::os::raw::c_char;
pub type TThostFtdcUserRangeType = ::std::os::raw::c_char;
#[doc = "\n TFtdcTimeSpanType是一个时间跨度类型\n"]
pub type TThostFtdcTimeSpanType = [::std::os::raw::c_char; 9usize];
#[doc = "\n TFtdcImportSequenceIDType是一个动态令牌导入批次编号类型\n"]
pub type TThostFtdcImportSequenceIDType = [::std::os::raw::c_char; 17usize];
pub type TThostFtdcByGroupType = ::std::os::raw::c_char;
pub type TThostFtdcTradeSumStatModeType = ::std::os::raw::c_char;
#[doc = "\n TFtdcComTypeType是一个组合成交类型类型\n"]
pub type TThostFtdcComTypeType = ::std::os::raw::c_int;
#[doc = "\n TFtdcUserProductIDType是一个产品标识类型\n"]
pub type TThostFtdcUserProductIDType = [::std::os::raw::c_char; 33usize];
#[doc = "\n TFtdcUserProductNameType是一个产品名称类型\n"]
pub type TThostFtdcUserProductNameType = [::std::os::raw::c_char; 65usize];
#[doc = "\n TFtdcUserProductMemoType是一个产品说明类型\n"]
pub type TThostFtdcUserProductMemoType = [::std::os::raw::c_char; 129usize];
#[doc = "\n TFtdcCSRCCancelFlagType是一个新增或变更标志类型\n"]
pub type TThostFtdcCSRCCancelFlagType = [::std::os::raw::c_char; 2usize];
#[doc = "\n TFtdcCSRCDateType是一个日期类型\n"]
pub type TThostFtdcCSRCDateType = [::std::os::raw::c_char; 11usize];
#[doc = "\n TFtdcCSRCInvestorNameType是一个客户名称类型\n"]
pub type TThostFtdcCSRCInvestorNameType = [::std::os::raw::c_char; 201usize];
#[doc = "\n TFtdcCSRCOpenInvestorNameType是一个客户名称类型\n"]
pub type TThostFtdcCSRCOpenInvestorNameType = [::std::os::raw::c_char; 101usize];
#[doc = "\n TFtdcCSRCInvestorIDType是一个客户代码类型\n"]
pub type TThostFtdcCSRCInvestorIDType = [::std::os::raw::c_char; 13usize];
#[doc = "\n TFtdcCSRCIdentifiedCardNoType是一个证件号码类型\n"]
pub type TThostFtdcCSRCIdentifiedCardNoType = [::std::os::raw::c_char; 51usize];
#[doc = "\n TFtdcCSRCClientIDType是一个交易编码类型\n"]
pub type TThostFtdcCSRCClientIDType = [::std::os::raw::c_char; 11usize];
#[doc = "\n TFtdcCSRCBankFlagType是一个银行标识类型\n"]
pub type TThostFtdcCSRCBankFlagType = [::std::os::raw::c_char; 3usize];
#[doc = "\n TFtdcCSRCBankAccountType是一个银行账户类型\n"]
pub type TThostFtdcCSRCBankAccountType = [::std::os::raw::c_char; 23usize];
#[doc = "\n TFtdcCSRCOpenNameType是一个开户人类型\n"]
pub type TThostFtdcCSRCOpenNameType = [::std::os::raw::c_char; 401usize];
#[doc = "\n TFtdcCSRCMemoType是一个说明类型\n"]
pub type TThostFtdcCSRCMemoType = [::std::os::raw::c_char; 101usize];
#[doc = "\n TFtdcCSRCTimeType是一个时间类型\n"]
pub type TThostFtdcCSRCTimeType = [::std::os::raw::c_char; 11usize];
#[doc = "\n TFtdcCSRCTradeIDType是一个成交流水号类型\n"]
pub type TThostFtdcCSRCTradeIDType = [::std::os::raw::c_char; 21usize];
#[doc = "\n TFtdcCSRCExchangeInstIDType是一个合约代码类型\n"]
pub type TThostFtdcCSRCExchangeInstIDType = [::std::os::raw::c_char; 31usize];
#[doc = "\n TFtdcCSRCMortgageNameType是一个质押品名称类型\n"]
pub type TThostFtdcCSRCMortgageNameType = [::std::os::raw::c_char; 7usize];
#[doc = "\n TFtdcCSRCReasonType是一个事由类型\n"]
pub type TThostFtdcCSRCReasonType = [::std::os::raw::c_char; 3usize];
#[doc = "\n TFtdcIsSettlementType是一个是否为非结算会员类型\n"]
pub type TThostFtdcIsSettlementType = [::std::os::raw::c_char; 2usize];
#[doc = "\n TFtdcCSRCMoneyType是一个资金类型\n"]
pub type TThostFtdcCSRCMoneyType = f64;
#[doc = "\n TFtdcCSRCPriceType是一个价格类型\n"]
pub type TThostFtdcCSRCPriceType = f64;
#[doc = "\n TFtdcCSRCOptionsTypeType是一个期权类型类型\n"]
pub type TThostFtdcCSRCOptionsTypeType = [::std::os::raw::c_char; 2usize];
#[doc = "\n TFtdcCSRCStrikePriceType是一个执行价类型\n"]
pub type TThostFtdcCSRCStrikePriceType = f64;
#[doc = "\n TFtdcCSRCTargetProductIDType是一个标的品种类型\n"]
pub type TThostFtdcCSRCTargetProductIDType = [::std::os::raw::c_char; 3usize];
#[doc = "\n TFtdcCSRCTargetInstrIDType是一个标的合约类型\n"]
pub type TThostFtdcCSRCTargetInstrIDType = [::std::os::raw::c_char; 31usize];
#[doc = "\n TFtdcCommModelNameType是一个手续费率模板名称类型\n"]
pub type TThostFtdcCommModelNameType = [::std::os::raw::c_char; 161usize];
#[doc = "\n TFtdcCommModelMemoType是一个手续费率模板备注类型\n"]
pub type TThostFtdcCommModelMemoType = [::std::os::raw::c_char; 1025usize];
pub type TThostFtdcExprSetModeType = ::std::os::raw::c_char;
pub type TThostFtdcRateInvestorRangeType = ::std::os::raw::c_char;
#[doc = "\n TFtdcAgentBrokerIDType是一个代理经纪公司代码类型\n"]
pub type TThostFtdcAgentBrokerIDType = [::std::os::raw::c_char; 13usize];
#[doc = "\n TFtdcDRIdentityIDType是一个交易中心代码类型\n"]
pub type TThostFtdcDRIdentityIDType = ::std::os::raw::c_int;
#[doc = "\n TFtdcDRIdentityNameType是一个交易中心名称类型\n"]
pub type TThostFtdcDRIdentityNameType = [::std::os::raw::c_char; 65usize];
#[doc = "\n TFtdcDBLinkIDType是一个DBLink标识号类型\n"]
pub type TThostFtdcDBLinkIDType = [::std::os::raw::c_char; 31usize];
pub type TThostFtdcSyncDataStatusType = ::std::os::raw::c_char;
pub type TThostFtdcTradeSourceType = ::std::os::raw::c_char;
pub type TThostFtdcFlexStatModeType = ::std::os::raw::c_char;
pub type TThostFtdcByInvestorRangeType = ::std::os::raw::c_char;
#[doc = "\n TFtdcSRiskRateType是一个风险度类型\n"]
pub type TThostFtdcSRiskRateType = [::std::os::raw::c_char; 21usize];
#[doc = "\n TFtdcSequenceNo12Type是一个序号类型\n"]
pub type TThostFtdcSequenceNo12Type = ::std::os::raw::c_int;
pub type TThostFtdcPropertyInvestorRangeType = ::std::os::raw::c_char;
pub type TThostFtdcFileStatusType = ::std::os::raw::c_char;
pub type TThostFtdcFileGenStyleType = ::std::os::raw::c_char;
pub type TThostFtdcSysOperModeType = ::std::os::raw::c_char;
pub type TThostFtdcSysOperTypeType = ::std::os::raw::c_char;
pub type TThostFtdcCSRCDataQueyTypeType = ::std::os::raw::c_char;
pub type TThostFtdcFreezeStatusType = ::std::os::raw::c_char;
pub type TThostFtdcStandardStatusType = ::std::os::raw::c_char;
#[doc = "\n TFtdcCSRCFreezeStatusType是一个休眠状态类型\n"]
pub type TThostFtdcCSRCFreezeStatusType = [::std::os::raw::c_char; 2usize];
pub type TThostFtdcRightParamTypeType = ::std::os::raw::c_char;
#[doc = "\n TFtdcRightTemplateIDType是一个模板代码类型\n"]
pub type TThostFtdcRightTemplateIDType = [::std::os::raw::c_char; 9usize];
#[doc = "\n TFtdcRightTemplateNameType是一个模板名称类型\n"]
pub type TThostFtdcRightTemplateNameType = [::std::os::raw::c_char; 61usize];
pub type TThostFtdcDataStatusType = ::std::os::raw::c_char;
pub type TThostFtdcAMLCheckStatusType = ::std::os::raw::c_char;
pub type TThostFtdcAmlDateTypeType = ::std::os::raw::c_char;
pub type TThostFtdcAmlCheckLevelType = ::std::os::raw::c_char;
#[doc = "\n TFtdcAmlCheckFlowType是一个反洗钱数据抽取审核流程类型\n"]
pub type TThostFtdcAmlCheckFlowType = [::std::os::raw::c_char; 2usize];
#[doc = "\n TFtdcDataTypeType是一个数据类型类型\n"]
pub type TThostFtdcDataTypeType = [::std::os::raw::c_char; 129usize];
pub type TThostFtdcExportFileTypeType = ::std::os::raw::c_char;
pub type TThostFtdcSettleManagerTypeType = ::std::os::raw::c_char;
#[doc = "\n TFtdcSettleManagerIDType是一个结算配置代码类型\n"]
pub type TThostFtdcSettleManagerIDType = [::std::os::raw::c_char; 33usize];
#[doc = "\n TFtdcSettleManagerNameType是一个结算配置名称类型\n"]
pub type TThostFtdcSettleManagerNameType = [::std::os::raw::c_char; 129usize];
pub type TThostFtdcSettleManagerLevelType = ::std::os::raw::c_char;
pub type TThostFtdcSettleManagerGroupType = ::std::os::raw::c_char;
#[doc = "\n TFtdcCheckResultMemoType是一个核对结果说明类型\n"]
pub type TThostFtdcCheckResultMemoType = [::std::os::raw::c_char; 1025usize];
#[doc = "\n TFtdcFunctionUrlType是一个功能链接类型\n"]
pub type TThostFtdcFunctionUrlType = [::std::os::raw::c_char; 1025usize];
#[doc = "\n TFtdcAuthInfoType是一个客户端认证信息类型\n"]
pub type TThostFtdcAuthInfoType = [::std::os::raw::c_char; 129usize];
#[doc = "\n TFtdcAuthCodeType是一个客户端认证码类型\n"]
pub type TThostFtdcAuthCodeType = [::std::os::raw::c_char; 17usize];
pub type TThostFtdcLimitUseTypeType = ::std::os::raw::c_char;
pub type TThostFtdcDataResourceType = ::std::os::raw::c_char;
pub type TThostFtdcMarginTypeType = ::std::os::raw::c_char;
pub type TThostFtdcActiveTypeType = ::std::os::raw::c_char;
pub type TThostFtdcMarginRateTypeType = ::std::os::raw::c_char;
pub type TThostFtdcBackUpStatusType = ::std::os::raw::c_char;
pub type TThostFtdcInitSettlementType = ::std::os::raw::c_char;
pub type TThostFtdcReportStatusType = ::std::os::raw::c_char;
pub type TThostFtdcSaveStatusType = ::std::os::raw::c_char;
pub type TThostFtdcSettArchiveStatusType = ::std::os::raw::c_char;
pub type TThostFtdcCTPTypeType = ::std::os::raw::c_char;
#[doc = "\n TFtdcToolIDType是一个工具代码类型\n"]
pub type TThostFtdcToolIDType = [::std::os::raw::c_char; 9usize];
#[doc = "\n TFtdcToolNameType是一个工具名称类型\n"]
pub type TThostFtdcToolNameType = [::std::os::raw::c_char; 81usize];
pub type TThostFtdcCloseDealTypeType = ::std::os::raw::c_char;
pub type TThostFtdcMortgageFundUseRangeType = ::std::os::raw::c_char;
#[doc = "\n TFtdcCurrencyUnitType是一个币种单位数量类型\n"]
pub type TThostFtdcCurrencyUnitType = f64;
#[doc = "\n TFtdcExchangeRateType是一个汇率类型\n"]
pub type TThostFtdcExchangeRateType = f64;
pub type TThostFtdcSpecProductTypeType = ::std::os::raw::c_char;
pub type TThostFtdcFundMortgageTypeType = ::std::os::raw::c_char;
pub type TThostFtdcAccountSettlementParamIDType = ::std::os::raw::c_char;
#[doc = "\n TFtdcCurrencyNameType是一个币种名称类型\n"]
pub type TThostFtdcCurrencyNameType = [::std::os::raw::c_char; 31usize];
#[doc = "\n TFtdcCurrencySignType是一个币种符号类型\n"]
pub type TThostFtdcCurrencySignType = [::std::os::raw::c_char; 4usize];
pub type TThostFtdcFundMortDirectionType = ::std::os::raw::c_char;
pub type TThostFtdcBusinessClassType = ::std::os::raw::c_char;
pub type TThostFtdcSwapSourceTypeType = ::std::os::raw::c_char;
pub type TThostFtdcCurrExDirectionType = ::std::os::raw::c_char;
pub type TThostFtdcCurrencySwapStatusType = ::std::os::raw::c_char;
#[doc = "\n TFtdcCurrExchCertNoType是一个凭证号类型\n"]
pub type TThostFtdcCurrExchCertNoType = [::std::os::raw::c_char; 13usize];
#[doc = "\n TFtdcBatchSerialNoType是一个批次号类型\n"]
pub type TThostFtdcBatchSerialNoType = [::std::os::raw::c_char; 21usize];
pub type TThostFtdcReqFlagType = ::std::os::raw::c_char;
pub type TThostFtdcResFlagType = ::std::os::raw::c_char;
#[doc = "\n TFtdcPageControlType是一个换汇页面控制类型\n"]
pub type TThostFtdcPageControlType = [::std::os::raw::c_char; 2usize];
#[doc = "\n TFtdcRecordCountType是一个记录数类型\n"]
pub type TThostFtdcRecordCountType = ::std::os::raw::c_int;
#[doc = "\n TFtdcCurrencySwapMemoType是一个换汇需确认信息类型\n"]
pub type TThostFtdcCurrencySwapMemoType = [::std::os::raw::c_char; 101usize];
pub type TThostFtdcExStatusType = ::std::os::raw::c_char;
pub type TThostFtdcClientRegionType = ::std::os::raw::c_char;
#[doc = "\n TFtdcWorkPlaceType是一个工作单位类型\n"]
pub type TThostFtdcWorkPlaceType = [::std::os::raw::c_char; 101usize];
#[doc = "\n TFtdcBusinessPeriodType是一个经营期限类型\n"]
pub type TThostFtdcBusinessPeriodType = [::std::os::raw::c_char; 21usize];
#[doc = "\n TFtdcWebSiteType是一个网址类型\n"]
pub type TThostFtdcWebSiteType = [::std::os::raw::c_char; 101usize];
#[doc = "\n TFtdcUOAIdCardTypeType是一个统一开户证件类型类型\n"]
pub type TThostFtdcUOAIdCardTypeType = [::std::os::raw::c_char; 3usize];
#[doc = "\n TFtdcClientModeType是一个开户模式类型\n"]
pub type TThostFtdcClientModeType = [::std::os::raw::c_char; 3usize];
#[doc = "\n TFtdcInvestorFullNameType是一个投资者全称类型\n"]
pub type TThostFtdcInvestorFullNameType = [::std::os::raw::c_char; 101usize];
#[doc = "\n TFtdcUOABrokerIDType是一个境外中介机构ID类型\n"]
pub type TThostFtdcUOABrokerIDType = [::std::os::raw::c_char; 11usize];
#[doc = "\n TFtdcUOAZipCodeType是一个邮政编码类型\n"]
pub type TThostFtdcUOAZipCodeType = [::std::os::raw::c_char; 11usize];
#[doc = "\n TFtdcUOAEMailType是一个电子邮箱类型\n"]
pub type TThostFtdcUOAEMailType = [::std::os::raw::c_char; 101usize];
#[doc = "\n TFtdcOldCityType是一个城市类型\n"]
pub type TThostFtdcOldCityType = [::std::os::raw::c_char; 41usize];
#[doc = "\n TFtdcCorporateIdentifiedCardNoType是一个法人代表证件号码类型\n"]
pub type TThostFtdcCorporateIdentifiedCardNoType = [::std::os::raw::c_char; 101usize];
pub type TThostFtdcHasBoardType = ::std::os::raw::c_char;
pub type TThostFtdcStartModeType = ::std::os::raw::c_char;
pub type TThostFtdcTemplateTypeType = ::std::os::raw::c_char;
pub type TThostFtdcLoginModeType = ::std::os::raw::c_char;
pub type TThostFtdcPromptTypeType = ::std::os::raw::c_char;
#[doc = "\n TFtdcLedgerManageIDType是一个分户管理资产编码类型\n"]
pub type TThostFtdcLedgerManageIDType = [::std::os::raw::c_char; 51usize];
#[doc = "\n TFtdcInvestVarietyType是一个投资品种类型\n"]
pub type TThostFtdcInvestVarietyType = [::std::os::raw::c_char; 101usize];
#[doc = "\n TFtdcBankAccountTypeType是一个账户类别类型\n"]
pub type TThostFtdcBankAccountTypeType = [::std::os::raw::c_char; 2usize];
#[doc = "\n TFtdcLedgerManageBankType是一个开户银行类型\n"]
pub type TThostFtdcLedgerManageBankType = [::std::os::raw::c_char; 101usize];
#[doc = "\n TFtdcCffexDepartmentNameType是一个开户营业部类型\n"]
pub type TThostFtdcCffexDepartmentNameType = [::std::os::raw::c_char; 101usize];
#[doc = "\n TFtdcCffexDepartmentCodeType是一个营业部代码类型\n"]
pub type TThostFtdcCffexDepartmentCodeType = [::std::os::raw::c_char; 9usize];
pub type TThostFtdcHasTrusteeType = ::std::os::raw::c_char;
#[doc = "\n TFtdcCSRCMemo1Type是一个说明类型\n"]
pub type TThostFtdcCSRCMemo1Type = [::std::os::raw::c_char; 41usize];
#[doc = "\n TFtdcAssetmgrCFullNameType是一个代理资产管理业务的期货公司全称类型\n"]
pub type TThostFtdcAssetmgrCFullNameType = [::std::os::raw::c_char; 101usize];
#[doc = "\n TFtdcAssetmgrApprovalNOType是一个资产管理业务批文号类型\n"]
pub type TThostFtdcAssetmgrApprovalNOType = [::std::os::raw::c_char; 51usize];
#[doc = "\n TFtdcAssetmgrMgrNameType是一个资产管理业务负责人姓名类型\n"]
pub type TThostFtdcAssetmgrMgrNameType = [::std::os::raw::c_char; 401usize];
pub type TThostFtdcAmTypeType = ::std::os::raw::c_char;
#[doc = "\n TFtdcCSRCAmTypeType是一个机构类型类型\n"]
pub type TThostFtdcCSRCAmTypeType = [::std::os::raw::c_char; 5usize];
pub type TThostFtdcCSRCFundIOTypeType = ::std::os::raw::c_char;
pub type TThostFtdcCusAccountTypeType = ::std::os::raw::c_char;
#[doc = "\n TFtdcCSRCNationalType是一个国籍类型\n"]
pub type TThostFtdcCSRCNationalType = [::std::os::raw::c_char; 4usize];
#[doc = "\n TFtdcCSRCSecAgentIDType是一个二级代理ID类型\n"]
pub type TThostFtdcCSRCSecAgentIDType = [::std::os::raw::c_char; 11usize];
pub type TThostFtdcLanguageTypeType = ::std::os::raw::c_char;
#[doc = "\n TFtdcAmAccountType是一个投资账户类型\n"]
pub type TThostFtdcAmAccountType = [::std::os::raw::c_char; 23usize];
pub type TThostFtdcAssetmgrClientTypeType = ::std::os::raw::c_char;
pub type TThostFtdcAssetmgrTypeType = ::std::os::raw::c_char;
#[doc = "\n TFtdcUOMType是一个计量单位类型\n"]
pub type TThostFtdcUOMType = [::std::os::raw::c_char; 11usize];
#[doc = "\n TFtdcSHFEInstLifePhaseType是一个上期所合约生命周期状态类型\n"]
pub type TThostFtdcSHFEInstLifePhaseType = [::std::os::raw::c_char; 3usize];
#[doc = "\n TFtdcSHFEProductClassType是一个产品类型类型\n"]
pub type TThostFtdcSHFEProductClassType = [::std::os::raw::c_char; 11usize];
#[doc = "\n TFtdcPriceDecimalType是一个价格小数位类型\n"]
pub type TThostFtdcPriceDecimalType = [::std::os::raw::c_char; 2usize];
#[doc = "\n TFtdcInTheMoneyFlagType是一个平值期权标志类型\n"]
pub type TThostFtdcInTheMoneyFlagType = [::std::os::raw::c_char; 2usize];
pub type TThostFtdcCheckInstrTypeType = ::std::os::raw::c_char;
pub type TThostFtdcDeliveryTypeType = ::std::os::raw::c_char;
#[doc = "\n TFtdcBigMoneyType是一个资金类型\n"]
pub type TThostFtdcBigMoneyType = f64;
pub type TThostFtdcMaxMarginSideAlgorithmType = ::std::os::raw::c_char;
pub type TThostFtdcDAClientTypeType = ::std::os::raw::c_char;
#[doc = "\n TFtdcCombinInstrIDType是一个套利合约代码类型\n"]
pub type TThostFtdcCombinInstrIDType = [::std::os::raw::c_char; 61usize];
#[doc = "\n TFtdcCombinSettlePriceType是一个各腿结算价类型\n"]
pub type TThostFtdcCombinSettlePriceType = [::std::os::raw::c_char; 61usize];
#[doc = "\n TFtdcDCEPriorityType是一个优先级类型\n"]
pub type TThostFtdcDCEPriorityType = ::std::os::raw::c_int;
#[doc = "\n TFtdcTradeGroupIDType是一个成交组号类型\n"]
pub type TThostFtdcTradeGroupIDType = ::std::os::raw::c_int;
#[doc = "\n TFtdcIsCheckPrepaType是一个是否校验开户可用资金类型\n"]
pub type TThostFtdcIsCheckPrepaType = ::std::os::raw::c_int;
pub type TThostFtdcUOAAssetmgrTypeType = ::std::os::raw::c_char;
pub type TThostFtdcDirectionEnType = ::std::os::raw::c_char;
pub type TThostFtdcOffsetFlagEnType = ::std::os::raw::c_char;
pub type TThostFtdcHedgeFlagEnType = ::std::os::raw::c_char;
pub type TThostFtdcFundIOTypeEnType = ::std::os::raw::c_char;
pub type TThostFtdcFundTypeEnType = ::std::os::raw::c_char;
pub type TThostFtdcFundDirectionEnType = ::std::os::raw::c_char;
pub type TThostFtdcFundMortDirectionEnType = ::std::os::raw::c_char;
#[doc = "\n TFtdcSwapBusinessTypeType是一个换汇业务种类类型\n"]
pub type TThostFtdcSwapBusinessTypeType = [::std::os::raw::c_char; 3usize];
pub type TThostFtdcOptionsTypeType = ::std::os::raw::c_char;
pub type TThostFtdcStrikeModeType = ::std::os::raw::c_char;
pub type TThostFtdcStrikeTypeType = ::std::os::raw::c_char;
pub type TThostFtdcApplyTypeType = ::std::os::raw::c_char;
pub type TThostFtdcGiveUpDataSourceType = ::std::os::raw::c_char;
#[doc = "\n TFtdcExecOrderSysIDType是一个执行宣告系统编号类型\n"]
pub type TThostFtdcExecOrderSysIDType = [::std::os::raw::c_char; 21usize];
pub type TThostFtdcExecResultType = ::std::os::raw::c_char;
#[doc = "\n TFtdcStrikeSequenceType是一个执行序号类型\n"]
pub type TThostFtdcStrikeSequenceType = ::std::os::raw::c_int;
#[doc = "\n TFtdcStrikeTimeType是一个执行时间类型\n"]
pub type TThostFtdcStrikeTimeType = [::std::os::raw::c_char; 13usize];
pub type TThostFtdcCombinationTypeType = ::std::os::raw::c_char;
pub type TThostFtdcDceCombinationTypeType = ::std::os::raw::c_char;
pub type TThostFtdcOptionRoyaltyPriceTypeType = ::std::os::raw::c_char;
pub type TThostFtdcBalanceAlgorithmType = ::std::os::raw::c_char;
pub type TThostFtdcActionTypeType = ::std::os::raw::c_char;
pub type TThostFtdcForQuoteStatusType = ::std::os::raw::c_char;
pub type TThostFtdcValueMethodType = ::std::os::raw::c_char;
pub type TThostFtdcExecOrderPositionFlagType = ::std::os::raw::c_char;
pub type TThostFtdcExecOrderCloseFlagType = ::std::os::raw::c_char;
pub type TThostFtdcProductTypeType = ::std::os::raw::c_char;
pub type TThostFtdcCZCEUploadFileNameType = ::std::os::raw::c_char;
pub type TThostFtdcDCEUploadFileNameType = ::std::os::raw::c_char;
pub type TThostFtdcSHFEUploadFileNameType = ::std::os::raw::c_char;
pub type TThostFtdcCFFEXUploadFileNameType = ::std::os::raw::c_char;
pub type TThostFtdcCombDirectionType = ::std::os::raw::c_char;
pub type TThostFtdcStrikeOffsetTypeType = ::std::os::raw::c_char;
pub type TThostFtdcReserveOpenAccStasType = ::std::os::raw::c_char;
#[doc = "\n TFtdcLoginRemarkType是一个登录备注类型\n"]
pub type TThostFtdcLoginRemarkType = [::std::os::raw::c_char; 36usize];
#[doc = "\n TFtdcInvestUnitIDType是一个投资单元代码类型\n"]
pub type TThostFtdcInvestUnitIDType = [::std::os::raw::c_char; 17usize];
#[doc = "\n TFtdcBulletinIDType是一个公告编号类型\n"]
pub type TThostFtdcBulletinIDType = ::std::os::raw::c_int;
#[doc = "\n TFtdcNewsTypeType是一个公告类型类型\n"]
pub type TThostFtdcNewsTypeType = [::std::os::raw::c_char; 3usize];
#[doc = "\n TFtdcNewsUrgencyType是一个紧急程度类型\n"]
pub type TThostFtdcNewsUrgencyType = ::std::os::raw::c_char;
#[doc = "\n TFtdcAbstractType是一个消息摘要类型\n"]
pub type TThostFtdcAbstractType = [::std::os::raw::c_char; 81usize];
#[doc = "\n TFtdcComeFromType是一个消息来源类型\n"]
pub type TThostFtdcComeFromType = [::std::os::raw::c_char; 21usize];
#[doc = "\n TFtdcURLLinkType是一个WEB地址类型\n"]
pub type TThostFtdcURLLinkType = [::std::os::raw::c_char; 201usize];
#[doc = "\n TFtdcLongIndividualNameType是一个长个人姓名类型\n"]
pub type TThostFtdcLongIndividualNameType = [::std::os::raw::c_char; 161usize];
#[doc = "\n TFtdcLongFBEBankAccountNameType是一个长换汇银行账户名类型\n"]
pub type TThostFtdcLongFBEBankAccountNameType = [::std::os::raw::c_char; 161usize];
#[doc = "\n TFtdcDateTimeType是一个日期时间类型\n"]
pub type TThostFtdcDateTimeType = [::std::os::raw::c_char; 17usize];
pub type TThostFtdcWeakPasswordSourceType = ::std::os::raw::c_char;
#[doc = "\n TFtdcRandomStringType是一个随机串类型\n"]
pub type TThostFtdcRandomStringType = [::std::os::raw::c_char; 17usize];
pub type TThostFtdcOptSelfCloseFlagType = ::std::os::raw::c_char;
pub type TThostFtdcBizTypeType = ::std::os::raw::c_char;
pub type TThostFtdcAppTypeType = ::std::os::raw::c_char;
#[doc = "\n TFtdcAppIDType是一个App代码类型\n"]
pub type TThostFtdcAppIDType = [::std::os::raw::c_char; 33usize];
#[doc = "\n TFtdcSystemInfoLenType是一个系统信息长度类型\n"]
pub type TThostFtdcSystemInfoLenType = ::std::os::raw::c_int;
#[doc = "\n TFtdcAdditionalInfoLenType是一个补充信息长度类型\n"]
pub type TThostFtdcAdditionalInfoLenType = ::std::os::raw::c_int;
#[doc = "\n TFtdcClientSystemInfoType是一个交易终端系统信息类型\n"]
pub type TThostFtdcClientSystemInfoType = [::std::os::raw::c_char; 273usize];
#[doc = "\n TFtdcAdditionalInfoType是一个系统外部信息类型\n"]
pub type TThostFtdcAdditionalInfoType = [::std::os::raw::c_char; 261usize];
#[doc = "\n TFtdcBase64ClientSystemInfoType是一个base64交易终端系统信息类型\n"]
pub type TThostFtdcBase64ClientSystemInfoType = [::std::os::raw::c_char; 365usize];
#[doc = "\n TFtdcBase64AdditionalInfoType是一个base64系统外部信息类型\n"]
pub type TThostFtdcBase64AdditionalInfoType = [::std::os::raw::c_char; 349usize];
#[doc = "\n TFtdcCurrentAuthMethodType是一个当前可用的认证模式，0代表无需认证模式 A从低位开始最后一位代表图片验证码，倒数第二位代表动态口令，倒数第三位代表短信验证码类型\n"]
pub type TThostFtdcCurrentAuthMethodType = ::std::os::raw::c_int;
#[doc = "\n TFtdcCaptchaInfoLenType是一个图片验证信息长度类型\n"]
pub type TThostFtdcCaptchaInfoLenType = ::std::os::raw::c_int;
#[doc = "\n TFtdcCaptchaInfoType是一个图片验证信息类型\n"]
pub type TThostFtdcCaptchaInfoType = [::std::os::raw::c_char; 2561usize];
#[doc = "\n TFtdcUserTextSeqType是一个用户短信验证码的编号类型\n"]
pub type TThostFtdcUserTextSeqType = ::std::os::raw::c_int;
#[doc = "\n TFtdcHandshakeDataType是一个握手数据内容类型\n"]
pub type TThostFtdcHandshakeDataType = [::std::os::raw::c_char; 301usize];
#[doc = "\n TFtdcHandshakeDataLenType是一个握手数据内容长度类型\n"]
pub type TThostFtdcHandshakeDataLenType = ::std::os::raw::c_int;
#[doc = "\n TFtdcCryptoKeyVersionType是一个api与front通信密钥版本号类型\n"]
pub type TThostFtdcCryptoKeyVersionType = [::std::os::raw::c_char; 31usize];
#[doc = "\n TFtdcRsaKeyVersionType是一个公钥版本号类型\n"]
pub type TThostFtdcRsaKeyVersionType = ::std::os::raw::c_int;
#[doc = "\n TFtdcSoftwareProviderIDType是一个交易软件商ID类型\n"]
pub type TThostFtdcSoftwareProviderIDType = [::std::os::raw::c_char; 22usize];
#[doc = "\n TFtdcCollectTimeType是一个信息采集时间类型\n"]
pub type TThostFtdcCollectTimeType = [::std::os::raw::c_char; 21usize];
#[doc = "\n TFtdcQueryFreqType是一个查询频率类型\n"]
pub type TThostFtdcQueryFreqType = ::std::os::raw::c_int;
pub type TThostFtdcResponseValueType = ::std::os::raw::c_char;
pub type TThostFtdcOTCTradeTypeType = ::std::os::raw::c_char;
pub type TThostFtdcMatchTypeType = ::std::os::raw::c_char;
#[doc = "\n TFtdcOTCTraderIDType是一个OTC交易员代码类型\n"]
pub type TThostFtdcOTCTraderIDType = [::std::os::raw::c_char; 31usize];
#[doc = "\n TFtdcRiskValueType是一个期货风险值类型\n"]
pub type TThostFtdcRiskValueType = f64;
#[doc = "\n TFtdcIDBNameType是一个握手数据内容类型\n"]
pub type TThostFtdcIDBNameType = [::std::os::raw::c_char; 100usize];
#[doc = "\n TFtdcDiscountRatioType是一个折扣率类型\n"]
pub type TThostFtdcDiscountRatioType = f64;
pub type TThostFtdcAuthTypeType = ::std::os::raw::c_char;
pub type TThostFtdcClassTypeType = ::std::os::raw::c_char;
pub type TThostFtdcTradingTypeType = ::std::os::raw::c_char;
pub type TThostFtdcProductStatusType = ::std::os::raw::c_char;
pub type TThostFtdcSyncDeltaStatusType = ::std::os::raw::c_char;
pub type TThostFtdcActionDirectionType = ::std::os::raw::c_char;
pub type TThostFtdcOrderCancelAlgType = ::std::os::raw::c_char;
#[doc = "\n TFtdcSyncDescriptionType是一个追平描述类型\n"]
pub type TThostFtdcSyncDescriptionType = [::std::os::raw::c_char; 257usize];
#[doc = "\n TFtdcCommonIntType是一个通用int类型类型\n"]
pub type TThostFtdcCommonIntType = ::std::os::raw::c_int;
#[doc = "\n TFtdcSysVersionType是一个系统版本类型\n"]
pub type TThostFtdcSysVersionType = [::std::os::raw::c_char; 41usize];
pub type TThostFtdcOpenLimitControlLevelType = ::std::os::raw::c_char;
pub type TThostFtdcOrderFreqControlLevelType = ::std::os::raw::c_char;
pub type TThostFtdcEnumBoolType = ::std::os::raw::c_char;
pub type TThostFtdcTimeRangeType = ::std::os::raw::c_char;
#[doc = "\n TFtdcDeltaType是一个Delta类型类型\n"]
pub type TThostFtdcDeltaType = f64;
#[doc = "\n TFtdcSpreadIdType是一个抵扣组优先级类型\n"]
pub type TThostFtdcSpreadIdType = ::std::os::raw::c_int;
pub type TThostFtdcPortfolioType = ::std::os::raw::c_char;
#[doc = "\n TFtdcPortfolioDefIDType是一个SPBM组合套餐ID类型\n"]
pub type TThostFtdcPortfolioDefIDType = ::std::os::raw::c_int;
pub type TThostFtdcWithDrawParamIDType = ::std::os::raw::c_char;
#[doc = "\n TFtdcWithDrawParamValueType是一个可提控制参数内容类型\n"]
pub type TThostFtdcWithDrawParamValueType = [::std::os::raw::c_char; 41usize];
pub type TThostFtdcInvstTradingRightType = ::std::os::raw::c_char;
#[doc = "\n TFtdcThostFunctionCodeType是一个Thost终端功能代码类型\n"]
pub type TThostFtdcThostFunctionCodeType = ::std::os::raw::c_int;
#[doc = "\n TFtdcSPMMDiscountRatioType是一个SPMM折扣率类型\n"]
pub type TThostFtdcSPMMDiscountRatioType = f64;
#[doc = "\n TFtdcSPMMModelDescType是一个SPMM模板描述类型\n"]
pub type TThostFtdcSPMMModelDescType = [::std::os::raw::c_char; 129usize];
#[doc = "\n TFtdcSPMMModelIDType是一个SPMM模板ID类型\n"]
pub type TThostFtdcSPMMModelIDType = [::std::os::raw::c_char; 33usize];
#[doc = "\n TFtdcSPMMProductIDType是一个SPMM商品群商品组ID类型\n"]
pub type TThostFtdcSPMMProductIDType = [::std::os::raw::c_char; 41usize];
pub type TThostFtdcInstMarginCalIDType = ::std::os::raw::c_char;
#[doc = "\n TFtdcProductIDType是一个产品ID类型\n"]
pub type TThostFtdcProductIDType = [::std::os::raw::c_char; 41usize];
#[doc = "\n TFtdcHedgeRateType是一个HedgeRate类型类型\n"]
pub type TThostFtdcHedgeRateType = f64;
#[doc = "\n TFtdcRCAMSPriorityType是一个优先级类型\n"]
pub type TThostFtdcRCAMSPriorityType = ::std::os::raw::c_int;
#[doc = "\n TFtdcAdjustValueType是一个空头期权风险调整标准类型类型\n"]
pub type TThostFtdcAdjustValueType = f64;
pub type TThostFtdcRCAMSCombinationTypeType = ::std::os::raw::c_char;
#[doc = "\n TFtdcRuleIdType是一个策略id类型\n"]
pub type TThostFtdcRuleIdType = [::std::os::raw::c_char; 51usize];
pub type TThostFtdcPortfTypeType = ::std::os::raw::c_char;
pub type TThostFtdcInstrumentClassType = ::std::os::raw::c_char;
#[doc = "\n TFtdcCommodityGroupIDType是一个商品群号类型\n"]
pub type TThostFtdcCommodityGroupIDType = ::std::os::raw::c_int;
#[doc = "\n TFtdcStdPositionType是一个标准持仓类型类型\n"]
pub type TThostFtdcStdPositionType = f64;
pub type TThostFtdcProdChangeFlagType = ::std::os::raw::c_char;
#[doc = " 信息分发"]
#[repr(C)]
#[derive(Debug, Default, Copy, Clone)]
pub struct CThostFtdcDisseminationField {
    #[doc = " 序列系列号"]
    pub SequenceSeries: TThostFtdcSequenceSeriesType,
    #[doc = " 序列号"]
    pub SequenceNo: TThostFtdcSequenceNoType,
}
#[doc = " 用户登录请求"]
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct CThostFtdcReqUserLoginField {
    #[doc = " 交易日"]
    pub TradingDay: TThostFtdcDateType,
    #[doc = " 经纪公司代码"]
    pub BrokerID: TThostFtdcBrokerIDType,
    #[doc = " 用户代码"]
    pub UserID: TThostFtdcUserIDType,
    #[doc = " 密码"]
    pub Password: TThostFtdcPasswordType,
    #[doc = " 用户端产品信息"]
    pub UserProductInfo: TThostFtdcProductInfoType,
    #[doc = " 接口端产品信息"]
    pub InterfaceProductInfo: TThostFtdcProductInfoType,
    #[doc = " 协议信息"]
    pub ProtocolInfo: TThostFtdcProtocolInfoType,
    #[doc = " Mac地址"]
    pub MacAddress: TThostFtdcMacAddressType,
    #[doc = " 动态密码"]
    pub OneTimePassword: TThostFtdcPasswordType,
    #[doc = " 保留的无效字段"]
    pub reserve1: TThostFtdcOldIPAddressType,
    #[doc = " 登录备注"]
    pub LoginRemark: TThostFtdcLoginRemarkType,
    #[doc = " 终端IP端口"]
    pub ClientIPPort: TThostFtdcIPPortType,
    #[doc = " 终端IP地址"]
    pub ClientIPAddress: TThostFtdcIPAddressType,
}
impl Default for CThostFtdcReqUserLoginField {
    fn default() -> Self {
        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
        unsafe {
            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
            s.assume_init()
        }
    }
}
#[doc = " 用户登录应答"]
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct CThostFtdcRspUserLoginField {
    #[doc = " 交易日"]
    pub TradingDay: TThostFtdcDateType,
    #[doc = " 登录成功时间"]
    pub LoginTime: TThostFtdcTimeType,
    #[doc = " 经纪公司代码"]
    pub BrokerID: TThostFtdcBrokerIDType,
    #[doc = " 用户代码"]
    pub UserID: TThostFtdcUserIDType,
    #[doc = " 交易系统名称"]
    pub SystemName: TThostFtdcSystemNameType,
    #[doc = " 前置编号"]
    pub FrontID: TThostFtdcFrontIDType,
    #[doc = " 会话编号"]
    pub SessionID: TThostFtdcSessionIDType,
    #[doc = " 最大报单引用"]
    pub MaxOrderRef: TThostFtdcOrderRefType,
    #[doc = " 上期所时间"]
    pub SHFETime: TThostFtdcTimeType,
    #[doc = " 大商所时间"]
    pub DCETime: TThostFtdcTimeType,
    #[doc = " 郑商所时间"]
    pub CZCETime: TThostFtdcTimeType,
    #[doc = " 中金所时间"]
    pub FFEXTime: TThostFtdcTimeType,
    #[doc = " 能源中心时间"]
    pub INETime: TThostFtdcTimeType,
    #[doc = " 后台版本信息"]
    pub SysVersion: TThostFtdcSysVersionType,
    #[doc = " 广期所时间"]
    pub GFEXTime: TThostFtdcTimeType,
}
impl Default for CThostFtdcRspUserLoginField {
    fn default() -> Self {
        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
        unsafe {
            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
            s.assume_init()
        }
    }
}
#[doc = " 用户登出请求"]
#[repr(C)]
#[derive(Debug, Default, Copy, Clone)]
pub struct CThostFtdcUserLogoutField {
    #[doc = " 经纪公司代码"]
    pub BrokerID: TThostFtdcBrokerIDType,
    #[doc = " 用户代码"]
    pub UserID: TThostFtdcUserIDType,
}
#[doc = " 强制交易员退出"]
#[repr(C)]
#[derive(Debug, Default, Copy, Clone)]
pub struct CThostFtdcForceUserLogoutField {
    #[doc = " 经纪公司代码"]
    pub BrokerID: TThostFtdcBrokerIDType,
    #[doc = " 用户代码"]
    pub UserID: TThostFtdcUserIDType,
}
#[doc = " 客户端认证请求"]
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct CThostFtdcReqAuthenticateField {
    #[doc = " 经纪公司代码"]
    pub BrokerID: TThostFtdcBrokerIDType,
    #[doc = " 用户代码"]
    pub UserID: TThostFtdcUserIDType,
    #[doc = " 用户端产品信息"]
    pub UserProductInfo: TThostFtdcProductInfoType,
    #[doc = " 认证码"]
    pub AuthCode: TThostFtdcAuthCodeType,
    #[doc = " App代码"]
    pub AppID: TThostFtdcAppIDType,
}
impl Default for CThostFtdcReqAuthenticateField {
    fn default() -> Self {
        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
        unsafe {
            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
            s.assume_init()
        }
    }
}
#[doc = " 客户端认证响应"]
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct CThostFtdcRspAuthenticateField {
    #[doc = " 经纪公司代码"]
    pub BrokerID: TThostFtdcBrokerIDType,
    #[doc = " 用户代码"]
    pub UserID: TThostFtdcUserIDType,
    #[doc = " 用户端产品信息"]
    pub UserProductInfo: TThostFtdcProductInfoType,
    #[doc = " App代码"]
    pub AppID: TThostFtdcAppIDType,
    #[doc = " App类型"]
    pub AppType: TThostFtdcAppTypeType,
}
impl Default for CThostFtdcRspAuthenticateField {
    fn default() -> Self {
        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
        unsafe {
            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
            s.assume_init()
        }
    }
}
#[doc = " 客户端认证信息"]
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct CThostFtdcAuthenticationInfoField {
    #[doc = " 经纪公司代码"]
    pub BrokerID: TThostFtdcBrokerIDType,
    #[doc = " 用户代码"]
    pub UserID: TThostFtdcUserIDType,
    #[doc = " 用户端产品信息"]
    pub UserProductInfo: TThostFtdcProductInfoType,
    #[doc = " 认证信息"]
    pub AuthInfo: TThostFtdcAuthInfoType,
    #[doc = " 是否为认证结果"]
    pub IsResult: TThostFtdcBoolType,
    #[doc = " App代码"]
    pub AppID: TThostFtdcAppIDType,
    #[doc = " App类型"]
    pub AppType: TThostFtdcAppTypeType,
    #[doc = " 保留的无效字段"]
    pub reserve1: TThostFtdcOldIPAddressType,
    #[doc = " 终端IP地址"]
    pub ClientIPAddress: TThostFtdcIPAddressType,
}
impl Default for CThostFtdcAuthenticationInfoField {
    fn default() -> Self {
        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
        unsafe {
            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
            s.assume_init()
        }
    }
}
#[doc = " 用户登录应答2"]
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct CThostFtdcRspUserLogin2Field {
    #[doc = " 交易日"]
    pub TradingDay: TThostFtdcDateType,
    #[doc = " 登录成功时间"]
    pub LoginTime: TThostFtdcTimeType,
    #[doc = " 经纪公司代码"]
    pub BrokerID: TThostFtdcBrokerIDType,
    #[doc = " 用户代码"]
    pub UserID: TThostFtdcUserIDType,
    #[doc = " 交易系统名称"]
    pub SystemName: TThostFtdcSystemNameType,
    #[doc = " 前置编号"]
    pub FrontID: TThostFtdcFrontIDType,
    #[doc = " 会话编号"]
    pub SessionID: TThostFtdcSessionIDType,
    #[doc = " 最大报单引用"]
    pub MaxOrderRef: TThostFtdcOrderRefType,
    #[doc = " 上期所时间"]
    pub SHFETime: TThostFtdcTimeType,
    #[doc = " 大商所时间"]
    pub DCETime: TThostFtdcTimeType,
    #[doc = " 郑商所时间"]
    pub CZCETime: TThostFtdcTimeType,
    #[doc = " 中金所时间"]
    pub FFEXTime: TThostFtdcTimeType,
    #[doc = " 能源中心时间"]
    pub INETime: TThostFtdcTimeType,
    #[doc = " 随机串"]
    pub RandomString: TThostFtdcRandomStringType,
}
impl Default for CThostFtdcRspUserLogin2Field {
    fn default() -> Self {
        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
        unsafe {
            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
            s.assume_init()
        }
    }
}
#[doc = " 银期转帐报文头"]
#[repr(C)]
#[derive(Debug, Default, Copy, Clone)]
pub struct CThostFtdcTransferHeaderField {
    #[doc = " 版本号，常量，1.0"]
    pub Version: TThostFtdcVersionType,
    #[doc = " 交易代码，必填"]
    pub TradeCode: TThostFtdcTradeCodeType,
    #[doc = " 交易日期，必填，格式：yyyymmdd"]
    pub TradeDate: TThostFtdcTradeDateType,
    #[doc = " 交易时间，必填，格式：hhmmss"]
    pub TradeTime: TThostFtdcTradeTimeType,
    #[doc = " 发起方流水号，N/A"]
    pub TradeSerial: TThostFtdcTradeSerialType,
    #[doc = " 期货公司代码，必填"]
    pub FutureID: TThostFtdcFutureIDType,
    #[doc = " 银行代码，根据查询银行得到，必填"]
    pub BankID: TThostFtdcBankIDType,
    #[doc = " 银行分中心代码，根据查询银行得到，必填"]
    pub BankBrchID: TThostFtdcBankBrchIDType,
    #[doc = " 操作员，N/A"]
    pub OperNo: TThostFtdcOperNoType,
    #[doc = " 交易设备类型，N/A"]
    pub DeviceID: TThostFtdcDeviceIDType,
    #[doc = " 记录数，N/A"]
    pub RecordNum: TThostFtdcRecordNumType,
    #[doc = " 会话编号，N/A"]
    pub SessionID: TThostFtdcSessionIDType,
    #[doc = " 请求编号，N/A"]
    pub RequestID: TThostFtdcRequestIDType,
}
#[doc = " 银行资金转期货请求，TradeCode=202001"]
#[repr(C)]
#[derive(Debug, Default, Copy, Clone)]
pub struct CThostFtdcTransferBankToFutureReqField {
    #[doc = " 期货资金账户"]
    pub FutureAccount: TThostFtdcAccountIDType,
    #[doc = " 密码标志"]
    pub FuturePwdFlag: TThostFtdcFuturePwdFlagType,
    #[doc = " 密码"]
    pub FutureAccPwd: TThostFtdcFutureAccPwdType,
    #[doc = " 转账金额"]
    pub TradeAmt: TThostFtdcMoneyType,
    #[doc = " 客户手续费"]
    pub CustFee: TThostFtdcMoneyType,
    #[doc = " 币种：RMB-人民币 USD-美圆 HKD-港元"]
    pub CurrencyCode: TThostFtdcCurrencyCodeType,
}
#[doc = " 银行资金转期货请求响应"]
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct CThostFtdcTransferBankToFutureRspField {
    #[doc = " 响应代码"]
    pub RetCode: TThostFtdcRetCodeType,
    #[doc = " 响应信息"]
    pub RetInfo: TThostFtdcRetInfoType,
    #[doc = " 资金账户"]
    pub FutureAccount: TThostFtdcAccountIDType,
    #[doc = " 转帐金额"]
    pub TradeAmt: TThostFtdcMoneyType,
    #[doc = " 应收客户手续费"]
    pub CustFee: TThostFtdcMoneyType,
    #[doc = " 币种"]
    pub CurrencyCode: TThostFtdcCurrencyCodeType,
}
impl Default for CThostFtdcTransferBankToFutureRspField {
    fn default() -> Self {
        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
        unsafe {
            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
            s.assume_init()
        }
    }
}
#[doc = " 期货资金转银行请求，TradeCode=202002"]
#[repr(C)]
#[derive(Debug, Default, Copy, Clone)]
pub struct CThostFtdcTransferFutureToBankReqField {
    #[doc = " 期货资金账户"]
    pub FutureAccount: TThostFtdcAccountIDType,
    #[doc = " 密码标志"]
    pub FuturePwdFlag: TThostFtdcFuturePwdFlagType,
    #[doc = " 密码"]
    pub FutureAccPwd: TThostFtdcFutureAccPwdType,
    #[doc = " 转账金额"]
    pub TradeAmt: TThostFtdcMoneyType,
    #[doc = " 客户手续费"]
    pub CustFee: TThostFtdcMoneyType,
    #[doc = " 币种：RMB-人民币 USD-美圆 HKD-港元"]
    pub CurrencyCode: TThostFtdcCurrencyCodeType,
}
#[doc = " 期货资金转银行请求响应"]
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct CThostFtdcTransferFutureToBankRspField {
    #[doc = " 响应代码"]
    pub RetCode: TThostFtdcRetCodeType,
    #[doc = " 响应信息"]
    pub RetInfo: TThostFtdcRetInfoType,
    #[doc = " 资金账户"]
    pub FutureAccount: TThostFtdcAccountIDType,
    #[doc = " 转帐金额"]
    pub TradeAmt: TThostFtdcMoneyType,
    #[doc = " 应收客户手续费"]
    pub CustFee: TThostFtdcMoneyType,
    #[doc = " 币种"]
    pub CurrencyCode: TThostFtdcCurrencyCodeType,
}
impl Default for CThostFtdcTransferFutureToBankRspField {
    fn default() -> Self {
        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
        unsafe {
            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
            s.assume_init()
        }
    }
}
#[doc = " 查询银行资金请求，TradeCode=204002"]
#[repr(C)]
#[derive(Debug, Default, Copy, Clone)]
pub struct CThostFtdcTransferQryBankReqField {
    #[doc = " 期货资金账户"]
    pub FutureAccount: TThostFtdcAccountIDType,
    #[doc = " 密码标志"]
    pub FuturePwdFlag: TThostFtdcFuturePwdFlagType,
    #[doc = " 密码"]
    pub FutureAccPwd: TThostFtdcFutureAccPwdType,
    #[doc = " 币种：RMB-人民币 USD-美圆 HKD-港元"]
    pub CurrencyCode: TThostFtdcCurrencyCodeType,
}
#[doc = " 查询银行资金请求响应"]
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct CThostFtdcTransferQryBankRspField {
    #[doc = " 响应代码"]
    pub RetCode: TThostFtdcRetCodeType,
    #[doc = " 响应信息"]
    pub RetInfo: TThostFtdcRetInfoType,
    #[doc = " 资金账户"]
    pub FutureAccount: TThostFtdcAccountIDType,
    #[doc = " 银行余额"]
    pub TradeAmt: TThostFtdcMoneyType,
    #[doc = " 银行可用余额"]
    pub UseAmt: TThostFtdcMoneyType,
    #[doc = " 银行可取余额"]
    pub FetchAmt: TThostFtdcMoneyType,
    #[doc = " 币种"]
    pub CurrencyCode: TThostFtdcCurrencyCodeType,
}
impl Default for CThostFtdcTransferQryBankRspField {
    fn default() -> Self {
        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
        unsafe {
            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
            s.assume_init()
        }
    }
}
#[doc = " 查询银行交易明细请求，TradeCode=204999"]
#[repr(C)]
#[derive(Debug, Default, Copy, Clone)]
pub struct CThostFtdcTransferQryDetailReqField {
    #[doc = " 期货资金账户"]
    pub FutureAccount: TThostFtdcAccountIDType,
}
#[doc = " 查询银行交易明细请求响应"]
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct CThostFtdcTransferQryDetailRspField {
    #[doc = " 交易日期"]
    pub TradeDate: TThostFtdcDateType,
    #[doc = " 交易时间"]
    pub TradeTime: TThostFtdcTradeTimeType,
    #[doc = " 交易代码"]
    pub TradeCode: TThostFtdcTradeCodeType,
    #[doc = " 期货流水号"]
    pub FutureSerial: TThostFtdcTradeSerialNoType,
    #[doc = " 期货公司代码"]
    pub FutureID: TThostFtdcFutureIDType,
    #[doc = " 资金帐号"]
    pub FutureAccount: TThostFtdcFutureAccountType,
    #[doc = " 银行流水号"]
    pub BankSerial: TThostFtdcTradeSerialNoType,
    #[doc = " 银行代码"]
    pub BankID: TThostFtdcBankIDType,
    #[doc = " 银行分中心代码"]
    pub BankBrchID: TThostFtdcBankBrchIDType,
    #[doc = " 银行账号"]
    pub BankAccount: TThostFtdcBankAccountType,
    #[doc = " 证件号码"]
    pub CertCode: TThostFtdcCertCodeType,
    #[doc = " 货币代码"]
    pub CurrencyCode: TThostFtdcCurrencyCodeType,
    #[doc = " 发生金额"]
    pub TxAmount: TThostFtdcMoneyType,
    #[doc = " 有效标志"]
    pub Flag: TThostFtdcTransferValidFlagType,
}
impl Default for CThostFtdcTransferQryDetailRspField {
    fn default() -> Self {
        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
        unsafe {
            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
            s.assume_init()
        }
    }
}
#[doc = " 响应信息"]
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct CThostFtdcRspInfoField {
    #[doc = " 错误代码"]
    pub ErrorID: TThostFtdcErrorIDType,
    #[doc = " 错误信息"]
    pub ErrorMsg: TThostFtdcErrorMsgType,
}
impl Default for CThostFtdcRspInfoField {
    fn default() -> Self {
        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
        unsafe {
            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
            s.assume_init()
        }
    }
}
#[doc = " 交易所"]
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct CThostFtdcExchangeField {
    #[doc = " 交易所代码"]
    pub ExchangeID: TThostFtdcExchangeIDType,
    #[doc = " 交易所名称"]
    pub ExchangeName: TThostFtdcExchangeNameType,
    #[doc = " 交易所属性"]
    pub ExchangeProperty: TThostFtdcExchangePropertyType,
}
impl Default for CThostFtdcExchangeField {
    fn default() -> Self {
        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
        unsafe {
            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
            s.assume_init()
        }
    }
}
#[doc = " 产品"]
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct CThostFtdcProductField {
    #[doc = " 保留的无效字段"]
    pub reserve1: TThostFtdcOldInstrumentIDType,
    #[doc = " 产品名称"]
    pub ProductName: TThostFtdcProductNameType,
    #[doc = " 交易所代码"]
    pub ExchangeID: TThostFtdcExchangeIDType,
    #[doc = " 产品类型"]
    pub ProductClass: TThostFtdcProductClassType,
    #[doc = " 合约数量乘数"]
    pub VolumeMultiple: TThostFtdcVolumeMultipleType,
    #[doc = " 最小变动价位"]
    pub PriceTick: TThostFtdcPriceType,
    #[doc = " 市价单最大下单量"]
    pub MaxMarketOrderVolume: TThostFtdcVolumeType,
    #[doc = " 市价单最小下单量"]
    pub MinMarketOrderVolume: TThostFtdcVolumeType,
    #[doc = " 限价单最大下单量"]
    pub MaxLimitOrderVolume: TThostFtdcVolumeType,
    #[doc = " 限价单最小下单量"]
    pub MinLimitOrderVolume: TThostFtdcVolumeType,
    #[doc = " 持仓类型"]
    pub PositionType: TThostFtdcPositionTypeType,
    #[doc = " 持仓日期类型"]
    pub PositionDateType: TThostFtdcPositionDateTypeType,
    #[doc = " 平仓处理类型"]
    pub CloseDealType: TThostFtdcCloseDealTypeType,
    #[doc = " 交易币种类型"]
    pub TradeCurrencyID: TThostFtdcCurrencyIDType,
    #[doc = " 质押资金可用范围"]
    pub MortgageFundUseRange: TThostFtdcMortgageFundUseRangeType,
    #[doc = " 保留的无效字段"]
    pub reserve2: TThostFtdcOldInstrumentIDType,
    #[doc = " 合约基础商品乘数"]
    pub UnderlyingMultiple: TThostFtdcUnderlyingMultipleType,
    #[doc = " 产品代码"]
    pub ProductID: TThostFtdcInstrumentIDType,
    #[doc = " 交易所产品代码"]
    pub ExchangeProductID: TThostFtdcInstrumentIDType,
    #[doc = " 开仓量限制粒度"]
    pub OpenLimitControlLevel: TThostFtdcOpenLimitControlLevelType,
    #[doc = " 报单频率控制粒度"]
    pub OrderFreqControlLevel: TThostFtdcOrderFreqControlLevelType,
}
impl Default for CThostFtdcProductField {
    fn default() -> Self {
        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
        unsafe {
            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
            s.assume_init()
        }
    }
}
#[doc = " 合约"]
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct CThostFtdcInstrumentField {
    #[doc = " 保留的无效字段"]
    pub reserve1: TThostFtdcOldInstrumentIDType,
    #[doc = " 交易所代码"]
    pub ExchangeID: TThostFtdcExchangeIDType,
    #[doc = " 合约名称"]
    pub InstrumentName: TThostFtdcInstrumentNameType,
    #[doc = " 保留的无效字段"]
    pub reserve2: TThostFtdcOldExchangeInstIDType,
    #[doc = " 保留的无效字段"]
    pub reserve3: TThostFtdcOldInstrumentIDType,
    #[doc = " 产品类型"]
    pub ProductClass: TThostFtdcProductClassType,
    #[doc = " 交割年份"]
    pub DeliveryYear: TThostFtdcYearType,
    #[doc = " 交割月"]
    pub DeliveryMonth: TThostFtdcMonthType,
    #[doc = " 市价单最大下单量"]
    pub MaxMarketOrderVolume: TThostFtdcVolumeType,
    #[doc = " 市价单最小下单量"]
    pub MinMarketOrderVolume: TThostFtdcVolumeType,
    #[doc = " 限价单最大下单量"]
    pub MaxLimitOrderVolume: TThostFtdcVolumeType,
    #[doc = " 限价单最小下单量"]
    pub MinLimitOrderVolume: TThostFtdcVolumeType,
    #[doc = " 合约数量乘数"]
    pub VolumeMultiple: TThostFtdcVolumeMultipleType,
    #[doc = " 最小变动价位"]
    pub PriceTick: TThostFtdcPriceType,
    #[doc = " 创建日"]
    pub CreateDate: TThostFtdcDateType,
    #[doc = " 上市日"]
    pub OpenDate: TThostFtdcDateType,
    #[doc = " 到期日"]
    pub ExpireDate: TThostFtdcDateType,
    #[doc = " 开始交割日"]
    pub StartDelivDate: TThostFtdcDateType,
    #[doc = " 结束交割日"]
    pub EndDelivDate: TThostFtdcDateType,
    #[doc = " 合约生命周期状态"]
    pub InstLifePhase: TThostFtdcInstLifePhaseType,
    #[doc = " 当前是否交易"]
    pub IsTrading: TThostFtdcBoolType,
    #[doc = " 持仓类型"]
    pub PositionType: TThostFtdcPositionTypeType,
    #[doc = " 持仓日期类型"]
    pub PositionDateType: TThostFtdcPositionDateTypeType,
    #[doc = " 多头保证金率"]
    pub LongMarginRatio: TThostFtdcRatioType,
    #[doc = " 空头保证金率"]
    pub ShortMarginRatio: TThostFtdcRatioType,
    #[doc = " 是否使用大额单边保证金算法"]
    pub MaxMarginSideAlgorithm: TThostFtdcMaxMarginSideAlgorithmType,
    #[doc = " 保留的无效字段"]
    pub reserve4: TThostFtdcOldInstrumentIDType,
    #[doc = " 执行价"]
    pub StrikePrice: TThostFtdcPriceType,
    #[doc = " 期权类型"]
    pub OptionsType: TThostFtdcOptionsTypeType,
    #[doc = " 合约基础商品乘数"]
    pub UnderlyingMultiple: TThostFtdcUnderlyingMultipleType,
    #[doc = " 组合类型"]
    pub CombinationType: TThostFtdcCombinationTypeType,
    #[doc = " 合约代码"]
    pub InstrumentID: TThostFtdcInstrumentIDType,
    #[doc = " 合约在交易所的代码"]
    pub ExchangeInstID: TThostFtdcExchangeInstIDType,
    #[doc = " 产品代码"]
    pub ProductID: TThostFtdcInstrumentIDType,
    #[doc = " 基础商品代码"]
    pub UnderlyingInstrID: TThostFtdcInstrumentIDType,
}
impl Default for CThostFtdcInstrumentField {
    fn default() -> Self {
        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
        unsafe {
            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
            s.assume_init()
        }
    }
}
#[doc = " 经纪公司"]
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct CThostFtdcBrokerField {
    #[doc = " 经纪公司代码"]
    pub BrokerID: TThostFtdcBrokerIDType,
    #[doc = " 经纪公司简称"]
    pub BrokerAbbr: TThostFtdcBrokerAbbrType,
    #[doc = " 经纪公司名称"]
    pub BrokerName: TThostFtdcBrokerNameType,
    #[doc = " 是否活跃"]
    pub IsActive: TThostFtdcBoolType,
}
impl Default for CThostFtdcBrokerField {
    fn default() -> Self {
        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
        unsafe {
            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
            s.assume_init()
        }
    }
}
#[doc = " 交易所交易员"]
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct CThostFtdcTraderField {
    #[doc = " 交易所代码"]
    pub ExchangeID: TThostFtdcExchangeIDType,
    #[doc = " 交易所交易员代码"]
    pub TraderID: TThostFtdcTraderIDType,
    #[doc = " 会员代码"]
    pub ParticipantID: TThostFtdcParticipantIDType,
    #[doc = " 密码"]
    pub Password: TThostFtdcPasswordType,
    #[doc = " 安装数量"]
    pub InstallCount: TThostFtdcInstallCountType,
    #[doc = " 经纪公司代码"]
    pub BrokerID: TThostFtdcBrokerIDType,
    #[doc = " 撤单时选择席位算法"]
    pub OrderCancelAlg: TThostFtdcOrderCancelAlgType,
    #[doc = " 交易报盘安装数量"]
    pub TradeInstallCount: TThostFtdcInstallCountType,
    #[doc = " 行情报盘安装数量"]
    pub MDInstallCount: TThostFtdcInstallCountType,
}
impl Default for CThostFtdcTraderField {
    fn default() -> Self {
        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
        unsafe {
            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
            s.assume_init()
        }
    }
}
#[doc = " 投资者"]
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct CThostFtdcInvestorField {
    #[doc = " 投资者代码"]
    pub InvestorID: TThostFtdcInvestorIDType,
    #[doc = " 经纪公司代码"]
    pub BrokerID: TThostFtdcBrokerIDType,
    #[doc = " 投资者分组代码"]
    pub InvestorGroupID: TThostFtdcInvestorIDType,
    #[doc = " 投资者名称"]
    pub InvestorName: TThostFtdcPartyNameType,
    #[doc = " 证件类型"]
    pub IdentifiedCardType: TThostFtdcIdCardTypeType,
    #[doc = " 证件号码"]
    pub IdentifiedCardNo: TThostFtdcIdentifiedCardNoType,
    #[doc = " 是否活跃"]
    pub IsActive: TThostFtdcBoolType,
    #[doc = " 联系电话"]
    pub Telephone: TThostFtdcTelephoneType,
    #[doc = " 通讯地址"]
    pub Address: TThostFtdcAddressType,
    #[doc = " 开户日期"]
    pub OpenDate: TThostFtdcDateType,
    #[doc = " 手机"]
    pub Mobile: TThostFtdcMobileType,
    #[doc = " 手续费率模板代码"]
    pub CommModelID: TThostFtdcInvestorIDType,
    #[doc = " 保证金率模板代码"]
    pub MarginModelID: TThostFtdcInvestorIDType,
    #[doc = " 是否频率控制"]
    pub IsOrderFreq: TThostFtdcEnumBoolType,
    #[doc = " 是否开仓限制"]
    pub IsOpenVolLimit: TThostFtdcEnumBoolType,
}
impl Default for CThostFtdcInvestorField {
    fn default() -> Self {
        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
        unsafe {
            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
            s.assume_init()
        }
    }
}
#[doc = " 交易编码"]
#[repr(C)]
#[derive(Debug, Default, Copy, Clone)]
pub struct CThostFtdcTradingCodeField {
    #[doc = " 投资者代码"]
    pub InvestorID: TThostFtdcInvestorIDType,
    #[doc = " 经纪公司代码"]
    pub BrokerID: TThostFtdcBrokerIDType,
    #[doc = " 交易所代码"]
    pub ExchangeID: TThostFtdcExchangeIDType,
    #[doc = " 客户代码"]
    pub ClientID: TThostFtdcClientIDType,
    #[doc = " 是否活跃"]
    pub IsActive: TThostFtdcBoolType,
    #[doc = " 交易编码类型"]
    pub ClientIDType: TThostFtdcClientIDTypeType,
    #[doc = " 营业部编号"]
    pub BranchID: TThostFtdcBranchIDType,
    #[doc = " 业务类型"]
    pub BizType: TThostFtdcBizTypeType,
    #[doc = " 投资单元代码"]
    pub InvestUnitID: TThostFtdcInvestUnitIDType,
}
#[doc = " 会员编码和经纪公司编码对照表"]
#[repr(C)]
#[derive(Debug, Default, Copy, Clone)]
pub struct CThostFtdcPartBrokerField {
    #[doc = " 经纪公司代码"]
    pub BrokerID: TThostFtdcBrokerIDType,
    #[doc = " 交易所代码"]
    pub ExchangeID: TThostFtdcExchangeIDType,
    #[doc = " 会员代码"]
    pub ParticipantID: TThostFtdcParticipantIDType,
    #[doc = " 是否活跃"]
    pub IsActive: TThostFtdcBoolType,
}
#[doc = " 管理用户"]
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct CThostFtdcSuperUserField {
    #[doc = " 用户代码"]
    pub UserID: TThostFtdcUserIDType,
    #[doc = " 用户名称"]
    pub UserName: TThostFtdcUserNameType,
    #[doc = " 密码"]
    pub Password: TThostFtdcPasswordType,
    #[doc = " 是否活跃"]
    pub IsActive: TThostFtdcBoolType,
}
impl Default for CThostFtdcSuperUserField {
    fn default() -> Self {
        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
        unsafe {
            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
            s.assume_init()
        }
    }
}
#[doc = " 管理用户功能权限"]
#[repr(C)]
#[derive(Debug, Default, Copy, Clone)]
pub struct CThostFtdcSuperUserFunctionField {
    #[doc = " 用户代码"]
    pub UserID: TThostFtdcUserIDType,
    #[doc = " 功能代码"]
    pub FunctionCode: TThostFtdcFunctionCodeType,
}
#[doc = " 投资者组"]
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct CThostFtdcInvestorGroupField {
    #[doc = " 经纪公司代码"]
    pub BrokerID: TThostFtdcBrokerIDType,
    #[doc = " 投资者分组代码"]
    pub InvestorGroupID: TThostFtdcInvestorIDType,
    #[doc = " 投资者分组名称"]
    pub InvestorGroupName: TThostFtdcInvestorGroupNameType,
}
impl Default for CThostFtdcInvestorGroupField {
    fn default() -> Self {
        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
        unsafe {
            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
            s.assume_init()
        }
    }
}
#[doc = " 资金账户"]
#[repr(C)]
#[derive(Debug, Default, Copy, Clone)]
pub struct CThostFtdcTradingAccountField {
    #[doc = " 经纪公司代码"]
    pub BrokerID: TThostFtdcBrokerIDType,
    #[doc = " 投资者帐号"]
    pub AccountID: TThostFtdcAccountIDType,
    #[doc = " 上次质押金额"]
    pub PreMortgage: TThostFtdcMoneyType,
    #[doc = " 上次信用额度"]
    pub PreCredit: TThostFtdcMoneyType,
    #[doc = " 上次存款额"]
    pub PreDeposit: TThostFtdcMoneyType,
    #[doc = " 上次结算准备金"]
    pub PreBalance: TThostFtdcMoneyType,
    #[doc = " 上次占用的保证金"]
    pub PreMargin: TThostFtdcMoneyType,
    #[doc = " 利息基数"]
    pub InterestBase: TThostFtdcMoneyType,
    #[doc = " 利息收入"]
    pub Interest: TThostFtdcMoneyType,
    #[doc = " 入金金额"]
    pub Deposit: TThostFtdcMoneyType,
    #[doc = " 出金金额"]
    pub Withdraw: TThostFtdcMoneyType,
    #[doc = " 冻结的保证金"]
    pub FrozenMargin: TThostFtdcMoneyType,
    #[doc = " 冻结的资金"]
    pub FrozenCash: TThostFtdcMoneyType,
    #[doc = " 冻结的手续费"]
    pub FrozenCommission: TThostFtdcMoneyType,
    #[doc = " 当前保证金总额"]
    pub CurrMargin: TThostFtdcMoneyType,
    #[doc = " 资金差额"]
    pub CashIn: TThostFtdcMoneyType,
    #[doc = " 手续费"]
    pub Commission: TThostFtdcMoneyType,
    #[doc = " 平仓盈亏"]
    pub CloseProfit: TThostFtdcMoneyType,
    #[doc = " 持仓盈亏"]
    pub PositionProfit: TThostFtdcMoneyType,
    #[doc = " 期货结算准备金"]
    pub Balance: TThostFtdcMoneyType,
    #[doc = " 可用资金"]
    pub Available: TThostFtdcMoneyType,
    #[doc = " 可取资金"]
    pub WithdrawQuota: TThostFtdcMoneyType,
    #[doc = " 基本准备金"]
    pub Reserve: TThostFtdcMoneyType,
    #[doc = " 交易日"]
    pub TradingDay: TThostFtdcDateType,
    #[doc = " 结算编号"]
    pub SettlementID: TThostFtdcSettlementIDType,
    #[doc = " 信用额度"]
    pub Credit: TThostFtdcMoneyType,
    #[doc = " 质押金额"]
    pub Mortgage: TThostFtdcMoneyType,
    #[doc = " 交易所保证金"]
    pub ExchangeMargin: TThostFtdcMoneyType,
    #[doc = " 投资者交割保证金"]
    pub DeliveryMargin: TThostFtdcMoneyType,
    #[doc = " 交易所交割保证金"]
    pub ExchangeDeliveryMargin: TThostFtdcMoneyType,
    #[doc = " 保底期货结算准备金"]
    pub ReserveBalance: TThostFtdcMoneyType,
    #[doc = " 币种代码"]
    pub CurrencyID: TThostFtdcCurrencyIDType,
    #[doc = " 上次货币质入金额"]
    pub PreFundMortgageIn: TThostFtdcMoneyType,
    #[doc = " 上次货币质出金额"]
    pub PreFundMortgageOut: TThostFtdcMoneyType,
    #[doc = " 货币质入金额"]
    pub FundMortgageIn: TThostFtdcMoneyType,
    #[doc = " 货币质出金额"]
    pub FundMortgageOut: TThostFtdcMoneyType,
    #[doc = " 货币质押余额"]
    pub FundMortgageAvailable: TThostFtdcMoneyType,
    #[doc = " 可质押货币金额"]
    pub MortgageableFund: TThostFtdcMoneyType,
    #[doc = " 特殊产品占用保证金"]
    pub SpecProductMargin: TThostFtdcMoneyType,
    #[doc = " 特殊产品冻结保证金"]
    pub SpecProductFrozenMargin: TThostFtdcMoneyType,
    #[doc = " 特殊产品手续费"]
    pub SpecProductCommission: TThostFtdcMoneyType,
    #[doc = " 特殊产品冻结手续费"]
    pub SpecProductFrozenCommission: TThostFtdcMoneyType,
    #[doc = " 特殊产品持仓盈亏"]
    pub SpecProductPositionProfit: TThostFtdcMoneyType,
    #[doc = " 特殊产品平仓盈亏"]
    pub SpecProductCloseProfit: TThostFtdcMoneyType,
    #[doc = " 根据持仓盈亏算法计算的特殊产品持仓盈亏"]
    pub SpecProductPositionProfitByAlg: TThostFtdcMoneyType,
    #[doc = " 特殊产品交易所保证金"]
    pub SpecProductExchangeMargin: TThostFtdcMoneyType,
    #[doc = " 业务类型"]
    pub BizType: TThostFtdcBizTypeType,
    #[doc = " 延时换汇冻结金额"]
    pub FrozenSwap: TThostFtdcMoneyType,
    #[doc = " 剩余换汇额度"]
    pub RemainSwap: TThostFtdcMoneyType,
}
#[doc = " 投资者持仓"]
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct CThostFtdcInvestorPositionField {
    #[doc = " 保留的无效字段"]
    pub reserve1: TThostFtdcOldInstrumentIDType,
    #[doc = " 经纪公司代码"]
    pub BrokerID: TThostFtdcBrokerIDType,
    #[doc = " 投资者代码"]
    pub InvestorID: TThostFtdcInvestorIDType,
    #[doc = " 持仓多空方向"]
    pub PosiDirection: TThostFtdcPosiDirectionType,
    #[doc = " 投机套保标志"]
    pub HedgeFlag: TThostFtdcHedgeFlagType,
    #[doc = " 持仓日期"]
    pub PositionDate: TThostFtdcPositionDateType,
    #[doc = " 上日持仓"]
    pub YdPosition: TThostFtdcVolumeType,
    #[doc = " 今日持仓"]
    pub Position: TThostFtdcVolumeType,
    #[doc = " 多头冻结"]
    pub LongFrozen: TThostFtdcVolumeType,
    #[doc = " 空头冻结"]
    pub ShortFrozen: TThostFtdcVolumeType,
    #[doc = " 开仓冻结金额"]
    pub LongFrozenAmount: TThostFtdcMoneyType,
    #[doc = " 开仓冻结金额"]
    pub ShortFrozenAmount: TThostFtdcMoneyType,
    #[doc = " 开仓量"]
    pub OpenVolume: TThostFtdcVolumeType,
    #[doc = " 平仓量"]
    pub CloseVolume: TThostFtdcVolumeType,
    #[doc = " 开仓金额"]
    pub OpenAmount: TThostFtdcMoneyType,
    #[doc = " 平仓金额"]
    pub CloseAmount: TThostFtdcMoneyType,
    #[doc = " 持仓成本"]
    pub PositionCost: TThostFtdcMoneyType,
    #[doc = " 上次占用的保证金"]
    pub PreMargin: TThostFtdcMoneyType,
    #[doc = " 占用的保证金"]
    pub UseMargin: TThostFtdcMoneyType,
    #[doc = " 冻结的保证金"]
    pub FrozenMargin: TThostFtdcMoneyType,
    #[doc = " 冻结的资金"]
    pub FrozenCash: TThostFtdcMoneyType,
    #[doc = " 冻结的手续费"]
    pub FrozenCommission: TThostFtdcMoneyType,
    #[doc = " 资金差额"]
    pub CashIn: TThostFtdcMoneyType,
    #[doc = " 手续费"]
    pub Commission: TThostFtdcMoneyType,
    #[doc = " 平仓盈亏"]
    pub CloseProfit: TThostFtdcMoneyType,
    #[doc = " 持仓盈亏"]
    pub PositionProfit: TThostFtdcMoneyType,
    #[doc = " 上次结算价"]
    pub PreSettlementPrice: TThostFtdcPriceType,
    #[doc = " 本次结算价"]
    pub SettlementPrice: TThostFtdcPriceType,
    #[doc = " 交易日"]
    pub TradingDay: TThostFtdcDateType,
    #[doc = " 结算编号"]
    pub SettlementID: TThostFtdcSettlementIDType,
    #[doc = " 开仓成本"]
    pub OpenCost: TThostFtdcMoneyType,
    #[doc = " 交易所保证金"]
    pub ExchangeMargin: TThostFtdcMoneyType,
    #[doc = " 组合成交形成的持仓"]
    pub CombPosition: TThostFtdcVolumeType,
    #[doc = " 组合多头冻结"]
    pub CombLongFrozen: TThostFtdcVolumeType,
    #[doc = " 组合空头冻结"]
    pub CombShortFrozen: TThostFtdcVolumeType,
    #[doc = " 逐日盯市平仓盈亏"]
    pub CloseProfitByDate: TThostFtdcMoneyType,
    #[doc = " 逐笔对冲平仓盈亏"]
    pub CloseProfitByTrade: TThostFtdcMoneyType,
    #[doc = " 今日持仓"]
    pub TodayPosition: TThostFtdcVolumeType,
    #[doc = " 保证金率"]
    pub MarginRateByMoney: TThostFtdcRatioType,
    #[doc = " 保证金率(按手数)"]
    pub MarginRateByVolume: TThostFtdcRatioType,
    #[doc = " 执行冻结"]
    pub StrikeFrozen: TThostFtdcVolumeType,
    #[doc = " 执行冻结金额"]
    pub StrikeFrozenAmount: TThostFtdcMoneyType,
    #[doc = " 放弃执行冻结"]
    pub AbandonFrozen: TThostFtdcVolumeType,
    #[doc = " 交易所代码"]
    pub ExchangeID: TThostFtdcExchangeIDType,
    #[doc = " 执行冻结的昨仓"]
    pub YdStrikeFrozen: TThostFtdcVolumeType,
    #[doc = " 投资单元代码"]
    pub InvestUnitID: TThostFtdcInvestUnitIDType,
    #[doc = " 持仓成本差值"]
    pub PositionCostOffset: TThostFtdcMoneyType,
    #[doc = " tas持仓手数"]
    pub TasPosition: TThostFtdcVolumeType,
    #[doc = " tas持仓成本"]
    pub TasPositionCost: TThostFtdcMoneyType,
    #[doc = " 合约代码"]
    pub InstrumentID: TThostFtdcInstrumentIDType,
}
impl Default for CThostFtdcInvestorPositionField {
    fn default() -> Self {
        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
        unsafe {
            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
            s.assume_init()
        }
    }
}
#[doc = " 合约保证金率"]
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct CThostFtdcInstrumentMarginRateField {
    #[doc = " 保留的无效字段"]
    pub reserve1: TThostFtdcOldInstrumentIDType,
    #[doc = " 投资者范围"]
    pub InvestorRange: TThostFtdcInvestorRangeType,
    #[doc = " 经纪公司代码"]
    pub BrokerID: TThostFtdcBrokerIDType,
    #[doc = " 投资者代码"]
    pub InvestorID: TThostFtdcInvestorIDType,
    #[doc = " 投机套保标志"]
    pub HedgeFlag: TThostFtdcHedgeFlagType,
    #[doc = " 多头保证金率"]
    pub LongMarginRatioByMoney: TThostFtdcRatioType,
    #[doc = " 多头保证金费"]
    pub LongMarginRatioByVolume: TThostFtdcMoneyType,
    #[doc = " 空头保证金率"]
    pub ShortMarginRatioByMoney: TThostFtdcRatioType,
    #[doc = " 空头保证金费"]
    pub ShortMarginRatioByVolume: TThostFtdcMoneyType,
    #[doc = " 是否相对交易所收取"]
    pub IsRelative: TThostFtdcBoolType,
    #[doc = " 交易所代码"]
    pub ExchangeID: TThostFtdcExchangeIDType,
    #[doc = " 投资单元代码"]
    pub InvestUnitID: TThostFtdcInvestUnitIDType,
    #[doc = " 合约代码"]
    pub InstrumentID: TThostFtdcInstrumentIDType,
}
impl Default for CThostFtdcInstrumentMarginRateField {
    fn default() -> Self {
        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
        unsafe {
            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
            s.assume_init()
        }
    }
}
#[doc = " 合约手续费率"]
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct CThostFtdcInstrumentCommissionRateField {
    #[doc = " 保留的无效字段"]
    pub reserve1: TThostFtdcOldInstrumentIDType,
    #[doc = " 投资者范围"]
    pub InvestorRange: TThostFtdcInvestorRangeType,
    #[doc = " 经纪公司代码"]
    pub BrokerID: TThostFtdcBrokerIDType,
    #[doc = " 投资者代码"]
    pub InvestorID: TThostFtdcInvestorIDType,
    #[doc = " 开仓手续费率"]
    pub OpenRatioByMoney: TThostFtdcRatioType,
    #[doc = " 开仓手续费"]
    pub OpenRatioByVolume: TThostFtdcRatioType,
    #[doc = " 平仓手续费率"]
    pub CloseRatioByMoney: TThostFtdcRatioType,
    #[doc = " 平仓手续费"]
    pub CloseRatioByVolume: TThostFtdcRatioType,
    #[doc = " 平今手续费率"]
    pub CloseTodayRatioByMoney: TThostFtdcRatioType,
    #[doc = " 平今手续费"]
    pub CloseTodayRatioByVolume: TThostFtdcRatioType,
    #[doc = " 交易所代码"]
    pub ExchangeID: TThostFtdcExchangeIDType,
    #[doc = " 业务类型"]
    pub BizType: TThostFtdcBizTypeType,
    #[doc = " 投资单元代码"]
    pub InvestUnitID: TThostFtdcInvestUnitIDType,
    #[doc = " 合约代码"]
    pub InstrumentID: TThostFtdcInstrumentIDType,
}
impl Default for CThostFtdcInstrumentCommissionRateField {
    fn default() -> Self {
        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
        unsafe {
            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
            s.assume_init()
        }
    }
}
#[doc = " 深度行情"]
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct CThostFtdcDepthMarketDataField {
    #[doc = " 交易日"]
    pub TradingDay: TThostFtdcDateType,
    #[doc = " 保留的无效字段"]
    pub reserve1: TThostFtdcOldInstrumentIDType,
    #[doc = " 交易所代码"]
    pub ExchangeID: TThostFtdcExchangeIDType,
    #[doc = " 保留的无效字段"]
    pub reserve2: TThostFtdcOldExchangeInstIDType,
    #[doc = " 最新价"]
    pub LastPrice: TThostFtdcPriceType,
    #[doc = " 上次结算价"]
    pub PreSettlementPrice: TThostFtdcPriceType,
    #[doc = " 昨收盘"]
    pub PreClosePrice: TThostFtdcPriceType,
    #[doc = " 昨持仓量"]
    pub PreOpenInterest: TThostFtdcLargeVolumeType,
    #[doc = " 今开盘"]
    pub OpenPrice: TThostFtdcPriceType,
    #[doc = " 最高价"]
    pub HighestPrice: TThostFtdcPriceType,
    #[doc = " 最低价"]
    pub LowestPrice: TThostFtdcPriceType,
    #[doc = " 数量"]
    pub Volume: TThostFtdcVolumeType,
    #[doc = " 成交金额"]
    pub Turnover: TThostFtdcMoneyType,
    #[doc = " 持仓量"]
    pub OpenInterest: TThostFtdcLargeVolumeType,
    #[doc = " 今收盘"]
    pub ClosePrice: TThostFtdcPriceType,
    #[doc = " 本次结算价"]
    pub SettlementPrice: TThostFtdcPriceType,
    #[doc = " 涨停板价"]
    pub UpperLimitPrice: TThostFtdcPriceType,
    #[doc = " 跌停板价"]
    pub LowerLimitPrice: TThostFtdcPriceType,
    #[doc = " 昨虚实度"]
    pub PreDelta: TThostFtdcRatioType,
    #[doc = " 今虚实度"]
    pub CurrDelta: TThostFtdcRatioType,
    #[doc = " 最后修改时间"]
    pub UpdateTime: TThostFtdcTimeType,
    #[doc = " 最后修改毫秒"]
    pub UpdateMillisec: TThostFtdcMillisecType,
    #[doc = " 申买价一"]
    pub BidPrice1: TThostFtdcPriceType,
    #[doc = " 申买量一"]
    pub BidVolume1: TThostFtdcVolumeType,
    #[doc = " 申卖价一"]
    pub AskPrice1: TThostFtdcPriceType,
    #[doc = " 申卖量一"]
    pub AskVolume1: TThostFtdcVolumeType,
    #[doc = " 申买价二"]
    pub BidPrice2: TThostFtdcPriceType,
    #[doc = " 申买量二"]
    pub BidVolume2: TThostFtdcVolumeType,
    #[doc = " 申卖价二"]
    pub AskPrice2: TThostFtdcPriceType,
    #[doc = " 申卖量二"]
    pub AskVolume2: TThostFtdcVolumeType,
    #[doc = " 申买价三"]
    pub BidPrice3: TThostFtdcPriceType,
    #[doc = " 申买量三"]
    pub BidVolume3: TThostFtdcVolumeType,
    #[doc = " 申卖价三"]
    pub AskPrice3: TThostFtdcPriceType,
    #[doc = " 申卖量三"]
    pub AskVolume3: TThostFtdcVolumeType,
    #[doc = " 申买价四"]
    pub BidPrice4: TThostFtdcPriceType,
    #[doc = " 申买量四"]
    pub BidVolume4: TThostFtdcVolumeType,
    #[doc = " 申卖价四"]
    pub AskPrice4: TThostFtdcPriceType,
    #[doc = " 申卖量四"]
    pub AskVolume4: TThostFtdcVolumeType,
    #[doc = " 申买价五"]
    pub BidPrice5: TThostFtdcPriceType,
    #[doc = " 申买量五"]
    pub BidVolume5: TThostFtdcVolumeType,
    #[doc = " 申卖价五"]
    pub AskPrice5: TThostFtdcPriceType,
    #[doc = " 申卖量五"]
    pub AskVolume5: TThostFtdcVolumeType,
    #[doc = " 当日均价"]
    pub AveragePrice: TThostFtdcPriceType,
    #[doc = " 业务日期"]
    pub ActionDay: TThostFtdcDateType,
    #[doc = " 合约代码"]
    pub InstrumentID: TThostFtdcInstrumentIDType,
    #[doc = " 合约在交易所的代码"]
    pub ExchangeInstID: TThostFtdcExchangeInstIDType,
    #[doc = " 上带价"]
    pub BandingUpperPrice: TThostFtdcPriceType,
    #[doc = " 下带价"]
    pub BandingLowerPrice: TThostFtdcPriceType,
}
impl Default for CThostFtdcDepthMarketDataField {
    fn default() -> Self {
        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
        unsafe {
            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
            s.assume_init()
        }
    }
}
#[doc = " 投资者合约交易权限"]
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct CThostFtdcInstrumentTradingRightField {
    #[doc = " 保留的无效字段"]
    pub reserve1: TThostFtdcOldInstrumentIDType,
    #[doc = " 投资者范围"]
    pub InvestorRange: TThostFtdcInvestorRangeType,
    #[doc = " 经纪公司代码"]
    pub BrokerID: TThostFtdcBrokerIDType,
    #[doc = " 投资者代码"]
    pub InvestorID: TThostFtdcInvestorIDType,
    #[doc = " 交易权限"]
    pub TradingRight: TThostFtdcTradingRightType,
    #[doc = " 合约代码"]
    pub InstrumentID: TThostFtdcInstrumentIDType,
}
impl Default for CThostFtdcInstrumentTradingRightField {
    fn default() -> Self {
        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
        unsafe {
            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
            s.assume_init()
        }
    }
}
#[doc = " 经纪公司用户"]
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct CThostFtdcBrokerUserField {
    #[doc = " 经纪公司代码"]
    pub BrokerID: TThostFtdcBrokerIDType,
    #[doc = " 用户代码"]
    pub UserID: TThostFtdcUserIDType,
    #[doc = " 用户名称"]
    pub UserName: TThostFtdcUserNameType,
    #[doc = " 用户类型"]
    pub UserType: TThostFtdcUserTypeType,
    #[doc = " 是否活跃"]
    pub IsActive: TThostFtdcBoolType,
    #[doc = " 是否使用令牌"]
    pub IsUsingOTP: TThostFtdcBoolType,
    #[doc = " 是否强制终端认证"]
    pub IsAuthForce: TThostFtdcBoolType,
}
impl Default for CThostFtdcBrokerUserField {
    fn default() -> Self {
        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
        unsafe {
            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
            s.assume_init()
        }
    }
}
#[doc = " 经纪公司用户口令"]
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct CThostFtdcBrokerUserPasswordField {
    #[doc = " 经纪公司代码"]
    pub BrokerID: TThostFtdcBrokerIDType,
    #[doc = " 用户代码"]
    pub UserID: TThostFtdcUserIDType,
    #[doc = " 密码"]
    pub Password: TThostFtdcPasswordType,
    #[doc = " 上次修改时间"]
    pub LastUpdateTime: TThostFtdcDateTimeType,
    #[doc = " 上次登陆时间"]
    pub LastLoginTime: TThostFtdcDateTimeType,
    #[doc = " 密码过期时间"]
    pub ExpireDate: TThostFtdcDateType,
    #[doc = " 弱密码过期时间"]
    pub WeakExpireDate: TThostFtdcDateType,
}
impl Default for CThostFtdcBrokerUserPasswordField {
    fn default() -> Self {
        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
        unsafe {
            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
            s.assume_init()
        }
    }
}
#[doc = " 经纪公司用户功能权限"]
#[repr(C)]
#[derive(Debug, Default, Copy, Clone)]
pub struct CThostFtdcBrokerUserFunctionField {
    #[doc = " 经纪公司代码"]
    pub BrokerID: TThostFtdcBrokerIDType,
    #[doc = " 用户代码"]
    pub UserID: TThostFtdcUserIDType,
    #[doc = " 经纪公司功能代码"]
    pub BrokerFunctionCode: TThostFtdcBrokerFunctionCodeType,
}
#[doc = " 交易所交易员报盘机"]
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct CThostFtdcTraderOfferField {
    #[doc = " 交易所代码"]
    pub ExchangeID: TThostFtdcExchangeIDType,
    #[doc = " 交易所交易员代码"]
    pub TraderID: TThostFtdcTraderIDType,
    #[doc = " 会员代码"]
    pub ParticipantID: TThostFtdcParticipantIDType,
    #[doc = " 密码"]
    pub Password: TThostFtdcPasswordType,
    #[doc = " 安装编号"]
    pub InstallID: TThostFtdcInstallIDType,
    #[doc = " 本地报单编号"]
    pub OrderLocalID: TThostFtdcOrderLocalIDType,
    #[doc = " 交易所交易员连接状态"]
    pub TraderConnectStatus: TThostFtdcTraderConnectStatusType,
    #[doc = " 发出连接请求的日期"]
    pub ConnectRequestDate: TThostFtdcDateType,
    #[doc = " 发出连接请求的时间"]
    pub ConnectRequestTime: TThostFtdcTimeType,
    #[doc = " 上次报告日期"]
    pub LastReportDate: TThostFtdcDateType,
    #[doc = " 上次报告时间"]
    pub LastReportTime: TThostFtdcTimeType,
    #[doc = " 完成连接日期"]
    pub ConnectDate: TThostFtdcDateType,
    #[doc = " 完成连接时间"]
    pub ConnectTime: TThostFtdcTimeType,
    #[doc = " 启动日期"]
    pub StartDate: TThostFtdcDateType,
    #[doc = " 启动时间"]
    pub StartTime: TThostFtdcTimeType,
    #[doc = " 交易日"]
    pub TradingDay: TThostFtdcDateType,
    #[doc = " 经纪公司代码"]
    pub BrokerID: TThostFtdcBrokerIDType,
    #[doc = " 本席位最大成交编号"]
    pub MaxTradeID: TThostFtdcTradeIDType,
    #[doc = " 本席位最大报单备拷"]
    pub MaxOrderMessageReference: TThostFtdcReturnCodeType,
    #[doc = " 撤单时选择席位算法"]
    pub OrderCancelAlg: TThostFtdcOrderCancelAlgType,
}
impl Default for CThostFtdcTraderOfferField {
    fn default() -> Self {
        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
        unsafe {
            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
            s.assume_init()
        }
    }
}
#[doc = " 投资者结算结果"]
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct CThostFtdcSettlementInfoField {
    #[doc = " 交易日"]
    pub TradingDay: TThostFtdcDateType,
    #[doc = " 结算编号"]
    pub SettlementID: TThostFtdcSettlementIDType,
    #[doc = " 经纪公司代码"]
    pub BrokerID: TThostFtdcBrokerIDType,
    #[doc = " 投资者代码"]
    pub InvestorID: TThostFtdcInvestorIDType,
    #[doc = " 序号"]
    pub SequenceNo: TThostFtdcSequenceNoType,
    #[doc = " 消息正文"]
    pub Content: TThostFtdcContentType,
    #[doc = " 投资者帐号"]
    pub AccountID: TThostFtdcAccountIDType,
    #[doc = " 币种代码"]
    pub CurrencyID: TThostFtdcCurrencyIDType,
}
impl Default for CThostFtdcSettlementInfoField {
    fn default() -> Self {
        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
        unsafe {
            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
            s.assume_init()
        }
    }
}
#[doc = " 合约保证金率调整"]
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct CThostFtdcInstrumentMarginRateAdjustField {
    #[doc = " 保留的无效字段"]
    pub reserve1: TThostFtdcOldInstrumentIDType,
    #[doc = " 投资者范围"]
    pub InvestorRange: TThostFtdcInvestorRangeType,
    #[doc = " 经纪公司代码"]
    pub BrokerID: TThostFtdcBrokerIDType,
    #[doc = " 投资者代码"]
    pub InvestorID: TThostFtdcInvestorIDType,
    #[doc = " 投机套保标志"]
    pub HedgeFlag: TThostFtdcHedgeFlagType,
    #[doc = " 多头保证金率"]
    pub LongMarginRatioByMoney: TThostFtdcRatioType,
    #[doc = " 多头保证金费"]
    pub LongMarginRatioByVolume: TThostFtdcMoneyType,
    #[doc = " 空头保证金率"]
    pub ShortMarginRatioByMoney: TThostFtdcRatioType,
    #[doc = " 空头保证金费"]
    pub ShortMarginRatioByVolume: TThostFtdcMoneyType,
    #[doc = " 是否相对交易所收取"]
    pub IsRelative: TThostFtdcBoolType,
    #[doc = " 合约代码"]
    pub InstrumentID: TThostFtdcInstrumentIDType,
}
impl Default for CThostFtdcInstrumentMarginRateAdjustField {
    fn default() -> Self {
        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
        unsafe {
            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
            s.assume_init()
        }
    }
}
#[doc = " 交易所保证金率"]
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct CThostFtdcExchangeMarginRateField {
    #[doc = " 经纪公司代码"]
    pub BrokerID: TThostFtdcBrokerIDType,
    #[doc = " 保留的无效字段"]
    pub reserve1: TThostFtdcOldInstrumentIDType,
    #[doc = " 投机套保标志"]
    pub HedgeFlag: TThostFtdcHedgeFlagType,
    #[doc = " 多头保证金率"]
    pub LongMarginRatioByMoney: TThostFtdcRatioType,
    #[doc = " 多头保证金费"]
    pub LongMarginRatioByVolume: TThostFtdcMoneyType,
    #[doc = " 空头保证金率"]
    pub ShortMarginRatioByMoney: TThostFtdcRatioType,
    #[doc = " 空头保证金费"]
    pub ShortMarginRatioByVolume: TThostFtdcMoneyType,
    #[doc = " 交易所代码"]
    pub ExchangeID: TThostFtdcExchangeIDType,
    #[doc = " 合约代码"]
    pub InstrumentID: TThostFtdcInstrumentIDType,
}
impl Default for CThostFtdcExchangeMarginRateField {
    fn default() -> Self {
        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
        unsafe {
            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
            s.assume_init()
        }
    }
}
#[doc = " 交易所保证金率调整"]
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct CThostFtdcExchangeMarginRateAdjustField {
    #[doc = " 经纪公司代码"]
    pub BrokerID: TThostFtdcBrokerIDType,
    #[doc = " 保留的无效字段"]
    pub reserve1: TThostFtdcOldInstrumentIDType,
    #[doc = " 投机套保标志"]
    pub HedgeFlag: TThostFtdcHedgeFlagType,
    #[doc = " 跟随交易所投资者多头保证金率"]
    pub LongMarginRatioByMoney: TThostFtdcRatioType,
    #[doc = " 跟随交易所投资者多头保证金费"]
    pub LongMarginRatioByVolume: TThostFtdcMoneyType,
    #[doc = " 跟随交易所投资者空头保证金率"]
    pub ShortMarginRatioByMoney: TThostFtdcRatioType,
    #[doc = " 跟随交易所投资者空头保证金费"]
    pub ShortMarginRatioByVolume: TThostFtdcMoneyType,
    #[doc = " 交易所多头保证金率"]
    pub ExchLongMarginRatioByMoney: TThostFtdcRatioType,
    #[doc = " 交易所多头保证金费"]
    pub ExchLongMarginRatioByVolume: TThostFtdcMoneyType,
    #[doc = " 交易所空头保证金率"]
    pub ExchShortMarginRatioByMoney: TThostFtdcRatioType,
    #[doc = " 交易所空头保证金费"]
    pub ExchShortMarginRatioByVolume: TThostFtdcMoneyType,
    #[doc = " 不跟随交易所投资者多头保证金率"]
    pub NoLongMarginRatioByMoney: TThostFtdcRatioType,
    #[doc = " 不跟随交易所投资者多头保证金费"]
    pub NoLongMarginRatioByVolume: TThostFtdcMoneyType,
    #[doc = " 不跟随交易所投资者空头保证金率"]
    pub NoShortMarginRatioByMoney: TThostFtdcRatioType,
    #[doc = " 不跟随交易所投资者空头保证金费"]
    pub NoShortMarginRatioByVolume: TThostFtdcMoneyType,
    #[doc = " 合约代码"]
    pub InstrumentID: TThostFtdcInstrumentIDType,
}
impl Default for CThostFtdcExchangeMarginRateAdjustField {
    fn default() -> Self {
        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
        unsafe {
            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
            s.assume_init()
        }
    }
}
#[doc = " 汇率"]
#[repr(C)]
#[derive(Debug, Default, Copy, Clone)]
pub struct CThostFtdcExchangeRateField {
    #[doc = " 经纪公司代码"]
    pub BrokerID: TThostFtdcBrokerIDType,
    #[doc = " 源币种"]
    pub FromCurrencyID: TThostFtdcCurrencyIDType,
    #[doc = " 源币种单位数量"]
    pub FromCurrencyUnit: TThostFtdcCurrencyUnitType,
    #[doc = " 目标币种"]
    pub ToCurrencyID: TThostFtdcCurrencyIDType,
    #[doc = " 汇率"]
    pub ExchangeRate: TThostFtdcExchangeRateType,
}
#[doc = " 结算引用"]
#[repr(C)]
#[derive(Debug, Default, Copy, Clone)]
pub struct CThostFtdcSettlementRefField {
    #[doc = " 交易日"]
    pub TradingDay: TThostFtdcDateType,
    #[doc = " 结算编号"]
    pub SettlementID: TThostFtdcSettlementIDType,
}
#[doc = " 当前时间"]
#[repr(C)]
#[derive(Debug, Default, Copy, Clone)]
pub struct CThostFtdcCurrentTimeField {
    #[doc = " 当前交易日"]
    pub CurrDate: TThostFtdcDateType,
    #[doc = " 当前时间"]
    pub CurrTime: TThostFtdcTimeType,
    #[doc = " 当前时间（毫秒）"]
    pub CurrMillisec: TThostFtdcMillisecType,
    #[doc = " 自然日期"]
    pub ActionDay: TThostFtdcDateType,
}
#[doc = " 通讯阶段"]
#[repr(C)]
#[derive(Debug, Default, Copy, Clone)]
pub struct CThostFtdcCommPhaseField {
    #[doc = " 交易日"]
    pub TradingDay: TThostFtdcDateType,
    #[doc = " 通讯时段编号"]
    pub CommPhaseNo: TThostFtdcCommPhaseNoType,
    #[doc = " 系统编号"]
    pub SystemID: TThostFtdcSystemIDType,
}
#[doc = " 登录信息"]
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct CThostFtdcLoginInfoField {
    #[doc = " 前置编号"]
    pub FrontID: TThostFtdcFrontIDType,
    #[doc = " 会话编号"]
    pub SessionID: TThostFtdcSessionIDType,
    #[doc = " 经纪公司代码"]
    pub BrokerID: TThostFtdcBrokerIDType,
    #[doc = " 用户代码"]
    pub UserID: TThostFtdcUserIDType,
    #[doc = " 登录日期"]
    pub LoginDate: TThostFtdcDateType,
    #[doc = " 登录时间"]
    pub LoginTime: TThostFtdcTimeType,
    #[doc = " 保留的无效字段"]
    pub reserve1: TThostFtdcOldIPAddressType,
    #[doc = " 用户端产品信息"]
    pub UserProductInfo: TThostFtdcProductInfoType,
    #[doc = " 接口端产品信息"]
    pub InterfaceProductInfo: TThostFtdcProductInfoType,
    #[doc = " 协议信息"]
    pub ProtocolInfo: TThostFtdcProtocolInfoType,
    #[doc = " 系统名称"]
    pub SystemName: TThostFtdcSystemNameType,
    #[doc = " 密码,已弃用"]
    pub PasswordDeprecated: TThostFtdcPasswordType,
    #[doc = " 最大报单引用"]
    pub MaxOrderRef: TThostFtdcOrderRefType,
    #[doc = " 上期所时间"]
    pub SHFETime: TThostFtdcTimeType,
    #[doc = " 大商所时间"]
    pub DCETime: TThostFtdcTimeType,
    #[doc = " 郑商所时间"]
    pub CZCETime: TThostFtdcTimeType,
    #[doc = " 中金所时间"]
    pub FFEXTime: TThostFtdcTimeType,
    #[doc = " Mac地址"]
    pub MacAddress: TThostFtdcMacAddressType,
    #[doc = " 动态密码"]
    pub OneTimePassword: TThostFtdcPasswordType,
    #[doc = " 能源中心时间"]
    pub INETime: TThostFtdcTimeType,
    #[doc = " 查询时是否需要流控"]
    pub IsQryControl: TThostFtdcBoolType,
    #[doc = " 登录备注"]
    pub LoginRemark: TThostFtdcLoginRemarkType,
    #[doc = " 密码"]
    pub Password: TThostFtdcPasswordType,
    #[doc = " IP地址"]
    pub IPAddress: TThostFtdcIPAddressType,
}
impl Default for CThostFtdcLoginInfoField {
    fn default() -> Self {
        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
        unsafe {
            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
            s.assume_init()
        }
    }
}
#[doc = " 登录信息"]
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct CThostFtdcLogoutAllField {
    #[doc = " 前置编号"]
    pub FrontID: TThostFtdcFrontIDType,
    #[doc = " 会话编号"]
    pub SessionID: TThostFtdcSessionIDType,
    #[doc = " 系统名称"]
    pub SystemName: TThostFtdcSystemNameType,
}
impl Default for CThostFtdcLogoutAllField {
    fn default() -> Self {
        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
        unsafe {
            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
            s.assume_init()
        }
    }
}
#[doc = " 前置状态"]
#[repr(C)]
#[derive(Debug, Default, Copy, Clone)]
pub struct CThostFtdcFrontStatusField {
    #[doc = " 前置编号"]
    pub FrontID: TThostFtdcFrontIDType,
    #[doc = " 上次报告日期"]
    pub LastReportDate: TThostFtdcDateType,
    #[doc = " 上次报告时间"]
    pub LastReportTime: TThostFtdcTimeType,
    #[doc = " 是否活跃"]
    pub IsActive: TThostFtdcBoolType,
}
#[doc = " 用户口令变更"]
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct CThostFtdcUserPasswordUpdateField {
    #[doc = " 经纪公司代码"]
    pub BrokerID: TThostFtdcBrokerIDType,
    #[doc = " 用户代码"]
    pub UserID: TThostFtdcUserIDType,
    #[doc = " 原来的口令"]
    pub OldPassword: TThostFtdcPasswordType,
    #[doc = " 新的口令"]
    pub NewPassword: TThostFtdcPasswordType,
}
impl Default for CThostFtdcUserPasswordUpdateField {
    fn default() -> Self {
        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
        unsafe {
            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
            s.assume_init()
        }
    }
}
#[doc = " 输入报单"]
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct CThostFtdcInputOrderField {
    #[doc = " 经纪公司代码"]
    pub BrokerID: TThostFtdcBrokerIDType,
    #[doc = " 投资者代码"]
    pub InvestorID: TThostFtdcInvestorIDType,
    #[doc = " 保留的无效字段"]
    pub reserve1: TThostFtdcOldInstrumentIDType,
    #[doc = " 报单引用"]
    pub OrderRef: TThostFtdcOrderRefType,
    #[doc = " 用户代码"]
    pub UserID: TThostFtdcUserIDType,
    #[doc = " 报单价格条件"]
    pub OrderPriceType: TThostFtdcOrderPriceTypeType,
    #[doc = " 买卖方向"]
    pub Direction: TThostFtdcDirectionType,
    #[doc = " 组合开平标志"]
    pub CombOffsetFlag: TThostFtdcCombOffsetFlagType,
    #[doc = " 组合投机套保标志"]
    pub CombHedgeFlag: TThostFtdcCombHedgeFlagType,
    #[doc = " 价格"]
    pub LimitPrice: TThostFtdcPriceType,
    #[doc = " 数量"]
    pub VolumeTotalOriginal: TThostFtdcVolumeType,
    #[doc = " 有效期类型"]
    pub TimeCondition: TThostFtdcTimeConditionType,
    #[doc = " GTD日期"]
    pub GTDDate: TThostFtdcDateType,
    #[doc = " 成交量类型"]
    pub VolumeCondition: TThostFtdcVolumeConditionType,
    #[doc = " 最小成交量"]
    pub MinVolume: TThostFtdcVolumeType,
    #[doc = " 触发条件"]
    pub ContingentCondition: TThostFtdcContingentConditionType,
    #[doc = " 止损价"]
    pub StopPrice: TThostFtdcPriceType,
    #[doc = " 强平原因"]
    pub ForceCloseReason: TThostFtdcForceCloseReasonType,
    #[doc = " 自动挂起标志"]
    pub IsAutoSuspend: TThostFtdcBoolType,
    #[doc = " 业务单元"]
    pub BusinessUnit: TThostFtdcBusinessUnitType,
    #[doc = " 请求编号"]
    pub RequestID: TThostFtdcRequestIDType,
    #[doc = " 用户强评标志"]
    pub UserForceClose: TThostFtdcBoolType,
    #[doc = " 互换单标志"]
    pub IsSwapOrder: TThostFtdcBoolType,
    #[doc = " 交易所代码"]
    pub ExchangeID: TThostFtdcExchangeIDType,
    #[doc = " 投资单元代码"]
    pub InvestUnitID: TThostFtdcInvestUnitIDType,
    #[doc = " 资金账号"]
    pub AccountID: TThostFtdcAccountIDType,
    #[doc = " 币种代码"]
    pub CurrencyID: TThostFtdcCurrencyIDType,
    #[doc = " 交易编码"]
    pub ClientID: TThostFtdcClientIDType,
    #[doc = " 保留的无效字段"]
    pub reserve2: TThostFtdcOldIPAddressType,
    #[doc = " Mac地址"]
    pub MacAddress: TThostFtdcMacAddressType,
    #[doc = " 合约代码"]
    pub InstrumentID: TThostFtdcInstrumentIDType,
    #[doc = " IP地址"]
    pub IPAddress: TThostFtdcIPAddressType,
}
impl Default for CThostFtdcInputOrderField {
    fn default() -> Self {
        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
        unsafe {
            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
            s.assume_init()
        }
    }
}
#[doc = " 报单"]
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct CThostFtdcOrderField {
    #[doc = " 经纪公司代码"]
    pub BrokerID: TThostFtdcBrokerIDType,
    #[doc = " 投资者代码"]
    pub InvestorID: TThostFtdcInvestorIDType,
    #[doc = " 保留的无效字段"]
    pub reserve1: TThostFtdcOldInstrumentIDType,
    #[doc = " 报单引用"]
    pub OrderRef: TThostFtdcOrderRefType,
    #[doc = " 用户代码"]
    pub UserID: TThostFtdcUserIDType,
    #[doc = " 报单价格条件"]
    pub OrderPriceType: TThostFtdcOrderPriceTypeType,
    #[doc = " 买卖方向"]
    pub Direction: TThostFtdcDirectionType,
    #[doc = " 组合开平标志"]
    pub CombOffsetFlag: TThostFtdcCombOffsetFlagType,
    #[doc = " 组合投机套保标志"]
    pub CombHedgeFlag: TThostFtdcCombHedgeFlagType,
    #[doc = " 价格"]
    pub LimitPrice: TThostFtdcPriceType,
    #[doc = " 数量"]
    pub VolumeTotalOriginal: TThostFtdcVolumeType,
    #[doc = " 有效期类型"]
    pub TimeCondition: TThostFtdcTimeConditionType,
    #[doc = " GTD日期"]
    pub GTDDate: TThostFtdcDateType,
    #[doc = " 成交量类型"]
    pub VolumeCondition: TThostFtdcVolumeConditionType,
    #[doc = " 最小成交量"]
    pub MinVolume: TThostFtdcVolumeType,
    #[doc = " 触发条件"]
    pub ContingentCondition: TThostFtdcContingentConditionType,
    #[doc = " 止损价"]
    pub StopPrice: TThostFtdcPriceType,
    #[doc = " 强平原因"]
    pub ForceCloseReason: TThostFtdcForceCloseReasonType,
    #[doc = " 自动挂起标志"]
    pub IsAutoSuspend: TThostFtdcBoolType,
    #[doc = " 业务单元"]
    pub BusinessUnit: TThostFtdcBusinessUnitType,
    #[doc = " 请求编号"]
    pub RequestID: TThostFtdcRequestIDType,
    #[doc = " 本地报单编号"]
    pub OrderLocalID: TThostFtdcOrderLocalIDType,
    #[doc = " 交易所代码"]
    pub ExchangeID: TThostFtdcExchangeIDType,
    #[doc = " 会员代码"]
    pub ParticipantID: TThostFtdcParticipantIDType,
    #[doc = " 客户代码"]
    pub ClientID: TThostFtdcClientIDType,
    #[doc = " 保留的无效字段"]
    pub reserve2: TThostFtdcOldExchangeInstIDType,
    #[doc = " 交易所交易员代码"]
    pub TraderID: TThostFtdcTraderIDType,
    #[doc = " 安装编号"]
    pub InstallID: TThostFtdcInstallIDType,
    #[doc = " 报单提交状态"]
    pub OrderSubmitStatus: TThostFtdcOrderSubmitStatusType,
    #[doc = " 报单提示序号"]
    pub NotifySequence: TThostFtdcSequenceNoType,
    #[doc = " 交易日"]
    pub TradingDay: TThostFtdcDateType,
    #[doc = " 结算编号"]
    pub SettlementID: TThostFtdcSettlementIDType,
    #[doc = " 报单编号"]
    pub OrderSysID: TThostFtdcOrderSysIDType,
    #[doc = " 报单来源"]
    pub OrderSource: TThostFtdcOrderSourceType,
    #[doc = " 报单状态"]
    pub OrderStatus: TThostFtdcOrderStatusType,
    #[doc = " 报单类型"]
    pub OrderType: TThostFtdcOrderTypeType,
    #[doc = " 今成交数量"]
    pub VolumeTraded: TThostFtdcVolumeType,
    #[doc = " 剩余数量"]
    pub VolumeTotal: TThostFtdcVolumeType,
    #[doc = " 报单日期"]
    pub InsertDate: TThostFtdcDateType,
    #[doc = " 委托时间"]
    pub InsertTime: TThostFtdcTimeType,
    #[doc = " 激活时间"]
    pub ActiveTime: TThostFtdcTimeType,
    #[doc = " 挂起时间"]
    pub SuspendTime: TThostFtdcTimeType,
    #[doc = " 最后修改时间"]
    pub UpdateTime: TThostFtdcTimeType,
    #[doc = " 撤销时间"]
    pub CancelTime: TThostFtdcTimeType,
    #[doc = " 最后修改交易所交易员代码"]
    pub ActiveTraderID: TThostFtdcTraderIDType,
    #[doc = " 结算会员编号"]
    pub ClearingPartID: TThostFtdcParticipantIDType,
    #[doc = " 序号"]
    pub SequenceNo: TThostFtdcSequenceNoType,
    #[doc = " 前置编号"]
    pub FrontID: TThostFtdcFrontIDType,
    #[doc = " 会话编号"]
    pub SessionID: TThostFtdcSessionIDType,
    #[doc = " 用户端产品信息"]
    pub UserProductInfo: TThostFtdcProductInfoType,
    #[doc = " 状态信息"]
    pub StatusMsg: TThostFtdcErrorMsgType,
    #[doc = " 用户强评标志"]
    pub UserForceClose: TThostFtdcBoolType,
    #[doc = " 操作用户代码"]
    pub ActiveUserID: TThostFtdcUserIDType,
    #[doc = " 经纪公司报单编号"]
    pub BrokerOrderSeq: TThostFtdcSequenceNoType,
    #[doc = " 相关报单"]
    pub RelativeOrderSysID: TThostFtdcOrderSysIDType,
    #[doc = " 郑商所成交数量"]
    pub ZCETotalTradedVolume: TThostFtdcVolumeType,
    #[doc = " 互换单标志"]
    pub IsSwapOrder: TThostFtdcBoolType,
    #[doc = " 营业部编号"]
    pub BranchID: TThostFtdcBranchIDType,
    #[doc = " 投资单元代码"]
    pub InvestUnitID: TThostFtdcInvestUnitIDType,
    #[doc = " 资金账号"]
    pub AccountID: TThostFtdcAccountIDType,
    #[doc = " 币种代码"]
    pub CurrencyID: TThostFtdcCurrencyIDType,
    #[doc = " 保留的无效字段"]
    pub reserve3: TThostFtdcOldIPAddressType,
    #[doc = " Mac地址"]
    pub MacAddress: TThostFtdcMacAddressType,
    #[doc = " 合约代码"]
    pub InstrumentID: TThostFtdcInstrumentIDType,
    #[doc = " 合约在交易所的代码"]
    pub ExchangeInstID: TThostFtdcExchangeInstIDType,
    #[doc = " IP地址"]
    pub IPAddress: TThostFtdcIPAddressType,
}
impl Default for CThostFtdcOrderField {
    fn default() -> Self {
        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
        unsafe {
            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
            s.assume_init()
        }
    }
}
#[doc = " 交易所报单"]
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct CThostFtdcExchangeOrderField {
    #[doc = " 报单价格条件"]
    pub OrderPriceType: TThostFtdcOrderPriceTypeType,
    #[doc = " 买卖方向"]
    pub Direction: TThostFtdcDirectionType,
    #[doc = " 组合开平标志"]
    pub CombOffsetFlag: TThostFtdcCombOffsetFlagType,
    #[doc = " 组合投机套保标志"]
    pub CombHedgeFlag: TThostFtdcCombHedgeFlagType,
    #[doc = " 价格"]
    pub LimitPrice: TThostFtdcPriceType,
    #[doc = " 数量"]
    pub VolumeTotalOriginal: TThostFtdcVolumeType,
    #[doc = " 有效期类型"]
    pub TimeCondition: TThostFtdcTimeConditionType,
    #[doc = " GTD日期"]
    pub GTDDate: TThostFtdcDateType,
    #[doc = " 成交量类型"]
    pub VolumeCondition: TThostFtdcVolumeConditionType,
    #[doc = " 最小成交量"]
    pub MinVolume: TThostFtdcVolumeType,
    #[doc = " 触发条件"]
    pub ContingentCondition: TThostFtdcContingentConditionType,
    #[doc = " 止损价"]
    pub StopPrice: TThostFtdcPriceType,
    #[doc = " 强平原因"]
    pub ForceCloseReason: TThostFtdcForceCloseReasonType,
    #[doc = " 自动挂起标志"]
    pub IsAutoSuspend: TThostFtdcBoolType,
    #[doc = " 业务单元"]
    pub BusinessUnit: TThostFtdcBusinessUnitType,
    #[doc = " 请求编号"]
    pub RequestID: TThostFtdcRequestIDType,
    #[doc = " 本地报单编号"]
    pub OrderLocalID: TThostFtdcOrderLocalIDType,
    #[doc = " 交易所代码"]
    pub ExchangeID: TThostFtdcExchangeIDType,
    #[doc = " 会员代码"]
    pub ParticipantID: TThostFtdcParticipantIDType,
    #[doc = " 客户代码"]
    pub ClientID: TThostFtdcClientIDType,
    #[doc = " 保留的无效字段"]
    pub reserve1: TThostFtdcOldExchangeInstIDType,
    #[doc = " 交易所交易员代码"]
    pub TraderID: TThostFtdcTraderIDType,
    #[doc = " 安装编号"]
    pub InstallID: TThostFtdcInstallIDType,
    #[doc = " 报单提交状态"]
    pub OrderSubmitStatus: TThostFtdcOrderSubmitStatusType,
    #[doc = " 报单提示序号"]
    pub NotifySequence: TThostFtdcSequenceNoType,
    #[doc = " 交易日"]
    pub TradingDay: TThostFtdcDateType,
    #[doc = " 结算编号"]
    pub SettlementID: TThostFtdcSettlementIDType,
    #[doc = " 报单编号"]
    pub OrderSysID: TThostFtdcOrderSysIDType,
    #[doc = " 报单来源"]
    pub OrderSource: TThostFtdcOrderSourceType,
    #[doc = " 报单状态"]
    pub OrderStatus: TThostFtdcOrderStatusType,
    #[doc = " 报单类型"]
    pub OrderType: TThostFtdcOrderTypeType,
    #[doc = " 今成交数量"]
    pub VolumeTraded: TThostFtdcVolumeType,
    #[doc = " 剩余数量"]
    pub VolumeTotal: TThostFtdcVolumeType,
    #[doc = " 报单日期"]
    pub InsertDate: TThostFtdcDateType,
    #[doc = " 委托时间"]
    pub InsertTime: TThostFtdcTimeType,
    #[doc = " 激活时间"]
    pub ActiveTime: TThostFtdcTimeType,
    #[doc = " 挂起时间"]
    pub SuspendTime: TThostFtdcTimeType,
    #[doc = " 最后修改时间"]
    pub UpdateTime: TThostFtdcTimeType,
    #[doc = " 撤销时间"]
    pub CancelTime: TThostFtdcTimeType,
    #[doc = " 最后修改交易所交易员代码"]
    pub ActiveTraderID: TThostFtdcTraderIDType,
    #[doc = " 结算会员编号"]
    pub ClearingPartID: TThostFtdcParticipantIDType,
    #[doc = " 序号"]
    pub SequenceNo: TThostFtdcSequenceNoType,
    #[doc = " 营业部编号"]
    pub BranchID: TThostFtdcBranchIDType,
    #[doc = " 保留的无效字段"]
    pub reserve2: TThostFtdcOldIPAddressType,
    #[doc = " Mac地址"]
    pub MacAddress: TThostFtdcMacAddressType,
    #[doc = " 合约在交易所的代码"]
    pub ExchangeInstID: TThostFtdcExchangeInstIDType,
    #[doc = " IP地址"]
    pub IPAddress: TThostFtdcIPAddressType,
}
impl Default for CThostFtdcExchangeOrderField {
    fn default() -> Self {
        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
        unsafe {
            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
            s.assume_init()
        }
    }
}
#[doc = " 交易所报单插入失败"]
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct CThostFtdcExchangeOrderInsertErrorField {
    #[doc = " 交易所代码"]
    pub ExchangeID: TThostFtdcExchangeIDType,
    #[doc = " 会员代码"]
    pub ParticipantID: TThostFtdcParticipantIDType,
    #[doc = " 交易所交易员代码"]
    pub TraderID: TThostFtdcTraderIDType,
    #[doc = " 安装编号"]
    pub InstallID: TThostFtdcInstallIDType,
    #[doc = " 本地报单编号"]
    pub OrderLocalID: TThostFtdcOrderLocalIDType,
    #[doc = " 错误代码"]
    pub ErrorID: TThostFtdcErrorIDType,
    #[doc = " 错误信息"]
    pub ErrorMsg: TThostFtdcErrorMsgType,
}
impl Default for CThostFtdcExchangeOrderInsertErrorField {
    fn default() -> Self {
        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
        unsafe {
            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
            s.assume_init()
        }
    }
}
#[doc = " 输入报单操作"]
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct CThostFtdcInputOrderActionField {
    #[doc = " 经纪公司代码"]
    pub BrokerID: TThostFtdcBrokerIDType,
    #[doc = " 投资者代码"]
    pub InvestorID: TThostFtdcInvestorIDType,
    #[doc = " 报单操作引用"]
    pub OrderActionRef: TThostFtdcOrderActionRefType,
    #[doc = " 报单引用"]
    pub OrderRef: TThostFtdcOrderRefType,
    #[doc = " 请求编号"]
    pub RequestID: TThostFtdcRequestIDType,
    #[doc = " 前置编号"]
    pub FrontID: TThostFtdcFrontIDType,
    #[doc = " 会话编号"]
    pub SessionID: TThostFtdcSessionIDType,
    #[doc = " 交易所代码"]
    pub ExchangeID: TThostFtdcExchangeIDType,
    #[doc = " 报单编号"]
    pub OrderSysID: TThostFtdcOrderSysIDType,
    #[doc = " 操作标志"]
    pub ActionFlag: TThostFtdcActionFlagType,
    #[doc = " 价格"]
    pub LimitPrice: TThostFtdcPriceType,
    #[doc = " 数量变化"]
    pub VolumeChange: TThostFtdcVolumeType,
    #[doc = " 用户代码"]
    pub UserID: TThostFtdcUserIDType,
    #[doc = " 保留的无效字段"]
    pub reserve1: TThostFtdcOldInstrumentIDType,
    #[doc = " 投资单元代码"]
    pub InvestUnitID: TThostFtdcInvestUnitIDType,
    #[doc = " 保留的无效字段"]
    pub reserve2: TThostFtdcOldIPAddressType,
    #[doc = " Mac地址"]
    pub MacAddress: TThostFtdcMacAddressType,
    #[doc = " 合约代码"]
    pub InstrumentID: TThostFtdcInstrumentIDType,
    #[doc = " IP地址"]
    pub IPAddress: TThostFtdcIPAddressType,
}
impl Default for CThostFtdcInputOrderActionField {
    fn default() -> Self {
        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
        unsafe {
            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
            s.assume_init()
        }
    }
}
#[doc = " 报单操作"]
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct CThostFtdcOrderActionField {
    #[doc = " 经纪公司代码"]
    pub BrokerID: TThostFtdcBrokerIDType,
    #[doc = " 投资者代码"]
    pub InvestorID: TThostFtdcInvestorIDType,
    #[doc = " 报单操作引用"]
    pub OrderActionRef: TThostFtdcOrderActionRefType,
    #[doc = " 报单引用"]
    pub OrderRef: TThostFtdcOrderRefType,
    #[doc = " 请求编号"]
    pub RequestID: TThostFtdcRequestIDType,
    #[doc = " 前置编号"]
    pub FrontID: TThostFtdcFrontIDType,
    #[doc = " 会话编号"]
    pub SessionID: TThostFtdcSessionIDType,
    #[doc = " 交易所代码"]
    pub ExchangeID: TThostFtdcExchangeIDType,
    #[doc = " 报单编号"]
    pub OrderSysID: TThostFtdcOrderSysIDType,
    #[doc = " 操作标志"]
    pub ActionFlag: TThostFtdcActionFlagType,
    #[doc = " 价格"]
    pub LimitPrice: TThostFtdcPriceType,
    #[doc = " 数量变化"]
    pub VolumeChange: TThostFtdcVolumeType,
    #[doc = " 操作日期"]
    pub ActionDate: TThostFtdcDateType,
    #[doc = " 操作时间"]
    pub ActionTime: TThostFtdcTimeType,
    #[doc = " 交易所交易员代码"]
    pub TraderID: TThostFtdcTraderIDType,
    #[doc = " 安装编号"]
    pub InstallID: TThostFtdcInstallIDType,
    #[doc = " 本地报单编号"]
    pub OrderLocalID: TThostFtdcOrderLocalIDType,
    #[doc = " 操作本地编号"]
    pub ActionLocalID: TThostFtdcOrderLocalIDType,
    #[doc = " 会员代码"]
    pub ParticipantID: TThostFtdcParticipantIDType,
    #[doc = " 客户代码"]
    pub ClientID: TThostFtdcClientIDType,
    #[doc = " 业务单元"]
    pub BusinessUnit: TThostFtdcBusinessUnitType,
    #[doc = " 报单操作状态"]
    pub OrderActionStatus: TThostFtdcOrderActionStatusType,
    #[doc = " 用户代码"]
    pub UserID: TThostFtdcUserIDType,
    #[doc = " 状态信息"]
    pub StatusMsg: TThostFtdcErrorMsgType,
    #[doc = " 保留的无效字段"]
    pub reserve1: TThostFtdcOldInstrumentIDType,
    #[doc = " 营业部编号"]
    pub BranchID: TThostFtdcBranchIDType,
    #[doc = " 投资单元代码"]
    pub InvestUnitID: TThostFtdcInvestUnitIDType,
    #[doc = " 保留的无效字段"]
    pub reserve2: TThostFtdcOldIPAddressType,
    #[doc = " Mac地址"]
    pub MacAddress: TThostFtdcMacAddressType,
    #[doc = " 合约代码"]
    pub InstrumentID: TThostFtdcInstrumentIDType,
    #[doc = " IP地址"]
    pub IPAddress: TThostFtdcIPAddressType,
}
impl Default for CThostFtdcOrderActionField {
    fn default() -> Self {
        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
        unsafe {
            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
            s.assume_init()
        }
    }
}
#[doc = " 交易所报单操作"]
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct CThostFtdcExchangeOrderActionField {
    #[doc = " 交易所代码"]
    pub ExchangeID: TThostFtdcExchangeIDType,
    #[doc = " 报单编号"]
    pub OrderSysID: TThostFtdcOrderSysIDType,
    #[doc = " 操作标志"]
    pub ActionFlag: TThostFtdcActionFlagType,
    #[doc = " 价格"]
    pub LimitPrice: TThostFtdcPriceType,
    #[doc = " 数量变化"]
    pub VolumeChange: TThostFtdcVolumeType,
    #[doc = " 操作日期"]
    pub ActionDate: TThostFtdcDateType,
    #[doc = " 操作时间"]
    pub ActionTime: TThostFtdcTimeType,
    #[doc = " 交易所交易员代码"]
    pub TraderID: TThostFtdcTraderIDType,
    #[doc = " 安装编号"]
    pub InstallID: TThostFtdcInstallIDType,
    #[doc = " 本地报单编号"]
    pub OrderLocalID: TThostFtdcOrderLocalIDType,
    #[doc = " 操作本地编号"]
    pub ActionLocalID: TThostFtdcOrderLocalIDType,
    #[doc = " 会员代码"]
    pub ParticipantID: TThostFtdcParticipantIDType,
    #[doc = " 客户代码"]
    pub ClientID: TThostFtdcClientIDType,
    #[doc = " 业务单元"]
    pub BusinessUnit: TThostFtdcBusinessUnitType,
    #[doc = " 报单操作状态"]
    pub OrderActionStatus: TThostFtdcOrderActionStatusType,
    #[doc = " 用户代码"]
    pub UserID: TThostFtdcUserIDType,
    #[doc = " 营业部编号"]
    pub BranchID: TThostFtdcBranchIDType,
    #[doc = " 保留的无效字段"]
    pub reserve1: TThostFtdcOldIPAddressType,
    #[doc = " Mac地址"]
    pub MacAddress: TThostFtdcMacAddressType,
    #[doc = " IP地址"]
    pub IPAddress: TThostFtdcIPAddressType,
}
impl Default for CThostFtdcExchangeOrderActionField {
    fn default() -> Self {
        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
        unsafe {
            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
            s.assume_init()
        }
    }
}
#[doc = " 交易所报单操作失败"]
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct CThostFtdcExchangeOrderActionErrorField {
    #[doc = " 交易所代码"]
    pub ExchangeID: TThostFtdcExchangeIDType,
    #[doc = " 报单编号"]
    pub OrderSysID: TThostFtdcOrderSysIDType,
    #[doc = " 交易所交易员代码"]
    pub TraderID: TThostFtdcTraderIDType,
    #[doc = " 安装编号"]
    pub InstallID: TThostFtdcInstallIDType,
    #[doc = " 本地报单编号"]
    pub OrderLocalID: TThostFtdcOrderLocalIDType,
    #[doc = " 操作本地编号"]
    pub ActionLocalID: TThostFtdcOrderLocalIDType,
    #[doc = " 错误代码"]
    pub ErrorID: TThostFtdcErrorIDType,
    #[doc = " 错误信息"]
    pub ErrorMsg: TThostFtdcErrorMsgType,
}
impl Default for CThostFtdcExchangeOrderActionErrorField {
    fn default() -> Self {
        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
        unsafe {
            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
            s.assume_init()
        }
    }
}
#[doc = " 交易所成交"]
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct CThostFtdcExchangeTradeField {
    #[doc = " 交易所代码"]
    pub ExchangeID: TThostFtdcExchangeIDType,
    #[doc = " 成交编号"]
    pub TradeID: TThostFtdcTradeIDType,
    #[doc = " 买卖方向"]
    pub Direction: TThostFtdcDirectionType,
    #[doc = " 报单编号"]
    pub OrderSysID: TThostFtdcOrderSysIDType,
    #[doc = " 会员代码"]
    pub ParticipantID: TThostFtdcParticipantIDType,
    #[doc = " 客户代码"]
    pub ClientID: TThostFtdcClientIDType,
    #[doc = " 交易角色"]
    pub TradingRole: TThostFtdcTradingRoleType,
    #[doc = " 保留的无效字段"]
    pub reserve1: TThostFtdcOldExchangeInstIDType,
    #[doc = " 开平标志"]
    pub OffsetFlag: TThostFtdcOffsetFlagType,
    #[doc = " 投机套保标志"]
    pub HedgeFlag: TThostFtdcHedgeFlagType,
    #[doc = " 价格"]
    pub Price: TThostFtdcPriceType,
    #[doc = " 数量"]
    pub Volume: TThostFtdcVolumeType,
    #[doc = " 成交时期"]
    pub TradeDate: TThostFtdcDateType,
    #[doc = " 成交时间"]
    pub TradeTime: TThostFtdcTimeType,
    #[doc = " 成交类型"]
    pub TradeType: TThostFtdcTradeTypeType,
    #[doc = " 成交价来源"]
    pub PriceSource: TThostFtdcPriceSourceType,
    #[doc = " 交易所交易员代码"]
    pub TraderID: TThostFtdcTraderIDType,
    #[doc = " 本地报单编号"]
    pub OrderLocalID: TThostFtdcOrderLocalIDType,
    #[doc = " 结算会员编号"]
    pub ClearingPartID: TThostFtdcParticipantIDType,
    #[doc = " 业务单元"]
    pub BusinessUnit: TThostFtdcBusinessUnitType,
    #[doc = " 序号"]
    pub SequenceNo: TThostFtdcSequenceNoType,
    #[doc = " 成交来源"]
    pub TradeSource: TThostFtdcTradeSourceType,
    #[doc = " 合约在交易所的代码"]
    pub ExchangeInstID: TThostFtdcExchangeInstIDType,
}
impl Default for CThostFtdcExchangeTradeField {
    fn default() -> Self {
        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
        unsafe {
            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
            s.assume_init()
        }
    }
}
#[doc = " 成交"]
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct CThostFtdcTradeField {
    #[doc = " 经纪公司代码"]
    pub BrokerID: TThostFtdcBrokerIDType,
    #[doc = " 投资者代码"]
    pub InvestorID: TThostFtdcInvestorIDType,
    #[doc = " 保留的无效字段"]
    pub reserve1: TThostFtdcOldInstrumentIDType,
    #[doc = " 报单引用"]
    pub OrderRef: TThostFtdcOrderRefType,
    #[doc = " 用户代码"]
    pub UserID: TThostFtdcUserIDType,
    #[doc = " 交易所代码"]
    pub ExchangeID: TThostFtdcExchangeIDType,
    #[doc = " 成交编号"]
    pub TradeID: TThostFtdcTradeIDType,
    #[doc = " 买卖方向"]
    pub Direction: TThostFtdcDirectionType,
    #[doc = " 报单编号"]
    pub OrderSysID: TThostFtdcOrderSysIDType,
    #[doc = " 会员代码"]
    pub ParticipantID: TThostFtdcParticipantIDType,
    #[doc = " 客户代码"]
    pub ClientID: TThostFtdcClientIDType,
    #[doc = " 交易角色"]
    pub TradingRole: TThostFtdcTradingRoleType,
    #[doc = " 保留的无效字段"]
    pub reserve2: TThostFtdcOldExchangeInstIDType,
    #[doc = " 开平标志"]
    pub OffsetFlag: TThostFtdcOffsetFlagType,
    #[doc = " 投机套保标志"]
    pub HedgeFlag: TThostFtdcHedgeFlagType,
    #[doc = " 价格"]
    pub Price: TThostFtdcPriceType,
    #[doc = " 数量"]
    pub Volume: TThostFtdcVolumeType,
    #[doc = " 成交时期"]
    pub TradeDate: TThostFtdcDateType,
    #[doc = " 成交时间"]
    pub TradeTime: TThostFtdcTimeType,
    #[doc = " 成交类型"]
    pub TradeType: TThostFtdcTradeTypeType,
    #[doc = " 成交价来源"]
    pub PriceSource: TThostFtdcPriceSourceType,
    #[doc = " 交易所交易员代码"]
    pub TraderID: TThostFtdcTraderIDType,
    #[doc = " 本地报单编号"]
    pub OrderLocalID: TThostFtdcOrderLocalIDType,
    #[doc = " 结算会员编号"]
    pub ClearingPartID: TThostFtdcParticipantIDType,
    #[doc = " 业务单元"]
    pub BusinessUnit: TThostFtdcBusinessUnitType,
    #[doc = " 序号"]
    pub SequenceNo: TThostFtdcSequenceNoType,
    #[doc = " 交易日"]
    pub TradingDay: TThostFtdcDateType,
    #[doc = " 结算编号"]
    pub SettlementID: TThostFtdcSettlementIDType,
    #[doc = " 经纪公司报单编号"]
    pub BrokerOrderSeq: TThostFtdcSequenceNoType,
    #[doc = " 成交来源"]
    pub TradeSource: TThostFtdcTradeSourceType,
    #[doc = " 投资单元代码"]
    pub InvestUnitID: TThostFtdcInvestUnitIDType,
    #[doc = " 合约代码"]
    pub InstrumentID: TThostFtdcInstrumentIDType,
    #[doc = " 合约在交易所的代码"]
    pub ExchangeInstID: TThostFtdcExchangeInstIDType,
}
impl Default for CThostFtdcTradeField {
    fn default() -> Self {
        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
        unsafe {
            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
            s.assume_init()
        }
    }
}
#[doc = " 用户会话"]
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct CThostFtdcUserSessionField {
    #[doc = " 前置编号"]
    pub FrontID: TThostFtdcFrontIDType,
    #[doc = " 会话编号"]
    pub SessionID: TThostFtdcSessionIDType,
    #[doc = " 经纪公司代码"]
    pub BrokerID: TThostFtdcBrokerIDType,
    #[doc = " 用户代码"]
    pub UserID: TThostFtdcUserIDType,
    #[doc = " 登录日期"]
    pub LoginDate: TThostFtdcDateType,
    #[doc = " 登录时间"]
    pub LoginTime: TThostFtdcTimeType,
    #[doc = " 保留的无效字段"]
    pub reserve1: TThostFtdcOldIPAddressType,
    #[doc = " 用户端产品信息"]
    pub UserProductInfo: TThostFtdcProductInfoType,
    #[doc = " 接口端产品信息"]
    pub InterfaceProductInfo: TThostFtdcProductInfoType,
    #[doc = " 协议信息"]
    pub ProtocolInfo: TThostFtdcProtocolInfoType,
    #[doc = " Mac地址"]
    pub MacAddress: TThostFtdcMacAddressType,
    #[doc = " 登录备注"]
    pub LoginRemark: TThostFtdcLoginRemarkType,
    #[doc = " IP地址"]
    pub IPAddress: TThostFtdcIPAddressType,
}
impl Default for CThostFtdcUserSessionField {
    fn default() -> Self {
        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
        unsafe {
            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
            s.assume_init()
        }
    }
}
#[doc = " 查询最大报单数量"]
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct CThostFtdcQryMaxOrderVolumeField {
    #[doc = " 经纪公司代码"]
    pub BrokerID: TThostFtdcBrokerIDType,
    #[doc = " 投资者代码"]
    pub InvestorID: TThostFtdcInvestorIDType,
    #[doc = " 保留的无效字段"]
    pub reserve1: TThostFtdcOldInstrumentIDType,
    #[doc = " 买卖方向"]
    pub Direction: TThostFtdcDirectionType,
    #[doc = " 开平标志"]
    pub OffsetFlag: TThostFtdcOffsetFlagType,
    #[doc = " 投机套保标志"]
    pub HedgeFlag: TThostFtdcHedgeFlagType,
    #[doc = " 最大允许报单数量"]
    pub MaxVolume: TThostFtdcVolumeType,
    #[doc = " 交易所代码"]
    pub ExchangeID: TThostFtdcExchangeIDType,
    #[doc = " 投资单元代码"]
    pub InvestUnitID: TThostFtdcInvestUnitIDType,
    #[doc = " 合约代码"]
    pub InstrumentID: TThostFtdcInstrumentIDType,
}
impl Default for CThostFtdcQryMaxOrderVolumeField {
    fn default() -> Self {
        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
        unsafe {
            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
            s.assume_init()
        }
    }
}
#[doc = " 投资者结算结果确认信息"]
#[repr(C)]
#[derive(Debug, Default, Copy, Clone)]
pub struct CThostFtdcSettlementInfoConfirmField {
    #[doc = " 经纪公司代码"]
    pub BrokerID: TThostFtdcBrokerIDType,
    #[doc = " 投资者代码"]
    pub InvestorID: TThostFtdcInvestorIDType,
    #[doc = " 确认日期"]
    pub ConfirmDate: TThostFtdcDateType,
    #[doc = " 确认时间"]
    pub ConfirmTime: TThostFtdcTimeType,
    #[doc = " 结算编号"]
    pub SettlementID: TThostFtdcSettlementIDType,
    #[doc = " 投资者帐号"]
    pub AccountID: TThostFtdcAccountIDType,
    #[doc = " 币种代码"]
    pub CurrencyID: TThostFtdcCurrencyIDType,
}
#[doc = " 出入金同步"]
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct CThostFtdcSyncDepositField {
    #[doc = " 出入金流水号"]
    pub DepositSeqNo: TThostFtdcDepositSeqNoType,
    #[doc = " 经纪公司代码"]
    pub BrokerID: TThostFtdcBrokerIDType,
    #[doc = " 投资者代码"]
    pub InvestorID: TThostFtdcInvestorIDType,
    #[doc = " 入金金额"]
    pub Deposit: TThostFtdcMoneyType,
    #[doc = " 是否强制进行"]
    pub IsForce: TThostFtdcBoolType,
    #[doc = " 币种代码"]
    pub CurrencyID: TThostFtdcCurrencyIDType,
    #[doc = " 是否是个股期权内转"]
    pub IsFromSopt: TThostFtdcBoolType,
    #[doc = " 资金密码"]
    pub TradingPassword: TThostFtdcPasswordType,
}
impl Default for CThostFtdcSyncDepositField {
    fn default() -> Self {
        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
        unsafe {
            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
            s.assume_init()
        }
    }
}
#[doc = " 货币质押同步"]
#[repr(C)]
#[derive(Debug, Default, Copy, Clone)]
pub struct CThostFtdcSyncFundMortgageField {
    #[doc = " 货币质押流水号"]
    pub MortgageSeqNo: TThostFtdcDepositSeqNoType,
    #[doc = " 经纪公司代码"]
    pub BrokerID: TThostFtdcBrokerIDType,
    #[doc = " 投资者代码"]
    pub InvestorID: TThostFtdcInvestorIDType,
    #[doc = " 源币种"]
    pub FromCurrencyID: TThostFtdcCurrencyIDType,
    #[doc = " 质押金额"]
    pub MortgageAmount: TThostFtdcMoneyType,
    #[doc = " 目标币种"]
    pub ToCurrencyID: TThostFtdcCurrencyIDType,
}
#[doc = " 经纪公司同步"]
#[repr(C)]
#[derive(Debug, Default, Copy, Clone)]
pub struct CThostFtdcBrokerSyncField {
    #[doc = " 经纪公司代码"]
    pub BrokerID: TThostFtdcBrokerIDType,
}
#[doc = " 正在同步中的投资者"]
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct CThostFtdcSyncingInvestorField {
    #[doc = " 投资者代码"]
    pub InvestorID: TThostFtdcInvestorIDType,
    #[doc = " 经纪公司代码"]
    pub BrokerID: TThostFtdcBrokerIDType,
    #[doc = " 投资者分组代码"]
    pub InvestorGroupID: TThostFtdcInvestorIDType,
    #[doc = " 投资者名称"]
    pub InvestorName: TThostFtdcPartyNameType,
    #[doc = " 证件类型"]
    pub IdentifiedCardType: TThostFtdcIdCardTypeType,
    #[doc = " 证件号码"]
    pub IdentifiedCardNo: TThostFtdcIdentifiedCardNoType,
    #[doc = " 是否活跃"]
    pub IsActive: TThostFtdcBoolType,
    #[doc = " 联系电话"]
    pub Telephone: TThostFtdcTelephoneType,
    #[doc = " 通讯地址"]
    pub Address: TThostFtdcAddressType,
    #[doc = " 开户日期"]
    pub OpenDate: TThostFtdcDateType,
    #[doc = " 手机"]
    pub Mobile: TThostFtdcMobileType,
    #[doc = " 手续费率模板代码"]
    pub CommModelID: TThostFtdcInvestorIDType,
    #[doc = " 保证金率模板代码"]
    pub MarginModelID: TThostFtdcInvestorIDType,
    #[doc = " 是否频率控制"]
    pub IsOrderFreq: TThostFtdcEnumBoolType,
    #[doc = " 是否开仓限制"]
    pub IsOpenVolLimit: TThostFtdcEnumBoolType,
}
impl Default for CThostFtdcSyncingInvestorField {
    fn default() -> Self {
        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
        unsafe {
            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
            s.assume_init()
        }
    }
}
#[doc = " 正在同步中的交易代码"]
#[repr(C)]
#[derive(Debug, Default, Copy, Clone)]
pub struct CThostFtdcSyncingTradingCodeField {
    #[doc = " 投资者代码"]
    pub InvestorID: TThostFtdcInvestorIDType,
    #[doc = " 经纪公司代码"]
    pub BrokerID: TThostFtdcBrokerIDType,
    #[doc = " 交易所代码"]
    pub ExchangeID: TThostFtdcExchangeIDType,
    #[doc = " 客户代码"]
    pub ClientID: TThostFtdcClientIDType,
    #[doc = " 是否活跃"]
    pub IsActive: TThostFtdcBoolType,
    #[doc = " 交易编码类型"]
    pub ClientIDType: TThostFtdcClientIDTypeType,
}
#[doc = " 正在同步中的投资者分组"]
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct CThostFtdcSyncingInvestorGroupField {
    #[doc = " 经纪公司代码"]
    pub BrokerID: TThostFtdcBrokerIDType,
    #[doc = " 投资者分组代码"]
    pub InvestorGroupID: TThostFtdcInvestorIDType,
    #[doc = " 投资者分组名称"]
    pub InvestorGroupName: TThostFtdcInvestorGroupNameType,
}
impl Default for CThostFtdcSyncingInvestorGroupField {
    fn default() -> Self {
        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
        unsafe {
            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
            s.assume_init()
        }
    }
}
#[doc = " 正在同步中的交易账号"]
#[repr(C)]
#[derive(Debug, Default, Copy, Clone)]
pub struct CThostFtdcSyncingTradingAccountField {
    #[doc = " 经纪公司代码"]
    pub BrokerID: TThostFtdcBrokerIDType,
    #[doc = " 投资者帐号"]
    pub AccountID: TThostFtdcAccountIDType,
    #[doc = " 上次质押金额"]
    pub PreMortgage: TThostFtdcMoneyType,
    #[doc = " 上次信用额度"]
    pub PreCredit: TThostFtdcMoneyType,
    #[doc = " 上次存款额"]
    pub PreDeposit: TThostFtdcMoneyType,
    #[doc = " 上次结算准备金"]
    pub PreBalance: TThostFtdcMoneyType,
    #[doc = " 上次占用的保证金"]
    pub PreMargin: TThostFtdcMoneyType,
    #[doc = " 利息基数"]
    pub InterestBase: TThostFtdcMoneyType,
    #[doc = " 利息收入"]
    pub Interest: TThostFtdcMoneyType,
    #[doc = " 入金金额"]
    pub Deposit: TThostFtdcMoneyType,
    #[doc = " 出金金额"]
    pub Withdraw: TThostFtdcMoneyType,
    #[doc = " 冻结的保证金"]
    pub FrozenMargin: TThostFtdcMoneyType,
    #[doc = " 冻结的资金"]
    pub FrozenCash: TThostFtdcMoneyType,
    #[doc = " 冻结的手续费"]
    pub FrozenCommission: TThostFtdcMoneyType,
    #[doc = " 当前保证金总额"]
    pub CurrMargin: TThostFtdcMoneyType,
    #[doc = " 资金差额"]
    pub CashIn: TThostFtdcMoneyType,
    #[doc = " 手续费"]
    pub Commission: TThostFtdcMoneyType,
    #[doc = " 平仓盈亏"]
    pub CloseProfit: TThostFtdcMoneyType,
    #[doc = " 持仓盈亏"]
    pub PositionProfit: TThostFtdcMoneyType,
    #[doc = " 期货结算准备金"]
    pub Balance: TThostFtdcMoneyType,
    #[doc = " 可用资金"]
    pub Available: TThostFtdcMoneyType,
    #[doc = " 可取资金"]
    pub WithdrawQuota: TThostFtdcMoneyType,
    #[doc = " 基本准备金"]
    pub Reserve: TThostFtdcMoneyType,
    #[doc = " 交易日"]
    pub TradingDay: TThostFtdcDateType,
    #[doc = " 结算编号"]
    pub SettlementID: TThostFtdcSettlementIDType,
    #[doc = " 信用额度"]
    pub Credit: TThostFtdcMoneyType,
    #[doc = " 质押金额"]
    pub Mortgage: TThostFtdcMoneyType,
    #[doc = " 交易所保证金"]
    pub ExchangeMargin: TThostFtdcMoneyType,
    #[doc = " 投资者交割保证金"]
    pub DeliveryMargin: TThostFtdcMoneyType,
    #[doc = " 交易所交割保证金"]
    pub ExchangeDeliveryMargin: TThostFtdcMoneyType,
    #[doc = " 保底期货结算准备金"]
    pub ReserveBalance: TThostFtdcMoneyType,
    #[doc = " 币种代码"]
    pub CurrencyID: TThostFtdcCurrencyIDType,
    #[doc = " 上次货币质入金额"]
    pub PreFundMortgageIn: TThostFtdcMoneyType,
    #[doc = " 上次货币质出金额"]
    pub PreFundMortgageOut: TThostFtdcMoneyType,
    #[doc = " 货币质入金额"]
    pub FundMortgageIn: TThostFtdcMoneyType,
    #[doc = " 货币质出金额"]
    pub FundMortgageOut: TThostFtdcMoneyType,
    #[doc = " 货币质押余额"]
    pub FundMortgageAvailable: TThostFtdcMoneyType,
    #[doc = " 可质押货币金额"]
    pub MortgageableFund: TThostFtdcMoneyType,
    #[doc = " 特殊产品占用保证金"]
    pub SpecProductMargin: TThostFtdcMoneyType,
    #[doc = " 特殊产品冻结保证金"]
    pub SpecProductFrozenMargin: TThostFtdcMoneyType,
    #[doc = " 特殊产品手续费"]
    pub SpecProductCommission: TThostFtdcMoneyType,
    #[doc = " 特殊产品冻结手续费"]
    pub SpecProductFrozenCommission: TThostFtdcMoneyType,
    #[doc = " 特殊产品持仓盈亏"]
    pub SpecProductPositionProfit: TThostFtdcMoneyType,
    #[doc = " 特殊产品平仓盈亏"]
    pub SpecProductCloseProfit: TThostFtdcMoneyType,
    #[doc = " 根据持仓盈亏算法计算的特殊产品持仓盈亏"]
    pub SpecProductPositionProfitByAlg: TThostFtdcMoneyType,
    #[doc = " 特殊产品交易所保证金"]
    pub SpecProductExchangeMargin: TThostFtdcMoneyType,
    #[doc = " 延时换汇冻结金额"]
    pub FrozenSwap: TThostFtdcMoneyType,
    #[doc = " 剩余换汇额度"]
    pub RemainSwap: TThostFtdcMoneyType,
}
#[doc = " 正在同步中的投资者持仓"]
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct CThostFtdcSyncingInvestorPositionField {
    #[doc = " 保留的无效字段"]
    pub reserve1: TThostFtdcOldInstrumentIDType,
    #[doc = " 经纪公司代码"]
    pub BrokerID: TThostFtdcBrokerIDType,
    #[doc = " 投资者代码"]
    pub InvestorID: TThostFtdcInvestorIDType,
    #[doc = " 持仓多空方向"]
    pub PosiDirection: TThostFtdcPosiDirectionType,
    #[doc = " 投机套保标志"]
    pub HedgeFlag: TThostFtdcHedgeFlagType,
    #[doc = " 持仓日期"]
    pub PositionDate: TThostFtdcPositionDateType,
    #[doc = " 上日持仓"]
    pub YdPosition: TThostFtdcVolumeType,
    #[doc = " 今日持仓"]
    pub Position: TThostFtdcVolumeType,
    #[doc = " 多头冻结"]
    pub LongFrozen: TThostFtdcVolumeType,
    #[doc = " 空头冻结"]
    pub ShortFrozen: TThostFtdcVolumeType,
    #[doc = " 开仓冻结金额"]
    pub LongFrozenAmount: TThostFtdcMoneyType,
    #[doc = " 开仓冻结金额"]
    pub ShortFrozenAmount: TThostFtdcMoneyType,
    #[doc = " 开仓量"]
    pub OpenVolume: TThostFtdcVolumeType,
    #[doc = " 平仓量"]
    pub CloseVolume: TThostFtdcVolumeType,
    #[doc = " 开仓金额"]
    pub OpenAmount: TThostFtdcMoneyType,
    #[doc = " 平仓金额"]
    pub CloseAmount: TThostFtdcMoneyType,
    #[doc = " 持仓成本"]
    pub PositionCost: TThostFtdcMoneyType,
    #[doc = " 上次占用的保证金"]
    pub PreMargin: TThostFtdcMoneyType,
    #[doc = " 占用的保证金"]
    pub UseMargin: TThostFtdcMoneyType,
    #[doc = " 冻结的保证金"]
    pub FrozenMargin: TThostFtdcMoneyType,
    #[doc = " 冻结的资金"]
    pub FrozenCash: TThostFtdcMoneyType,
    #[doc = " 冻结的手续费"]
    pub FrozenCommission: TThostFtdcMoneyType,
    #[doc = " 资金差额"]
    pub CashIn: TThostFtdcMoneyType,
    #[doc = " 手续费"]
    pub Commission: TThostFtdcMoneyType,
    #[doc = " 平仓盈亏"]
    pub CloseProfit: TThostFtdcMoneyType,
    #[doc = " 持仓盈亏"]
    pub PositionProfit: TThostFtdcMoneyType,
    #[doc = " 上次结算价"]
    pub PreSettlementPrice: TThostFtdcPriceType,
    #[doc = " 本次结算价"]
    pub SettlementPrice: TThostFtdcPriceType,
    #[doc = " 交易日"]
    pub TradingDay: TThostFtdcDateType,
    #[doc = " 结算编号"]
    pub SettlementID: TThostFtdcSettlementIDType,
    #[doc = " 开仓成本"]
    pub OpenCost: TThostFtdcMoneyType,
    #[doc = " 交易所保证金"]
    pub ExchangeMargin: TThostFtdcMoneyType,
    #[doc = " 组合成交形成的持仓"]
    pub CombPosition: TThostFtdcVolumeType,
    #[doc = " 组合多头冻结"]
    pub CombLongFrozen: TThostFtdcVolumeType,
    #[doc = " 组合空头冻结"]
    pub CombShortFrozen: TThostFtdcVolumeType,
    #[doc = " 逐日盯市平仓盈亏"]
    pub CloseProfitByDate: TThostFtdcMoneyType,
    #[doc = " 逐笔对冲平仓盈亏"]
    pub CloseProfitByTrade: TThostFtdcMoneyType,
    #[doc = " 今日持仓"]
    pub TodayPosition: TThostFtdcVolumeType,
    #[doc = " 保证金率"]
    pub MarginRateByMoney: TThostFtdcRatioType,
    #[doc = " 保证金率(按手数)"]
    pub MarginRateByVolume: TThostFtdcRatioType,
    #[doc = " 执行冻结"]
    pub StrikeFrozen: TThostFtdcVolumeType,
    #[doc = " 执行冻结金额"]
    pub StrikeFrozenAmount: TThostFtdcMoneyType,
    #[doc = " 放弃执行冻结"]
    pub AbandonFrozen: TThostFtdcVolumeType,
    #[doc = " 交易所代码"]
    pub ExchangeID: TThostFtdcExchangeIDType,
    #[doc = " 执行冻结的昨仓"]
    pub YdStrikeFrozen: TThostFtdcVolumeType,
    #[doc = " 投资单元代码"]
    pub InvestUnitID: TThostFtdcInvestUnitIDType,
    #[doc = " 持仓成本差值"]
    pub PositionCostOffset: TThostFtdcMoneyType,
    #[doc = " tas持仓手数"]
    pub TasPosition: TThostFtdcVolumeType,
    #[doc = " tas持仓成本"]
    pub TasPositionCost: TThostFtdcMoneyType,
    #[doc = " 合约代码"]
    pub InstrumentID: TThostFtdcInstrumentIDType,
}
impl Default for CThostFtdcSyncingInvestorPositionField {
    fn default() -> Self {
        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
        unsafe {
            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
            s.assume_init()
        }
    }
}
#[doc = " 正在同步中的合约保证金率"]
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct CThostFtdcSyncingInstrumentMarginRateField {
    #[doc = " 保留的无效字段"]
    pub reserve1: TThostFtdcOldInstrumentIDType,
    #[doc = " 投资者范围"]
    pub InvestorRange: TThostFtdcInvestorRangeType,
    #[doc = " 经纪公司代码"]
    pub BrokerID: TThostFtdcBrokerIDType,
    #[doc = " 投资者代码"]
    pub InvestorID: TThostFtdcInvestorIDType,
    #[doc = " 投机套保标志"]
    pub HedgeFlag: TThostFtdcHedgeFlagType,
    #[doc = " 多头保证金率"]
    pub LongMarginRatioByMoney: TThostFtdcRatioType,
    #[doc = " 多头保证金费"]
    pub LongMarginRatioByVolume: TThostFtdcMoneyType,
    #[doc = " 空头保证金率"]
    pub ShortMarginRatioByMoney: TThostFtdcRatioType,
    #[doc = " 空头保证金费"]
    pub ShortMarginRatioByVolume: TThostFtdcMoneyType,
    #[doc = " 是否相对交易所收取"]
    pub IsRelative: TThostFtdcBoolType,
    #[doc = " 合约代码"]
    pub InstrumentID: TThostFtdcInstrumentIDType,
}
impl Default for CThostFtdcSyncingInstrumentMarginRateField {
    fn default() -> Self {
        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
        unsafe {
            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
            s.assume_init()
        }
    }
}
#[doc = " 正在同步中的合约手续费率"]
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct CThostFtdcSyncingInstrumentCommissionRateField {
    #[doc = " 保留的无效字段"]
    pub reserve1: TThostFtdcOldInstrumentIDType,
    #[doc = " 投资者范围"]
    pub InvestorRange: TThostFtdcInvestorRangeType,
    #[doc = " 经纪公司代码"]
    pub BrokerID: TThostFtdcBrokerIDType,
    #[doc = " 投资者代码"]
    pub InvestorID: TThostFtdcInvestorIDType,
    #[doc = " 开仓手续费率"]
    pub OpenRatioByMoney: TThostFtdcRatioType,
    #[doc = " 开仓手续费"]
    pub OpenRatioByVolume: TThostFtdcRatioType,
    #[doc = " 平仓手续费率"]
    pub CloseRatioByMoney: TThostFtdcRatioType,
    #[doc = " 平仓手续费"]
    pub CloseRatioByVolume: TThostFtdcRatioType,
    #[doc = " 平今手续费率"]
    pub CloseTodayRatioByMoney: TThostFtdcRatioType,
    #[doc = " 平今手续费"]
    pub CloseTodayRatioByVolume: TThostFtdcRatioType,
    #[doc = " 合约代码"]
    pub InstrumentID: TThostFtdcInstrumentIDType,
}
impl Default for CThostFtdcSyncingInstrumentCommissionRateField {
    fn default() -> Self {
        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
        unsafe {
            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
            s.assume_init()
        }
    }
}
#[doc = " 正在同步中的合约交易权限"]
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct CThostFtdcSyncingInstrumentTradingRightField {
    #[doc = " 保留的无效字段"]
    pub reserve1: TThostFtdcOldInstrumentIDType,
    #[doc = " 投资者范围"]
    pub InvestorRange: TThostFtdcInvestorRangeType,
    #[doc = " 经纪公司代码"]
    pub BrokerID: TThostFtdcBrokerIDType,
    #[doc = " 投资者代码"]
    pub InvestorID: TThostFtdcInvestorIDType,
    #[doc = " 交易权限"]
    pub TradingRight: TThostFtdcTradingRightType,
    #[doc = " 合约代码"]
    pub InstrumentID: TThostFtdcInstrumentIDType,
}
impl Default for CThostFtdcSyncingInstrumentTradingRightField {
    fn default() -> Self {
        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
        unsafe {
            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
            s.assume_init()
        }
    }
}
#[doc = " 查询报单"]
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct CThostFtdcQryOrderField {
    #[doc = " 经纪公司代码"]
    pub BrokerID: TThostFtdcBrokerIDType,
    #[doc = " 投资者代码"]
    pub InvestorID: TThostFtdcInvestorIDType,
    #[doc = " 保留的无效字段"]
    pub reserve1: TThostFtdcOldInstrumentIDType,
    #[doc = " 交易所代码"]
    pub ExchangeID: TThostFtdcExchangeIDType,
    #[doc = " 报单编号"]
    pub OrderSysID: TThostFtdcOrderSysIDType,
    #[doc = " 开始时间"]
    pub InsertTimeStart: TThostFtdcTimeType,
    #[doc = " 结束时间"]
    pub InsertTimeEnd: TThostFtdcTimeType,
    #[doc = " 投资单元代码"]
    pub InvestUnitID: TThostFtdcInvestUnitIDType,
    #[doc = " 合约代码"]
    pub InstrumentID: TThostFtdcInstrumentIDType,
}
impl Default for CThostFtdcQryOrderField {
    fn default() -> Self {
        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
        unsafe {
            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
            s.assume_init()
        }
    }
}
#[doc = " 查询成交"]
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct CThostFtdcQryTradeField {
    #[doc = " 经纪公司代码"]
    pub BrokerID: TThostFtdcBrokerIDType,
    #[doc = " 投资者代码"]
    pub InvestorID: TThostFtdcInvestorIDType,
    #[doc = " 保留的无效字段"]
    pub reserve1: TThostFtdcOldInstrumentIDType,
    #[doc = " 交易所代码"]
    pub ExchangeID: TThostFtdcExchangeIDType,
    #[doc = " 成交编号"]
    pub TradeID: TThostFtdcTradeIDType,
    #[doc = " 开始时间"]
    pub TradeTimeStart: TThostFtdcTimeType,
    #[doc = " 结束时间"]
    pub TradeTimeEnd: TThostFtdcTimeType,
    #[doc = " 投资单元代码"]
    pub InvestUnitID: TThostFtdcInvestUnitIDType,
    #[doc = " 合约代码"]
    pub InstrumentID: TThostFtdcInstrumentIDType,
}
impl Default for CThostFtdcQryTradeField {
    fn default() -> Self {
        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
        unsafe {
            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
            s.assume_init()
        }
    }
}
#[doc = " 查询投资者持仓"]
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct CThostFtdcQryInvestorPositionField {
    #[doc = " 经纪公司代码"]
    pub BrokerID: TThostFtdcBrokerIDType,
    #[doc = " 投资者代码"]
    pub InvestorID: TThostFtdcInvestorIDType,
    #[doc = " 保留的无效字段"]
    pub reserve1: TThostFtdcOldInstrumentIDType,
    #[doc = " 交易所代码"]
    pub ExchangeID: TThostFtdcExchangeIDType,
    #[doc = " 投资单元代码"]
    pub InvestUnitID: TThostFtdcInvestUnitIDType,
    #[doc = " 合约代码"]
    pub InstrumentID: TThostFtdcInstrumentIDType,
}
impl Default for CThostFtdcQryInvestorPositionField {
    fn default() -> Self {
        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
        unsafe {
            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
            s.assume_init()
        }
    }
}
#[doc = " 查询资金账户"]
#[repr(C)]
#[derive(Debug, Default, Copy, Clone)]
pub struct CThostFtdcQryTradingAccountField {
    #[doc = " 经纪公司代码"]
    pub BrokerID: TThostFtdcBrokerIDType,
    #[doc = " 投资者代码"]
    pub InvestorID: TThostFtdcInvestorIDType,
    #[doc = " 币种代码"]
    pub CurrencyID: TThostFtdcCurrencyIDType,
    #[doc = " 业务类型"]
    pub BizType: TThostFtdcBizTypeType,
    #[doc = " 投资者帐号"]
    pub AccountID: TThostFtdcAccountIDType,
}
#[doc = " 查询投资者"]
#[repr(C)]
#[derive(Debug, Default, Copy, Clone)]
pub struct CThostFtdcQryInvestorField {
    #[doc = " 经纪公司代码"]
    pub BrokerID: TThostFtdcBrokerIDType,
    #[doc = " 投资者代码"]
    pub InvestorID: TThostFtdcInvestorIDType,
}
#[doc = " 查询交易编码"]
#[repr(C)]
#[derive(Debug, Default, Copy, Clone)]
pub struct CThostFtdcQryTradingCodeField {
    #[doc = " 经纪公司代码"]
    pub BrokerID: TThostFtdcBrokerIDType,
    #[doc = " 投资者代码"]
    pub InvestorID: TThostFtdcInvestorIDType,
    #[doc = " 交易所代码"]
    pub ExchangeID: TThostFtdcExchangeIDType,
    #[doc = " 客户代码"]
    pub ClientID: TThostFtdcClientIDType,
    #[doc = " 交易编码类型"]
    pub ClientIDType: TThostFtdcClientIDTypeType,
    #[doc = " 投资单元代码"]
    pub InvestUnitID: TThostFtdcInvestUnitIDType,
}
#[doc = " 查询投资者组"]
#[repr(C)]
#[derive(Debug, Default, Copy, Clone)]
pub struct CThostFtdcQryInvestorGroupField {
    #[doc = " 经纪公司代码"]
    pub BrokerID: TThostFtdcBrokerIDType,
}
#[doc = " 查询合约保证金率"]
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct CThostFtdcQryInstrumentMarginRateField {
    #[doc = " 经纪公司代码"]
    pub BrokerID: TThostFtdcBrokerIDType,
    #[doc = " 投资者代码"]
    pub InvestorID: TThostFtdcInvestorIDType,
    #[doc = " 保留的无效字段"]
    pub reserve1: TThostFtdcOldInstrumentIDType,
    #[doc = " 投机套保标志"]
    pub HedgeFlag: TThostFtdcHedgeFlagType,
    #[doc = " 交易所代码"]
    pub ExchangeID: TThostFtdcExchangeIDType,
    #[doc = " 投资单元代码"]
    pub InvestUnitID: TThostFtdcInvestUnitIDType,
    #[doc = " 合约代码"]
    pub InstrumentID: TThostFtdcInstrumentIDType,
}
impl Default for CThostFtdcQryInstrumentMarginRateField {
    fn default() -> Self {
        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
        unsafe {
            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
            s.assume_init()
        }
    }
}
#[doc = " 查询手续费率"]
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct CThostFtdcQryInstrumentCommissionRateField {
    #[doc = " 经纪公司代码"]
    pub BrokerID: TThostFtdcBrokerIDType,
    #[doc = " 投资者代码"]
    pub InvestorID: TThostFtdcInvestorIDType,
    #[doc = " 保留的无效字段"]
    pub reserve1: TThostFtdcOldInstrumentIDType,
    #[doc = " 交易所代码"]
    pub ExchangeID: TThostFtdcExchangeIDType,
    #[doc = " 投资单元代码"]
    pub InvestUnitID: TThostFtdcInvestUnitIDType,
    #[doc = " 合约代码"]
    pub InstrumentID: TThostFtdcInstrumentIDType,
}
impl Default for CThostFtdcQryInstrumentCommissionRateField {
    fn default() -> Self {
        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
        unsafe {
            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
            s.assume_init()
        }
    }
}
#[doc = " 查询合约交易权限"]
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct CThostFtdcQryInstrumentTradingRightField {
    #[doc = " 经纪公司代码"]
    pub BrokerID: TThostFtdcBrokerIDType,
    #[doc = " 投资者代码"]
    pub InvestorID: TThostFtdcInvestorIDType,
    #[doc = " 保留的无效字段"]
    pub reserve1: TThostFtdcOldInstrumentIDType,
    #[doc = " 合约代码"]
    pub InstrumentID: TThostFtdcInstrumentIDType,
}
impl Default for CThostFtdcQryInstrumentTradingRightField {
    fn default() -> Self {
        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
        unsafe {
            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
            s.assume_init()
        }
    }
}
#[doc = " 查询经纪公司"]
#[repr(C)]
#[derive(Debug, Default, Copy, Clone)]
pub struct CThostFtdcQryBrokerField {
    #[doc = " 经纪公司代码"]
    pub BrokerID: TThostFtdcBrokerIDType,
}
#[doc = " 查询交易员"]
#[repr(C)]
#[derive(Debug, Default, Copy, Clone)]
pub struct CThostFtdcQryTraderField {
    #[doc = " 交易所代码"]
    pub ExchangeID: TThostFtdcExchangeIDType,
    #[doc = " 会员代码"]
    pub ParticipantID: TThostFtdcParticipantIDType,
    #[doc = " 交易所交易员代码"]
    pub TraderID: TThostFtdcTraderIDType,
}
#[doc = " 查询管理用户功能权限"]
#[repr(C)]
#[derive(Debug, Default, Copy, Clone)]
pub struct CThostFtdcQrySuperUserFunctionField {
    #[doc = " 用户代码"]
    pub UserID: TThostFtdcUserIDType,
}
#[doc = " 查询用户会话"]
#[repr(C)]
#[derive(Debug, Default, Copy, Clone)]
pub struct CThostFtdcQryUserSessionField {
    #[doc = " 前置编号"]
    pub FrontID: TThostFtdcFrontIDType,
    #[doc = " 会话编号"]
    pub SessionID: TThostFtdcSessionIDType,
    #[doc = " 经纪公司代码"]
    pub BrokerID: TThostFtdcBrokerIDType,
    #[doc = " 用户代码"]
    pub UserID: TThostFtdcUserIDType,
}
#[doc = " 查询经纪公司会员代码"]
#[repr(C)]
#[derive(Debug, Default, Copy, Clone)]
pub struct CThostFtdcQryPartBrokerField {
    #[doc = " 交易所代码"]
    pub ExchangeID: TThostFtdcExchangeIDType,
    #[doc = " 经纪公司代码"]
    pub BrokerID: TThostFtdcBrokerIDType,
    #[doc = " 会员代码"]
    pub ParticipantID: TThostFtdcParticipantIDType,
}
#[doc = " 查询前置状态"]
#[repr(C)]
#[derive(Debug, Default, Copy, Clone)]
pub struct CThostFtdcQryFrontStatusField {
    #[doc = " 前置编号"]
    pub FrontID: TThostFtdcFrontIDType,
}
#[doc = " 查询交易所报单"]
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct CThostFtdcQryExchangeOrderField {
    #[doc = " 会员代码"]
    pub ParticipantID: TThostFtdcParticipantIDType,
    #[doc = " 客户代码"]
    pub ClientID: TThostFtdcClientIDType,
    #[doc = " 保留的无效字段"]
    pub reserve1: TThostFtdcOldExchangeInstIDType,
    #[doc = " 交易所代码"]
    pub ExchangeID: TThostFtdcExchangeIDType,
    #[doc = " 交易所交易员代码"]
    pub TraderID: TThostFtdcTraderIDType,
    #[doc = " 合约在交易所的代码"]
    pub ExchangeInstID: TThostFtdcExchangeInstIDType,
}
impl Default for CThostFtdcQryExchangeOrderField {
    fn default() -> Self {
        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
        unsafe {
            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
            s.assume_init()
        }
    }
}
#[doc = " 查询报单操作"]
#[repr(C)]
#[derive(Debug, Default, Copy, Clone)]
pub struct CThostFtdcQryOrderActionField {
    #[doc = " 经纪公司代码"]
    pub BrokerID: TThostFtdcBrokerIDType,
    #[doc = " 投资者代码"]
    pub InvestorID: TThostFtdcInvestorIDType,
    #[doc = " 交易所代码"]
    pub ExchangeID: TThostFtdcExchangeIDType,
}
#[doc = " 查询交易所报单操作"]
#[repr(C)]
#[derive(Debug, Default, Copy, Clone)]
pub struct CThostFtdcQryExchangeOrderActionField {
    #[doc = " 会员代码"]
    pub ParticipantID: TThostFtdcParticipantIDType,
    #[doc = " 客户代码"]
    pub ClientID: TThostFtdcClientIDType,
    #[doc = " 交易所代码"]
    pub ExchangeID: TThostFtdcExchangeIDType,
    #[doc = " 交易所交易员代码"]
    pub TraderID: TThostFtdcTraderIDType,
}
#[doc = " 查询管理用户"]
#[repr(C)]
#[derive(Debug, Default, Copy, Clone)]
pub struct CThostFtdcQrySuperUserField {
    #[doc = " 用户代码"]
    pub UserID: TThostFtdcUserIDType,
}
#[doc = " 查询交易所"]
#[repr(C)]
#[derive(Debug, Default, Copy, Clone)]
pub struct CThostFtdcQryExchangeField {
    #[doc = " 交易所代码"]
    pub ExchangeID: TThostFtdcExchangeIDType,
}
#[doc = " 查询产品"]
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct CThostFtdcQryProductField {
    #[doc = " 保留的无效字段"]
    pub reserve1: TThostFtdcOldInstrumentIDType,
    #[doc = " 产品类型"]
    pub ProductClass: TThostFtdcProductClassType,
    #[doc = " 交易所代码"]
    pub ExchangeID: TThostFtdcExchangeIDType,
    #[doc = " 产品代码"]
    pub ProductID: TThostFtdcInstrumentIDType,
}
impl Default for CThostFtdcQryProductField {
    fn default() -> Self {
        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
        unsafe {
            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
            s.assume_init()
        }
    }
}
#[doc = " 查询合约"]
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct CThostFtdcQryInstrumentField {
    #[doc = " 保留的无效字段"]
    pub reserve1: TThostFtdcOldInstrumentIDType,
    #[doc = " 交易所代码"]
    pub ExchangeID: TThostFtdcExchangeIDType,
    #[doc = " 保留的无效字段"]
    pub reserve2: TThostFtdcOldExchangeInstIDType,
    #[doc = " 保留的无效字段"]
    pub reserve3: TThostFtdcOldInstrumentIDType,
    #[doc = " 合约代码"]
    pub InstrumentID: TThostFtdcInstrumentIDType,
    #[doc = " 合约在交易所的代码"]
    pub ExchangeInstID: TThostFtdcExchangeInstIDType,
    #[doc = " 产品代码"]
    pub ProductID: TThostFtdcInstrumentIDType,
}
impl Default for CThostFtdcQryInstrumentField {
    fn default() -> Self {
        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
        unsafe {
            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
            s.assume_init()
        }
    }
}
#[doc = " 查询行情"]
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct CThostFtdcQryDepthMarketDataField {
    #[doc = " 保留的无效字段"]
    pub reserve1: TThostFtdcOldInstrumentIDType,
    #[doc = " 交易所代码"]
    pub ExchangeID: TThostFtdcExchangeIDType,
    #[doc = " 合约代码"]
    pub InstrumentID: TThostFtdcInstrumentIDType,
}
impl Default for CThostFtdcQryDepthMarketDataField {
    fn default() -> Self {
        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
        unsafe {
            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
            s.assume_init()
        }
    }
}
#[doc = " 查询经纪公司用户"]
#[repr(C)]
#[derive(Debug, Default, Copy, Clone)]
pub struct CThostFtdcQryBrokerUserField {
    #[doc = " 经纪公司代码"]
    pub BrokerID: TThostFtdcBrokerIDType,
    #[doc = " 用户代码"]
    pub UserID: TThostFtdcUserIDType,
}
#[doc = " 查询经纪公司用户权限"]
#[repr(C)]
#[derive(Debug, Default, Copy, Clone)]
pub struct CThostFtdcQryBrokerUserFunctionField {
    #[doc = " 经纪公司代码"]
    pub BrokerID: TThostFtdcBrokerIDType,
    #[doc = " 用户代码"]
    pub UserID: TThostFtdcUserIDType,
}
#[doc = " 查询交易员报盘机"]
#[repr(C)]
#[derive(Debug, Default, Copy, Clone)]
pub struct CThostFtdcQryTraderOfferField {
    #[doc = " 交易所代码"]
    pub ExchangeID: TThostFtdcExchangeIDType,
    #[doc = " 会员代码"]
    pub ParticipantID: TThostFtdcParticipantIDType,
    #[doc = " 交易所交易员代码"]
    pub TraderID: TThostFtdcTraderIDType,
}
#[doc = " 查询出入金流水"]
#[repr(C)]
#[derive(Debug, Default, Copy, Clone)]
pub struct CThostFtdcQrySyncDepositField {
    #[doc = " 经纪公司代码"]
    pub BrokerID: TThostFtdcBrokerIDType,
    #[doc = " 出入金流水号"]
    pub DepositSeqNo: TThostFtdcDepositSeqNoType,
}
#[doc = " 查询投资者结算结果"]
#[repr(C)]
#[derive(Debug, Default, Copy, Clone)]
pub struct CThostFtdcQrySettlementInfoField {
    #[doc = " 经纪公司代码"]
    pub BrokerID: TThostFtdcBrokerIDType,
    #[doc = " 投资者代码"]
    pub InvestorID: TThostFtdcInvestorIDType,
    #[doc = " 交易日"]
    pub TradingDay: TThostFtdcDateType,
    #[doc = " 投资者帐号"]
    pub AccountID: TThostFtdcAccountIDType,
    #[doc = " 币种代码"]
    pub CurrencyID: TThostFtdcCurrencyIDType,
}
#[doc = " 查询交易所保证金率"]
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct CThostFtdcQryExchangeMarginRateField {
    #[doc = " 经纪公司代码"]
    pub BrokerID: TThostFtdcBrokerIDType,
    #[doc = " 保留的无效字段"]
    pub reserve1: TThostFtdcOldInstrumentIDType,
    #[doc = " 投机套保标志"]
    pub HedgeFlag: TThostFtdcHedgeFlagType,
    #[doc = " 交易所代码"]
    pub ExchangeID: TThostFtdcExchangeIDType,
    #[doc = " 合约代码"]
    pub InstrumentID: TThostFtdcInstrumentIDType,
}
impl Default for CThostFtdcQryExchangeMarginRateField {
    fn default() -> Self {
        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
        unsafe {
            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
            s.assume_init()
        }
    }
}
#[doc = " 查询交易所调整保证金率"]
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct CThostFtdcQryExchangeMarginRateAdjustField {
    #[doc = " 经纪公司代码"]
    pub BrokerID: TThostFtdcBrokerIDType,
    #[doc = " 保留的无效字段"]
    pub reserve1: TThostFtdcOldInstrumentIDType,
    #[doc = " 投机套保标志"]
    pub HedgeFlag: TThostFtdcHedgeFlagType,
    #[doc = " 合约代码"]
    pub InstrumentID: TThostFtdcInstrumentIDType,
}
impl Default for CThostFtdcQryExchangeMarginRateAdjustField {
    fn default() -> Self {
        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
        unsafe {
            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
            s.assume_init()
        }
    }
}
#[doc = " 查询汇率"]
#[repr(C)]
#[derive(Debug, Default, Copy, Clone)]
pub struct CThostFtdcQryExchangeRateField {
    #[doc = " 经纪公司代码"]
    pub BrokerID: TThostFtdcBrokerIDType,
    #[doc = " 源币种"]
    pub FromCurrencyID: TThostFtdcCurrencyIDType,
    #[doc = " 目标币种"]
    pub ToCurrencyID: TThostFtdcCurrencyIDType,
}
#[doc = " 查询货币质押流水"]
#[repr(C)]
#[derive(Debug, Default, Copy, Clone)]
pub struct CThostFtdcQrySyncFundMortgageField {
    #[doc = " 经纪公司代码"]
    pub BrokerID: TThostFtdcBrokerIDType,
    #[doc = " 货币质押流水号"]
    pub MortgageSeqNo: TThostFtdcDepositSeqNoType,
}
#[doc = " 查询报单"]
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct CThostFtdcQryHisOrderField {
    #[doc = " 经纪公司代码"]
    pub BrokerID: TThostFtdcBrokerIDType,
    #[doc = " 投资者代码"]
    pub InvestorID: TThostFtdcInvestorIDType,
    #[doc = " 保留的无效字段"]
    pub reserve1: TThostFtdcOldInstrumentIDType,
    #[doc = " 交易所代码"]
    pub ExchangeID: TThostFtdcExchangeIDType,
    #[doc = " 报单编号"]
    pub OrderSysID: TThostFtdcOrderSysIDType,
    #[doc = " 开始时间"]
    pub InsertTimeStart: TThostFtdcTimeType,
    #[doc = " 结束时间"]
    pub InsertTimeEnd: TThostFtdcTimeType,
    #[doc = " 交易日"]
    pub TradingDay: TThostFtdcDateType,
    #[doc = " 结算编号"]
    pub SettlementID: TThostFtdcSettlementIDType,
    #[doc = " 合约代码"]
    pub InstrumentID: TThostFtdcInstrumentIDType,
}
impl Default for CThostFtdcQryHisOrderField {
    fn default() -> Self {
        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
        unsafe {
            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
            s.assume_init()
        }
    }
}
#[doc = " 当前期权合约最小保证金"]
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct CThostFtdcOptionInstrMiniMarginField {
    #[doc = " 保留的无效字段"]
    pub reserve1: TThostFtdcOldInstrumentIDType,
    #[doc = " 投资者范围"]
    pub InvestorRange: TThostFtdcInvestorRangeType,
    #[doc = " 经纪公司代码"]
    pub BrokerID: TThostFtdcBrokerIDType,
    #[doc = " 投资者代码"]
    pub InvestorID: TThostFtdcInvestorIDType,
    #[doc = " 单位（手）期权合约最小保证金"]
    pub MinMargin: TThostFtdcMoneyType,
    #[doc = " 取值方式"]
    pub ValueMethod: TThostFtdcValueMethodType,
    #[doc = " 是否跟随交易所收取"]
    pub IsRelative: TThostFtdcBoolType,
    #[doc = " 合约代码"]
    pub InstrumentID: TThostFtdcInstrumentIDType,
}
impl Default for CThostFtdcOptionInstrMiniMarginField {
    fn default() -> Self {
        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
        unsafe {
            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
            s.assume_init()
        }
    }
}
#[doc = " 当前期权合约保证金调整系数"]
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct CThostFtdcOptionInstrMarginAdjustField {
    #[doc = " 保留的无效字段"]
    pub reserve1: TThostFtdcOldInstrumentIDType,
    #[doc = " 投资者范围"]
    pub InvestorRange: TThostFtdcInvestorRangeType,
    #[doc = " 经纪公司代码"]
    pub BrokerID: TThostFtdcBrokerIDType,
    #[doc = " 投资者代码"]
    pub InvestorID: TThostFtdcInvestorIDType,
    #[doc = " 投机空头保证金调整系数"]
    pub SShortMarginRatioByMoney: TThostFtdcRatioType,
    #[doc = " 投机空头保证金调整系数"]
    pub SShortMarginRatioByVolume: TThostFtdcMoneyType,
    #[doc = " 保值空头保证金调整系数"]
    pub HShortMarginRatioByMoney: TThostFtdcRatioType,
    #[doc = " 保值空头保证金调整系数"]
    pub HShortMarginRatioByVolume: TThostFtdcMoneyType,
    #[doc = " 套利空头保证金调整系数"]
    pub AShortMarginRatioByMoney: TThostFtdcRatioType,
    #[doc = " 套利空头保证金调整系数"]
    pub AShortMarginRatioByVolume: TThostFtdcMoneyType,
    #[doc = " 是否跟随交易所收取"]
    pub IsRelative: TThostFtdcBoolType,
    #[doc = " 做市商空头保证金调整系数"]
    pub MShortMarginRatioByMoney: TThostFtdcRatioType,
    #[doc = " 做市商空头保证金调整系数"]
    pub MShortMarginRatioByVolume: TThostFtdcMoneyType,
    #[doc = " 合约代码"]
    pub InstrumentID: TThostFtdcInstrumentIDType,
}
impl Default for CThostFtdcOptionInstrMarginAdjustField {
    fn default() -> Self {
        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
        unsafe {
            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
            s.assume_init()
        }
    }
}
#[doc = " 当前期权合约手续费的详细内容"]
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct CThostFtdcOptionInstrCommRateField {
    #[doc = " 保留的无效字段"]
    pub reserve1: TThostFtdcOldInstrumentIDType,
    #[doc = " 投资者范围"]
    pub InvestorRange: TThostFtdcInvestorRangeType,
    #[doc = " 经纪公司代码"]
    pub BrokerID: TThostFtdcBrokerIDType,
    #[doc = " 投资者代码"]
    pub InvestorID: TThostFtdcInvestorIDType,
    #[doc = " 开仓手续费率"]
    pub OpenRatioByMoney: TThostFtdcRatioType,
    #[doc = " 开仓手续费"]
    pub OpenRatioByVolume: TThostFtdcRatioType,
    #[doc = " 平仓手续费率"]
    pub CloseRatioByMoney: TThostFtdcRatioType,
    #[doc = " 平仓手续费"]
    pub CloseRatioByVolume: TThostFtdcRatioType,
    #[doc = " 平今手续费率"]
    pub CloseTodayRatioByMoney: TThostFtdcRatioType,
    #[doc = " 平今手续费"]
    pub CloseTodayRatioByVolume: TThostFtdcRatioType,
    #[doc = " 执行手续费率"]
    pub StrikeRatioByMoney: TThostFtdcRatioType,
    #[doc = " 执行手续费"]
    pub StrikeRatioByVolume: TThostFtdcRatioType,
    #[doc = " 交易所代码"]
    pub ExchangeID: TThostFtdcExchangeIDType,
    #[doc = " 投资单元代码"]
    pub InvestUnitID: TThostFtdcInvestUnitIDType,
    #[doc = " 合约代码"]
    pub InstrumentID: TThostFtdcInstrumentIDType,
}
impl Default for CThostFtdcOptionInstrCommRateField {
    fn default() -> Self {
        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
        unsafe {
            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
            s.assume_init()
        }
    }
}
#[doc = " 期权交易成本"]
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct CThostFtdcOptionInstrTradeCostField {
    #[doc = " 经纪公司代码"]
    pub BrokerID: TThostFtdcBrokerIDType,
    #[doc = " 投资者代码"]
    pub InvestorID: TThostFtdcInvestorIDType,
    #[doc = " 保留的无效字段"]
    pub reserve1: TThostFtdcOldInstrumentIDType,
    #[doc = " 投机套保标志"]
    pub HedgeFlag: TThostFtdcHedgeFlagType,
    #[doc = " 期权合约保证金不变部分"]
    pub FixedMargin: TThostFtdcMoneyType,
    #[doc = " 期权合约最小保证金"]
    pub MiniMargin: TThostFtdcMoneyType,
    #[doc = " 期权合约权利金"]
    pub Royalty: TThostFtdcMoneyType,
    #[doc = " 交易所期权合约保证金不变部分"]
    pub ExchFixedMargin: TThostFtdcMoneyType,
    #[doc = " 交易所期权合约最小保证金"]
    pub ExchMiniMargin: TThostFtdcMoneyType,
    #[doc = " 交易所代码"]
    pub ExchangeID: TThostFtdcExchangeIDType,
    #[doc = " 投资单元代码"]
    pub InvestUnitID: TThostFtdcInvestUnitIDType,
    #[doc = " 合约代码"]
    pub InstrumentID: TThostFtdcInstrumentIDType,
}
impl Default for CThostFtdcOptionInstrTradeCostField {
    fn default() -> Self {
        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
        unsafe {
            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
            s.assume_init()
        }
    }
}
#[doc = " 期权交易成本查询"]
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct CThostFtdcQryOptionInstrTradeCostField {
    #[doc = " 经纪公司代码"]
    pub BrokerID: TThostFtdcBrokerIDType,
    #[doc = " 投资者代码"]
    pub InvestorID: TThostFtdcInvestorIDType,
    #[doc = " 保留的无效字段"]
    pub reserve1: TThostFtdcOldInstrumentIDType,
    #[doc = " 投机套保标志"]
    pub HedgeFlag: TThostFtdcHedgeFlagType,
    #[doc = " 期权合约报价"]
    pub InputPrice: TThostFtdcPriceType,
    #[doc = " 标的价格,填0则用昨结算价"]
    pub UnderlyingPrice: TThostFtdcPriceType,
    #[doc = " 交易所代码"]
    pub ExchangeID: TThostFtdcExchangeIDType,
    #[doc = " 投资单元代码"]
    pub InvestUnitID: TThostFtdcInvestUnitIDType,
    #[doc = " 合约代码"]
    pub InstrumentID: TThostFtdcInstrumentIDType,
}
impl Default for CThostFtdcQryOptionInstrTradeCostField {
    fn default() -> Self {
        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
        unsafe {
            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
            s.assume_init()
        }
    }
}
#[doc = " 期权手续费率查询"]
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct CThostFtdcQryOptionInstrCommRateField {
    #[doc = " 经纪公司代码"]
    pub BrokerID: TThostFtdcBrokerIDType,
    #[doc = " 投资者代码"]
    pub InvestorID: TThostFtdcInvestorIDType,
    #[doc = " 保留的无效字段"]
    pub reserve1: TThostFtdcOldInstrumentIDType,
    #[doc = " 交易所代码"]
    pub ExchangeID: TThostFtdcExchangeIDType,
    #[doc = " 投资单元代码"]
    pub InvestUnitID: TThostFtdcInvestUnitIDType,
    #[doc = " 合约代码"]
    pub InstrumentID: TThostFtdcInstrumentIDType,
}
impl Default for CThostFtdcQryOptionInstrCommRateField {
    fn default() -> Self {
        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
        unsafe {
            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
            s.assume_init()
        }
    }
}
#[doc = " 股指现货指数"]
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct CThostFtdcIndexPriceField {
    #[doc = " 经纪公司代码"]
    pub BrokerID: TThostFtdcBrokerIDType,
    #[doc = " 保留的无效字段"]
    pub reserve1: TThostFtdcOldInstrumentIDType,
    #[doc = " 指数现货收盘价"]
    pub ClosePrice: TThostFtdcPriceType,
    #[doc = " 合约代码"]
    pub InstrumentID: TThostFtdcInstrumentIDType,
}
impl Default for CThostFtdcIndexPriceField {
    fn default() -> Self {
        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
        unsafe {
            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
            s.assume_init()
        }
    }
}
#[doc = " 输入的执行宣告"]
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct CThostFtdcInputExecOrderField {
    #[doc = " 经纪公司代码"]
    pub BrokerID: TThostFtdcBrokerIDType,
    #[doc = " 投资者代码"]
    pub InvestorID: TThostFtdcInvestorIDType,
    #[doc = " 保留的无效字段"]
    pub reserve1: TThostFtdcOldInstrumentIDType,
    #[doc = " 执行宣告引用"]
    pub ExecOrderRef: TThostFtdcOrderRefType,
    #[doc = " 用户代码"]
    pub UserID: TThostFtdcUserIDType,
    #[doc = " 数量"]
    pub Volume: TThostFtdcVolumeType,
    #[doc = " 请求编号"]
    pub RequestID: TThostFtdcRequestIDType,
    #[doc = " 业务单元"]
    pub BusinessUnit: TThostFtdcBusinessUnitType,
    #[doc = " 开平标志"]
    pub OffsetFlag: TThostFtdcOffsetFlagType,
    #[doc = " 投机套保标志"]
    pub HedgeFlag: TThostFtdcHedgeFlagType,
    #[doc = " 执行类型"]
    pub ActionType: TThostFtdcActionTypeType,
    #[doc = " 保留头寸申请的持仓方向"]
    pub PosiDirection: TThostFtdcPosiDirectionType,
    #[doc = " 期权行权后是否保留期货头寸的标记,该字段已废弃"]
    pub ReservePositionFlag: TThostFtdcExecOrderPositionFlagType,
    #[doc = " 期权行权后生成的头寸是否自动平仓"]
    pub CloseFlag: TThostFtdcExecOrderCloseFlagType,
    #[doc = " 交易所代码"]
    pub ExchangeID: TThostFtdcExchangeIDType,
    #[doc = " 投资单元代码"]
    pub InvestUnitID: TThostFtdcInvestUnitIDType,
    #[doc = " 资金账号"]
    pub AccountID: TThostFtdcAccountIDType,
    #[doc = " 币种代码"]
    pub CurrencyID: TThostFtdcCurrencyIDType,
    #[doc = " 交易编码"]
    pub ClientID: TThostFtdcClientIDType,
    #[doc = " 保留的无效字段"]
    pub reserve2: TThostFtdcOldIPAddressType,
    #[doc = " Mac地址"]
    pub MacAddress: TThostFtdcMacAddressType,
    #[doc = " 合约代码"]
    pub InstrumentID: TThostFtdcInstrumentIDType,
    #[doc = " IP地址"]
    pub IPAddress: TThostFtdcIPAddressType,
}
impl Default for CThostFtdcInputExecOrderField {
    fn default() -> Self {
        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
        unsafe {
            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
            s.assume_init()
        }
    }
}
#[doc = " 输入执行宣告操作"]
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct CThostFtdcInputExecOrderActionField {
    #[doc = " 经纪公司代码"]
    pub BrokerID: TThostFtdcBrokerIDType,
    #[doc = " 投资者代码"]
    pub InvestorID: TThostFtdcInvestorIDType,
    #[doc = " 执行宣告操作引用"]
    pub ExecOrderActionRef: TThostFtdcOrderActionRefType,
    #[doc = " 执行宣告引用"]
    pub ExecOrderRef: TThostFtdcOrderRefType,
    #[doc = " 请求编号"]
    pub RequestID: TThostFtdcRequestIDType,
    #[doc = " 前置编号"]
    pub FrontID: TThostFtdcFrontIDType,
    #[doc = " 会话编号"]
    pub SessionID: TThostFtdcSessionIDType,
    #[doc = " 交易所代码"]
    pub ExchangeID: TThostFtdcExchangeIDType,
    #[doc = " 执行宣告操作编号"]
    pub ExecOrderSysID: TThostFtdcExecOrderSysIDType,
    #[doc = " 操作标志"]
    pub ActionFlag: TThostFtdcActionFlagType,
    #[doc = " 用户代码"]
    pub UserID: TThostFtdcUserIDType,
    #[doc = " 保留的无效字段"]
    pub reserve1: TThostFtdcOldInstrumentIDType,
    #[doc = " 投资单元代码"]
    pub InvestUnitID: TThostFtdcInvestUnitIDType,
    #[doc = " 保留的无效字段"]
    pub reserve2: TThostFtdcOldIPAddressType,
    #[doc = " Mac地址"]
    pub MacAddress: TThostFtdcMacAddressType,
    #[doc = " 合约代码"]
    pub InstrumentID: TThostFtdcInstrumentIDType,
    #[doc = " IP地址"]
    pub IPAddress: TThostFtdcIPAddressType,
}
impl Default for CThostFtdcInputExecOrderActionField {
    fn default() -> Self {
        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
        unsafe {
            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
            s.assume_init()
        }
    }
}
#[doc = " 执行宣告"]
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct CThostFtdcExecOrderField {
    #[doc = " 经纪公司代码"]
    pub BrokerID: TThostFtdcBrokerIDType,
    #[doc = " 投资者代码"]
    pub InvestorID: TThostFtdcInvestorIDType,
    #[doc = " 保留的无效字段"]
    pub reserve1: TThostFtdcOldInstrumentIDType,
    #[doc = " 执行宣告引用"]
    pub ExecOrderRef: TThostFtdcOrderRefType,
    #[doc = " 用户代码"]
    pub UserID: TThostFtdcUserIDType,
    #[doc = " 数量"]
    pub Volume: TThostFtdcVolumeType,
    #[doc = " 请求编号"]
    pub RequestID: TThostFtdcRequestIDType,
    #[doc = " 业务单元"]
    pub BusinessUnit: TThostFtdcBusinessUnitType,
    #[doc = " 开平标志"]
    pub OffsetFlag: TThostFtdcOffsetFlagType,
    #[doc = " 投机套保标志"]
    pub HedgeFlag: TThostFtdcHedgeFlagType,
    #[doc = " 执行类型"]
    pub ActionType: TThostFtdcActionTypeType,
    #[doc = " 保留头寸申请的持仓方向"]
    pub PosiDirection: TThostFtdcPosiDirectionType,
    #[doc = " 期权行权后是否保留期货头寸的标记,该字段已废弃"]
    pub ReservePositionFlag: TThostFtdcExecOrderPositionFlagType,
    #[doc = " 期权行权后生成的头寸是否自动平仓"]
    pub CloseFlag: TThostFtdcExecOrderCloseFlagType,
    #[doc = " 本地执行宣告编号"]
    pub ExecOrderLocalID: TThostFtdcOrderLocalIDType,
    #[doc = " 交易所代码"]
    pub ExchangeID: TThostFtdcExchangeIDType,
    #[doc = " 会员代码"]
    pub ParticipantID: TThostFtdcParticipantIDType,
    #[doc = " 客户代码"]
    pub ClientID: TThostFtdcClientIDType,
    #[doc = " 保留的无效字段"]
    pub reserve2: TThostFtdcOldExchangeInstIDType,
    #[doc = " 交易所交易员代码"]
    pub TraderID: TThostFtdcTraderIDType,
    #[doc = " 安装编号"]
    pub InstallID: TThostFtdcInstallIDType,
    #[doc = " 执行宣告提交状态"]
    pub OrderSubmitStatus: TThostFtdcOrderSubmitStatusType,
    #[doc = " 报单提示序号"]
    pub NotifySequence: TThostFtdcSequenceNoType,
    #[doc = " 交易日"]
    pub TradingDay: TThostFtdcDateType,
    #[doc = " 结算编号"]
    pub SettlementID: TThostFtdcSettlementIDType,
    #[doc = " 执行宣告编号"]
    pub ExecOrderSysID: TThostFtdcExecOrderSysIDType,
    #[doc = " 报单日期"]
    pub InsertDate: TThostFtdcDateType,
    #[doc = " 插入时间"]
    pub InsertTime: TThostFtdcTimeType,
    #[doc = " 撤销时间"]
    pub CancelTime: TThostFtdcTimeType,
    #[doc = " 执行结果"]
    pub ExecResult: TThostFtdcExecResultType,
    #[doc = " 结算会员编号"]
    pub ClearingPartID: TThostFtdcParticipantIDType,
    #[doc = " 序号"]
    pub SequenceNo: TThostFtdcSequenceNoType,
    #[doc = " 前置编号"]
    pub FrontID: TThostFtdcFrontIDType,
    #[doc = " 会话编号"]
    pub SessionID: TThostFtdcSessionIDType,
    #[doc = " 用户端产品信息"]
    pub UserProductInfo: TThostFtdcProductInfoType,
    #[doc = " 状态信息"]
    pub StatusMsg: TThostFtdcErrorMsgType,
    #[doc = " 操作用户代码"]
    pub ActiveUserID: TThostFtdcUserIDType,
    #[doc = " 经纪公司报单编号"]
    pub BrokerExecOrderSeq: TThostFtdcSequenceNoType,
    #[doc = " 营业部编号"]
    pub BranchID: TThostFtdcBranchIDType,
    #[doc = " 投资单元代码"]
    pub InvestUnitID: TThostFtdcInvestUnitIDType,
    #[doc = " 资金账号"]
    pub AccountID: TThostFtdcAccountIDType,
    #[doc = " 币种代码"]
    pub CurrencyID: TThostFtdcCurrencyIDType,
    #[doc = " 保留的无效字段"]
    pub reserve3: TThostFtdcOldIPAddressType,
    #[doc = " Mac地址"]
    pub MacAddress: TThostFtdcMacAddressType,
    #[doc = " 合约代码"]
    pub InstrumentID: TThostFtdcInstrumentIDType,
    #[doc = " 合约在交易所的代码"]
    pub ExchangeInstID: TThostFtdcExchangeInstIDType,
    #[doc = " IP地址"]
    pub IPAddress: TThostFtdcIPAddressType,
}
impl Default for CThostFtdcExecOrderField {
    fn default() -> Self {
        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
        unsafe {
            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
            s.assume_init()
        }
    }
}
#[doc = " 执行宣告操作"]
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct CThostFtdcExecOrderActionField {
    #[doc = " 经纪公司代码"]
    pub BrokerID: TThostFtdcBrokerIDType,
    #[doc = " 投资者代码"]
    pub InvestorID: TThostFtdcInvestorIDType,
    #[doc = " 执行宣告操作引用"]
    pub ExecOrderActionRef: TThostFtdcOrderActionRefType,
    #[doc = " 执行宣告引用"]
    pub ExecOrderRef: TThostFtdcOrderRefType,
    #[doc = " 请求编号"]
    pub RequestID: TThostFtdcRequestIDType,
    #[doc = " 前置编号"]
    pub FrontID: TThostFtdcFrontIDType,
    #[doc = " 会话编号"]
    pub SessionID: TThostFtdcSessionIDType,
    #[doc = " 交易所代码"]
    pub ExchangeID: TThostFtdcExchangeIDType,
    #[doc = " 执行宣告操作编号"]
    pub ExecOrderSysID: TThostFtdcExecOrderSysIDType,
    #[doc = " 操作标志"]
    pub ActionFlag: TThostFtdcActionFlagType,
    #[doc = " 操作日期"]
    pub ActionDate: TThostFtdcDateType,
    #[doc = " 操作时间"]
    pub ActionTime: TThostFtdcTimeType,
    #[doc = " 交易所交易员代码"]
    pub TraderID: TThostFtdcTraderIDType,
    #[doc = " 安装编号"]
    pub InstallID: TThostFtdcInstallIDType,
    #[doc = " 本地执行宣告编号"]
    pub ExecOrderLocalID: TThostFtdcOrderLocalIDType,
    #[doc = " 操作本地编号"]
    pub ActionLocalID: TThostFtdcOrderLocalIDType,
    #[doc = " 会员代码"]
    pub ParticipantID: TThostFtdcParticipantIDType,
    #[doc = " 客户代码"]
    pub ClientID: TThostFtdcClientIDType,
    #[doc = " 业务单元"]
    pub BusinessUnit: TThostFtdcBusinessUnitType,
    #[doc = " 报单操作状态"]
    pub OrderActionStatus: TThostFtdcOrderActionStatusType,
    #[doc = " 用户代码"]
    pub UserID: TThostFtdcUserIDType,
    #[doc = " 执行类型"]
    pub ActionType: TThostFtdcActionTypeType,
    #[doc = " 状态信息"]
    pub StatusMsg: TThostFtdcErrorMsgType,
    #[doc = " 保留的无效字段"]
    pub reserve1: TThostFtdcOldInstrumentIDType,
    #[doc = " 营业部编号"]
    pub BranchID: TThostFtdcBranchIDType,
    #[doc = " 投资单元代码"]
    pub InvestUnitID: TThostFtdcInvestUnitIDType,
    #[doc = " 保留的无效字段"]
    pub reserve2: TThostFtdcOldIPAddressType,
    #[doc = " Mac地址"]
    pub MacAddress: TThostFtdcMacAddressType,
    #[doc = " 合约代码"]
    pub InstrumentID: TThostFtdcInstrumentIDType,
    #[doc = " IP地址"]
    pub IPAddress: TThostFtdcIPAddressType,
}
impl Default for CThostFtdcExecOrderActionField {
    fn default() -> Self {
        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
        unsafe {
            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
            s.assume_init()
        }
    }
}
#[doc = " 执行宣告查询"]
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct CThostFtdcQryExecOrderField {
    #[doc = " 经纪公司代码"]
    pub BrokerID: TThostFtdcBrokerIDType,
    #[doc = " 投资者代码"]
    pub InvestorID: TThostFtdcInvestorIDType,
    #[doc = " 保留的无效字段"]
    pub reserve1: TThostFtdcOldInstrumentIDType,
    #[doc = " 交易所代码"]
    pub ExchangeID: TThostFtdcExchangeIDType,
    #[doc = " 执行宣告编号"]
    pub ExecOrderSysID: TThostFtdcExecOrderSysIDType,
    #[doc = " 开始时间"]
    pub InsertTimeStart: TThostFtdcTimeType,
    #[doc = " 结束时间"]
    pub InsertTimeEnd: TThostFtdcTimeType,
    #[doc = " 合约代码"]
    pub InstrumentID: TThostFtdcInstrumentIDType,
}
impl Default for CThostFtdcQryExecOrderField {
    fn default() -> Self {
        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
        unsafe {
            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
            s.assume_init()
        }
    }
}
#[doc = " 交易所执行宣告信息"]
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct CThostFtdcExchangeExecOrderField {
    #[doc = " 数量"]
    pub Volume: TThostFtdcVolumeType,
    #[doc = " 请求编号"]
    pub RequestID: TThostFtdcRequestIDType,
    #[doc = " 业务单元"]
    pub BusinessUnit: TThostFtdcBusinessUnitType,
    #[doc = " 开平标志"]
    pub OffsetFlag: TThostFtdcOffsetFlagType,
    #[doc = " 投机套保标志"]
    pub HedgeFlag: TThostFtdcHedgeFlagType,
    #[doc = " 执行类型"]
    pub ActionType: TThostFtdcActionTypeType,
    #[doc = " 保留头寸申请的持仓方向"]
    pub PosiDirection: TThostFtdcPosiDirectionType,
    #[doc = " 期权行权后是否保留期货头寸的标记,该字段已废弃"]
    pub ReservePositionFlag: TThostFtdcExecOrderPositionFlagType,
    #[doc = " 期权行权后生成的头寸是否自动平仓"]
    pub CloseFlag: TThostFtdcExecOrderCloseFlagType,
    #[doc = " 本地执行宣告编号"]
    pub ExecOrderLocalID: TThostFtdcOrderLocalIDType,
    #[doc = " 交易所代码"]
    pub ExchangeID: TThostFtdcExchangeIDType,
    #[doc = " 会员代码"]
    pub ParticipantID: TThostFtdcParticipantIDType,
    #[doc = " 客户代码"]
    pub ClientID: TThostFtdcClientIDType,
    #[doc = " 保留的无效字段"]
    pub reserve1: TThostFtdcOldExchangeInstIDType,
    #[doc = " 交易所交易员代码"]
    pub TraderID: TThostFtdcTraderIDType,
    #[doc = " 安装编号"]
    pub InstallID: TThostFtdcInstallIDType,
    #[doc = " 执行宣告提交状态"]
    pub OrderSubmitStatus: TThostFtdcOrderSubmitStatusType,
    #[doc = " 报单提示序号"]
    pub NotifySequence: TThostFtdcSequenceNoType,
    #[doc = " 交易日"]
    pub TradingDay: TThostFtdcDateType,
    #[doc = " 结算编号"]
    pub SettlementID: TThostFtdcSettlementIDType,
    #[doc = " 执行宣告编号"]
    pub ExecOrderSysID: TThostFtdcExecOrderSysIDType,
    #[doc = " 报单日期"]
    pub InsertDate: TThostFtdcDateType,
    #[doc = " 插入时间"]
    pub InsertTime: TThostFtdcTimeType,
    #[doc = " 撤销时间"]
    pub CancelTime: TThostFtdcTimeType,
    #[doc = " 执行结果"]
    pub ExecResult: TThostFtdcExecResultType,
    #[doc = " 结算会员编号"]
    pub ClearingPartID: TThostFtdcParticipantIDType,
    #[doc = " 序号"]
    pub SequenceNo: TThostFtdcSequenceNoType,
    #[doc = " 营业部编号"]
    pub BranchID: TThostFtdcBranchIDType,
    #[doc = " 保留的无效字段"]
    pub reserve2: TThostFtdcOldIPAddressType,
    #[doc = " Mac地址"]
    pub MacAddress: TThostFtdcMacAddressType,
    #[doc = " 合约在交易所的代码"]
    pub ExchangeInstID: TThostFtdcExchangeInstIDType,
    #[doc = " IP地址"]
    pub IPAddress: TThostFtdcIPAddressType,
}
impl Default for CThostFtdcExchangeExecOrderField {
    fn default() -> Self {
        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
        unsafe {
            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
            s.assume_init()
        }
    }
}
#[doc = " 交易所执行宣告查询"]
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct CThostFtdcQryExchangeExecOrderField {
    #[doc = " 会员代码"]
    pub ParticipantID: TThostFtdcParticipantIDType,
    #[doc = " 客户代码"]
    pub ClientID: TThostFtdcClientIDType,
    #[doc = " 保留的无效字段"]
    pub reserve1: TThostFtdcOldExchangeInstIDType,
    #[doc = " 交易所代码"]
    pub ExchangeID: TThostFtdcExchangeIDType,
    #[doc = " 交易所交易员代码"]
    pub TraderID: TThostFtdcTraderIDType,
    #[doc = " 合约在交易所的代码"]
    pub ExchangeInstID: TThostFtdcExchangeInstIDType,
}
impl Default for CThostFtdcQryExchangeExecOrderField {
    fn default() -> Self {
        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
        unsafe {
            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
            s.assume_init()
        }
    }
}
#[doc = " 执行宣告操作查询"]
#[repr(C)]
#[derive(Debug, Default, Copy, Clone)]
pub struct CThostFtdcQryExecOrderActionField {
    #[doc = " 经纪公司代码"]
    pub BrokerID: TThostFtdcBrokerIDType,
    #[doc = " 投资者代码"]
    pub InvestorID: TThostFtdcInvestorIDType,
    #[doc = " 交易所代码"]
    pub ExchangeID: TThostFtdcExchangeIDType,
}
#[doc = " 交易所执行宣告操作"]
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct CThostFtdcExchangeExecOrderActionField {
    #[doc = " 交易所代码"]
    pub ExchangeID: TThostFtdcExchangeIDType,
    #[doc = " 执行宣告操作编号"]
    pub ExecOrderSysID: TThostFtdcExecOrderSysIDType,
    #[doc = " 操作标志"]
    pub ActionFlag: TThostFtdcActionFlagType,
    #[doc = " 操作日期"]
    pub ActionDate: TThostFtdcDateType,
    #[doc = " 操作时间"]
    pub ActionTime: TThostFtdcTimeType,
    #[doc = " 交易所交易员代码"]
    pub TraderID: TThostFtdcTraderIDType,
    #[doc = " 安装编号"]
    pub InstallID: TThostFtdcInstallIDType,
    #[doc = " 本地执行宣告编号"]
    pub ExecOrderLocalID: TThostFtdcOrderLocalIDType,
    #[doc = " 操作本地编号"]
    pub ActionLocalID: TThostFtdcOrderLocalIDType,
    #[doc = " 会员代码"]
    pub ParticipantID: TThostFtdcParticipantIDType,
    #[doc = " 客户代码"]
    pub ClientID: TThostFtdcClientIDType,
    #[doc = " 业务单元"]
    pub BusinessUnit: TThostFtdcBusinessUnitType,
    #[doc = " 报单操作状态"]
    pub OrderActionStatus: TThostFtdcOrderActionStatusType,
    #[doc = " 用户代码"]
    pub UserID: TThostFtdcUserIDType,
    #[doc = " 执行类型"]
    pub ActionType: TThostFtdcActionTypeType,
    #[doc = " 营业部编号"]
    pub BranchID: TThostFtdcBranchIDType,
    #[doc = " 保留的无效字段"]
    pub reserve1: TThostFtdcOldIPAddressType,
    #[doc = " Mac地址"]
    pub MacAddress: TThostFtdcMacAddressType,
    #[doc = " 保留的无效字段"]
    pub reserve2: TThostFtdcOldExchangeInstIDType,
    #[doc = " 数量"]
    pub Volume: TThostFtdcVolumeType,
    #[doc = " IP地址"]
    pub IPAddress: TThostFtdcIPAddressType,
    #[doc = " 合约在交易所的代码"]
    pub ExchangeInstID: TThostFtdcExchangeInstIDType,
}
impl Default for CThostFtdcExchangeExecOrderActionField {
    fn default() -> Self {
        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
        unsafe {
            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
            s.assume_init()
        }
    }
}
#[doc = " 交易所执行宣告操作查询"]
#[repr(C)]
#[derive(Debug, Default, Copy, Clone)]
pub struct CThostFtdcQryExchangeExecOrderActionField {
    #[doc = " 会员代码"]
    pub ParticipantID: TThostFtdcParticipantIDType,
    #[doc = " 客户代码"]
    pub ClientID: TThostFtdcClientIDType,
    #[doc = " 交易所代码"]
    pub ExchangeID: TThostFtdcExchangeIDType,
    #[doc = " 交易所交易员代码"]
    pub TraderID: TThostFtdcTraderIDType,
}
#[doc = " 错误执行宣告"]
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct CThostFtdcErrExecOrderField {
    #[doc = " 经纪公司代码"]
    pub BrokerID: TThostFtdcBrokerIDType,
    #[doc = " 投资者代码"]
    pub InvestorID: TThostFtdcInvestorIDType,
    #[doc = " 保留的无效字段"]
    pub reserve1: TThostFtdcOldInstrumentIDType,
    #[doc = " 执行宣告引用"]
    pub ExecOrderRef: TThostFtdcOrderRefType,
    #[doc = " 用户代码"]
    pub UserID: TThostFtdcUserIDType,
    #[doc = " 数量"]
    pub Volume: TThostFtdcVolumeType,
    #[doc = " 请求编号"]
    pub RequestID: TThostFtdcRequestIDType,
    #[doc = " 业务单元"]
    pub BusinessUnit: TThostFtdcBusinessUnitType,
    #[doc = " 开平标志"]
    pub OffsetFlag: TThostFtdcOffsetFlagType,
    #[doc = " 投机套保标志"]
    pub HedgeFlag: TThostFtdcHedgeFlagType,
    #[doc = " 执行类型"]
    pub ActionType: TThostFtdcActionTypeType,
    #[doc = " 保留头寸申请的持仓方向"]
    pub PosiDirection: TThostFtdcPosiDirectionType,
    #[doc = " 期权行权后是否保留期货头寸的标记,该字段已废弃"]
    pub ReservePositionFlag: TThostFtdcExecOrderPositionFlagType,
    #[doc = " 期权行权后生成的头寸是否自动平仓"]
    pub CloseFlag: TThostFtdcExecOrderCloseFlagType,
    #[doc = " 交易所代码"]
    pub ExchangeID: TThostFtdcExchangeIDType,
    #[doc = " 投资单元代码"]
    pub InvestUnitID: TThostFtdcInvestUnitIDType,
    #[doc = " 资金账号"]
    pub AccountID: TThostFtdcAccountIDType,
    #[doc = " 币种代码"]
    pub CurrencyID: TThostFtdcCurrencyIDType,
    #[doc = " 交易编码"]
    pub ClientID: TThostFtdcClientIDType,
    #[doc = " 保留的无效字段"]
    pub reserve2: TThostFtdcOldIPAddressType,
    #[doc = " Mac地址"]
    pub MacAddress: TThostFtdcMacAddressType,
    #[doc = " 错误代码"]
    pub ErrorID: TThostFtdcErrorIDType,
    #[doc = " 错误信息"]
    pub ErrorMsg: TThostFtdcErrorMsgType,
    #[doc = " 合约代码"]
    pub InstrumentID: TThostFtdcInstrumentIDType,
    #[doc = " IP地址"]
    pub IPAddress: TThostFtdcIPAddressType,
}
impl Default for CThostFtdcErrExecOrderField {
    fn default() -> Self {
        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
        unsafe {
            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
            s.assume_init()
        }
    }
}
#[doc = " 查询错误执行宣告"]
#[repr(C)]
#[derive(Debug, Default, Copy, Clone)]
pub struct CThostFtdcQryErrExecOrderField {
    #[doc = " 经纪公司代码"]
    pub BrokerID: TThostFtdcBrokerIDType,
    #[doc = " 投资者代码"]
    pub InvestorID: TThostFtdcInvestorIDType,
}
#[doc = " 错误执行宣告操作"]
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct CThostFtdcErrExecOrderActionField {
    #[doc = " 经纪公司代码"]
    pub BrokerID: TThostFtdcBrokerIDType,
    #[doc = " 投资者代码"]
    pub InvestorID: TThostFtdcInvestorIDType,
    #[doc = " 执行宣告操作引用"]
    pub ExecOrderActionRef: TThostFtdcOrderActionRefType,
    #[doc = " 执行宣告引用"]
    pub ExecOrderRef: TThostFtdcOrderRefType,
    #[doc = " 请求编号"]
    pub RequestID: TThostFtdcRequestIDType,
    #[doc = " 前置编号"]
    pub FrontID: TThostFtdcFrontIDType,
    #[doc = " 会话编号"]
    pub SessionID: TThostFtdcSessionIDType,
    #[doc = " 交易所代码"]
    pub ExchangeID: TThostFtdcExchangeIDType,
    #[doc = " 执行宣告操作编号"]
    pub ExecOrderSysID: TThostFtdcExecOrderSysIDType,
    #[doc = " 操作标志"]
    pub ActionFlag: TThostFtdcActionFlagType,
    #[doc = " 用户代码"]
    pub UserID: TThostFtdcUserIDType,
    #[doc = " 保留的无效字段"]
    pub reserve1: TThostFtdcOldInstrumentIDType,
    #[doc = " 投资单元代码"]
    pub InvestUnitID: TThostFtdcInvestUnitIDType,
    #[doc = " 保留的无效字段"]
    pub reserve2: TThostFtdcOldIPAddressType,
    #[doc = " Mac地址"]
    pub MacAddress: TThostFtdcMacAddressType,
    #[doc = " 错误代码"]
    pub ErrorID: TThostFtdcErrorIDType,
    #[doc = " 错误信息"]
    pub ErrorMsg: TThostFtdcErrorMsgType,
    #[doc = " 合约代码"]
    pub InstrumentID: TThostFtdcInstrumentIDType,
    #[doc = " IP地址"]
    pub IPAddress: TThostFtdcIPAddressType,
}
impl Default for CThostFtdcErrExecOrderActionField {
    fn default() -> Self {
        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
        unsafe {
            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
            s.assume_init()
        }
    }
}
#[doc = " 查询错误执行宣告操作"]
#[repr(C)]
#[derive(Debug, Default, Copy, Clone)]
pub struct CThostFtdcQryErrExecOrderActionField {
    #[doc = " 经纪公司代码"]
    pub BrokerID: TThostFtdcBrokerIDType,
    #[doc = " 投资者代码"]
    pub InvestorID: TThostFtdcInvestorIDType,
}
#[doc = " 投资者期权合约交易权限"]
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct CThostFtdcOptionInstrTradingRightField {
    #[doc = " 保留的无效字段"]
    pub reserve1: TThostFtdcOldInstrumentIDType,
    #[doc = " 投资者范围"]
    pub InvestorRange: TThostFtdcInvestorRangeType,
    #[doc = " 经纪公司代码"]
    pub BrokerID: TThostFtdcBrokerIDType,
    #[doc = " 投资者代码"]
    pub InvestorID: TThostFtdcInvestorIDType,
    #[doc = " 买卖方向"]
    pub Direction: TThostFtdcDirectionType,
    #[doc = " 交易权限"]
    pub TradingRight: TThostFtdcTradingRightType,
    #[doc = " 合约代码"]
    pub InstrumentID: TThostFtdcInstrumentIDType,
}
impl Default for CThostFtdcOptionInstrTradingRightField {
    fn default() -> Self {
        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
        unsafe {
            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
            s.assume_init()
        }
    }
}
#[doc = " 查询期权合约交易权限"]
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct CThostFtdcQryOptionInstrTradingRightField {
    #[doc = " 经纪公司代码"]
    pub BrokerID: TThostFtdcBrokerIDType,
    #[doc = " 投资者代码"]
    pub InvestorID: TThostFtdcInvestorIDType,
    #[doc = " 保留的无效字段"]
    pub reserve1: TThostFtdcOldInstrumentIDType,
    #[doc = " 买卖方向"]
    pub Direction: TThostFtdcDirectionType,
    #[doc = " 合约代码"]
    pub InstrumentID: TThostFtdcInstrumentIDType,
}
impl Default for CThostFtdcQryOptionInstrTradingRightField {
    fn default() -> Self {
        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
        unsafe {
            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
            s.assume_init()
        }
    }
}
#[doc = " 输入的询价"]
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct CThostFtdcInputForQuoteField {
    #[doc = " 经纪公司代码"]
    pub BrokerID: TThostFtdcBrokerIDType,
    #[doc = " 投资者代码"]
    pub InvestorID: TThostFtdcInvestorIDType,
    #[doc = " 保留的无效字段"]
    pub reserve1: TThostFtdcOldInstrumentIDType,
    #[doc = " 询价引用"]
    pub ForQuoteRef: TThostFtdcOrderRefType,
    #[doc = " 用户代码"]
    pub UserID: TThostFtdcUserIDType,
    #[doc = " 交易所代码"]
    pub ExchangeID: TThostFtdcExchangeIDType,
    #[doc = " 投资单元代码"]
    pub InvestUnitID: TThostFtdcInvestUnitIDType,
    #[doc = " 保留的无效字段"]
    pub reserve2: TThostFtdcOldIPAddressType,
    #[doc = " Mac地址"]
    pub MacAddress: TThostFtdcMacAddressType,
    #[doc = " 合约代码"]
    pub InstrumentID: TThostFtdcInstrumentIDType,
    #[doc = " IP地址"]
    pub IPAddress: TThostFtdcIPAddressType,
}
impl Default for CThostFtdcInputForQuoteField {
    fn default() -> Self {
        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
        unsafe {
            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
            s.assume_init()
        }
    }
}
#[doc = " 询价"]
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct CThostFtdcForQuoteField {
    #[doc = " 经纪公司代码"]
    pub BrokerID: TThostFtdcBrokerIDType,
    #[doc = " 投资者代码"]
    pub InvestorID: TThostFtdcInvestorIDType,
    #[doc = " 保留的无效字段"]
    pub reserve1: TThostFtdcOldInstrumentIDType,
    #[doc = " 询价引用"]
    pub ForQuoteRef: TThostFtdcOrderRefType,
    #[doc = " 用户代码"]
    pub UserID: TThostFtdcUserIDType,
    #[doc = " 本地询价编号"]
    pub ForQuoteLocalID: TThostFtdcOrderLocalIDType,
    #[doc = " 交易所代码"]
    pub ExchangeID: TThostFtdcExchangeIDType,
    #[doc = " 会员代码"]
    pub ParticipantID: TThostFtdcParticipantIDType,
    #[doc = " 客户代码"]
    pub ClientID: TThostFtdcClientIDType,
    #[doc = " 保留的无效字段"]
    pub reserve2: TThostFtdcOldExchangeInstIDType,
    #[doc = " 交易所交易员代码"]
    pub TraderID: TThostFtdcTraderIDType,
    #[doc = " 安装编号"]
    pub InstallID: TThostFtdcInstallIDType,
    #[doc = " 报单日期"]
    pub InsertDate: TThostFtdcDateType,
    #[doc = " 插入时间"]
    pub InsertTime: TThostFtdcTimeType,
    #[doc = " 询价状态"]
    pub ForQuoteStatus: TThostFtdcForQuoteStatusType,
    #[doc = " 前置编号"]
    pub FrontID: TThostFtdcFrontIDType,
    #[doc = " 会话编号"]
    pub SessionID: TThostFtdcSessionIDType,
    #[doc = " 状态信息"]
    pub StatusMsg: TThostFtdcErrorMsgType,
    #[doc = " 操作用户代码"]
    pub ActiveUserID: TThostFtdcUserIDType,
    #[doc = " 经纪公司询价编号"]
    pub BrokerForQutoSeq: TThostFtdcSequenceNoType,
    #[doc = " 投资单元代码"]
    pub InvestUnitID: TThostFtdcInvestUnitIDType,
    #[doc = " 保留的无效字段"]
    pub reserve3: TThostFtdcOldIPAddressType,
    #[doc = " Mac地址"]
    pub MacAddress: TThostFtdcMacAddressType,
    #[doc = " 合约代码"]
    pub InstrumentID: TThostFtdcInstrumentIDType,
    #[doc = " 合约在交易所的代码"]
    pub ExchangeInstID: TThostFtdcExchangeInstIDType,
    #[doc = " IP地址"]
    pub IPAddress: TThostFtdcIPAddressType,
}
impl Default for CThostFtdcForQuoteField {
    fn default() -> Self {
        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
        unsafe {
            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
            s.assume_init()
        }
    }
}
#[doc = " 询价查询"]
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct CThostFtdcQryForQuoteField {
    #[doc = " 经纪公司代码"]
    pub BrokerID: TThostFtdcBrokerIDType,
    #[doc = " 投资者代码"]
    pub InvestorID: TThostFtdcInvestorIDType,
    #[doc = " 保留的无效字段"]
    pub reserve1: TThostFtdcOldInstrumentIDType,
    #[doc = " 交易所代码"]
    pub ExchangeID: TThostFtdcExchangeIDType,
    #[doc = " 开始时间"]
    pub InsertTimeStart: TThostFtdcTimeType,
    #[doc = " 结束时间"]
    pub InsertTimeEnd: TThostFtdcTimeType,
    #[doc = " 投资单元代码"]
    pub InvestUnitID: TThostFtdcInvestUnitIDType,
    #[doc = " 合约代码"]
    pub InstrumentID: TThostFtdcInstrumentIDType,
}
impl Default for CThostFtdcQryForQuoteField {
    fn default() -> Self {
        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
        unsafe {
            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
            s.assume_init()
        }
    }
}
#[doc = " 交易所询价信息"]
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct CThostFtdcExchangeForQuoteField {
    #[doc = " 本地询价编号"]
    pub ForQuoteLocalID: TThostFtdcOrderLocalIDType,
    #[doc = " 交易所代码"]
    pub ExchangeID: TThostFtdcExchangeIDType,
    #[doc = " 会员代码"]
    pub ParticipantID: TThostFtdcParticipantIDType,
    #[doc = " 客户代码"]
    pub ClientID: TThostFtdcClientIDType,
    #[doc = " 保留的无效字段"]
    pub reserve1: TThostFtdcOldExchangeInstIDType,
    #[doc = " 交易所交易员代码"]
    pub TraderID: TThostFtdcTraderIDType,
    #[doc = " 安装编号"]
    pub InstallID: TThostFtdcInstallIDType,
    #[doc = " 报单日期"]
    pub InsertDate: TThostFtdcDateType,
    #[doc = " 插入时间"]
    pub InsertTime: TThostFtdcTimeType,
    #[doc = " 询价状态"]
    pub ForQuoteStatus: TThostFtdcForQuoteStatusType,
    #[doc = " 保留的无效字段"]
    pub reserve2: TThostFtdcOldIPAddressType,
    #[doc = " Mac地址"]
    pub MacAddress: TThostFtdcMacAddressType,
    #[doc = " 合约在交易所的代码"]
    pub ExchangeInstID: TThostFtdcExchangeInstIDType,
    #[doc = " IP地址"]
    pub IPAddress: TThostFtdcIPAddressType,
}
impl Default for CThostFtdcExchangeForQuoteField {
    fn default() -> Self {
        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
        unsafe {
            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
            s.assume_init()
        }
    }
}
#[doc = " 交易所询价查询"]
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct CThostFtdcQryExchangeForQuoteField {
    #[doc = " 会员代码"]
    pub ParticipantID: TThostFtdcParticipantIDType,
    #[doc = " 客户代码"]
    pub ClientID: TThostFtdcClientIDType,
    #[doc = " 保留的无效字段"]
    pub reserve1: TThostFtdcOldExchangeInstIDType,
    #[doc = " 交易所代码"]
    pub ExchangeID: TThostFtdcExchangeIDType,
    #[doc = " 交易所交易员代码"]
    pub TraderID: TThostFtdcTraderIDType,
    #[doc = " 合约在交易所的代码"]
    pub ExchangeInstID: TThostFtdcExchangeInstIDType,
}
impl Default for CThostFtdcQryExchangeForQuoteField {
    fn default() -> Self {
        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
        unsafe {
            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
            s.assume_init()
        }
    }
}
#[doc = " 输入的报价"]
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct CThostFtdcInputQuoteField {
    #[doc = " 经纪公司代码"]
    pub BrokerID: TThostFtdcBrokerIDType,
    #[doc = " 投资者代码"]
    pub InvestorID: TThostFtdcInvestorIDType,
    #[doc = " 保留的无效字段"]
    pub reserve1: TThostFtdcOldInstrumentIDType,
    #[doc = " 报价引用"]
    pub QuoteRef: TThostFtdcOrderRefType,
    #[doc = " 用户代码"]
    pub UserID: TThostFtdcUserIDType,
    #[doc = " 卖价格"]
    pub AskPrice: TThostFtdcPriceType,
    #[doc = " 买价格"]
    pub BidPrice: TThostFtdcPriceType,
    #[doc = " 卖数量"]
    pub AskVolume: TThostFtdcVolumeType,
    #[doc = " 买数量"]
    pub BidVolume: TThostFtdcVolumeType,
    #[doc = " 请求编号"]
    pub RequestID: TThostFtdcRequestIDType,
    #[doc = " 业务单元"]
    pub BusinessUnit: TThostFtdcBusinessUnitType,
    #[doc = " 卖开平标志"]
    pub AskOffsetFlag: TThostFtdcOffsetFlagType,
    #[doc = " 买开平标志"]
    pub BidOffsetFlag: TThostFtdcOffsetFlagType,
    #[doc = " 卖投机套保标志"]
    pub AskHedgeFlag: TThostFtdcHedgeFlagType,
    #[doc = " 买投机套保标志"]
    pub BidHedgeFlag: TThostFtdcHedgeFlagType,
    #[doc = " 衍生卖报单引用"]
    pub AskOrderRef: TThostFtdcOrderRefType,
    #[doc = " 衍生买报单引用"]
    pub BidOrderRef: TThostFtdcOrderRefType,
    #[doc = " 应价编号"]
    pub ForQuoteSysID: TThostFtdcOrderSysIDType,
    #[doc = " 交易所代码"]
    pub ExchangeID: TThostFtdcExchangeIDType,
    #[doc = " 投资单元代码"]
    pub InvestUnitID: TThostFtdcInvestUnitIDType,
    #[doc = " 交易编码"]
    pub ClientID: TThostFtdcClientIDType,
    #[doc = " 保留的无效字段"]
    pub reserve2: TThostFtdcOldIPAddressType,
    #[doc = " Mac地址"]
    pub MacAddress: TThostFtdcMacAddressType,
    #[doc = " 合约代码"]
    pub InstrumentID: TThostFtdcInstrumentIDType,
    #[doc = " IP地址"]
    pub IPAddress: TThostFtdcIPAddressType,
    #[doc = " 被顶单编号"]
    pub ReplaceSysID: TThostFtdcOrderSysIDType,
    #[doc = " 有效期类型"]
    pub TimeCondition: TThostFtdcTimeConditionType,
}
impl Default for CThostFtdcInputQuoteField {
    fn default() -> Self {
        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
        unsafe {
            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
            s.assume_init()
        }
    }
}
#[doc = " 输入报价操作"]
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct CThostFtdcInputQuoteActionField {
    #[doc = " 经纪公司代码"]
    pub BrokerID: TThostFtdcBrokerIDType,
    #[doc = " 投资者代码"]
    pub InvestorID: TThostFtdcInvestorIDType,
    #[doc = " 报价操作引用"]
    pub QuoteActionRef: TThostFtdcOrderActionRefType,
    #[doc = " 报价引用"]
    pub QuoteRef: TThostFtdcOrderRefType,
    #[doc = " 请求编号"]
    pub RequestID: TThostFtdcRequestIDType,
    #[doc = " 前置编号"]
    pub FrontID: TThostFtdcFrontIDType,
    #[doc = " 会话编号"]
    pub SessionID: TThostFtdcSessionIDType,
    #[doc = " 交易所代码"]
    pub ExchangeID: TThostFtdcExchangeIDType,
    #[doc = " 报价操作编号"]
    pub QuoteSysID: TThostFtdcOrderSysIDType,
    #[doc = " 操作标志"]
    pub ActionFlag: TThostFtdcActionFlagType,
    #[doc = " 用户代码"]
    pub UserID: TThostFtdcUserIDType,
    #[doc = " 保留的无效字段"]
    pub reserve1: TThostFtdcOldInstrumentIDType,
    #[doc = " 投资单元代码"]
    pub InvestUnitID: TThostFtdcInvestUnitIDType,
    #[doc = " 交易编码"]
    pub ClientID: TThostFtdcClientIDType,
    #[doc = " 保留的无效字段"]
    pub reserve2: TThostFtdcOldIPAddressType,
    #[doc = " Mac地址"]
    pub MacAddress: TThostFtdcMacAddressType,
    #[doc = " 合约代码"]
    pub InstrumentID: TThostFtdcInstrumentIDType,
    #[doc = " IP地址"]
    pub IPAddress: TThostFtdcIPAddressType,
}
impl Default for CThostFtdcInputQuoteActionField {
    fn default() -> Self {
        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
        unsafe {
            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
            s.assume_init()
        }
    }
}
#[doc = " 报价"]
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct CThostFtdcQuoteField {
    #[doc = " 经纪公司代码"]
    pub BrokerID: TThostFtdcBrokerIDType,
    #[doc = " 投资者代码"]
    pub InvestorID: TThostFtdcInvestorIDType,
    #[doc = " 保留的无效字段"]
    pub reserve1: TThostFtdcOldInstrumentIDType,
    #[doc = " 报价引用"]
    pub QuoteRef: TThostFtdcOrderRefType,
    #[doc = " 用户代码"]
    pub UserID: TThostFtdcUserIDType,
    #[doc = " 卖价格"]
    pub AskPrice: TThostFtdcPriceType,
    #[doc = " 买价格"]
    pub BidPrice: TThostFtdcPriceType,
    #[doc = " 卖数量"]
    pub AskVolume: TThostFtdcVolumeType,
    #[doc = " 买数量"]
    pub BidVolume: TThostFtdcVolumeType,
    #[doc = " 请求编号"]
    pub RequestID: TThostFtdcRequestIDType,
    #[doc = " 业务单元"]
    pub BusinessUnit: TThostFtdcBusinessUnitType,
    #[doc = " 卖开平标志"]
    pub AskOffsetFlag: TThostFtdcOffsetFlagType,
    #[doc = " 买开平标志"]
    pub BidOffsetFlag: TThostFtdcOffsetFlagType,
    #[doc = " 卖投机套保标志"]
    pub AskHedgeFlag: TThostFtdcHedgeFlagType,
    #[doc = " 买投机套保标志"]
    pub BidHedgeFlag: TThostFtdcHedgeFlagType,
    #[doc = " 本地报价编号"]
    pub QuoteLocalID: TThostFtdcOrderLocalIDType,
    #[doc = " 交易所代码"]
    pub ExchangeID: TThostFtdcExchangeIDType,
    #[doc = " 会员代码"]
    pub ParticipantID: TThostFtdcParticipantIDType,
    #[doc = " 客户代码"]
    pub ClientID: TThostFtdcClientIDType,
    #[doc = " 保留的无效字段"]
    pub reserve2: TThostFtdcOldExchangeInstIDType,
    #[doc = " 交易所交易员代码"]
    pub TraderID: TThostFtdcTraderIDType,
    #[doc = " 安装编号"]
    pub InstallID: TThostFtdcInstallIDType,
    #[doc = " 报价提示序号"]
    pub NotifySequence: TThostFtdcSequenceNoType,
    #[doc = " 报价提交状态"]
    pub OrderSubmitStatus: TThostFtdcOrderSubmitStatusType,
    #[doc = " 交易日"]
    pub TradingDay: TThostFtdcDateType,
    #[doc = " 结算编号"]
    pub SettlementID: TThostFtdcSettlementIDType,
    #[doc = " 报价编号"]
    pub QuoteSysID: TThostFtdcOrderSysIDType,
    #[doc = " 报单日期"]
    pub InsertDate: TThostFtdcDateType,
    #[doc = " 插入时间"]
    pub InsertTime: TThostFtdcTimeType,
    #[doc = " 撤销时间"]
    pub CancelTime: TThostFtdcTimeType,
    #[doc = " 报价状态"]
    pub QuoteStatus: TThostFtdcOrderStatusType,
    #[doc = " 结算会员编号"]
    pub ClearingPartID: TThostFtdcParticipantIDType,
    #[doc = " 序号"]
    pub SequenceNo: TThostFtdcSequenceNoType,
    #[doc = " 卖方报单编号"]
    pub AskOrderSysID: TThostFtdcOrderSysIDType,
    #[doc = " 买方报单编号"]
    pub BidOrderSysID: TThostFtdcOrderSysIDType,
    #[doc = " 前置编号"]
    pub FrontID: TThostFtdcFrontIDType,
    #[doc = " 会话编号"]
    pub SessionID: TThostFtdcSessionIDType,
    #[doc = " 用户端产品信息"]
    pub UserProductInfo: TThostFtdcProductInfoType,
    #[doc = " 状态信息"]
    pub StatusMsg: TThostFtdcErrorMsgType,
    #[doc = " 操作用户代码"]
    pub ActiveUserID: TThostFtdcUserIDType,
    #[doc = " 经纪公司报价编号"]
    pub BrokerQuoteSeq: TThostFtdcSequenceNoType,
    #[doc = " 衍生卖报单引用"]
    pub AskOrderRef: TThostFtdcOrderRefType,
    #[doc = " 衍生买报单引用"]
    pub BidOrderRef: TThostFtdcOrderRefType,
    #[doc = " 应价编号"]
    pub ForQuoteSysID: TThostFtdcOrderSysIDType,
    #[doc = " 营业部编号"]
    pub BranchID: TThostFtdcBranchIDType,
    #[doc = " 投资单元代码"]
    pub InvestUnitID: TThostFtdcInvestUnitIDType,
    #[doc = " 资金账号"]
    pub AccountID: TThostFtdcAccountIDType,
    #[doc = " 币种代码"]
    pub CurrencyID: TThostFtdcCurrencyIDType,
    #[doc = " 保留的无效字段"]
    pub reserve3: TThostFtdcOldIPAddressType,
    #[doc = " Mac地址"]
    pub MacAddress: TThostFtdcMacAddressType,
    #[doc = " 合约代码"]
    pub InstrumentID: TThostFtdcInstrumentIDType,
    #[doc = " 合约在交易所的代码"]
    pub ExchangeInstID: TThostFtdcExchangeInstIDType,
    #[doc = " IP地址"]
    pub IPAddress: TThostFtdcIPAddressType,
    #[doc = " 被顶单编号"]
    pub ReplaceSysID: TThostFtdcOrderSysIDType,
    #[doc = " 有效期类型"]
    pub TimeCondition: TThostFtdcTimeConditionType,
}
impl Default for CThostFtdcQuoteField {
    fn default() -> Self {
        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
        unsafe {
            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
            s.assume_init()
        }
    }
}
#[doc = " 报价操作"]
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct CThostFtdcQuoteActionField {
    #[doc = " 经纪公司代码"]
    pub BrokerID: TThostFtdcBrokerIDType,
    #[doc = " 投资者代码"]
    pub InvestorID: TThostFtdcInvestorIDType,
    #[doc = " 报价操作引用"]
    pub QuoteActionRef: TThostFtdcOrderActionRefType,
    #[doc = " 报价引用"]
    pub QuoteRef: TThostFtdcOrderRefType,
    #[doc = " 请求编号"]
    pub RequestID: TThostFtdcRequestIDType,
    #[doc = " 前置编号"]
    pub FrontID: TThostFtdcFrontIDType,
    #[doc = " 会话编号"]
    pub SessionID: TThostFtdcSessionIDType,
    #[doc = " 交易所代码"]
    pub ExchangeID: TThostFtdcExchangeIDType,
    #[doc = " 报价操作编号"]
    pub QuoteSysID: TThostFtdcOrderSysIDType,
    #[doc = " 操作标志"]
    pub ActionFlag: TThostFtdcActionFlagType,
    #[doc = " 操作日期"]
    pub ActionDate: TThostFtdcDateType,
    #[doc = " 操作时间"]
    pub ActionTime: TThostFtdcTimeType,
    #[doc = " 交易所交易员代码"]
    pub TraderID: TThostFtdcTraderIDType,
    #[doc = " 安装编号"]
    pub InstallID: TThostFtdcInstallIDType,
    #[doc = " 本地报价编号"]
    pub QuoteLocalID: TThostFtdcOrderLocalIDType,
    #[doc = " 操作本地编号"]
    pub ActionLocalID: TThostFtdcOrderLocalIDType,
    #[doc = " 会员代码"]
    pub ParticipantID: TThostFtdcParticipantIDType,
    #[doc = " 客户代码"]
    pub ClientID: TThostFtdcClientIDType,
    #[doc = " 业务单元"]
    pub BusinessUnit: TThostFtdcBusinessUnitType,
    #[doc = " 报单操作状态"]
    pub OrderActionStatus: TThostFtdcOrderActionStatusType,
    #[doc = " 用户代码"]
    pub UserID: TThostFtdcUserIDType,
    #[doc = " 状态信息"]
    pub StatusMsg: TThostFtdcErrorMsgType,
    #[doc = " 保留的无效字段"]
    pub reserve1: TThostFtdcOldInstrumentIDType,
    #[doc = " 营业部编号"]
    pub BranchID: TThostFtdcBranchIDType,
    #[doc = " 投资单元代码"]
    pub InvestUnitID: TThostFtdcInvestUnitIDType,
    #[doc = " 保留的无效字段"]
    pub reserve2: TThostFtdcOldIPAddressType,
    #[doc = " Mac地址"]
    pub MacAddress: TThostFtdcMacAddressType,
    #[doc = " 合约代码"]
    pub InstrumentID: TThostFtdcInstrumentIDType,
    #[doc = " IP地址"]
    pub IPAddress: TThostFtdcIPAddressType,
}
impl Default for CThostFtdcQuoteActionField {
    fn default() -> Self {
        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
        unsafe {
            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
            s.assume_init()
        }
    }
}
#[doc = " 报价查询"]
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct CThostFtdcQryQuoteField {
    #[doc = " 经纪公司代码"]
    pub BrokerID: TThostFtdcBrokerIDType,
    #[doc = " 投资者代码"]
    pub InvestorID: TThostFtdcInvestorIDType,
    #[doc = " 保留的无效字段"]
    pub reserve1: TThostFtdcOldInstrumentIDType,
    #[doc = " 交易所代码"]
    pub ExchangeID: TThostFtdcExchangeIDType,
    #[doc = " 报价编号"]
    pub QuoteSysID: TThostFtdcOrderSysIDType,
    #[doc = " 开始时间"]
    pub InsertTimeStart: TThostFtdcTimeType,
    #[doc = " 结束时间"]
    pub InsertTimeEnd: TThostFtdcTimeType,
    #[doc = " 投资单元代码"]
    pub InvestUnitID: TThostFtdcInvestUnitIDType,
    #[doc = " 合约代码"]
    pub InstrumentID: TThostFtdcInstrumentIDType,
}
impl Default for CThostFtdcQryQuoteField {
    fn default() -> Self {
        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
        unsafe {
            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
            s.assume_init()
        }
    }
}
#[doc = " 交易所报价信息"]
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct CThostFtdcExchangeQuoteField {
    #[doc = " 卖价格"]
    pub AskPrice: TThostFtdcPriceType,
    #[doc = " 买价格"]
    pub BidPrice: TThostFtdcPriceType,
    #[doc = " 卖数量"]
    pub AskVolume: TThostFtdcVolumeType,
    #[doc = " 买数量"]
    pub BidVolume: TThostFtdcVolumeType,
    #[doc = " 请求编号"]
    pub RequestID: TThostFtdcRequestIDType,
    #[doc = " 业务单元"]
    pub BusinessUnit: TThostFtdcBusinessUnitType,
    #[doc = " 卖开平标志"]
    pub AskOffsetFlag: TThostFtdcOffsetFlagType,
    #[doc = " 买开平标志"]
    pub BidOffsetFlag: TThostFtdcOffsetFlagType,
    #[doc = " 卖投机套保标志"]
    pub AskHedgeFlag: TThostFtdcHedgeFlagType,
    #[doc = " 买投机套保标志"]
    pub BidHedgeFlag: TThostFtdcHedgeFlagType,
    #[doc = " 本地报价编号"]
    pub QuoteLocalID: TThostFtdcOrderLocalIDType,
    #[doc = " 交易所代码"]
    pub ExchangeID: TThostFtdcExchangeIDType,
    #[doc = " 会员代码"]
    pub ParticipantID: TThostFtdcParticipantIDType,
    #[doc = " 客户代码"]
    pub ClientID: TThostFtdcClientIDType,
    #[doc = " 保留的无效字段"]
    pub reserve1: TThostFtdcOldExchangeInstIDType,
    #[doc = " 交易所交易员代码"]
    pub TraderID: TThostFtdcTraderIDType,
    #[doc = " 安装编号"]
    pub InstallID: TThostFtdcInstallIDType,
    #[doc = " 报价提示序号"]
    pub NotifySequence: TThostFtdcSequenceNoType,
    #[doc = " 报价提交状态"]
    pub OrderSubmitStatus: TThostFtdcOrderSubmitStatusType,
    #[doc = " 交易日"]
    pub TradingDay: TThostFtdcDateType,
    #[doc = " 结算编号"]
    pub SettlementID: TThostFtdcSettlementIDType,
    #[doc = " 报价编号"]
    pub QuoteSysID: TThostFtdcOrderSysIDType,
    #[doc = " 报单日期"]
    pub InsertDate: TThostFtdcDateType,
    #[doc = " 插入时间"]
    pub InsertTime: TThostFtdcTimeType,
    #[doc = " 撤销时间"]
    pub CancelTime: TThostFtdcTimeType,
    #[doc = " 报价状态"]
    pub QuoteStatus: TThostFtdcOrderStatusType,
    #[doc = " 结算会员编号"]
    pub ClearingPartID: TThostFtdcParticipantIDType,
    #[doc = " 序号"]
    pub SequenceNo: TThostFtdcSequenceNoType,
    #[doc = " 卖方报单编号"]
    pub AskOrderSysID: TThostFtdcOrderSysIDType,
    #[doc = " 买方报单编号"]
    pub BidOrderSysID: TThostFtdcOrderSysIDType,
    #[doc = " 应价编号"]
    pub ForQuoteSysID: TThostFtdcOrderSysIDType,
    #[doc = " 营业部编号"]
    pub BranchID: TThostFtdcBranchIDType,
    #[doc = " 保留的无效字段"]
    pub reserve2: TThostFtdcOldIPAddressType,
    #[doc = " Mac地址"]
    pub MacAddress: TThostFtdcMacAddressType,
    #[doc = " 合约在交易所的代码"]
    pub ExchangeInstID: TThostFtdcExchangeInstIDType,
    #[doc = " IP地址"]
    pub IPAddress: TThostFtdcIPAddressType,
    #[doc = " 有效期类型"]
    pub TimeCondition: TThostFtdcTimeConditionType,
}
impl Default for CThostFtdcExchangeQuoteField {
    fn default() -> Self {
        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
        unsafe {
            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
            s.assume_init()
        }
    }
}
#[doc = " 交易所报价查询"]
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct CThostFtdcQryExchangeQuoteField {
    #[doc = " 会员代码"]
    pub ParticipantID: TThostFtdcParticipantIDType,
    #[doc = " 客户代码"]
    pub ClientID: TThostFtdcClientIDType,
    #[doc = " 保留的无效字段"]
    pub reserve1: TThostFtdcOldExchangeInstIDType,
    #[doc = " 交易所代码"]
    pub ExchangeID: TThostFtdcExchangeIDType,
    #[doc = " 交易所交易员代码"]
    pub TraderID: TThostFtdcTraderIDType,
    #[doc = " 合约在交易所的代码"]
    pub ExchangeInstID: TThostFtdcExchangeInstIDType,
}
impl Default for CThostFtdcQryExchangeQuoteField {
    fn default() -> Self {
        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
        unsafe {
            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
            s.assume_init()
        }
    }
}
#[doc = " 报价操作查询"]
#[repr(C)]
#[derive(Debug, Default, Copy, Clone)]
pub struct CThostFtdcQryQuoteActionField {
    #[doc = " 经纪公司代码"]
    pub BrokerID: TThostFtdcBrokerIDType,
    #[doc = " 投资者代码"]
    pub InvestorID: TThostFtdcInvestorIDType,
    #[doc = " 交易所代码"]
    pub ExchangeID: TThostFtdcExchangeIDType,
}
#[doc = " 交易所报价操作"]
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct CThostFtdcExchangeQuoteActionField {
    #[doc = " 交易所代码"]
    pub ExchangeID: TThostFtdcExchangeIDType,
    #[doc = " 报价操作编号"]
    pub QuoteSysID: TThostFtdcOrderSysIDType,
    #[doc = " 操作标志"]
    pub ActionFlag: TThostFtdcActionFlagType,
    #[doc = " 操作日期"]
    pub ActionDate: TThostFtdcDateType,
    #[doc = " 操作时间"]
    pub ActionTime: TThostFtdcTimeType,
    #[doc = " 交易所交易员代码"]
    pub TraderID: TThostFtdcTraderIDType,
    #[doc = " 安装编号"]
    pub InstallID: TThostFtdcInstallIDType,
    #[doc = " 本地报价编号"]
    pub QuoteLocalID: TThostFtdcOrderLocalIDType,
    #[doc = " 操作本地编号"]
    pub ActionLocalID: TThostFtdcOrderLocalIDType,
    #[doc = " 会员代码"]
    pub ParticipantID: TThostFtdcParticipantIDType,
    #[doc = " 客户代码"]
    pub ClientID: TThostFtdcClientIDType,
    #[doc = " 业务单元"]
    pub BusinessUnit: TThostFtdcBusinessUnitType,
    #[doc = " 报单操作状态"]
    pub OrderActionStatus: TThostFtdcOrderActionStatusType,
    #[doc = " 用户代码"]
    pub UserID: TThostFtdcUserIDType,
    #[doc = " 保留的无效字段"]
    pub reserve1: TThostFtdcOldIPAddressType,
    #[doc = " Mac地址"]
    pub MacAddress: TThostFtdcMacAddressType,
    #[doc = " IP地址"]
    pub IPAddress: TThostFtdcIPAddressType,
}
impl Default for CThostFtdcExchangeQuoteActionField {
    fn default() -> Self {
        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
        unsafe {
            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
            s.assume_init()
        }
    }
}
#[doc = " 交易所报价操作查询"]
#[repr(C)]
#[derive(Debug, Default, Copy, Clone)]
pub struct CThostFtdcQryExchangeQuoteActionField {
    #[doc = " 会员代码"]
    pub ParticipantID: TThostFtdcParticipantIDType,
    #[doc = " 客户代码"]
    pub ClientID: TThostFtdcClientIDType,
    #[doc = " 交易所代码"]
    pub ExchangeID: TThostFtdcExchangeIDType,
    #[doc = " 交易所交易员代码"]
    pub TraderID: TThostFtdcTraderIDType,
}
#[doc = " 期权合约delta值"]
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct CThostFtdcOptionInstrDeltaField {
    #[doc = " 保留的无效字段"]
    pub reserve1: TThostFtdcOldInstrumentIDType,
    #[doc = " 投资者范围"]
    pub InvestorRange: TThostFtdcInvestorRangeType,
    #[doc = " 经纪公司代码"]
    pub BrokerID: TThostFtdcBrokerIDType,
    #[doc = " 投资者代码"]
    pub InvestorID: TThostFtdcInvestorIDType,
    #[doc = " Delta值"]
    pub Delta: TThostFtdcRatioType,
    #[doc = " 合约代码"]
    pub InstrumentID: TThostFtdcInstrumentIDType,
}
impl Default for CThostFtdcOptionInstrDeltaField {
    fn default() -> Self {
        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
        unsafe {
            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
            s.assume_init()
        }
    }
}
#[doc = " 发给做市商的询价请求"]
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct CThostFtdcForQuoteRspField {
    #[doc = " 交易日"]
    pub TradingDay: TThostFtdcDateType,
    #[doc = " 保留的无效字段"]
    pub reserve1: TThostFtdcOldInstrumentIDType,
    #[doc = " 询价编号"]
    pub ForQuoteSysID: TThostFtdcOrderSysIDType,
    #[doc = " 询价时间"]
    pub ForQuoteTime: TThostFtdcTimeType,
    #[doc = " 业务日期"]
    pub ActionDay: TThostFtdcDateType,
    #[doc = " 交易所代码"]
    pub ExchangeID: TThostFtdcExchangeIDType,
    #[doc = " 合约代码"]
    pub InstrumentID: TThostFtdcInstrumentIDType,
}
impl Default for CThostFtdcForQuoteRspField {
    fn default() -> Self {
        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
        unsafe {
            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
            s.assume_init()
        }
    }
}
#[doc = " 当前期权合约执行偏移值的详细内容"]
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct CThostFtdcStrikeOffsetField {
    #[doc = " 保留的无效字段"]
    pub reserve1: TThostFtdcOldInstrumentIDType,
    #[doc = " 投资者范围"]
    pub InvestorRange: TThostFtdcInvestorRangeType,
    #[doc = " 经纪公司代码"]
    pub BrokerID: TThostFtdcBrokerIDType,
    #[doc = " 投资者代码"]
    pub InvestorID: TThostFtdcInvestorIDType,
    #[doc = " 执行偏移值"]
    pub Offset: TThostFtdcMoneyType,
    #[doc = " 执行偏移类型"]
    pub OffsetType: TThostFtdcStrikeOffsetTypeType,
    #[doc = " 合约代码"]
    pub InstrumentID: TThostFtdcInstrumentIDType,
}
impl Default for CThostFtdcStrikeOffsetField {
    fn default() -> Self {
        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
        unsafe {
            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
            s.assume_init()
        }
    }
}
#[doc = " 期权执行偏移值查询"]
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct CThostFtdcQryStrikeOffsetField {
    #[doc = " 经纪公司代码"]
    pub BrokerID: TThostFtdcBrokerIDType,
    #[doc = " 投资者代码"]
    pub InvestorID: TThostFtdcInvestorIDType,
    #[doc = " 保留的无效字段"]
    pub reserve1: TThostFtdcOldInstrumentIDType,
    #[doc = " 合约代码"]
    pub InstrumentID: TThostFtdcInstrumentIDType,
}
impl Default for CThostFtdcQryStrikeOffsetField {
    fn default() -> Self {
        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
        unsafe {
            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
            s.assume_init()
        }
    }
}
#[doc = " 输入批量报单操作"]
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct CThostFtdcInputBatchOrderActionField {
    #[doc = " 经纪公司代码"]
    pub BrokerID: TThostFtdcBrokerIDType,
    #[doc = " 投资者代码"]
    pub InvestorID: TThostFtdcInvestorIDType,
    #[doc = " 报单操作引用"]
    pub OrderActionRef: TThostFtdcOrderActionRefType,
    #[doc = " 请求编号"]
    pub RequestID: TThostFtdcRequestIDType,
    #[doc = " 前置编号"]
    pub FrontID: TThostFtdcFrontIDType,
    #[doc = " 会话编号"]
    pub SessionID: TThostFtdcSessionIDType,
    #[doc = " 交易所代码"]
    pub ExchangeID: TThostFtdcExchangeIDType,
    #[doc = " 用户代码"]
    pub UserID: TThostFtdcUserIDType,
    #[doc = " 投资单元代码"]
    pub InvestUnitID: TThostFtdcInvestUnitIDType,
    #[doc = " 保留的无效字段"]
    pub reserve1: TThostFtdcOldIPAddressType,
    #[doc = " Mac地址"]
    pub MacAddress: TThostFtdcMacAddressType,
    #[doc = " IP地址"]
    pub IPAddress: TThostFtdcIPAddressType,
}
impl Default for CThostFtdcInputBatchOrderActionField {
    fn default() -> Self {
        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
        unsafe {
            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
            s.assume_init()
        }
    }
}
#[doc = " 批量报单操作"]
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct CThostFtdcBatchOrderActionField {
    #[doc = " 经纪公司代码"]
    pub BrokerID: TThostFtdcBrokerIDType,
    #[doc = " 投资者代码"]
    pub InvestorID: TThostFtdcInvestorIDType,
    #[doc = " 报单操作引用"]
    pub OrderActionRef: TThostFtdcOrderActionRefType,
    #[doc = " 请求编号"]
    pub RequestID: TThostFtdcRequestIDType,
    #[doc = " 前置编号"]
    pub FrontID: TThostFtdcFrontIDType,
    #[doc = " 会话编号"]
    pub SessionID: TThostFtdcSessionIDType,
    #[doc = " 交易所代码"]
    pub ExchangeID: TThostFtdcExchangeIDType,
    #[doc = " 操作日期"]
    pub ActionDate: TThostFtdcDateType,
    #[doc = " 操作时间"]
    pub ActionTime: TThostFtdcTimeType,
    #[doc = " 交易所交易员代码"]
    pub TraderID: TThostFtdcTraderIDType,
    #[doc = " 安装编号"]
    pub InstallID: TThostFtdcInstallIDType,
    #[doc = " 操作本地编号"]
    pub ActionLocalID: TThostFtdcOrderLocalIDType,
    #[doc = " 会员代码"]
    pub ParticipantID: TThostFtdcParticipantIDType,
    #[doc = " 客户代码"]
    pub ClientID: TThostFtdcClientIDType,
    #[doc = " 业务单元"]
    pub BusinessUnit: TThostFtdcBusinessUnitType,
    #[doc = " 报单操作状态"]
    pub OrderActionStatus: TThostFtdcOrderActionStatusType,
    #[doc = " 用户代码"]
    pub UserID: TThostFtdcUserIDType,
    #[doc = " 状态信息"]
    pub StatusMsg: TThostFtdcErrorMsgType,
    #[doc = " 投资单元代码"]
    pub InvestUnitID: TThostFtdcInvestUnitIDType,
    #[doc = " 保留的无效字段"]
    pub reserve1: TThostFtdcOldIPAddressType,
    #[doc = " Mac地址"]
    pub MacAddress: TThostFtdcMacAddressType,
    #[doc = " IP地址"]
    pub IPAddress: TThostFtdcIPAddressType,
}
impl Default for CThostFtdcBatchOrderActionField {
    fn default() -> Self {
        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
        unsafe {
            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
            s.assume_init()
        }
    }
}
#[doc = " 交易所批量报单操作"]
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct CThostFtdcExchangeBatchOrderActionField {
    #[doc = " 交易所代码"]
    pub ExchangeID: TThostFtdcExchangeIDType,
    #[doc = " 操作日期"]
    pub ActionDate: TThostFtdcDateType,
    #[doc = " 操作时间"]
    pub ActionTime: TThostFtdcTimeType,
    #[doc = " 交易所交易员代码"]
    pub TraderID: TThostFtdcTraderIDType,
    #[doc = " 安装编号"]
    pub InstallID: TThostFtdcInstallIDType,
    #[doc = " 操作本地编号"]
    pub ActionLocalID: TThostFtdcOrderLocalIDType,
    #[doc = " 会员代码"]
    pub ParticipantID: TThostFtdcParticipantIDType,
    #[doc = " 客户代码"]
    pub ClientID: TThostFtdcClientIDType,
    #[doc = " 业务单元"]
    pub BusinessUnit: TThostFtdcBusinessUnitType,
    #[doc = " 报单操作状态"]
    pub OrderActionStatus: TThostFtdcOrderActionStatusType,
    #[doc = " 用户代码"]
    pub UserID: TThostFtdcUserIDType,
    #[doc = " 保留的无效字段"]
    pub reserve1: TThostFtdcOldIPAddressType,
    #[doc = " Mac地址"]
    pub MacAddress: TThostFtdcMacAddressType,
    #[doc = " IP地址"]
    pub IPAddress: TThostFtdcIPAddressType,
}
impl Default for CThostFtdcExchangeBatchOrderActionField {
    fn default() -> Self {
        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
        unsafe {
            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
            s.assume_init()
        }
    }
}
#[doc = " 查询批量报单操作"]
#[repr(C)]
#[derive(Debug, Default, Copy, Clone)]
pub struct CThostFtdcQryBatchOrderActionField {
    #[doc = " 经纪公司代码"]
    pub BrokerID: TThostFtdcBrokerIDType,
    #[doc = " 投资者代码"]
    pub InvestorID: TThostFtdcInvestorIDType,
    #[doc = " 交易所代码"]
    pub ExchangeID: TThostFtdcExchangeIDType,
}
#[doc = " 组合合约安全系数"]
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct CThostFtdcCombInstrumentGuardField {
    #[doc = " 经纪公司代码"]
    pub BrokerID: TThostFtdcBrokerIDType,
    #[doc = " 保留的无效字段"]
    pub reserve1: TThostFtdcOldInstrumentIDType,
    pub GuarantRatio: TThostFtdcRatioType,
    #[doc = " 交易所代码"]
    pub ExchangeID: TThostFtdcExchangeIDType,
    #[doc = " 合约代码"]
    pub InstrumentID: TThostFtdcInstrumentIDType,
}
impl Default for CThostFtdcCombInstrumentGuardField {
    fn default() -> Self {
        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
        unsafe {
            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
            s.assume_init()
        }
    }
}
#[doc = " 组合合约安全系数查询"]
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct CThostFtdcQryCombInstrumentGuardField {
    #[doc = " 经纪公司代码"]
    pub BrokerID: TThostFtdcBrokerIDType,
    #[doc = " 保留的无效字段"]
    pub reserve1: TThostFtdcOldInstrumentIDType,
    #[doc = " 交易所代码"]
    pub ExchangeID: TThostFtdcExchangeIDType,
    #[doc = " 合约代码"]
    pub InstrumentID: TThostFtdcInstrumentIDType,
}
impl Default for CThostFtdcQryCombInstrumentGuardField {
    fn default() -> Self {
        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
        unsafe {
            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
            s.assume_init()
        }
    }
}
#[doc = " 输入的申请组合"]
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct CThostFtdcInputCombActionField {
    #[doc = " 经纪公司代码"]
    pub BrokerID: TThostFtdcBrokerIDType,
    #[doc = " 投资者代码"]
    pub InvestorID: TThostFtdcInvestorIDType,
    #[doc = " 保留的无效字段"]
    pub reserve1: TThostFtdcOldInstrumentIDType,
    #[doc = " 组合引用"]
    pub CombActionRef: TThostFtdcOrderRefType,
    #[doc = " 用户代码"]
    pub UserID: TThostFtdcUserIDType,
    #[doc = " 买卖方向"]
    pub Direction: TThostFtdcDirectionType,
    #[doc = " 数量"]
    pub Volume: TThostFtdcVolumeType,
    #[doc = " 组合指令方向"]
    pub CombDirection: TThostFtdcCombDirectionType,
    #[doc = " 投机套保标志"]
    pub HedgeFlag: TThostFtdcHedgeFlagType,
    #[doc = " 交易所代码"]
    pub ExchangeID: TThostFtdcExchangeIDType,
    #[doc = " 保留的无效字段"]
    pub reserve2: TThostFtdcOldIPAddressType,
    #[doc = " Mac地址"]
    pub MacAddress: TThostFtdcMacAddressType,
    #[doc = " 投资单元代码"]
    pub InvestUnitID: TThostFtdcInvestUnitIDType,
    #[doc = " 前置编号"]
    pub FrontID: TThostFtdcFrontIDType,
    #[doc = " 会话编号"]
    pub SessionID: TThostFtdcSessionIDType,
    #[doc = " 合约代码"]
    pub InstrumentID: TThostFtdcInstrumentIDType,
    #[doc = " IP地址"]
    pub IPAddress: TThostFtdcIPAddressType,
}
impl Default for CThostFtdcInputCombActionField {
    fn default() -> Self {
        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
        unsafe {
            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
            s.assume_init()
        }
    }
}
#[doc = " 申请组合"]
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct CThostFtdcCombActionField {
    #[doc = " 经纪公司代码"]
    pub BrokerID: TThostFtdcBrokerIDType,
    #[doc = " 投资者代码"]
    pub InvestorID: TThostFtdcInvestorIDType,
    #[doc = " 保留的无效字段"]
    pub reserve1: TThostFtdcOldInstrumentIDType,
    #[doc = " 组合引用"]
    pub CombActionRef: TThostFtdcOrderRefType,
    #[doc = " 用户代码"]
    pub UserID: TThostFtdcUserIDType,
    #[doc = " 买卖方向"]
    pub Direction: TThostFtdcDirectionType,
    #[doc = " 数量"]
    pub Volume: TThostFtdcVolumeType,
    #[doc = " 组合指令方向"]
    pub CombDirection: TThostFtdcCombDirectionType,
    #[doc = " 投机套保标志"]
    pub HedgeFlag: TThostFtdcHedgeFlagType,
    #[doc = " 本地申请组合编号"]
    pub ActionLocalID: TThostFtdcOrderLocalIDType,
    #[doc = " 交易所代码"]
    pub ExchangeID: TThostFtdcExchangeIDType,
    #[doc = " 会员代码"]
    pub ParticipantID: TThostFtdcParticipantIDType,
    #[doc = " 客户代码"]
    pub ClientID: TThostFtdcClientIDType,
    #[doc = " 保留的无效字段"]
    pub reserve2: TThostFtdcOldExchangeInstIDType,
    #[doc = " 交易所交易员代码"]
    pub TraderID: TThostFtdcTraderIDType,
    #[doc = " 安装编号"]
    pub InstallID: TThostFtdcInstallIDType,
    #[doc = " 组合状态"]
    pub ActionStatus: TThostFtdcOrderActionStatusType,
    #[doc = " 报单提示序号"]
    pub NotifySequence: TThostFtdcSequenceNoType,
    #[doc = " 交易日"]
    pub TradingDay: TThostFtdcDateType,
    #[doc = " 结算编号"]
    pub SettlementID: TThostFtdcSettlementIDType,
    #[doc = " 序号"]
    pub SequenceNo: TThostFtdcSequenceNoType,
    #[doc = " 前置编号"]
    pub FrontID: TThostFtdcFrontIDType,
    #[doc = " 会话编号"]
    pub SessionID: TThostFtdcSessionIDType,
    #[doc = " 用户端产品信息"]
    pub UserProductInfo: TThostFtdcProductInfoType,
    #[doc = " 状态信息"]
    pub StatusMsg: TThostFtdcErrorMsgType,
    #[doc = " 保留的无效字段"]
    pub reserve3: TThostFtdcOldIPAddressType,
    #[doc = " Mac地址"]
    pub MacAddress: TThostFtdcMacAddressType,
    #[doc = " 组合编号"]
    pub ComTradeID: TThostFtdcTradeIDType,
    #[doc = " 营业部编号"]
    pub BranchID: TThostFtdcBranchIDType,
    #[doc = " 投资单元代码"]
    pub InvestUnitID: TThostFtdcInvestUnitIDType,
    #[doc = " 合约代码"]
    pub InstrumentID: TThostFtdcInstrumentIDType,
    #[doc = " 合约在交易所的代码"]
    pub ExchangeInstID: TThostFtdcExchangeInstIDType,
    #[doc = " IP地址"]
    pub IPAddress: TThostFtdcIPAddressType,
}
impl Default for CThostFtdcCombActionField {
    fn default() -> Self {
        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
        unsafe {
            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
            s.assume_init()
        }
    }
}
#[doc = " 申请组合查询"]
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct CThostFtdcQryCombActionField {
    #[doc = " 经纪公司代码"]
    pub BrokerID: TThostFtdcBrokerIDType,
    #[doc = " 投资者代码"]
    pub InvestorID: TThostFtdcInvestorIDType,
    #[doc = " 保留的无效字段"]
    pub reserve1: TThostFtdcOldInstrumentIDType,
    #[doc = " 交易所代码"]
    pub ExchangeID: TThostFtdcExchangeIDType,
    #[doc = " 投资单元代码"]
    pub InvestUnitID: TThostFtdcInvestUnitIDType,
    #[doc = " 合约代码"]
    pub InstrumentID: TThostFtdcInstrumentIDType,
}
impl Default for CThostFtdcQryCombActionField {
    fn default() -> Self {
        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
        unsafe {
            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
            s.assume_init()
        }
    }
}
#[doc = " 交易所申请组合信息"]
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct CThostFtdcExchangeCombActionField {
    #[doc = " 买卖方向"]
    pub Direction: TThostFtdcDirectionType,
    #[doc = " 数量"]
    pub Volume: TThostFtdcVolumeType,
    #[doc = " 组合指令方向"]
    pub CombDirection: TThostFtdcCombDirectionType,
    #[doc = " 投机套保标志"]
    pub HedgeFlag: TThostFtdcHedgeFlagType,
    #[doc = " 本地申请组合编号"]
    pub ActionLocalID: TThostFtdcOrderLocalIDType,
    #[doc = " 交易所代码"]
    pub ExchangeID: TThostFtdcExchangeIDType,
    #[doc = " 会员代码"]
    pub ParticipantID: TThostFtdcParticipantIDType,
    #[doc = " 客户代码"]
    pub ClientID: TThostFtdcClientIDType,
    #[doc = " 保留的无效字段"]
    pub reserve1: TThostFtdcOldExchangeInstIDType,
    #[doc = " 交易所交易员代码"]
    pub TraderID: TThostFtdcTraderIDType,
    #[doc = " 安装编号"]
    pub InstallID: TThostFtdcInstallIDType,
    #[doc = " 组合状态"]
    pub ActionStatus: TThostFtdcOrderActionStatusType,
    #[doc = " 报单提示序号"]
    pub NotifySequence: TThostFtdcSequenceNoType,
    #[doc = " 交易日"]
    pub TradingDay: TThostFtdcDateType,
    #[doc = " 结算编号"]
    pub SettlementID: TThostFtdcSettlementIDType,
    #[doc = " 序号"]
    pub SequenceNo: TThostFtdcSequenceNoType,
    #[doc = " 保留的无效字段"]
    pub reserve2: TThostFtdcOldIPAddressType,
    #[doc = " Mac地址"]
    pub MacAddress: TThostFtdcMacAddressType,
    #[doc = " 组合编号"]
    pub ComTradeID: TThostFtdcTradeIDType,
    #[doc = " 营业部编号"]
    pub BranchID: TThostFtdcBranchIDType,
    #[doc = " 合约在交易所的代码"]
    pub ExchangeInstID: TThostFtdcExchangeInstIDType,
    #[doc = " IP地址"]
    pub IPAddress: TThostFtdcIPAddressType,
}
impl Default for CThostFtdcExchangeCombActionField {
    fn default() -> Self {
        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
        unsafe {
            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
            s.assume_init()
        }
    }
}
#[doc = " 交易所申请组合查询"]
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct CThostFtdcQryExchangeCombActionField {
    #[doc = " 会员代码"]
    pub ParticipantID: TThostFtdcParticipantIDType,
    #[doc = " 客户代码"]
    pub ClientID: TThostFtdcClientIDType,
    #[doc = " 保留的无效字段"]
    pub reserve1: TThostFtdcOldExchangeInstIDType,
    #[doc = " 交易所代码"]
    pub ExchangeID: TThostFtdcExchangeIDType,
    #[doc = " 交易所交易员代码"]
    pub TraderID: TThostFtdcTraderIDType,
    #[doc = " 合约在交易所的代码"]
    pub ExchangeInstID: TThostFtdcExchangeInstIDType,
}
impl Default for CThostFtdcQryExchangeCombActionField {
    fn default() -> Self {
        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
        unsafe {
            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
            s.assume_init()
        }
    }
}
#[doc = " 产品报价汇率"]
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct CThostFtdcProductExchRateField {
    #[doc = " 保留的无效字段"]
    pub reserve1: TThostFtdcOldInstrumentIDType,
    #[doc = " 报价币种类型"]
    pub QuoteCurrencyID: TThostFtdcCurrencyIDType,
    #[doc = " 汇率"]
    pub ExchangeRate: TThostFtdcExchangeRateType,
    #[doc = " 交易所代码"]
    pub ExchangeID: TThostFtdcExchangeIDType,
    #[doc = " 产品代码"]
    pub ProductID: TThostFtdcInstrumentIDType,
}
impl Default for CThostFtdcProductExchRateField {
    fn default() -> Self {
        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
        unsafe {
            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
            s.assume_init()
        }
    }
}
#[doc = " 产品报价汇率查询"]
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct CThostFtdcQryProductExchRateField {
    #[doc = " 保留的无效字段"]
    pub reserve1: TThostFtdcOldInstrumentIDType,
    #[doc = " 交易所代码"]
    pub ExchangeID: TThostFtdcExchangeIDType,
    #[doc = " 产品代码"]
    pub ProductID: TThostFtdcInstrumentIDType,
}
impl Default for CThostFtdcQryProductExchRateField {
    fn default() -> Self {
        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
        unsafe {
            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
            s.assume_init()
        }
    }
}
#[doc = " 查询询价价差参数"]
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct CThostFtdcQryForQuoteParamField {
    #[doc = " 经纪公司代码"]
    pub BrokerID: TThostFtdcBrokerIDType,
    #[doc = " 保留的无效字段"]
    pub reserve1: TThostFtdcOldInstrumentIDType,
    #[doc = " 交易所代码"]
    pub ExchangeID: TThostFtdcExchangeIDType,
    #[doc = " 合约代码"]
    pub InstrumentID: TThostFtdcInstrumentIDType,
}
impl Default for CThostFtdcQryForQuoteParamField {
    fn default() -> Self {
        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
        unsafe {
            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
            s.assume_init()
        }
    }
}
#[doc = " 询价价差参数"]
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct CThostFtdcForQuoteParamField {
    #[doc = " 经纪公司代码"]
    pub BrokerID: TThostFtdcBrokerIDType,
    #[doc = " 保留的无效字段"]
    pub reserve1: TThostFtdcOldInstrumentIDType,
    #[doc = " 交易所代码"]
    pub ExchangeID: TThostFtdcExchangeIDType,
    #[doc = " 最新价"]
    pub LastPrice: TThostFtdcPriceType,
    #[doc = " 价差"]
    pub PriceInterval: TThostFtdcPriceType,
    #[doc = " 合约代码"]
    pub InstrumentID: TThostFtdcInstrumentIDType,
}
impl Default for CThostFtdcForQuoteParamField {
    fn default() -> Self {
        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
        unsafe {
            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
            s.assume_init()
        }
    }
}
#[doc = " 当前做市商期权合约手续费的详细内容"]
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct CThostFtdcMMOptionInstrCommRateField {
    #[doc = " 保留的无效字段"]
    pub reserve1: TThostFtdcOldInstrumentIDType,
    #[doc = " 投资者范围"]
    pub InvestorRange: TThostFtdcInvestorRangeType,
    #[doc = " 经纪公司代码"]
    pub BrokerID: TThostFtdcBrokerIDType,
    #[doc = " 投资者代码"]
    pub InvestorID: TThostFtdcInvestorIDType,
    #[doc = " 开仓手续费率"]
    pub OpenRatioByMoney: TThostFtdcRatioType,
    #[doc = " 开仓手续费"]
    pub OpenRatioByVolume: TThostFtdcRatioType,
    #[doc = " 平仓手续费率"]
    pub CloseRatioByMoney: TThostFtdcRatioType,
    #[doc = " 平仓手续费"]
    pub CloseRatioByVolume: TThostFtdcRatioType,
    #[doc = " 平今手续费率"]
    pub CloseTodayRatioByMoney: TThostFtdcRatioType,
    #[doc = " 平今手续费"]
    pub CloseTodayRatioByVolume: TThostFtdcRatioType,
    #[doc = " 执行手续费率"]
    pub StrikeRatioByMoney: TThostFtdcRatioType,
    #[doc = " 执行手续费"]
    pub StrikeRatioByVolume: TThostFtdcRatioType,
    #[doc = " 合约代码"]
    pub InstrumentID: TThostFtdcInstrumentIDType,
}
impl Default for CThostFtdcMMOptionInstrCommRateField {
    fn default() -> Self {
        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
        unsafe {
            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
            s.assume_init()
        }
    }
}
#[doc = " 做市商期权手续费率查询"]
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct CThostFtdcQryMMOptionInstrCommRateField {
    #[doc = " 经纪公司代码"]
    pub BrokerID: TThostFtdcBrokerIDType,
    #[doc = " 投资者代码"]
    pub InvestorID: TThostFtdcInvestorIDType,
    #[doc = " 保留的无效字段"]
    pub reserve1: TThostFtdcOldInstrumentIDType,
    #[doc = " 合约代码"]
    pub InstrumentID: TThostFtdcInstrumentIDType,
}
impl Default for CThostFtdcQryMMOptionInstrCommRateField {
    fn default() -> Self {
        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
        unsafe {
            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
            s.assume_init()
        }
    }
}
#[doc = " 做市商合约手续费率"]
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct CThostFtdcMMInstrumentCommissionRateField {
    #[doc = " 保留的无效字段"]
    pub reserve1: TThostFtdcOldInstrumentIDType,
    #[doc = " 投资者范围"]
    pub InvestorRange: TThostFtdcInvestorRangeType,
    #[doc = " 经纪公司代码"]
    pub BrokerID: TThostFtdcBrokerIDType,
    #[doc = " 投资者代码"]
    pub InvestorID: TThostFtdcInvestorIDType,
    #[doc = " 开仓手续费率"]
    pub OpenRatioByMoney: TThostFtdcRatioType,
    #[doc = " 开仓手续费"]
    pub OpenRatioByVolume: TThostFtdcRatioType,
    #[doc = " 平仓手续费率"]
    pub CloseRatioByMoney: TThostFtdcRatioType,
    #[doc = " 平仓手续费"]
    pub CloseRatioByVolume: TThostFtdcRatioType,
    #[doc = " 平今手续费率"]
    pub CloseTodayRatioByMoney: TThostFtdcRatioType,
    #[doc = " 平今手续费"]
    pub CloseTodayRatioByVolume: TThostFtdcRatioType,
    #[doc = " 合约代码"]
    pub InstrumentID: TThostFtdcInstrumentIDType,
}
impl Default for CThostFtdcMMInstrumentCommissionRateField {
    fn default() -> Self {
        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
        unsafe {
            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
            s.assume_init()
        }
    }
}
#[doc = " 查询做市商合约手续费率"]
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct CThostFtdcQryMMInstrumentCommissionRateField {
    #[doc = " 经纪公司代码"]
    pub BrokerID: TThostFtdcBrokerIDType,
    #[doc = " 投资者代码"]
    pub InvestorID: TThostFtdcInvestorIDType,
    #[doc = " 保留的无效字段"]
    pub reserve1: TThostFtdcOldInstrumentIDType,
    #[doc = " 合约代码"]
    pub InstrumentID: TThostFtdcInstrumentIDType,
}
impl Default for CThostFtdcQryMMInstrumentCommissionRateField {
    fn default() -> Self {
        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
        unsafe {
            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
            s.assume_init()
        }
    }
}
#[doc = " 当前报单手续费的详细内容"]
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct CThostFtdcInstrumentOrderCommRateField {
    #[doc = " 保留的无效字段"]
    pub reserve1: TThostFtdcOldInstrumentIDType,
    #[doc = " 投资者范围"]
    pub InvestorRange: TThostFtdcInvestorRangeType,
    #[doc = " 经纪公司代码"]
    pub BrokerID: TThostFtdcBrokerIDType,
    #[doc = " 投资者代码"]
    pub InvestorID: TThostFtdcInvestorIDType,
    #[doc = " 投机套保标志"]
    pub HedgeFlag: TThostFtdcHedgeFlagType,
    #[doc = " 报单手续费"]
    pub OrderCommByVolume: TThostFtdcRatioType,
    #[doc = " 撤单手续费"]
    pub OrderActionCommByVolume: TThostFtdcRatioType,
    #[doc = " 交易所代码"]
    pub ExchangeID: TThostFtdcExchangeIDType,
    #[doc = " 投资单元代码"]
    pub InvestUnitID: TThostFtdcInvestUnitIDType,
    #[doc = " 合约代码"]
    pub InstrumentID: TThostFtdcInstrumentIDType,
    #[doc = " 报单手续费"]
    pub OrderCommByTrade: TThostFtdcRatioType,
    #[doc = " 撤单手续费"]
    pub OrderActionCommByTrade: TThostFtdcRatioType,
}
impl Default for CThostFtdcInstrumentOrderCommRateField {
    fn default() -> Self {
        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
        unsafe {
            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
            s.assume_init()
        }
    }
}
#[doc = " 报单手续费率查询"]
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct CThostFtdcQryInstrumentOrderCommRateField {
    #[doc = " 经纪公司代码"]
    pub BrokerID: TThostFtdcBrokerIDType,
    #[doc = " 投资者代码"]
    pub InvestorID: TThostFtdcInvestorIDType,
    #[doc = " 保留的无效字段"]
    pub reserve1: TThostFtdcOldInstrumentIDType,
    #[doc = " 合约代码"]
    pub InstrumentID: TThostFtdcInstrumentIDType,
}
impl Default for CThostFtdcQryInstrumentOrderCommRateField {
    fn default() -> Self {
        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
        unsafe {
            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
            s.assume_init()
        }
    }
}
#[doc = " 交易参数"]
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct CThostFtdcTradeParamField {
    #[doc = " 经纪公司代码"]
    pub BrokerID: TThostFtdcBrokerIDType,
    #[doc = " 参数代码"]
    pub TradeParamID: TThostFtdcTradeParamIDType,
    #[doc = " 参数代码值"]
    pub TradeParamValue: TThostFtdcSettlementParamValueType,
    #[doc = " 备注"]
    pub Memo: TThostFtdcMemoType,
}
impl Default for CThostFtdcTradeParamField {
    fn default() -> Self {
        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
        unsafe {
            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
            s.assume_init()
        }
    }
}
#[doc = " 合约保证金率调整"]
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct CThostFtdcInstrumentMarginRateULField {
    #[doc = " 保留的无效字段"]
    pub reserve1: TThostFtdcOldInstrumentIDType,
    #[doc = " 投资者范围"]
    pub InvestorRange: TThostFtdcInvestorRangeType,
    #[doc = " 经纪公司代码"]
    pub BrokerID: TThostFtdcBrokerIDType,
    #[doc = " 投资者代码"]
    pub InvestorID: TThostFtdcInvestorIDType,
    #[doc = " 投机套保标志"]
    pub HedgeFlag: TThostFtdcHedgeFlagType,
    #[doc = " 多头保证金率"]
    pub LongMarginRatioByMoney: TThostFtdcRatioType,
    #[doc = " 多头保证金费"]
    pub LongMarginRatioByVolume: TThostFtdcMoneyType,
    #[doc = " 空头保证金率"]
    pub ShortMarginRatioByMoney: TThostFtdcRatioType,
    #[doc = " 空头保证金费"]
    pub ShortMarginRatioByVolume: TThostFtdcMoneyType,
    #[doc = " 合约代码"]
    pub InstrumentID: TThostFtdcInstrumentIDType,
}
impl Default for CThostFtdcInstrumentMarginRateULField {
    fn default() -> Self {
        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
        unsafe {
            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
            s.assume_init()
        }
    }
}
#[doc = " 期货持仓限制参数"]
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct CThostFtdcFutureLimitPosiParamField {
    #[doc = " 投资者范围"]
    pub InvestorRange: TThostFtdcInvestorRangeType,
    #[doc = " 经纪公司代码"]
    pub BrokerID: TThostFtdcBrokerIDType,
    #[doc = " 投资者代码"]
    pub InvestorID: TThostFtdcInvestorIDType,
    #[doc = " 保留的无效字段"]
    pub reserve1: TThostFtdcOldInstrumentIDType,
    #[doc = " 当日投机开仓数量限制"]
    pub SpecOpenVolume: TThostFtdcVolumeType,
    #[doc = " 当日套利开仓数量限制"]
    pub ArbiOpenVolume: TThostFtdcVolumeType,
    #[doc = " 当日投机+套利开仓数量限制"]
    pub OpenVolume: TThostFtdcVolumeType,
    #[doc = " 产品代码"]
    pub ProductID: TThostFtdcInstrumentIDType,
}
impl Default for CThostFtdcFutureLimitPosiParamField {
    fn default() -> Self {
        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
        unsafe {
            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
            s.assume_init()
        }
    }
}
#[doc = " 禁止登录IP"]
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct CThostFtdcLoginForbiddenIPField {
    #[doc = " 保留的无效字段"]
    pub reserve1: TThostFtdcOldIPAddressType,
    #[doc = " IP地址"]
    pub IPAddress: TThostFtdcIPAddressType,
}
impl Default for CThostFtdcLoginForbiddenIPField {
    fn default() -> Self {
        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
        unsafe {
            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
            s.assume_init()
        }
    }
}
#[doc = " IP列表"]
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct CThostFtdcIPListField {
    #[doc = " 保留的无效字段"]
    pub reserve1: TThostFtdcOldIPAddressType,
    #[doc = " 是否白名单"]
    pub IsWhite: TThostFtdcBoolType,
    #[doc = " IP地址"]
    pub IPAddress: TThostFtdcIPAddressType,
}
impl Default for CThostFtdcIPListField {
    fn default() -> Self {
        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
        unsafe {
            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
            s.assume_init()
        }
    }
}
#[doc = " 输入的期权自对冲"]
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct CThostFtdcInputOptionSelfCloseField {
    #[doc = " 经纪公司代码"]
    pub BrokerID: TThostFtdcBrokerIDType,
    #[doc = " 投资者代码"]
    pub InvestorID: TThostFtdcInvestorIDType,
    #[doc = " 保留的无效字段"]
    pub reserve1: TThostFtdcOldInstrumentIDType,
    #[doc = " 期权自对冲引用"]
    pub OptionSelfCloseRef: TThostFtdcOrderRefType,
    #[doc = " 用户代码"]
    pub UserID: TThostFtdcUserIDType,
    #[doc = " 数量"]
    pub Volume: TThostFtdcVolumeType,
    #[doc = " 请求编号"]
    pub RequestID: TThostFtdcRequestIDType,
    #[doc = " 业务单元"]
    pub BusinessUnit: TThostFtdcBusinessUnitType,
    #[doc = " 投机套保标志"]
    pub HedgeFlag: TThostFtdcHedgeFlagType,
    #[doc = " 期权行权的头寸是否自对冲"]
    pub OptSelfCloseFlag: TThostFtdcOptSelfCloseFlagType,
    #[doc = " 交易所代码"]
    pub ExchangeID: TThostFtdcExchangeIDType,
    #[doc = " 投资单元代码"]
    pub InvestUnitID: TThostFtdcInvestUnitIDType,
    #[doc = " 资金账号"]
    pub AccountID: TThostFtdcAccountIDType,
    #[doc = " 币种代码"]
    pub CurrencyID: TThostFtdcCurrencyIDType,
    #[doc = " 交易编码"]
    pub ClientID: TThostFtdcClientIDType,
    #[doc = " 保留的无效字段"]
    pub reserve2: TThostFtdcOldIPAddressType,
    #[doc = " Mac地址"]
    pub MacAddress: TThostFtdcMacAddressType,
    #[doc = " 合约代码"]
    pub InstrumentID: TThostFtdcInstrumentIDType,
    #[doc = " IP地址"]
    pub IPAddress: TThostFtdcIPAddressType,
}
impl Default for CThostFtdcInputOptionSelfCloseField {
    fn default() -> Self {
        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
        unsafe {
            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
            s.assume_init()
        }
    }
}
#[doc = " 输入期权自对冲操作"]
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct CThostFtdcInputOptionSelfCloseActionField {
    #[doc = " 经纪公司代码"]
    pub BrokerID: TThostFtdcBrokerIDType,
    #[doc = " 投资者代码"]
    pub InvestorID: TThostFtdcInvestorIDType,
    #[doc = " 期权自对冲操作引用"]
    pub OptionSelfCloseActionRef: TThostFtdcOrderActionRefType,
    #[doc = " 期权自对冲引用"]
    pub OptionSelfCloseRef: TThostFtdcOrderRefType,
    #[doc = " 请求编号"]
    pub RequestID: TThostFtdcRequestIDType,
    #[doc = " 前置编号"]
    pub FrontID: TThostFtdcFrontIDType,
    #[doc = " 会话编号"]
    pub SessionID: TThostFtdcSessionIDType,
    #[doc = " 交易所代码"]
    pub ExchangeID: TThostFtdcExchangeIDType,
    #[doc = " 期权自对冲操作编号"]
    pub OptionSelfCloseSysID: TThostFtdcOrderSysIDType,
    #[doc = " 操作标志"]
    pub ActionFlag: TThostFtdcActionFlagType,
    #[doc = " 用户代码"]
    pub UserID: TThostFtdcUserIDType,
    #[doc = " 保留的无效字段"]
    pub reserve1: TThostFtdcOldInstrumentIDType,
    #[doc = " 投资单元代码"]
    pub InvestUnitID: TThostFtdcInvestUnitIDType,
    #[doc = " 保留的无效字段"]
    pub reserve2: TThostFtdcOldIPAddressType,
    #[doc = " Mac地址"]
    pub MacAddress: TThostFtdcMacAddressType,
    #[doc = " 合约代码"]
    pub InstrumentID: TThostFtdcInstrumentIDType,
    #[doc = " IP地址"]
    pub IPAddress: TThostFtdcIPAddressType,
}
impl Default for CThostFtdcInputOptionSelfCloseActionField {
    fn default() -> Self {
        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
        unsafe {
            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
            s.assume_init()
        }
    }
}
#[doc = " 期权自对冲"]
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct CThostFtdcOptionSelfCloseField {
    #[doc = " 经纪公司代码"]
    pub BrokerID: TThostFtdcBrokerIDType,
    #[doc = " 投资者代码"]
    pub InvestorID: TThostFtdcInvestorIDType,
    #[doc = " 保留的无效字段"]
    pub reserve1: TThostFtdcOldInstrumentIDType,
    #[doc = " 期权自对冲引用"]
    pub OptionSelfCloseRef: TThostFtdcOrderRefType,
    #[doc = " 用户代码"]
    pub UserID: TThostFtdcUserIDType,
    #[doc = " 数量"]
    pub Volume: TThostFtdcVolumeType,
    #[doc = " 请求编号"]
    pub RequestID: TThostFtdcRequestIDType,
    #[doc = " 业务单元"]
    pub BusinessUnit: TThostFtdcBusinessUnitType,
    #[doc = " 投机套保标志"]
    pub HedgeFlag: TThostFtdcHedgeFlagType,
    #[doc = " 期权行权的头寸是否自对冲"]
    pub OptSelfCloseFlag: TThostFtdcOptSelfCloseFlagType,
    #[doc = " 本地期权自对冲编号"]
    pub OptionSelfCloseLocalID: TThostFtdcOrderLocalIDType,
    #[doc = " 交易所代码"]
    pub ExchangeID: TThostFtdcExchangeIDType,
    #[doc = " 会员代码"]
    pub ParticipantID: TThostFtdcParticipantIDType,
    #[doc = " 客户代码"]
    pub ClientID: TThostFtdcClientIDType,
    #[doc = " 保留的无效字段"]
    pub reserve2: TThostFtdcOldExchangeInstIDType,
    #[doc = " 交易所交易员代码"]
    pub TraderID: TThostFtdcTraderIDType,
    #[doc = " 安装编号"]
    pub InstallID: TThostFtdcInstallIDType,
    #[doc = " 期权自对冲提交状态"]
    pub OrderSubmitStatus: TThostFtdcOrderSubmitStatusType,
    #[doc = " 报单提示序号"]
    pub NotifySequence: TThostFtdcSequenceNoType,
    #[doc = " 交易日"]
    pub TradingDay: TThostFtdcDateType,
    #[doc = " 结算编号"]
    pub SettlementID: TThostFtdcSettlementIDType,
    #[doc = " 期权自对冲编号"]
    pub OptionSelfCloseSysID: TThostFtdcOrderSysIDType,
    #[doc = " 报单日期"]
    pub InsertDate: TThostFtdcDateType,
    #[doc = " 插入时间"]
    pub InsertTime: TThostFtdcTimeType,
    #[doc = " 撤销时间"]
    pub CancelTime: TThostFtdcTimeType,
    #[doc = " 自对冲结果"]
    pub ExecResult: TThostFtdcExecResultType,
    #[doc = " 结算会员编号"]
    pub ClearingPartID: TThostFtdcParticipantIDType,
    #[doc = " 序号"]
    pub SequenceNo: TThostFtdcSequenceNoType,
    #[doc = " 前置编号"]
    pub FrontID: TThostFtdcFrontIDType,
    #[doc = " 会话编号"]
    pub SessionID: TThostFtdcSessionIDType,
    #[doc = " 用户端产品信息"]
    pub UserProductInfo: TThostFtdcProductInfoType,
    #[doc = " 状态信息"]
    pub StatusMsg: TThostFtdcErrorMsgType,
    #[doc = " 操作用户代码"]
    pub ActiveUserID: TThostFtdcUserIDType,
    #[doc = " 经纪公司报单编号"]
    pub BrokerOptionSelfCloseSeq: TThostFtdcSequenceNoType,
    #[doc = " 营业部编号"]
    pub BranchID: TThostFtdcBranchIDType,
    #[doc = " 投资单元代码"]
    pub InvestUnitID: TThostFtdcInvestUnitIDType,
    #[doc = " 资金账号"]
    pub AccountID: TThostFtdcAccountIDType,
    #[doc = " 币种代码"]
    pub CurrencyID: TThostFtdcCurrencyIDType,
    #[doc = " 保留的无效字段"]
    pub reserve3: TThostFtdcOldIPAddressType,
    #[doc = " Mac地址"]
    pub MacAddress: TThostFtdcMacAddressType,
    #[doc = " 合约代码"]
    pub InstrumentID: TThostFtdcInstrumentIDType,
    #[doc = " 合约在交易所的代码"]
    pub ExchangeInstID: TThostFtdcExchangeInstIDType,
    #[doc = " IP地址"]
    pub IPAddress: TThostFtdcIPAddressType,
}
impl Default for CThostFtdcOptionSelfCloseField {
    fn default() -> Self {
        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
        unsafe {
            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
            s.assume_init()
        }
    }
}
#[doc = " 期权自对冲操作"]
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct CThostFtdcOptionSelfCloseActionField {
    #[doc = " 经纪公司代码"]
    pub BrokerID: TThostFtdcBrokerIDType,
    #[doc = " 投资者代码"]
    pub InvestorID: TThostFtdcInvestorIDType,
    #[doc = " 期权自对冲操作引用"]
    pub OptionSelfCloseActionRef: TThostFtdcOrderActionRefType,
    #[doc = " 期权自对冲引用"]
    pub OptionSelfCloseRef: TThostFtdcOrderRefType,
    #[doc = " 请求编号"]
    pub RequestID: TThostFtdcRequestIDType,
    #[doc = " 前置编号"]
    pub FrontID: TThostFtdcFrontIDType,
    #[doc = " 会话编号"]
    pub SessionID: TThostFtdcSessionIDType,
    #[doc = " 交易所代码"]
    pub ExchangeID: TThostFtdcExchangeIDType,
    #[doc = " 期权自对冲操作编号"]
    pub OptionSelfCloseSysID: TThostFtdcOrderSysIDType,
    #[doc = " 操作标志"]
    pub ActionFlag: TThostFtdcActionFlagType,
    #[doc = " 操作日期"]
    pub ActionDate: TThostFtdcDateType,
    #[doc = " 操作时间"]
    pub ActionTime: TThostFtdcTimeType,
    #[doc = " 交易所交易员代码"]
    pub TraderID: TThostFtdcTraderIDType,
    #[doc = " 安装编号"]
    pub InstallID: TThostFtdcInstallIDType,
    #[doc = " 本地期权自对冲编号"]
    pub OptionSelfCloseLocalID: TThostFtdcOrderLocalIDType,
    #[doc = " 操作本地编号"]
    pub ActionLocalID: TThostFtdcOrderLocalIDType,
    #[doc = " 会员代码"]
    pub ParticipantID: TThostFtdcParticipantIDType,
    #[doc = " 客户代码"]
    pub ClientID: TThostFtdcClientIDType,
    #[doc = " 业务单元"]
    pub BusinessUnit: TThostFtdcBusinessUnitType,
    #[doc = " 报单操作状态"]
    pub OrderActionStatus: TThostFtdcOrderActionStatusType,
    #[doc = " 用户代码"]
    pub UserID: TThostFtdcUserIDType,
    #[doc = " 状态信息"]
    pub StatusMsg: TThostFtdcErrorMsgType,
    #[doc = " 保留的无效字段"]
    pub reserve1: TThostFtdcOldInstrumentIDType,
    #[doc = " 营业部编号"]
    pub BranchID: TThostFtdcBranchIDType,
    #[doc = " 投资单元代码"]
    pub InvestUnitID: TThostFtdcInvestUnitIDType,
    #[doc = " 保留的无效字段"]
    pub reserve2: TThostFtdcOldIPAddressType,
    #[doc = " Mac地址"]
    pub MacAddress: TThostFtdcMacAddressType,
    #[doc = " 合约代码"]
    pub InstrumentID: TThostFtdcInstrumentIDType,
    #[doc = " IP地址"]
    pub IPAddress: TThostFtdcIPAddressType,
}
impl Default for CThostFtdcOptionSelfCloseActionField {
    fn default() -> Self {
        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
        unsafe {
            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
            s.assume_init()
        }
    }
}
#[doc = " 期权自对冲查询"]
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct CThostFtdcQryOptionSelfCloseField {
    #[doc = " 经纪公司代码"]
    pub BrokerID: TThostFtdcBrokerIDType,
    #[doc = " 投资者代码"]
    pub InvestorID: TThostFtdcInvestorIDType,
    #[doc = " 保留的无效字段"]
    pub reserve1: TThostFtdcOldInstrumentIDType,
    #[doc = " 交易所代码"]
    pub ExchangeID: TThostFtdcExchangeIDType,
    #[doc = " 期权自对冲编号"]
    pub OptionSelfCloseSysID: TThostFtdcOrderSysIDType,
    #[doc = " 开始时间"]
    pub InsertTimeStart: TThostFtdcTimeType,
    #[doc = " 结束时间"]
    pub InsertTimeEnd: TThostFtdcTimeType,
    #[doc = " 合约代码"]
    pub InstrumentID: TThostFtdcInstrumentIDType,
}
impl Default for CThostFtdcQryOptionSelfCloseField {
    fn default() -> Self {
        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
        unsafe {
            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
            s.assume_init()
        }
    }
}
#[doc = " 交易所期权自对冲信息"]
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct CThostFtdcExchangeOptionSelfCloseField {
    #[doc = " 数量"]
    pub Volume: TThostFtdcVolumeType,
    #[doc = " 请求编号"]
    pub RequestID: TThostFtdcRequestIDType,
    #[doc = " 业务单元"]
    pub BusinessUnit: TThostFtdcBusinessUnitType,
    #[doc = " 投机套保标志"]
    pub HedgeFlag: TThostFtdcHedgeFlagType,
    #[doc = " 期权行权的头寸是否自对冲"]
    pub OptSelfCloseFlag: TThostFtdcOptSelfCloseFlagType,
    #[doc = " 本地期权自对冲编号"]
    pub OptionSelfCloseLocalID: TThostFtdcOrderLocalIDType,
    #[doc = " 交易所代码"]
    pub ExchangeID: TThostFtdcExchangeIDType,
    #[doc = " 会员代码"]
    pub ParticipantID: TThostFtdcParticipantIDType,
    #[doc = " 客户代码"]
    pub ClientID: TThostFtdcClientIDType,
    #[doc = " 保留的无效字段"]
    pub reserve1: TThostFtdcOldExchangeInstIDType,
    #[doc = " 交易所交易员代码"]
    pub TraderID: TThostFtdcTraderIDType,
    #[doc = " 安装编号"]
    pub InstallID: TThostFtdcInstallIDType,
    #[doc = " 期权自对冲提交状态"]
    pub OrderSubmitStatus: TThostFtdcOrderSubmitStatusType,
    #[doc = " 报单提示序号"]
    pub NotifySequence: TThostFtdcSequenceNoType,
    #[doc = " 交易日"]
    pub TradingDay: TThostFtdcDateType,
    #[doc = " 结算编号"]
    pub SettlementID: TThostFtdcSettlementIDType,
    #[doc = " 期权自对冲编号"]
    pub OptionSelfCloseSysID: TThostFtdcOrderSysIDType,
    #[doc = " 报单日期"]
    pub InsertDate: TThostFtdcDateType,
    #[doc = " 插入时间"]
    pub InsertTime: TThostFtdcTimeType,
    #[doc = " 撤销时间"]
    pub CancelTime: TThostFtdcTimeType,
    #[doc = " 自对冲结果"]
    pub ExecResult: TThostFtdcExecResultType,
    #[doc = " 结算会员编号"]
    pub ClearingPartID: TThostFtdcParticipantIDType,
    #[doc = " 序号"]
    pub SequenceNo: TThostFtdcSequenceNoType,
    #[doc = " 营业部编号"]
    pub BranchID: TThostFtdcBranchIDType,
    #[doc = " 保留的无效字段"]
    pub reserve2: TThostFtdcOldIPAddressType,
    #[doc = " Mac地址"]
    pub MacAddress: TThostFtdcMacAddressType,
    #[doc = " 合约在交易所的代码"]
    pub ExchangeInstID: TThostFtdcExchangeInstIDType,
    #[doc = " IP地址"]
    pub IPAddress: TThostFtdcIPAddressType,
}
impl Default for CThostFtdcExchangeOptionSelfCloseField {
    fn default() -> Self {
        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
        unsafe {
            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
            s.assume_init()
        }
    }
}
#[doc = " 期权自对冲操作查询"]
#[repr(C)]
#[derive(Debug, Default, Copy, Clone)]
pub struct CThostFtdcQryOptionSelfCloseActionField {
    #[doc = " 经纪公司代码"]
    pub BrokerID: TThostFtdcBrokerIDType,
    #[doc = " 投资者代码"]
    pub InvestorID: TThostFtdcInvestorIDType,
    #[doc = " 交易所代码"]
    pub ExchangeID: TThostFtdcExchangeIDType,
}
#[doc = " 交易所期权自对冲操作"]
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct CThostFtdcExchangeOptionSelfCloseActionField {
    #[doc = " 交易所代码"]
    pub ExchangeID: TThostFtdcExchangeIDType,
    #[doc = " 期权自对冲操作编号"]
    pub OptionSelfCloseSysID: TThostFtdcOrderSysIDType,
    #[doc = " 操作标志"]
    pub ActionFlag: TThostFtdcActionFlagType,
    #[doc = " 操作日期"]
    pub ActionDate: TThostFtdcDateType,
    #[doc = " 操作时间"]
    pub ActionTime: TThostFtdcTimeType,
    #[doc = " 交易所交易员代码"]
    pub TraderID: TThostFtdcTraderIDType,
    #[doc = " 安装编号"]
    pub InstallID: TThostFtdcInstallIDType,
    #[doc = " 本地期权自对冲编号"]
    pub OptionSelfCloseLocalID: TThostFtdcOrderLocalIDType,
    #[doc = " 操作本地编号"]
    pub ActionLocalID: TThostFtdcOrderLocalIDType,
    #[doc = " 会员代码"]
    pub ParticipantID: TThostFtdcParticipantIDType,
    #[doc = " 客户代码"]
    pub ClientID: TThostFtdcClientIDType,
    #[doc = " 业务单元"]
    pub BusinessUnit: TThostFtdcBusinessUnitType,
    #[doc = " 报单操作状态"]
    pub OrderActionStatus: TThostFtdcOrderActionStatusType,
    #[doc = " 用户代码"]
    pub UserID: TThostFtdcUserIDType,
    #[doc = " 营业部编号"]
    pub BranchID: TThostFtdcBranchIDType,
    #[doc = " 保留的无效字段"]
    pub reserve1: TThostFtdcOldIPAddressType,
    #[doc = " Mac地址"]
    pub MacAddress: TThostFtdcMacAddressType,
    #[doc = " 保留的无效字段"]
    pub reserve2: TThostFtdcOldExchangeInstIDType,
    #[doc = " 期权行权的头寸是否自对冲"]
    pub OptSelfCloseFlag: TThostFtdcOptSelfCloseFlagType,
    #[doc = " IP地址"]
    pub IPAddress: TThostFtdcIPAddressType,
    #[doc = " 合约在交易所的代码"]
    pub ExchangeInstID: TThostFtdcExchangeInstIDType,
}
impl Default for CThostFtdcExchangeOptionSelfCloseActionField {
    fn default() -> Self {
        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
        unsafe {
            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
            s.assume_init()
        }
    }
}
#[doc = " 延时换汇同步"]
#[repr(C)]
#[derive(Debug, Default, Copy, Clone)]
pub struct CThostFtdcSyncDelaySwapField {
    #[doc = " 换汇流水号"]
    pub DelaySwapSeqNo: TThostFtdcDepositSeqNoType,
    #[doc = " 经纪公司代码"]
    pub BrokerID: TThostFtdcBrokerIDType,
    #[doc = " 投资者代码"]
    pub InvestorID: TThostFtdcInvestorIDType,
    #[doc = " 源币种"]
    pub FromCurrencyID: TThostFtdcCurrencyIDType,
    #[doc = " 源金额"]
    pub FromAmount: TThostFtdcMoneyType,
    #[doc = " 源换汇冻结金额(可用冻结)"]
    pub FromFrozenSwap: TThostFtdcMoneyType,
    #[doc = " 源剩余换汇额度(可提冻结)"]
    pub FromRemainSwap: TThostFtdcMoneyType,
    #[doc = " 目标币种"]
    pub ToCurrencyID: TThostFtdcCurrencyIDType,
    #[doc = " 目标金额"]
    pub ToAmount: TThostFtdcMoneyType,
    #[doc = " 是否手工换汇"]
    pub IsManualSwap: TThostFtdcBoolType,
    #[doc = " 是否将所有外币的剩余换汇额度设置为0"]
    pub IsAllRemainSetZero: TThostFtdcBoolType,
}
#[doc = " 查询延时换汇同步"]
#[repr(C)]
#[derive(Debug, Default, Copy, Clone)]
pub struct CThostFtdcQrySyncDelaySwapField {
    #[doc = " 经纪公司代码"]
    pub BrokerID: TThostFtdcBrokerIDType,
    #[doc = " 延时换汇流水号"]
    pub DelaySwapSeqNo: TThostFtdcDepositSeqNoType,
}
#[doc = " 投资单元"]
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct CThostFtdcInvestUnitField {
    #[doc = " 经纪公司代码"]
    pub BrokerID: TThostFtdcBrokerIDType,
    #[doc = " 投资者代码"]
    pub InvestorID: TThostFtdcInvestorIDType,
    #[doc = " 投资单元代码"]
    pub InvestUnitID: TThostFtdcInvestUnitIDType,
    #[doc = " 投资者单元名称"]
    pub InvestorUnitName: TThostFtdcPartyNameType,
    #[doc = " 投资者分组代码"]
    pub InvestorGroupID: TThostFtdcInvestorIDType,
    #[doc = " 手续费率模板代码"]
    pub CommModelID: TThostFtdcInvestorIDType,
    #[doc = " 保证金率模板代码"]
    pub MarginModelID: TThostFtdcInvestorIDType,
    #[doc = " 资金账号"]
    pub AccountID: TThostFtdcAccountIDType,
    #[doc = " 币种代码"]
    pub CurrencyID: TThostFtdcCurrencyIDType,
}
impl Default for CThostFtdcInvestUnitField {
    fn default() -> Self {
        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
        unsafe {
            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
            s.assume_init()
        }
    }
}
#[doc = " 查询投资单元"]
#[repr(C)]
#[derive(Debug, Default, Copy, Clone)]
pub struct CThostFtdcQryInvestUnitField {
    #[doc = " 经纪公司代码"]
    pub BrokerID: TThostFtdcBrokerIDType,
    #[doc = " 投资者代码"]
    pub InvestorID: TThostFtdcInvestorIDType,
    #[doc = " 投资单元代码"]
    pub InvestUnitID: TThostFtdcInvestUnitIDType,
}
#[doc = " 二级代理商资金校验模式"]
#[repr(C)]
#[derive(Debug, Default, Copy, Clone)]
pub struct CThostFtdcSecAgentCheckModeField {
    #[doc = " 投资者代码"]
    pub InvestorID: TThostFtdcInvestorIDType,
    #[doc = " 经纪公司代码"]
    pub BrokerID: TThostFtdcBrokerIDType,
    #[doc = " 币种"]
    pub CurrencyID: TThostFtdcCurrencyIDType,
    #[doc = " 境外中介机构资金帐号"]
    pub BrokerSecAgentID: TThostFtdcAccountIDType,
    #[doc = " 是否需要校验自己的资金账户"]
    pub CheckSelfAccount: TThostFtdcBoolType,
}
#[doc = " 二级代理商信息"]
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct CThostFtdcSecAgentTradeInfoField {
    #[doc = " 经纪公司代码"]
    pub BrokerID: TThostFtdcBrokerIDType,
    #[doc = " 境外中介机构资金帐号"]
    pub BrokerSecAgentID: TThostFtdcAccountIDType,
    #[doc = " 投资者代码"]
    pub InvestorID: TThostFtdcInvestorIDType,
    #[doc = " 二级代理商姓名"]
    pub LongCustomerName: TThostFtdcLongIndividualNameType,
}
impl Default for CThostFtdcSecAgentTradeInfoField {
    fn default() -> Self {
        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
        unsafe {
            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
            s.assume_init()
        }
    }
}
#[doc = " 市场行情"]
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct CThostFtdcMarketDataField {
    #[doc = " 交易日"]
    pub TradingDay: TThostFtdcDateType,
    #[doc = " 保留的无效字段"]
    pub reserve1: TThostFtdcOldInstrumentIDType,
    #[doc = " 交易所代码"]
    pub ExchangeID: TThostFtdcExchangeIDType,
    #[doc = " 保留的无效字段"]
    pub reserve2: TThostFtdcOldExchangeInstIDType,
    #[doc = " 最新价"]
    pub LastPrice: TThostFtdcPriceType,
    #[doc = " 上次结算价"]
    pub PreSettlementPrice: TThostFtdcPriceType,
    #[doc = " 昨收盘"]
    pub PreClosePrice: TThostFtdcPriceType,
    #[doc = " 昨持仓量"]
    pub PreOpenInterest: TThostFtdcLargeVolumeType,
    #[doc = " 今开盘"]
    pub OpenPrice: TThostFtdcPriceType,
    #[doc = " 最高价"]
    pub HighestPrice: TThostFtdcPriceType,
    #[doc = " 最低价"]
    pub LowestPrice: TThostFtdcPriceType,
    #[doc = " 数量"]
    pub Volume: TThostFtdcVolumeType,
    #[doc = " 成交金额"]
    pub Turnover: TThostFtdcMoneyType,
    #[doc = " 持仓量"]
    pub OpenInterest: TThostFtdcLargeVolumeType,
    #[doc = " 今收盘"]
    pub ClosePrice: TThostFtdcPriceType,
    #[doc = " 本次结算价"]
    pub SettlementPrice: TThostFtdcPriceType,
    #[doc = " 涨停板价"]
    pub UpperLimitPrice: TThostFtdcPriceType,
    #[doc = " 跌停板价"]
    pub LowerLimitPrice: TThostFtdcPriceType,
    #[doc = " 昨虚实度"]
    pub PreDelta: TThostFtdcRatioType,
    #[doc = " 今虚实度"]
    pub CurrDelta: TThostFtdcRatioType,
    #[doc = " 最后修改时间"]
    pub UpdateTime: TThostFtdcTimeType,
    #[doc = " 最后修改毫秒"]
    pub UpdateMillisec: TThostFtdcMillisecType,
    #[doc = " 业务日期"]
    pub ActionDay: TThostFtdcDateType,
    #[doc = " 合约代码"]
    pub InstrumentID: TThostFtdcInstrumentIDType,
    #[doc = " 合约在交易所的代码"]
    pub ExchangeInstID: TThostFtdcExchangeInstIDType,
}
impl Default for CThostFtdcMarketDataField {
    fn default() -> Self {
        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
        unsafe {
            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
            s.assume_init()
        }
    }
}
#[doc = " 行情基础属性"]
#[repr(C)]
#[derive(Debug, Default, Copy, Clone)]
pub struct CThostFtdcMarketDataBaseField {
    #[doc = " 交易日"]
    pub TradingDay: TThostFtdcDateType,
    #[doc = " 上次结算价"]
    pub PreSettlementPrice: TThostFtdcPriceType,
    #[doc = " 昨收盘"]
    pub PreClosePrice: TThostFtdcPriceType,
    #[doc = " 昨持仓量"]
    pub PreOpenInterest: TThostFtdcLargeVolumeType,
    #[doc = " 昨虚实度"]
    pub PreDelta: TThostFtdcRatioType,
}
#[doc = " 行情静态属性"]
#[repr(C)]
#[derive(Debug, Default, Copy, Clone)]
pub struct CThostFtdcMarketDataStaticField {
    #[doc = " 今开盘"]
    pub OpenPrice: TThostFtdcPriceType,
    #[doc = " 最高价"]
    pub HighestPrice: TThostFtdcPriceType,
    #[doc = " 最低价"]
    pub LowestPrice: TThostFtdcPriceType,
    #[doc = " 今收盘"]
    pub ClosePrice: TThostFtdcPriceType,
    #[doc = " 涨停板价"]
    pub UpperLimitPrice: TThostFtdcPriceType,
    #[doc = " 跌停板价"]
    pub LowerLimitPrice: TThostFtdcPriceType,
    #[doc = " 本次结算价"]
    pub SettlementPrice: TThostFtdcPriceType,
    #[doc = " 今虚实度"]
    pub CurrDelta: TThostFtdcRatioType,
}
#[doc = " 行情最新成交属性"]
#[repr(C)]
#[derive(Debug, Default, Copy, Clone)]
pub struct CThostFtdcMarketDataLastMatchField {
    #[doc = " 最新价"]
    pub LastPrice: TThostFtdcPriceType,
    #[doc = " 数量"]
    pub Volume: TThostFtdcVolumeType,
    #[doc = " 成交金额"]
    pub Turnover: TThostFtdcMoneyType,
    #[doc = " 持仓量"]
    pub OpenInterest: TThostFtdcLargeVolumeType,
}
#[doc = " 行情最优价属性"]
#[repr(C)]
#[derive(Debug, Default, Copy, Clone)]
pub struct CThostFtdcMarketDataBestPriceField {
    #[doc = " 申买价一"]
    pub BidPrice1: TThostFtdcPriceType,
    #[doc = " 申买量一"]
    pub BidVolume1: TThostFtdcVolumeType,
    #[doc = " 申卖价一"]
    pub AskPrice1: TThostFtdcPriceType,
    #[doc = " 申卖量一"]
    pub AskVolume1: TThostFtdcVolumeType,
}
#[doc = " 行情申买二、三属性"]
#[repr(C)]
#[derive(Debug, Default, Copy, Clone)]
pub struct CThostFtdcMarketDataBid23Field {
    #[doc = " 申买价二"]
    pub BidPrice2: TThostFtdcPriceType,
    #[doc = " 申买量二"]
    pub BidVolume2: TThostFtdcVolumeType,
    #[doc = " 申买价三"]
    pub BidPrice3: TThostFtdcPriceType,
    #[doc = " 申买量三"]
    pub BidVolume3: TThostFtdcVolumeType,
}
#[doc = " 行情申卖二、三属性"]
#[repr(C)]
#[derive(Debug, Default, Copy, Clone)]
pub struct CThostFtdcMarketDataAsk23Field {
    #[doc = " 申卖价二"]
    pub AskPrice2: TThostFtdcPriceType,
    #[doc = " 申卖量二"]
    pub AskVolume2: TThostFtdcVolumeType,
    #[doc = " 申卖价三"]
    pub AskPrice3: TThostFtdcPriceType,
    #[doc = " 申卖量三"]
    pub AskVolume3: TThostFtdcVolumeType,
}
#[doc = " 行情申买四、五属性"]
#[repr(C)]
#[derive(Debug, Default, Copy, Clone)]
pub struct CThostFtdcMarketDataBid45Field {
    #[doc = " 申买价四"]
    pub BidPrice4: TThostFtdcPriceType,
    #[doc = " 申买量四"]
    pub BidVolume4: TThostFtdcVolumeType,
    #[doc = " 申买价五"]
    pub BidPrice5: TThostFtdcPriceType,
    #[doc = " 申买量五"]
    pub BidVolume5: TThostFtdcVolumeType,
}
#[doc = " 行情申卖四、五属性"]
#[repr(C)]
#[derive(Debug, Default, Copy, Clone)]
pub struct CThostFtdcMarketDataAsk45Field {
    #[doc = " 申卖价四"]
    pub AskPrice4: TThostFtdcPriceType,
    #[doc = " 申卖量四"]
    pub AskVolume4: TThostFtdcVolumeType,
    #[doc = " 申卖价五"]
    pub AskPrice5: TThostFtdcPriceType,
    #[doc = " 申卖量五"]
    pub AskVolume5: TThostFtdcVolumeType,
}
#[doc = " 行情更新时间属性"]
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct CThostFtdcMarketDataUpdateTimeField {
    #[doc = " 保留的无效字段"]
    pub reserve1: TThostFtdcOldInstrumentIDType,
    #[doc = " 最后修改时间"]
    pub UpdateTime: TThostFtdcTimeType,
    #[doc = " 最后修改毫秒"]
    pub UpdateMillisec: TThostFtdcMillisecType,
    #[doc = " 业务日期"]
    pub ActionDay: TThostFtdcDateType,
    #[doc = " 合约代码"]
    pub InstrumentID: TThostFtdcInstrumentIDType,
}
impl Default for CThostFtdcMarketDataUpdateTimeField {
    fn default() -> Self {
        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
        unsafe {
            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
            s.assume_init()
        }
    }
}
#[doc = " 行情上下带价"]
#[repr(C)]
#[derive(Debug, Default, Copy, Clone)]
pub struct CThostFtdcMarketDataBandingPriceField {
    #[doc = " 上带价"]
    pub BandingUpperPrice: TThostFtdcPriceType,
    #[doc = " 下带价"]
    pub BandingLowerPrice: TThostFtdcPriceType,
}
#[doc = " 行情交易所代码属性"]
#[repr(C)]
#[derive(Debug, Default, Copy, Clone)]
pub struct CThostFtdcMarketDataExchangeField {
    #[doc = " 交易所代码"]
    pub ExchangeID: TThostFtdcExchangeIDType,
}
#[doc = " 指定的合约"]
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct CThostFtdcSpecificInstrumentField {
    #[doc = " 保留的无效字段"]
    pub reserve1: TThostFtdcOldInstrumentIDType,
    #[doc = " 合约代码"]
    pub InstrumentID: TThostFtdcInstrumentIDType,
}
impl Default for CThostFtdcSpecificInstrumentField {
    fn default() -> Self {
        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
        unsafe {
            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
            s.assume_init()
        }
    }
}
#[doc = " 合约状态"]
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct CThostFtdcInstrumentStatusField {
    #[doc = " 交易所代码"]
    pub ExchangeID: TThostFtdcExchangeIDType,
    #[doc = " 保留的无效字段"]
    pub reserve1: TThostFtdcOldExchangeInstIDType,
    #[doc = " 结算组代码"]
    pub SettlementGroupID: TThostFtdcSettlementGroupIDType,
    #[doc = " 保留的无效字段"]
    pub reserve2: TThostFtdcOldInstrumentIDType,
    #[doc = " 合约交易状态"]
    pub InstrumentStatus: TThostFtdcInstrumentStatusType,
    #[doc = " 交易阶段编号"]
    pub TradingSegmentSN: TThostFtdcTradingSegmentSNType,
    #[doc = " 进入本状态时间"]
    pub EnterTime: TThostFtdcTimeType,
    #[doc = " 进入本状态原因"]
    pub EnterReason: TThostFtdcInstStatusEnterReasonType,
    #[doc = " 合约在交易所的代码"]
    pub ExchangeInstID: TThostFtdcExchangeInstIDType,
    #[doc = " 合约代码"]
    pub InstrumentID: TThostFtdcInstrumentIDType,
}
impl Default for CThostFtdcInstrumentStatusField {
    fn default() -> Self {
        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
        unsafe {
            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
            s.assume_init()
        }
    }
}
#[doc = " 查询合约状态"]
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct CThostFtdcQryInstrumentStatusField {
    #[doc = " 交易所代码"]
    pub ExchangeID: TThostFtdcExchangeIDType,
    #[doc = " 保留的无效字段"]
    pub reserve1: TThostFtdcOldExchangeInstIDType,
    #[doc = " 合约在交易所的代码"]
    pub ExchangeInstID: TThostFtdcExchangeInstIDType,
}
impl Default for CThostFtdcQryInstrumentStatusField {
    fn default() -> Self {
        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
        unsafe {
            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
            s.assume_init()
        }
    }
}
#[doc = " 投资者账户"]
#[repr(C)]
#[derive(Debug, Default, Copy, Clone)]
pub struct CThostFtdcInvestorAccountField {
    #[doc = " 经纪公司代码"]
    pub BrokerID: TThostFtdcBrokerIDType,
    #[doc = " 投资者代码"]
    pub InvestorID: TThostFtdcInvestorIDType,
    #[doc = " 投资者帐号"]
    pub AccountID: TThostFtdcAccountIDType,
    #[doc = " 币种代码"]
    pub CurrencyID: TThostFtdcCurrencyIDType,
}
#[doc = " 浮动盈亏算法"]
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct CThostFtdcPositionProfitAlgorithmField {
    #[doc = " 经纪公司代码"]
    pub BrokerID: TThostFtdcBrokerIDType,
    #[doc = " 投资者帐号"]
    pub AccountID: TThostFtdcAccountIDType,
    #[doc = " 盈亏算法"]
    pub Algorithm: TThostFtdcAlgorithmType,
    #[doc = " 备注"]
    pub Memo: TThostFtdcMemoType,
    #[doc = " 币种代码"]
    pub CurrencyID: TThostFtdcCurrencyIDType,
}
impl Default for CThostFtdcPositionProfitAlgorithmField {
    fn default() -> Self {
        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
        unsafe {
            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
            s.assume_init()
        }
    }
}
#[doc = " 会员资金折扣"]
#[repr(C)]
#[derive(Debug, Default, Copy, Clone)]
pub struct CThostFtdcDiscountField {
    #[doc = " 经纪公司代码"]
    pub BrokerID: TThostFtdcBrokerIDType,
    #[doc = " 投资者范围"]
    pub InvestorRange: TThostFtdcInvestorRangeType,
    #[doc = " 投资者代码"]
    pub InvestorID: TThostFtdcInvestorIDType,
    #[doc = " 资金折扣比例"]
    pub Discount: TThostFtdcRatioType,
}
#[doc = " 查询转帐银行"]
#[repr(C)]
#[derive(Debug, Default, Copy, Clone)]
pub struct CThostFtdcQryTransferBankField {
    #[doc = " 银行代码"]
    pub BankID: TThostFtdcBankIDType,
    #[doc = " 银行分中心代码"]
    pub BankBrchID: TThostFtdcBankBrchIDType,
}
#[doc = " 转帐银行"]
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct CThostFtdcTransferBankField {
    #[doc = " 银行代码"]
    pub BankID: TThostFtdcBankIDType,
    #[doc = " 银行分中心代码"]
    pub BankBrchID: TThostFtdcBankBrchIDType,
    #[doc = " 银行名称"]
    pub BankName: TThostFtdcBankNameType,
    #[doc = " 是否活跃"]
    pub IsActive: TThostFtdcBoolType,
}
impl Default for CThostFtdcTransferBankField {
    fn default() -> Self {
        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
        unsafe {
            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
            s.assume_init()
        }
    }
}
#[doc = " 查询投资者持仓明细"]
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct CThostFtdcQryInvestorPositionDetailField {
    #[doc = " 经纪公司代码"]
    pub BrokerID: TThostFtdcBrokerIDType,
    #[doc = " 投资者代码"]
    pub InvestorID: TThostFtdcInvestorIDType,
    #[doc = " 保留的无效字段"]
    pub reserve1: TThostFtdcOldInstrumentIDType,
    #[doc = " 交易所代码"]
    pub ExchangeID: TThostFtdcExchangeIDType,
    #[doc = " 投资单元代码"]
    pub InvestUnitID: TThostFtdcInvestUnitIDType,
    #[doc = " 合约代码"]
    pub InstrumentID: TThostFtdcInstrumentIDType,
}
impl Default for CThostFtdcQryInvestorPositionDetailField {
    fn default() -> Self {
        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
        unsafe {
            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
            s.assume_init()
        }
    }
}
#[doc = " 投资者持仓明细"]
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct CThostFtdcInvestorPositionDetailField {
    #[doc = " 保留的无效字段"]
    pub reserve1: TThostFtdcOldInstrumentIDType,
    #[doc = " 经纪公司代码"]
    pub BrokerID: TThostFtdcBrokerIDType,
    #[doc = " 投资者代码"]
    pub InvestorID: TThostFtdcInvestorIDType,
    #[doc = " 投机套保标志"]
    pub HedgeFlag: TThostFtdcHedgeFlagType,
    #[doc = " 买卖"]
    pub Direction: TThostFtdcDirectionType,
    #[doc = " 开仓日期"]
    pub OpenDate: TThostFtdcDateType,
    #[doc = " 成交编号"]
    pub TradeID: TThostFtdcTradeIDType,
    #[doc = " 数量"]
    pub Volume: TThostFtdcVolumeType,
    #[doc = " 开仓价"]
    pub OpenPrice: TThostFtdcPriceType,
    #[doc = " 交易日"]
    pub TradingDay: TThostFtdcDateType,
    #[doc = " 结算编号"]
    pub SettlementID: TThostFtdcSettlementIDType,
    #[doc = " 成交类型"]
    pub TradeType: TThostFtdcTradeTypeType,
    #[doc = " 保留的无效字段"]
    pub reserve2: TThostFtdcOldInstrumentIDType,
    #[doc = " 交易所代码"]
    pub ExchangeID: TThostFtdcExchangeIDType,
    #[doc = " 逐日盯市平仓盈亏"]
    pub CloseProfitByDate: TThostFtdcMoneyType,
    #[doc = " 逐笔对冲平仓盈亏"]
    pub CloseProfitByTrade: TThostFtdcMoneyType,
    #[doc = " 逐日盯市持仓盈亏"]
    pub PositionProfitByDate: TThostFtdcMoneyType,
    #[doc = " 逐笔对冲持仓盈亏"]
    pub PositionProfitByTrade: TThostFtdcMoneyType,
    #[doc = " 投资者保证金"]
    pub Margin: TThostFtdcMoneyType,
    #[doc = " 交易所保证金"]
    pub ExchMargin: TThostFtdcMoneyType,
    #[doc = " 保证金率"]
    pub MarginRateByMoney: TThostFtdcRatioType,
    #[doc = " 保证金率(按手数)"]
    pub MarginRateByVolume: TThostFtdcRatioType,
    #[doc = " 昨结算价"]
    pub LastSettlementPrice: TThostFtdcPriceType,
    #[doc = " 结算价"]
    pub SettlementPrice: TThostFtdcPriceType,
    #[doc = " 平仓量"]
    pub CloseVolume: TThostFtdcVolumeType,
    #[doc = " 平仓金额"]
    pub CloseAmount: TThostFtdcMoneyType,
    #[doc = " 先开先平剩余数量"]
    pub TimeFirstVolume: TThostFtdcVolumeType,
    #[doc = " 投资单元代码"]
    pub InvestUnitID: TThostFtdcInvestUnitIDType,
    #[doc = " 特殊持仓标志"]
    pub SpecPosiType: TThostFtdcSpecPosiTypeType,
    #[doc = " 合约代码"]
    pub InstrumentID: TThostFtdcInstrumentIDType,
    #[doc = " 组合合约代码"]
    pub CombInstrumentID: TThostFtdcInstrumentIDType,
}
impl Default for CThostFtdcInvestorPositionDetailField {
    fn default() -> Self {
        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
        unsafe {
            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
            s.assume_init()
        }
    }
}
#[doc = " 资金账户口令域"]
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct CThostFtdcTradingAccountPasswordField {
    #[doc = " 经纪公司代码"]
    pub BrokerID: TThostFtdcBrokerIDType,
    #[doc = " 投资者帐号"]
    pub AccountID: TThostFtdcAccountIDType,
    #[doc = " 密码"]
    pub Password: TThostFtdcPasswordType,
    #[doc = " 币种代码"]
    pub CurrencyID: TThostFtdcCurrencyIDType,
}
impl Default for CThostFtdcTradingAccountPasswordField {
    fn default() -> Self {
        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
        unsafe {
            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
            s.assume_init()
        }
    }
}
#[doc = " 交易所行情报盘机"]
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct CThostFtdcMDTraderOfferField {
    #[doc = " 交易所代码"]
    pub ExchangeID: TThostFtdcExchangeIDType,
    #[doc = " 交易所交易员代码"]
    pub TraderID: TThostFtdcTraderIDType,
    #[doc = " 会员代码"]
    pub ParticipantID: TThostFtdcParticipantIDType,
    #[doc = " 密码"]
    pub Password: TThostFtdcPasswordType,
    #[doc = " 安装编号"]
    pub InstallID: TThostFtdcInstallIDType,
    #[doc = " 本地报单编号"]
    pub OrderLocalID: TThostFtdcOrderLocalIDType,
    #[doc = " 交易所交易员连接状态"]
    pub TraderConnectStatus: TThostFtdcTraderConnectStatusType,
    #[doc = " 发出连接请求的日期"]
    pub ConnectRequestDate: TThostFtdcDateType,
    #[doc = " 发出连接请求的时间"]
    pub ConnectRequestTime: TThostFtdcTimeType,
    #[doc = " 上次报告日期"]
    pub LastReportDate: TThostFtdcDateType,
    #[doc = " 上次报告时间"]
    pub LastReportTime: TThostFtdcTimeType,
    #[doc = " 完成连接日期"]
    pub ConnectDate: TThostFtdcDateType,
    #[doc = " 完成连接时间"]
    pub ConnectTime: TThostFtdcTimeType,
    #[doc = " 启动日期"]
    pub StartDate: TThostFtdcDateType,
    #[doc = " 启动时间"]
    pub StartTime: TThostFtdcTimeType,
    #[doc = " 交易日"]
    pub TradingDay: TThostFtdcDateType,
    #[doc = " 经纪公司代码"]
    pub BrokerID: TThostFtdcBrokerIDType,
    #[doc = " 本席位最大成交编号"]
    pub MaxTradeID: TThostFtdcTradeIDType,
    #[doc = " 本席位最大报单备拷"]
    pub MaxOrderMessageReference: TThostFtdcReturnCodeType,
    #[doc = " 撤单时选择席位算法"]
    pub OrderCancelAlg: TThostFtdcOrderCancelAlgType,
}
impl Default for CThostFtdcMDTraderOfferField {
    fn default() -> Self {
        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
        unsafe {
            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
            s.assume_init()
        }
    }
}
#[doc = " 查询行情报盘机"]
#[repr(C)]
#[derive(Debug, Default, Copy, Clone)]
pub struct CThostFtdcQryMDTraderOfferField {
    #[doc = " 交易所代码"]
    pub ExchangeID: TThostFtdcExchangeIDType,
    #[doc = " 会员代码"]
    pub ParticipantID: TThostFtdcParticipantIDType,
    #[doc = " 交易所交易员代码"]
    pub TraderID: TThostFtdcTraderIDType,
}
#[doc = " 查询客户通知"]
#[repr(C)]
#[derive(Debug, Default, Copy, Clone)]
pub struct CThostFtdcQryNoticeField {
    #[doc = " 经纪公司代码"]
    pub BrokerID: TThostFtdcBrokerIDType,
}
#[doc = " 客户通知"]
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct CThostFtdcNoticeField {
    #[doc = " 经纪公司代码"]
    pub BrokerID: TThostFtdcBrokerIDType,
    #[doc = " 消息正文"]
    pub Content: TThostFtdcContentType,
    #[doc = " 经纪公司通知内容序列号"]
    pub SequenceLabel: TThostFtdcSequenceLabelType,
}
impl Default for CThostFtdcNoticeField {
    fn default() -> Self {
        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
        unsafe {
            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
            s.assume_init()
        }
    }
}
#[doc = " 用户权限"]
#[repr(C)]
#[derive(Debug, Default, Copy, Clone)]
pub struct CThostFtdcUserRightField {
    #[doc = " 经纪公司代码"]
    pub BrokerID: TThostFtdcBrokerIDType,
    #[doc = " 用户代码"]
    pub UserID: TThostFtdcUserIDType,
    #[doc = " 客户权限类型"]
    pub UserRightType: TThostFtdcUserRightTypeType,
    #[doc = " 是否禁止"]
    pub IsForbidden: TThostFtdcBoolType,
}
#[doc = " 查询结算信息确认域"]
#[repr(C)]
#[derive(Debug, Default, Copy, Clone)]
pub struct CThostFtdcQrySettlementInfoConfirmField {
    #[doc = " 经纪公司代码"]
    pub BrokerID: TThostFtdcBrokerIDType,
    #[doc = " 投资者代码"]
    pub InvestorID: TThostFtdcInvestorIDType,
    #[doc = " 投资者帐号"]
    pub AccountID: TThostFtdcAccountIDType,
    #[doc = " 币种代码"]
    pub CurrencyID: TThostFtdcCurrencyIDType,
}
#[doc = " 装载结算信息"]
#[repr(C)]
#[derive(Debug, Default, Copy, Clone)]
pub struct CThostFtdcLoadSettlementInfoField {
    #[doc = " 经纪公司代码"]
    pub BrokerID: TThostFtdcBrokerIDType,
}
#[doc = " 经纪公司可提资金算法表"]
#[repr(C)]
#[derive(Debug, Default, Copy, Clone)]
pub struct CThostFtdcBrokerWithdrawAlgorithmField {
    #[doc = " 经纪公司代码"]
    pub BrokerID: TThostFtdcBrokerIDType,
    #[doc = " 可提资金算法"]
    pub WithdrawAlgorithm: TThostFtdcAlgorithmType,
    #[doc = " 资金使用率"]
    pub UsingRatio: TThostFtdcRatioType,
    #[doc = " 可提是否包含平仓盈利"]
    pub IncludeCloseProfit: TThostFtdcIncludeCloseProfitType,
    #[doc = " 本日无仓且无成交客户是否受可提比例限制"]
    pub AllWithoutTrade: TThostFtdcAllWithoutTradeType,
    #[doc = " 可用是否包含平仓盈利"]
    pub AvailIncludeCloseProfit: TThostFtdcIncludeCloseProfitType,
    #[doc = " 是否启用用户事件"]
    pub IsBrokerUserEvent: TThostFtdcBoolType,
    #[doc = " 币种代码"]
    pub CurrencyID: TThostFtdcCurrencyIDType,
    #[doc = " 货币质押比率"]
    pub FundMortgageRatio: TThostFtdcRatioType,
    #[doc = " 权益算法"]
    pub BalanceAlgorithm: TThostFtdcBalanceAlgorithmType,
}
#[doc = " 资金账户口令变更域"]
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct CThostFtdcTradingAccountPasswordUpdateV1Field {
    #[doc = " 经纪公司代码"]
    pub BrokerID: TThostFtdcBrokerIDType,
    #[doc = " 投资者代码"]
    pub InvestorID: TThostFtdcInvestorIDType,
    #[doc = " 原来的口令"]
    pub OldPassword: TThostFtdcPasswordType,
    #[doc = " 新的口令"]
    pub NewPassword: TThostFtdcPasswordType,
}
impl Default for CThostFtdcTradingAccountPasswordUpdateV1Field {
    fn default() -> Self {
        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
        unsafe {
            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
            s.assume_init()
        }
    }
}
#[doc = " 资金账户口令变更域"]
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct CThostFtdcTradingAccountPasswordUpdateField {
    #[doc = " 经纪公司代码"]
    pub BrokerID: TThostFtdcBrokerIDType,
    #[doc = " 投资者帐号"]
    pub AccountID: TThostFtdcAccountIDType,
    #[doc = " 原来的口令"]
    pub OldPassword: TThostFtdcPasswordType,
    #[doc = " 新的口令"]
    pub NewPassword: TThostFtdcPasswordType,
    #[doc = " 币种代码"]
    pub CurrencyID: TThostFtdcCurrencyIDType,
}
impl Default for CThostFtdcTradingAccountPasswordUpdateField {
    fn default() -> Self {
        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
        unsafe {
            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
            s.assume_init()
        }
    }
}
#[doc = " 查询组合合约分腿"]
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct CThostFtdcQryCombinationLegField {
    #[doc = " 保留的无效字段"]
    pub reserve1: TThostFtdcOldInstrumentIDType,
    #[doc = " 单腿编号"]
    pub LegID: TThostFtdcLegIDType,
    #[doc = " 保留的无效字段"]
    pub reserve2: TThostFtdcOldInstrumentIDType,
    #[doc = " 组合合约代码"]
    pub CombInstrumentID: TThostFtdcInstrumentIDType,
    #[doc = " 单腿合约代码"]
    pub LegInstrumentID: TThostFtdcInstrumentIDType,
}
impl Default for CThostFtdcQryCombinationLegField {
    fn default() -> Self {
        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
        unsafe {
            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
            s.assume_init()
        }
    }
}
#[doc = " 查询组合合约分腿"]
#[repr(C)]
#[derive(Debug, Default, Copy, Clone)]
pub struct CThostFtdcQrySyncStatusField {
    #[doc = " 交易日"]
    pub TradingDay: TThostFtdcDateType,
}
#[doc = " 组合交易合约的单腿"]
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct CThostFtdcCombinationLegField {
    #[doc = " 保留的无效字段"]
    pub reserve1: TThostFtdcOldInstrumentIDType,
    #[doc = " 单腿编号"]
    pub LegID: TThostFtdcLegIDType,
    #[doc = " 保留的无效字段"]
    pub reserve2: TThostFtdcOldInstrumentIDType,
    #[doc = " 买卖方向"]
    pub Direction: TThostFtdcDirectionType,
    #[doc = " 单腿乘数"]
    pub LegMultiple: TThostFtdcLegMultipleType,
    #[doc = " 派生层数"]
    pub ImplyLevel: TThostFtdcImplyLevelType,
    #[doc = " 组合合约代码"]
    pub CombInstrumentID: TThostFtdcInstrumentIDType,
    #[doc = " 单腿合约代码"]
    pub LegInstrumentID: TThostFtdcInstrumentIDType,
}
impl Default for CThostFtdcCombinationLegField {
    fn default() -> Self {
        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
        unsafe {
            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
            s.assume_init()
        }
    }
}
#[doc = " 数据同步状态"]
#[repr(C)]
#[derive(Debug, Default, Copy, Clone)]
pub struct CThostFtdcSyncStatusField {
    #[doc = " 交易日"]
    pub TradingDay: TThostFtdcDateType,
    #[doc = " 数据同步状态"]
    pub DataSyncStatus: TThostFtdcDataSyncStatusType,
}
#[doc = " 查询联系人"]
#[repr(C)]
#[derive(Debug, Default, Copy, Clone)]
pub struct CThostFtdcQryLinkManField {
    #[doc = " 经纪公司代码"]
    pub BrokerID: TThostFtdcBrokerIDType,
    #[doc = " 投资者代码"]
    pub InvestorID: TThostFtdcInvestorIDType,
}
#[doc = " 联系人"]
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct CThostFtdcLinkManField {
    #[doc = " 经纪公司代码"]
    pub BrokerID: TThostFtdcBrokerIDType,
    #[doc = " 投资者代码"]
    pub InvestorID: TThostFtdcInvestorIDType,
    #[doc = " 联系人类型"]
    pub PersonType: TThostFtdcPersonTypeType,
    #[doc = " 证件类型"]
    pub IdentifiedCardType: TThostFtdcIdCardTypeType,
    #[doc = " 证件号码"]
    pub IdentifiedCardNo: TThostFtdcIdentifiedCardNoType,
    #[doc = " 名称"]
    pub PersonName: TThostFtdcPartyNameType,
    #[doc = " 联系电话"]
    pub Telephone: TThostFtdcTelephoneType,
    #[doc = " 通讯地址"]
    pub Address: TThostFtdcAddressType,
    #[doc = " 邮政编码"]
    pub ZipCode: TThostFtdcZipCodeType,
    #[doc = " 优先级"]
    pub Priority: TThostFtdcPriorityType,
    #[doc = " 开户邮政编码"]
    pub UOAZipCode: TThostFtdcUOAZipCodeType,
    #[doc = " 全称"]
    pub PersonFullName: TThostFtdcInvestorFullNameType,
}
impl Default for CThostFtdcLinkManField {
    fn default() -> Self {
        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
        unsafe {
            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
            s.assume_init()
        }
    }
}
#[doc = " 查询经纪公司用户事件"]
#[repr(C)]
#[derive(Debug, Default, Copy, Clone)]
pub struct CThostFtdcQryBrokerUserEventField {
    #[doc = " 经纪公司代码"]
    pub BrokerID: TThostFtdcBrokerIDType,
    #[doc = " 用户代码"]
    pub UserID: TThostFtdcUserIDType,
    #[doc = " 用户事件类型"]
    pub UserEventType: TThostFtdcUserEventTypeType,
}
#[doc = " 查询经纪公司用户事件"]
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct CThostFtdcBrokerUserEventField {
    #[doc = " 经纪公司代码"]
    pub BrokerID: TThostFtdcBrokerIDType,
    #[doc = " 用户代码"]
    pub UserID: TThostFtdcUserIDType,
    #[doc = " 用户事件类型"]
    pub UserEventType: TThostFtdcUserEventTypeType,
    #[doc = " 用户事件序号"]
    pub EventSequenceNo: TThostFtdcSequenceNoType,
    #[doc = " 事件发生日期"]
    pub EventDate: TThostFtdcDateType,
    #[doc = " 事件发生时间"]
    pub EventTime: TThostFtdcTimeType,
    #[doc = " 用户事件信息"]
    pub UserEventInfo: TThostFtdcUserEventInfoType,
    #[doc = " 投资者代码"]
    pub InvestorID: TThostFtdcInvestorIDType,
    #[doc = " 保留的无效字段"]
    pub reserve1: TThostFtdcOldInstrumentIDType,
    #[doc = " 合约代码"]
    pub InstrumentID: TThostFtdcInstrumentIDType,
    #[doc = " 交易中心代码"]
    pub DRIdentityID: TThostFtdcDRIdentityIDType,
    #[doc = " 交易日"]
    pub TradingDay: TThostFtdcDateType,
}
impl Default for CThostFtdcBrokerUserEventField {
    fn default() -> Self {
        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
        unsafe {
            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
            s.assume_init()
        }
    }
}
#[doc = " 查询签约银行请求"]
#[repr(C)]
#[derive(Debug, Default, Copy, Clone)]
pub struct CThostFtdcQryContractBankField {
    #[doc = " 经纪公司代码"]
    pub BrokerID: TThostFtdcBrokerIDType,
    #[doc = " 银行代码"]
    pub BankID: TThostFtdcBankIDType,
    #[doc = " 银行分中心代码"]
    pub BankBrchID: TThostFtdcBankBrchIDType,
}
#[doc = " 查询签约银行响应"]
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct CThostFtdcContractBankField {
    #[doc = " 经纪公司代码"]
    pub BrokerID: TThostFtdcBrokerIDType,
    #[doc = " 银行代码"]
    pub BankID: TThostFtdcBankIDType,
    #[doc = " 银行分中心代码"]
    pub BankBrchID: TThostFtdcBankBrchIDType,
    #[doc = " 银行名称"]
    pub BankName: TThostFtdcBankNameType,
}
impl Default for CThostFtdcContractBankField {
    fn default() -> Self {
        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
        unsafe {
            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
            s.assume_init()
        }
    }
}
#[doc = " 投资者组合持仓明细"]
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct CThostFtdcInvestorPositionCombineDetailField {
    #[doc = " 交易日"]
    pub TradingDay: TThostFtdcDateType,
    #[doc = " 开仓日期"]
    pub OpenDate: TThostFtdcDateType,
    #[doc = " 交易所代码"]
    pub ExchangeID: TThostFtdcExchangeIDType,
    #[doc = " 结算编号"]
    pub SettlementID: TThostFtdcSettlementIDType,
    #[doc = " 经纪公司代码"]
    pub BrokerID: TThostFtdcBrokerIDType,
    #[doc = " 投资者代码"]
    pub InvestorID: TThostFtdcInvestorIDType,
    #[doc = " 组合编号"]
    pub ComTradeID: TThostFtdcTradeIDType,
    #[doc = " 撮合编号"]
    pub TradeID: TThostFtdcTradeIDType,
    #[doc = " 保留的无效字段"]
    pub reserve1: TThostFtdcOldInstrumentIDType,
    #[doc = " 投机套保标志"]
    pub HedgeFlag: TThostFtdcHedgeFlagType,
    #[doc = " 买卖"]
    pub Direction: TThostFtdcDirectionType,
    #[doc = " 持仓量"]
    pub TotalAmt: TThostFtdcVolumeType,
    #[doc = " 投资者保证金"]
    pub Margin: TThostFtdcMoneyType,
    #[doc = " 交易所保证金"]
    pub ExchMargin: TThostFtdcMoneyType,
    #[doc = " 保证金率"]
    pub MarginRateByMoney: TThostFtdcRatioType,
    #[doc = " 保证金率(按手数)"]
    pub MarginRateByVolume: TThostFtdcRatioType,
    #[doc = " 单腿编号"]
    pub LegID: TThostFtdcLegIDType,
    #[doc = " 单腿乘数"]
    pub LegMultiple: TThostFtdcLegMultipleType,
    #[doc = " 保留的无效字段"]
    pub reserve2: TThostFtdcOldInstrumentIDType,
    #[doc = " 成交组号"]
    pub TradeGroupID: TThostFtdcTradeGroupIDType,
    #[doc = " 投资单元代码"]
    pub InvestUnitID: TThostFtdcInvestUnitIDType,
    #[doc = " 合约代码"]
    pub InstrumentID: TThostFtdcInstrumentIDType,
    #[doc = " 组合持仓合约编码"]
    pub CombInstrumentID: TThostFtdcInstrumentIDType,
}
impl Default for CThostFtdcInvestorPositionCombineDetailField {
    fn default() -> Self {
        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
        unsafe {
            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
            s.assume_init()
        }
    }
}
#[doc = " 预埋单"]
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct CThostFtdcParkedOrderField {
    #[doc = " 经纪公司代码"]
    pub BrokerID: TThostFtdcBrokerIDType,
    #[doc = " 投资者代码"]
    pub InvestorID: TThostFtdcInvestorIDType,
    #[doc = " 保留的无效字段"]
    pub reserve1: TThostFtdcOldInstrumentIDType,
    #[doc = " 报单引用"]
    pub OrderRef: TThostFtdcOrderRefType,
    #[doc = " 用户代码"]
    pub UserID: TThostFtdcUserIDType,
    #[doc = " 报单价格条件"]
    pub OrderPriceType: TThostFtdcOrderPriceTypeType,
    #[doc = " 买卖方向"]
    pub Direction: TThostFtdcDirectionType,
    #[doc = " 组合开平标志"]
    pub CombOffsetFlag: TThostFtdcCombOffsetFlagType,
    #[doc = " 组合投机套保标志"]
    pub CombHedgeFlag: TThostFtdcCombHedgeFlagType,
    #[doc = " 价格"]
    pub LimitPrice: TThostFtdcPriceType,
    #[doc = " 数量"]
    pub VolumeTotalOriginal: TThostFtdcVolumeType,
    #[doc = " 有效期类型"]
    pub TimeCondition: TThostFtdcTimeConditionType,
    #[doc = " GTD日期"]
    pub GTDDate: TThostFtdcDateType,
    #[doc = " 成交量类型"]
    pub VolumeCondition: TThostFtdcVolumeConditionType,
    #[doc = " 最小成交量"]
    pub MinVolume: TThostFtdcVolumeType,
    #[doc = " 触发条件"]
    pub ContingentCondition: TThostFtdcContingentConditionType,
    #[doc = " 止损价"]
    pub StopPrice: TThostFtdcPriceType,
    #[doc = " 强平原因"]
    pub ForceCloseReason: TThostFtdcForceCloseReasonType,
    #[doc = " 自动挂起标志"]
    pub IsAutoSuspend: TThostFtdcBoolType,
    #[doc = " 业务单元"]
    pub BusinessUnit: TThostFtdcBusinessUnitType,
    #[doc = " 请求编号"]
    pub RequestID: TThostFtdcRequestIDType,
    #[doc = " 用户强评标志"]
    pub UserForceClose: TThostFtdcBoolType,
    #[doc = " 交易所代码"]
    pub ExchangeID: TThostFtdcExchangeIDType,
    #[doc = " 预埋报单编号"]
    pub ParkedOrderID: TThostFtdcParkedOrderIDType,
    #[doc = " 用户类型"]
    pub UserType: TThostFtdcUserTypeType,
    #[doc = " 预埋单状态"]
    pub Status: TThostFtdcParkedOrderStatusType,
    #[doc = " 错误代码"]
    pub ErrorID: TThostFtdcErrorIDType,
    #[doc = " 错误信息"]
    pub ErrorMsg: TThostFtdcErrorMsgType,
    #[doc = " 互换单标志"]
    pub IsSwapOrder: TThostFtdcBoolType,
    #[doc = " 资金账号"]
    pub AccountID: TThostFtdcAccountIDType,
    #[doc = " 币种代码"]
    pub CurrencyID: TThostFtdcCurrencyIDType,
    #[doc = " 交易编码"]
    pub ClientID: TThostFtdcClientIDType,
    #[doc = " 投资单元代码"]
    pub InvestUnitID: TThostFtdcInvestUnitIDType,
    #[doc = " 保留的无效字段"]
    pub reserve2: TThostFtdcOldIPAddressType,
    #[doc = " Mac地址"]
    pub MacAddress: TThostFtdcMacAddressType,
    #[doc = " 合约代码"]
    pub InstrumentID: TThostFtdcInstrumentIDType,
    #[doc = " IP地址"]
    pub IPAddress: TThostFtdcIPAddressType,
}
impl Default for CThostFtdcParkedOrderField {
    fn default() -> Self {
        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
        unsafe {
            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
            s.assume_init()
        }
    }
}
#[doc = " 输入预埋单操作"]
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct CThostFtdcParkedOrderActionField {
    #[doc = " 经纪公司代码"]
    pub BrokerID: TThostFtdcBrokerIDType,
    #[doc = " 投资者代码"]
    pub InvestorID: TThostFtdcInvestorIDType,
    #[doc = " 报单操作引用"]
    pub OrderActionRef: TThostFtdcOrderActionRefType,
    #[doc = " 报单引用"]
    pub OrderRef: TThostFtdcOrderRefType,
    #[doc = " 请求编号"]
    pub RequestID: TThostFtdcRequestIDType,
    #[doc = " 前置编号"]
    pub FrontID: TThostFtdcFrontIDType,
    #[doc = " 会话编号"]
    pub SessionID: TThostFtdcSessionIDType,
    #[doc = " 交易所代码"]
    pub ExchangeID: TThostFtdcExchangeIDType,
    #[doc = " 报单编号"]
    pub OrderSysID: TThostFtdcOrderSysIDType,
    #[doc = " 操作标志"]
    pub ActionFlag: TThostFtdcActionFlagType,
    #[doc = " 价格"]
    pub LimitPrice: TThostFtdcPriceType,
    #[doc = " 数量变化"]
    pub VolumeChange: TThostFtdcVolumeType,
    #[doc = " 用户代码"]
    pub UserID: TThostFtdcUserIDType,
    #[doc = " 保留的无效字段"]
    pub reserve1: TThostFtdcOldInstrumentIDType,
    #[doc = " 预埋撤单单编号"]
    pub ParkedOrderActionID: TThostFtdcParkedOrderActionIDType,
    #[doc = " 用户类型"]
    pub UserType: TThostFtdcUserTypeType,
    #[doc = " 预埋撤单状态"]
    pub Status: TThostFtdcParkedOrderStatusType,
    #[doc = " 错误代码"]
    pub ErrorID: TThostFtdcErrorIDType,
    #[doc = " 错误信息"]
    pub ErrorMsg: TThostFtdcErrorMsgType,
    #[doc = " 投资单元代码"]
    pub InvestUnitID: TThostFtdcInvestUnitIDType,
    #[doc = " 保留的无效字段"]
    pub reserve2: TThostFtdcOldIPAddressType,
    #[doc = " Mac地址"]
    pub MacAddress: TThostFtdcMacAddressType,
    #[doc = " 合约代码"]
    pub InstrumentID: TThostFtdcInstrumentIDType,
    #[doc = " IP地址"]
    pub IPAddress: TThostFtdcIPAddressType,
}
impl Default for CThostFtdcParkedOrderActionField {
    fn default() -> Self {
        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
        unsafe {
            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
            s.assume_init()
        }
    }
}
#[doc = " 查询预埋单"]
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct CThostFtdcQryParkedOrderField {
    #[doc = " 经纪公司代码"]
    pub BrokerID: TThostFtdcBrokerIDType,
    #[doc = " 投资者代码"]
    pub InvestorID: TThostFtdcInvestorIDType,
    #[doc = " 保留的无效字段"]
    pub reserve1: TThostFtdcOldInstrumentIDType,
    #[doc = " 交易所代码"]
    pub ExchangeID: TThostFtdcExchangeIDType,
    #[doc = " 投资单元代码"]
    pub InvestUnitID: TThostFtdcInvestUnitIDType,
    #[doc = " 合约代码"]
    pub InstrumentID: TThostFtdcInstrumentIDType,
}
impl Default for CThostFtdcQryParkedOrderField {
    fn default() -> Self {
        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
        unsafe {
            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
            s.assume_init()
        }
    }
}
#[doc = " 查询预埋撤单"]
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct CThostFtdcQryParkedOrderActionField {
    #[doc = " 经纪公司代码"]
    pub BrokerID: TThostFtdcBrokerIDType,
    #[doc = " 投资者代码"]
    pub InvestorID: TThostFtdcInvestorIDType,
    #[doc = " 保留的无效字段"]
    pub reserve1: TThostFtdcOldInstrumentIDType,
    #[doc = " 交易所代码"]
    pub ExchangeID: TThostFtdcExchangeIDType,
    #[doc = " 投资单元代码"]
    pub InvestUnitID: TThostFtdcInvestUnitIDType,
    #[doc = " 合约代码"]
    pub InstrumentID: TThostFtdcInstrumentIDType,
}
impl Default for CThostFtdcQryParkedOrderActionField {
    fn default() -> Self {
        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
        unsafe {
            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
            s.assume_init()
        }
    }
}
#[doc = " 删除预埋单"]
#[repr(C)]
#[derive(Debug, Default, Copy, Clone)]
pub struct CThostFtdcRemoveParkedOrderField {
    #[doc = " 经纪公司代码"]
    pub BrokerID: TThostFtdcBrokerIDType,
    #[doc = " 投资者代码"]
    pub InvestorID: TThostFtdcInvestorIDType,
    #[doc = " 预埋报单编号"]
    pub ParkedOrderID: TThostFtdcParkedOrderIDType,
    #[doc = " 投资单元代码"]
    pub InvestUnitID: TThostFtdcInvestUnitIDType,
}
#[doc = " 删除预埋撤单"]
#[repr(C)]
#[derive(Debug, Default, Copy, Clone)]
pub struct CThostFtdcRemoveParkedOrderActionField {
    #[doc = " 经纪公司代码"]
    pub BrokerID: TThostFtdcBrokerIDType,
    #[doc = " 投资者代码"]
    pub InvestorID: TThostFtdcInvestorIDType,
    #[doc = " 预埋撤单编号"]
    pub ParkedOrderActionID: TThostFtdcParkedOrderActionIDType,
    #[doc = " 投资单元代码"]
    pub InvestUnitID: TThostFtdcInvestUnitIDType,
}
#[doc = " 经纪公司可提资金算法表"]
#[repr(C)]
#[derive(Debug, Default, Copy, Clone)]
pub struct CThostFtdcInvestorWithdrawAlgorithmField {
    #[doc = " 经纪公司代码"]
    pub BrokerID: TThostFtdcBrokerIDType,
    #[doc = " 投资者范围"]
    pub InvestorRange: TThostFtdcInvestorRangeType,
    #[doc = " 投资者代码"]
    pub InvestorID: TThostFtdcInvestorIDType,
    #[doc = " 可提资金比例"]
    pub UsingRatio: TThostFtdcRatioType,
    #[doc = " 币种代码"]
    pub CurrencyID: TThostFtdcCurrencyIDType,
    #[doc = " 货币质押比率"]
    pub FundMortgageRatio: TThostFtdcRatioType,
}
#[doc = " 查询组合持仓明细"]
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct CThostFtdcQryInvestorPositionCombineDetailField {
    #[doc = " 经纪公司代码"]
    pub BrokerID: TThostFtdcBrokerIDType,
    #[doc = " 投资者代码"]
    pub InvestorID: TThostFtdcInvestorIDType,
    #[doc = " 保留的无效字段"]
    pub reserve1: TThostFtdcOldInstrumentIDType,
    #[doc = " 交易所代码"]
    pub ExchangeID: TThostFtdcExchangeIDType,
    #[doc = " 投资单元代码"]
    pub InvestUnitID: TThostFtdcInvestUnitIDType,
    #[doc = " 组合持仓合约编码"]
    pub CombInstrumentID: TThostFtdcInstrumentIDType,
}
impl Default for CThostFtdcQryInvestorPositionCombineDetailField {
    fn default() -> Self {
        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
        unsafe {
            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
            s.assume_init()
        }
    }
}
#[doc = " 成交均价"]
#[repr(C)]
#[derive(Debug, Default, Copy, Clone)]
pub struct CThostFtdcMarketDataAveragePriceField {
    #[doc = " 当日均价"]
    pub AveragePrice: TThostFtdcPriceType,
}
#[doc = " 校验投资者密码"]
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct CThostFtdcVerifyInvestorPasswordField {
    #[doc = " 经纪公司代码"]
    pub BrokerID: TThostFtdcBrokerIDType,
    #[doc = " 投资者代码"]
    pub InvestorID: TThostFtdcInvestorIDType,
    #[doc = " 密码"]
    pub Password: TThostFtdcPasswordType,
}
impl Default for CThostFtdcVerifyInvestorPasswordField {
    fn default() -> Self {
        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
        unsafe {
            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
            s.assume_init()
        }
    }
}
#[doc = " 用户IP"]
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct CThostFtdcUserIPField {
    #[doc = " 经纪公司代码"]
    pub BrokerID: TThostFtdcBrokerIDType,
    #[doc = " 用户代码"]
    pub UserID: TThostFtdcUserIDType,
    #[doc = " 保留的无效字段"]
    pub reserve1: TThostFtdcOldIPAddressType,
    #[doc = " 保留的无效字段"]
    pub reserve2: TThostFtdcOldIPAddressType,
    #[doc = " Mac地址"]
    pub MacAddress: TThostFtdcMacAddressType,
    #[doc = " IP地址"]
    pub IPAddress: TThostFtdcIPAddressType,
    #[doc = " IP地址掩码"]
    pub IPMask: TThostFtdcIPAddressType,
}
impl Default for CThostFtdcUserIPField {
    fn default() -> Self {
        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
        unsafe {
            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
            s.assume_init()
        }
    }
}
#[doc = " 用户事件通知信息"]
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct CThostFtdcTradingNoticeInfoField {
    #[doc = " 经纪公司代码"]
    pub BrokerID: TThostFtdcBrokerIDType,
    #[doc = " 投资者代码"]
    pub InvestorID: TThostFtdcInvestorIDType,
    #[doc = " 发送时间"]
    pub SendTime: TThostFtdcTimeType,
    #[doc = " 消息正文"]
    pub FieldContent: TThostFtdcContentType,
    #[doc = " 序列系列号"]
    pub SequenceSeries: TThostFtdcSequenceSeriesType,
    #[doc = " 序列号"]
    pub SequenceNo: TThostFtdcSequenceNoType,
    #[doc = " 投资单元代码"]
    pub InvestUnitID: TThostFtdcInvestUnitIDType,
}
impl Default for CThostFtdcTradingNoticeInfoField {
    fn default() -> Self {
        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
        unsafe {
            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
            s.assume_init()
        }
    }
}
#[doc = " 用户事件通知"]
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct CThostFtdcTradingNoticeField {
    #[doc = " 经纪公司代码"]
    pub BrokerID: TThostFtdcBrokerIDType,
    #[doc = " 投资者范围"]
    pub InvestorRange: TThostFtdcInvestorRangeType,
    #[doc = " 投资者代码"]
    pub InvestorID: TThostFtdcInvestorIDType,
    #[doc = " 序列系列号"]
    pub SequenceSeries: TThostFtdcSequenceSeriesType,
    #[doc = " 用户代码"]
    pub UserID: TThostFtdcUserIDType,
    #[doc = " 发送时间"]
    pub SendTime: TThostFtdcTimeType,
    #[doc = " 序列号"]
    pub SequenceNo: TThostFtdcSequenceNoType,
    #[doc = " 消息正文"]
    pub FieldContent: TThostFtdcContentType,
    #[doc = " 投资单元代码"]
    pub InvestUnitID: TThostFtdcInvestUnitIDType,
}
impl Default for CThostFtdcTradingNoticeField {
    fn default() -> Self {
        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
        unsafe {
            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
            s.assume_init()
        }
    }
}
#[doc = " 查询交易事件通知"]
#[repr(C)]
#[derive(Debug, Default, Copy, Clone)]
pub struct CThostFtdcQryTradingNoticeField {
    #[doc = " 经纪公司代码"]
    pub BrokerID: TThostFtdcBrokerIDType,
    #[doc = " 投资者代码"]
    pub InvestorID: TThostFtdcInvestorIDType,
    #[doc = " 投资单元代码"]
    pub InvestUnitID: TThostFtdcInvestUnitIDType,
}
#[doc = " 查询错误报单"]
#[repr(C)]
#[derive(Debug, Default, Copy, Clone)]
pub struct CThostFtdcQryErrOrderField {
    #[doc = " 经纪公司代码"]
    pub BrokerID: TThostFtdcBrokerIDType,
    #[doc = " 投资者代码"]
    pub InvestorID: TThostFtdcInvestorIDType,
}
#[doc = " 错误报单"]
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct CThostFtdcErrOrderField {
    #[doc = " 经纪公司代码"]
    pub BrokerID: TThostFtdcBrokerIDType,
    #[doc = " 投资者代码"]
    pub InvestorID: TThostFtdcInvestorIDType,
    #[doc = " 保留的无效字段"]
    pub reserve1: TThostFtdcOldInstrumentIDType,
    #[doc = " 报单引用"]
    pub OrderRef: TThostFtdcOrderRefType,
    #[doc = " 用户代码"]
    pub UserID: TThostFtdcUserIDType,
    #[doc = " 报单价格条件"]
    pub OrderPriceType: TThostFtdcOrderPriceTypeType,
    #[doc = " 买卖方向"]
    pub Direction: TThostFtdcDirectionType,
    #[doc = " 组合开平标志"]
    pub CombOffsetFlag: TThostFtdcCombOffsetFlagType,
    #[doc = " 组合投机套保标志"]
    pub CombHedgeFlag: TThostFtdcCombHedgeFlagType,
    #[doc = " 价格"]
    pub LimitPrice: TThostFtdcPriceType,
    #[doc = " 数量"]
    pub VolumeTotalOriginal: TThostFtdcVolumeType,
    #[doc = " 有效期类型"]
    pub TimeCondition: TThostFtdcTimeConditionType,
    #[doc = " GTD日期"]
    pub GTDDate: TThostFtdcDateType,
    #[doc = " 成交量类型"]
    pub VolumeCondition: TThostFtdcVolumeConditionType,
    #[doc = " 最小成交量"]
    pub MinVolume: TThostFtdcVolumeType,
    #[doc = " 触发条件"]
    pub ContingentCondition: TThostFtdcContingentConditionType,
    #[doc = " 止损价"]
    pub StopPrice: TThostFtdcPriceType,
    #[doc = " 强平原因"]
    pub ForceCloseReason: TThostFtdcForceCloseReasonType,
    #[doc = " 自动挂起标志"]
    pub IsAutoSuspend: TThostFtdcBoolType,
    #[doc = " 业务单元"]
    pub BusinessUnit: TThostFtdcBusinessUnitType,
    #[doc = " 请求编号"]
    pub RequestID: TThostFtdcRequestIDType,
    #[doc = " 用户强评标志"]
    pub UserForceClose: TThostFtdcBoolType,
    #[doc = " 错误代码"]
    pub ErrorID: TThostFtdcErrorIDType,
    #[doc = " 错误信息"]
    pub ErrorMsg: TThostFtdcErrorMsgType,
    #[doc = " 互换单标志"]
    pub IsSwapOrder: TThostFtdcBoolType,
    #[doc = " 交易所代码"]
    pub ExchangeID: TThostFtdcExchangeIDType,
    #[doc = " 投资单元代码"]
    pub InvestUnitID: TThostFtdcInvestUnitIDType,
    #[doc = " 资金账号"]
    pub AccountID: TThostFtdcAccountIDType,
    #[doc = " 币种代码"]
    pub CurrencyID: TThostFtdcCurrencyIDType,
    #[doc = " 交易编码"]
    pub ClientID: TThostFtdcClientIDType,
    #[doc = " 保留的无效字段"]
    pub reserve2: TThostFtdcOldIPAddressType,
    #[doc = " Mac地址"]
    pub MacAddress: TThostFtdcMacAddressType,
    #[doc = " 合约代码"]
    pub InstrumentID: TThostFtdcInstrumentIDType,
    #[doc = " IP地址"]
    pub IPAddress: TThostFtdcIPAddressType,
}
impl Default for CThostFtdcErrOrderField {
    fn default() -> Self {
        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
        unsafe {
            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
            s.assume_init()
        }
    }
}
#[doc = " 查询错误报单操作"]
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct CThostFtdcErrorConditionalOrderField {
    #[doc = " 经纪公司代码"]
    pub BrokerID: TThostFtdcBrokerIDType,
    #[doc = " 投资者代码"]
    pub InvestorID: TThostFtdcInvestorIDType,
    #[doc = " 保留的无效字段"]
    pub reserve1: TThostFtdcOldInstrumentIDType,
    #[doc = " 报单引用"]
    pub OrderRef: TThostFtdcOrderRefType,
    #[doc = " 用户代码"]
    pub UserID: TThostFtdcUserIDType,
    #[doc = " 报单价格条件"]
    pub OrderPriceType: TThostFtdcOrderPriceTypeType,
    #[doc = " 买卖方向"]
    pub Direction: TThostFtdcDirectionType,
    #[doc = " 组合开平标志"]
    pub CombOffsetFlag: TThostFtdcCombOffsetFlagType,
    #[doc = " 组合投机套保标志"]
    pub CombHedgeFlag: TThostFtdcCombHedgeFlagType,
    #[doc = " 价格"]
    pub LimitPrice: TThostFtdcPriceType,
    #[doc = " 数量"]
    pub VolumeTotalOriginal: TThostFtdcVolumeType,
    #[doc = " 有效期类型"]
    pub TimeCondition: TThostFtdcTimeConditionType,
    #[doc = " GTD日期"]
    pub GTDDate: TThostFtdcDateType,
    #[doc = " 成交量类型"]
    pub VolumeCondition: TThostFtdcVolumeConditionType,
    #[doc = " 最小成交量"]
    pub MinVolume: TThostFtdcVolumeType,
    #[doc = " 触发条件"]
    pub ContingentCondition: TThostFtdcContingentConditionType,
    #[doc = " 止损价"]
    pub StopPrice: TThostFtdcPriceType,
    #[doc = " 强平原因"]
    pub ForceCloseReason: TThostFtdcForceCloseReasonType,
    #[doc = " 自动挂起标志"]
    pub IsAutoSuspend: TThostFtdcBoolType,
    #[doc = " 业务单元"]
    pub BusinessUnit: TThostFtdcBusinessUnitType,
    #[doc = " 请求编号"]
    pub RequestID: TThostFtdcRequestIDType,
    #[doc = " 本地报单编号"]
    pub OrderLocalID: TThostFtdcOrderLocalIDType,
    #[doc = " 交易所代码"]
    pub ExchangeID: TThostFtdcExchangeIDType,
    #[doc = " 会员代码"]
    pub ParticipantID: TThostFtdcParticipantIDType,
    #[doc = " 客户代码"]
    pub ClientID: TThostFtdcClientIDType,
    #[doc = " 保留的无效字段"]
    pub reserve2: TThostFtdcOldExchangeInstIDType,
    #[doc = " 交易所交易员代码"]
    pub TraderID: TThostFtdcTraderIDType,
    #[doc = " 安装编号"]
    pub InstallID: TThostFtdcInstallIDType,
    #[doc = " 报单提交状态"]
    pub OrderSubmitStatus: TThostFtdcOrderSubmitStatusType,
    #[doc = " 报单提示序号"]
    pub NotifySequence: TThostFtdcSequenceNoType,
    #[doc = " 交易日"]
    pub TradingDay: TThostFtdcDateType,
    #[doc = " 结算编号"]
    pub SettlementID: TThostFtdcSettlementIDType,
    #[doc = " 报单编号"]
    pub OrderSysID: TThostFtdcOrderSysIDType,
    #[doc = " 报单来源"]
    pub OrderSource: TThostFtdcOrderSourceType,
    #[doc = " 报单状态"]
    pub OrderStatus: TThostFtdcOrderStatusType,
    #[doc = " 报单类型"]
    pub OrderType: TThostFtdcOrderTypeType,
    #[doc = " 今成交数量"]
    pub VolumeTraded: TThostFtdcVolumeType,
    #[doc = " 剩余数量"]
    pub VolumeTotal: TThostFtdcVolumeType,
    #[doc = " 报单日期"]
    pub InsertDate: TThostFtdcDateType,
    #[doc = " 委托时间"]
    pub InsertTime: TThostFtdcTimeType,
    #[doc = " 激活时间"]
    pub ActiveTime: TThostFtdcTimeType,
    #[doc = " 挂起时间"]
    pub SuspendTime: TThostFtdcTimeType,
    #[doc = " 最后修改时间"]
    pub UpdateTime: TThostFtdcTimeType,
    #[doc = " 撤销时间"]
    pub CancelTime: TThostFtdcTimeType,
    #[doc = " 最后修改交易所交易员代码"]
    pub ActiveTraderID: TThostFtdcTraderIDType,
    #[doc = " 结算会员编号"]
    pub ClearingPartID: TThostFtdcParticipantIDType,
    #[doc = " 序号"]
    pub SequenceNo: TThostFtdcSequenceNoType,
    #[doc = " 前置编号"]
    pub FrontID: TThostFtdcFrontIDType,
    #[doc = " 会话编号"]
    pub SessionID: TThostFtdcSessionIDType,
    #[doc = " 用户端产品信息"]
    pub UserProductInfo: TThostFtdcProductInfoType,
    #[doc = " 状态信息"]
    pub StatusMsg: TThostFtdcErrorMsgType,
    #[doc = " 用户强评标志"]
    pub UserForceClose: TThostFtdcBoolType,
    #[doc = " 操作用户代码"]
    pub ActiveUserID: TThostFtdcUserIDType,
    #[doc = " 经纪公司报单编号"]
    pub BrokerOrderSeq: TThostFtdcSequenceNoType,
    #[doc = " 相关报单"]
    pub RelativeOrderSysID: TThostFtdcOrderSysIDType,
    #[doc = " 郑商所成交数量"]
    pub ZCETotalTradedVolume: TThostFtdcVolumeType,
    #[doc = " 错误代码"]
    pub ErrorID: TThostFtdcErrorIDType,
    #[doc = " 错误信息"]
    pub ErrorMsg: TThostFtdcErrorMsgType,
    #[doc = " 互换单标志"]
    pub IsSwapOrder: TThostFtdcBoolType,
    #[doc = " 营业部编号"]
    pub BranchID: TThostFtdcBranchIDType,
    #[doc = " 投资单元代码"]
    pub InvestUnitID: TThostFtdcInvestUnitIDType,
    #[doc = " 资金账号"]
    pub AccountID: TThostFtdcAccountIDType,
    #[doc = " 币种代码"]
    pub CurrencyID: TThostFtdcCurrencyIDType,
    #[doc = " 保留的无效字段"]
    pub reserve3: TThostFtdcOldIPAddressType,
    #[doc = " Mac地址"]
    pub MacAddress: TThostFtdcMacAddressType,
    #[doc = " 合约代码"]
    pub InstrumentID: TThostFtdcInstrumentIDType,
    #[doc = " 合约在交易所的代码"]
    pub ExchangeInstID: TThostFtdcExchangeInstIDType,
    #[doc = " IP地址"]
    pub IPAddress: TThostFtdcIPAddressType,
}
impl Default for CThostFtdcErrorConditionalOrderField {
    fn default() -> Self {
        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
        unsafe {
            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
            s.assume_init()
        }
    }
}
#[doc = " 查询错误报单操作"]
#[repr(C)]
#[derive(Debug, Default, Copy, Clone)]
pub struct CThostFtdcQryErrOrderActionField {
    #[doc = " 经纪公司代码"]
    pub BrokerID: TThostFtdcBrokerIDType,
    #[doc = " 投资者代码"]
    pub InvestorID: TThostFtdcInvestorIDType,
}
#[doc = " 错误报单操作"]
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct CThostFtdcErrOrderActionField {
    #[doc = " 经纪公司代码"]
    pub BrokerID: TThostFtdcBrokerIDType,
    #[doc = " 投资者代码"]
    pub InvestorID: TThostFtdcInvestorIDType,
    #[doc = " 报单操作引用"]
    pub OrderActionRef: TThostFtdcOrderActionRefType,
    #[doc = " 报单引用"]
    pub OrderRef: TThostFtdcOrderRefType,
    #[doc = " 请求编号"]
    pub RequestID: TThostFtdcRequestIDType,
    #[doc = " 前置编号"]
    pub FrontID: TThostFtdcFrontIDType,
    #[doc = " 会话编号"]
    pub SessionID: TThostFtdcSessionIDType,
    #[doc = " 交易所代码"]
    pub ExchangeID: TThostFtdcExchangeIDType,
    #[doc = " 报单编号"]
    pub OrderSysID: TThostFtdcOrderSysIDType,
    #[doc = " 操作标志"]
    pub ActionFlag: TThostFtdcActionFlagType,
    #[doc = " 价格"]
    pub LimitPrice: TThostFtdcPriceType,
    #[doc = " 数量变化"]
    pub VolumeChange: TThostFtdcVolumeType,
    #[doc = " 操作日期"]
    pub ActionDate: TThostFtdcDateType,
    #[doc = " 操作时间"]
    pub ActionTime: TThostFtdcTimeType,
    #[doc = " 交易所交易员代码"]
    pub TraderID: TThostFtdcTraderIDType,
    #[doc = " 安装编号"]
    pub InstallID: TThostFtdcInstallIDType,
    #[doc = " 本地报单编号"]
    pub OrderLocalID: TThostFtdcOrderLocalIDType,
    #[doc = " 操作本地编号"]
    pub ActionLocalID: TThostFtdcOrderLocalIDType,
    #[doc = " 会员代码"]
    pub ParticipantID: TThostFtdcParticipantIDType,
    #[doc = " 客户代码"]
    pub ClientID: TThostFtdcClientIDType,
    #[doc = " 业务单元"]
    pub BusinessUnit: TThostFtdcBusinessUnitType,
    #[doc = " 报单操作状态"]
    pub OrderActionStatus: TThostFtdcOrderActionStatusType,
    #[doc = " 用户代码"]
    pub UserID: TThostFtdcUserIDType,
    #[doc = " 状态信息"]
    pub StatusMsg: TThostFtdcErrorMsgType,
    #[doc = " 保留的无效字段"]
    pub reserve1: TThostFtdcOldInstrumentIDType,
    #[doc = " 营业部编号"]
    pub BranchID: TThostFtdcBranchIDType,
    #[doc = " 投资单元代码"]
    pub InvestUnitID: TThostFtdcInvestUnitIDType,
    #[doc = " 保留的无效字段"]
    pub reserve2: TThostFtdcOldIPAddressType,
    #[doc = " Mac地址"]
    pub MacAddress: TThostFtdcMacAddressType,
    #[doc = " 错误代码"]
    pub ErrorID: TThostFtdcErrorIDType,
    #[doc = " 错误信息"]
    pub ErrorMsg: TThostFtdcErrorMsgType,
    #[doc = " 合约代码"]
    pub InstrumentID: TThostFtdcInstrumentIDType,
    #[doc = " IP地址"]
    pub IPAddress: TThostFtdcIPAddressType,
}
impl Default for CThostFtdcErrOrderActionField {
    fn default() -> Self {
        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
        unsafe {
            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
            s.assume_init()
        }
    }
}
#[doc = " 查询交易所状态"]
#[repr(C)]
#[derive(Debug, Default, Copy, Clone)]
pub struct CThostFtdcQryExchangeSequenceField {
    #[doc = " 交易所代码"]
    pub ExchangeID: TThostFtdcExchangeIDType,
}
#[doc = " 交易所状态"]
#[repr(C)]
#[derive(Debug, Default, Copy, Clone)]
pub struct CThostFtdcExchangeSequenceField {
    #[doc = " 交易所代码"]
    pub ExchangeID: TThostFtdcExchangeIDType,
    #[doc = " 序号"]
    pub SequenceNo: TThostFtdcSequenceNoType,
    #[doc = " 合约交易状态"]
    pub MarketStatus: TThostFtdcInstrumentStatusType,
}
#[doc = " 根据价格查询最大报单数量"]
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct CThostFtdcQryMaxOrderVolumeWithPriceField {
    #[doc = " 经纪公司代码"]
    pub BrokerID: TThostFtdcBrokerIDType,
    #[doc = " 投资者代码"]
    pub InvestorID: TThostFtdcInvestorIDType,
    #[doc = " 保留的无效字段"]
    pub reserve1: TThostFtdcOldInstrumentIDType,
    #[doc = " 买卖方向"]
    pub Direction: TThostFtdcDirectionType,
    #[doc = " 开平标志"]
    pub OffsetFlag: TThostFtdcOffsetFlagType,
    #[doc = " 投机套保标志"]
    pub HedgeFlag: TThostFtdcHedgeFlagType,
    #[doc = " 最大允许报单数量"]
    pub MaxVolume: TThostFtdcVolumeType,
    #[doc = " 报单价格"]
    pub Price: TThostFtdcPriceType,
    #[doc = " 交易所代码"]
    pub ExchangeID: TThostFtdcExchangeIDType,
    #[doc = " 投资单元代码"]
    pub InvestUnitID: TThostFtdcInvestUnitIDType,
    #[doc = " 合约代码"]
    pub InstrumentID: TThostFtdcInstrumentIDType,
}
impl Default for CThostFtdcQryMaxOrderVolumeWithPriceField {
    fn default() -> Self {
        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
        unsafe {
            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
            s.assume_init()
        }
    }
}
#[doc = " 查询经纪公司交易参数"]
#[repr(C)]
#[derive(Debug, Default, Copy, Clone)]
pub struct CThostFtdcQryBrokerTradingParamsField {
    #[doc = " 经纪公司代码"]
    pub BrokerID: TThostFtdcBrokerIDType,
    #[doc = " 投资者代码"]
    pub InvestorID: TThostFtdcInvestorIDType,
    #[doc = " 币种代码"]
    pub CurrencyID: TThostFtdcCurrencyIDType,
    #[doc = " 投资者帐号"]
    pub AccountID: TThostFtdcAccountIDType,
}
#[doc = " 经纪公司交易参数"]
#[repr(C)]
#[derive(Debug, Default, Copy, Clone)]
pub struct CThostFtdcBrokerTradingParamsField {
    #[doc = " 经纪公司代码"]
    pub BrokerID: TThostFtdcBrokerIDType,
    #[doc = " 投资者代码"]
    pub InvestorID: TThostFtdcInvestorIDType,
    #[doc = " 保证金价格类型"]
    pub MarginPriceType: TThostFtdcMarginPriceTypeType,
    #[doc = " 盈亏算法"]
    pub Algorithm: TThostFtdcAlgorithmType,
    #[doc = " 可用是否包含平仓盈利"]
    pub AvailIncludeCloseProfit: TThostFtdcIncludeCloseProfitType,
    #[doc = " 币种代码"]
    pub CurrencyID: TThostFtdcCurrencyIDType,
    #[doc = " 期权权利金价格类型"]
    pub OptionRoyaltyPriceType: TThostFtdcOptionRoyaltyPriceTypeType,
    #[doc = " 投资者帐号"]
    pub AccountID: TThostFtdcAccountIDType,
}
#[doc = " 查询经纪公司交易算法"]
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct CThostFtdcQryBrokerTradingAlgosField {
    #[doc = " 经纪公司代码"]
    pub BrokerID: TThostFtdcBrokerIDType,
    #[doc = " 交易所代码"]
    pub ExchangeID: TThostFtdcExchangeIDType,
    #[doc = " 保留的无效字段"]
    pub reserve1: TThostFtdcOldInstrumentIDType,
    #[doc = " 合约代码"]
    pub InstrumentID: TThostFtdcInstrumentIDType,
}
impl Default for CThostFtdcQryBrokerTradingAlgosField {
    fn default() -> Self {
        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
        unsafe {
            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
            s.assume_init()
        }
    }
}
#[doc = " 经纪公司交易算法"]
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct CThostFtdcBrokerTradingAlgosField {
    #[doc = " 经纪公司代码"]
    pub BrokerID: TThostFtdcBrokerIDType,
    #[doc = " 交易所代码"]
    pub ExchangeID: TThostFtdcExchangeIDType,
    #[doc = " 保留的无效字段"]
    pub reserve1: TThostFtdcOldInstrumentIDType,
    #[doc = " 持仓处理算法编号"]
    pub HandlePositionAlgoID: TThostFtdcHandlePositionAlgoIDType,
    #[doc = " 寻找保证金率算法编号"]
    pub FindMarginRateAlgoID: TThostFtdcFindMarginRateAlgoIDType,
    #[doc = " 资金处理算法编号"]
    pub HandleTradingAccountAlgoID: TThostFtdcHandleTradingAccountAlgoIDType,
    #[doc = " 合约代码"]
    pub InstrumentID: TThostFtdcInstrumentIDType,
}
impl Default for CThostFtdcBrokerTradingAlgosField {
    fn default() -> Self {
        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
        unsafe {
            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
            s.assume_init()
        }
    }
}
#[doc = " 查询经纪公司资金"]
#[repr(C)]
#[derive(Debug, Default, Copy, Clone)]
pub struct CThostFtdcQueryBrokerDepositField {
    #[doc = " 经纪公司代码"]
    pub BrokerID: TThostFtdcBrokerIDType,
    #[doc = " 交易所代码"]
    pub ExchangeID: TThostFtdcExchangeIDType,
}
#[doc = " 经纪公司资金"]
#[repr(C)]
#[derive(Debug, Default, Copy, Clone)]
pub struct CThostFtdcBrokerDepositField {
    #[doc = " 交易日期"]
    pub TradingDay: TThostFtdcTradeDateType,
    #[doc = " 经纪公司代码"]
    pub BrokerID: TThostFtdcBrokerIDType,
    #[doc = " 会员代码"]
    pub ParticipantID: TThostFtdcParticipantIDType,
    #[doc = " 交易所代码"]
    pub ExchangeID: TThostFtdcExchangeIDType,
    #[doc = " 上次结算准备金"]
    pub PreBalance: TThostFtdcMoneyType,
    #[doc = " 当前保证金总额"]
    pub CurrMargin: TThostFtdcMoneyType,
    #[doc = " 平仓盈亏"]
    pub CloseProfit: TThostFtdcMoneyType,
    #[doc = " 期货结算准备金"]
    pub Balance: TThostFtdcMoneyType,
    #[doc = " 入金金额"]
    pub Deposit: TThostFtdcMoneyType,
    #[doc = " 出金金额"]
    pub Withdraw: TThostFtdcMoneyType,
    #[doc = " 可提资金"]
    pub Available: TThostFtdcMoneyType,
    #[doc = " 基本准备金"]
    pub Reserve: TThostFtdcMoneyType,
    #[doc = " 冻结的保证金"]
    pub FrozenMargin: TThostFtdcMoneyType,
}
#[doc = " 查询保证金监管系统经纪公司密钥"]
#[repr(C)]
#[derive(Debug, Default, Copy, Clone)]
pub struct CThostFtdcQryCFMMCBrokerKeyField {
    #[doc = " 经纪公司代码"]
    pub BrokerID: TThostFtdcBrokerIDType,
}
#[doc = " 保证金监管系统经纪公司密钥"]
#[repr(C)]
#[derive(Debug, Default, Copy, Clone)]
pub struct CThostFtdcCFMMCBrokerKeyField {
    #[doc = " 经纪公司代码"]
    pub BrokerID: TThostFtdcBrokerIDType,
    #[doc = " 经纪公司统一编码"]
    pub ParticipantID: TThostFtdcParticipantIDType,
    #[doc = " 密钥生成日期"]
    pub CreateDate: TThostFtdcDateType,
    #[doc = " 密钥生成时间"]
    pub CreateTime: TThostFtdcTimeType,
    #[doc = " 密钥编号"]
    pub KeyID: TThostFtdcSequenceNoType,
    #[doc = " 动态密钥"]
    pub CurrentKey: TThostFtdcCFMMCKeyType,
    #[doc = " 动态密钥类型"]
    pub KeyKind: TThostFtdcCFMMCKeyKindType,
}
#[doc = " 保证金监管系统经纪公司资金账户密钥"]
#[repr(C)]
#[derive(Debug, Default, Copy, Clone)]
pub struct CThostFtdcCFMMCTradingAccountKeyField {
    #[doc = " 经纪公司代码"]
    pub BrokerID: TThostFtdcBrokerIDType,
    #[doc = " 经纪公司统一编码"]
    pub ParticipantID: TThostFtdcParticipantIDType,
    #[doc = " 投资者帐号"]
    pub AccountID: TThostFtdcAccountIDType,
    #[doc = " 密钥编号"]
    pub KeyID: TThostFtdcSequenceNoType,
    #[doc = " 动态密钥"]
    pub CurrentKey: TThostFtdcCFMMCKeyType,
}
#[doc = " 请求查询保证金监管系统经纪公司资金账户密钥"]
#[repr(C)]
#[derive(Debug, Default, Copy, Clone)]
pub struct CThostFtdcQryCFMMCTradingAccountKeyField {
    #[doc = " 经纪公司代码"]
    pub BrokerID: TThostFtdcBrokerIDType,
    #[doc = " 投资者代码"]
    pub InvestorID: TThostFtdcInvestorIDType,
}
#[doc = " 用户动态令牌参数"]
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct CThostFtdcBrokerUserOTPParamField {
    #[doc = " 经纪公司代码"]
    pub BrokerID: TThostFtdcBrokerIDType,
    #[doc = " 用户代码"]
    pub UserID: TThostFtdcUserIDType,
    #[doc = " 动态令牌提供商"]
    pub OTPVendorsID: TThostFtdcOTPVendorsIDType,
    #[doc = " 动态令牌序列号"]
    pub SerialNumber: TThostFtdcSerialNumberType,
    #[doc = " 令牌密钥"]
    pub AuthKey: TThostFtdcAuthKeyType,
    #[doc = " 漂移值"]
    pub LastDrift: TThostFtdcLastDriftType,
    #[doc = " 成功值"]
    pub LastSuccess: TThostFtdcLastSuccessType,
    #[doc = " 动态令牌类型"]
    pub OTPType: TThostFtdcOTPTypeType,
}
impl Default for CThostFtdcBrokerUserOTPParamField {
    fn default() -> Self {
        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
        unsafe {
            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
            s.assume_init()
        }
    }
}
#[doc = " 手工同步用户动态令牌"]
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct CThostFtdcManualSyncBrokerUserOTPField {
    #[doc = " 经纪公司代码"]
    pub BrokerID: TThostFtdcBrokerIDType,
    #[doc = " 用户代码"]
    pub UserID: TThostFtdcUserIDType,
    #[doc = " 动态令牌类型"]
    pub OTPType: TThostFtdcOTPTypeType,
    #[doc = " 第一个动态密码"]
    pub FirstOTP: TThostFtdcPasswordType,
    #[doc = " 第二个动态密码"]
    pub SecondOTP: TThostFtdcPasswordType,
}
impl Default for CThostFtdcManualSyncBrokerUserOTPField {
    fn default() -> Self {
        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
        unsafe {
            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
            s.assume_init()
        }
    }
}
#[doc = " 投资者手续费率模板"]
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct CThostFtdcCommRateModelField {
    #[doc = " 经纪公司代码"]
    pub BrokerID: TThostFtdcBrokerIDType,
    #[doc = " 手续费率模板代码"]
    pub CommModelID: TThostFtdcInvestorIDType,
    #[doc = " 模板名称"]
    pub CommModelName: TThostFtdcCommModelNameType,
}
impl Default for CThostFtdcCommRateModelField {
    fn default() -> Self {
        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
        unsafe {
            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
            s.assume_init()
        }
    }
}
#[doc = " 请求查询投资者手续费率模板"]
#[repr(C)]
#[derive(Debug, Default, Copy, Clone)]
pub struct CThostFtdcQryCommRateModelField {
    #[doc = " 经纪公司代码"]
    pub BrokerID: TThostFtdcBrokerIDType,
    #[doc = " 手续费率模板代码"]
    pub CommModelID: TThostFtdcInvestorIDType,
}
#[doc = " 投资者保证金率模板"]
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct CThostFtdcMarginModelField {
    #[doc = " 经纪公司代码"]
    pub BrokerID: TThostFtdcBrokerIDType,
    #[doc = " 保证金率模板代码"]
    pub MarginModelID: TThostFtdcInvestorIDType,
    #[doc = " 模板名称"]
    pub MarginModelName: TThostFtdcCommModelNameType,
}
impl Default for CThostFtdcMarginModelField {
    fn default() -> Self {
        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
        unsafe {
            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
            s.assume_init()
        }
    }
}
#[doc = " 请求查询投资者保证金率模板"]
#[repr(C)]
#[derive(Debug, Default, Copy, Clone)]
pub struct CThostFtdcQryMarginModelField {
    #[doc = " 经纪公司代码"]
    pub BrokerID: TThostFtdcBrokerIDType,
    #[doc = " 保证金率模板代码"]
    pub MarginModelID: TThostFtdcInvestorIDType,
}
#[doc = " 仓单折抵信息"]
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct CThostFtdcEWarrantOffsetField {
    #[doc = " 交易日期"]
    pub TradingDay: TThostFtdcTradeDateType,
    #[doc = " 经纪公司代码"]
    pub BrokerID: TThostFtdcBrokerIDType,
    #[doc = " 投资者代码"]
    pub InvestorID: TThostFtdcInvestorIDType,
    #[doc = " 交易所代码"]
    pub ExchangeID: TThostFtdcExchangeIDType,
    #[doc = " 保留的无效字段"]
    pub reserve1: TThostFtdcOldInstrumentIDType,
    #[doc = " 买卖方向"]
    pub Direction: TThostFtdcDirectionType,
    #[doc = " 投机套保标志"]
    pub HedgeFlag: TThostFtdcHedgeFlagType,
    #[doc = " 数量"]
    pub Volume: TThostFtdcVolumeType,
    #[doc = " 投资单元代码"]
    pub InvestUnitID: TThostFtdcInvestUnitIDType,
    #[doc = " 合约代码"]
    pub InstrumentID: TThostFtdcInstrumentIDType,
}
impl Default for CThostFtdcEWarrantOffsetField {
    fn default() -> Self {
        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
        unsafe {
            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
            s.assume_init()
        }
    }
}
#[doc = " 查询仓单折抵信息"]
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct CThostFtdcQryEWarrantOffsetField {
    #[doc = " 经纪公司代码"]
    pub BrokerID: TThostFtdcBrokerIDType,
    #[doc = " 投资者代码"]
    pub InvestorID: TThostFtdcInvestorIDType,
    #[doc = " 交易所代码"]
    pub ExchangeID: TThostFtdcExchangeIDType,
    #[doc = " 保留的无效字段"]
    pub reserve1: TThostFtdcOldInstrumentIDType,
    #[doc = " 投资单元代码"]
    pub InvestUnitID: TThostFtdcInvestUnitIDType,
    #[doc = " 合约代码"]
    pub InstrumentID: TThostFtdcInstrumentIDType,
}
impl Default for CThostFtdcQryEWarrantOffsetField {
    fn default() -> Self {
        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
        unsafe {
            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
            s.assume_init()
        }
    }
}
#[doc = " 查询投资者品种/跨品种保证金"]
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct CThostFtdcQryInvestorProductGroupMarginField {
    #[doc = " 经纪公司代码"]
    pub BrokerID: TThostFtdcBrokerIDType,
    #[doc = " 投资者代码"]
    pub InvestorID: TThostFtdcInvestorIDType,
    #[doc = " 保留的无效字段"]
    pub reserve1: TThostFtdcOldInstrumentIDType,
    #[doc = " 投机套保标志"]
    pub HedgeFlag: TThostFtdcHedgeFlagType,
    #[doc = " 交易所代码"]
    pub ExchangeID: TThostFtdcExchangeIDType,
    #[doc = " 投资单元代码"]
    pub InvestUnitID: TThostFtdcInvestUnitIDType,
    #[doc = " 品种/跨品种标示"]
    pub ProductGroupID: TThostFtdcInstrumentIDType,
}
impl Default for CThostFtdcQryInvestorProductGroupMarginField {
    fn default() -> Self {
        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
        unsafe {
            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
            s.assume_init()
        }
    }
}
#[doc = " 投资者品种/跨品种保证金"]
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct CThostFtdcInvestorProductGroupMarginField {
    #[doc = " 保留的无效字段"]
    pub reserve1: TThostFtdcOldInstrumentIDType,
    #[doc = " 经纪公司代码"]
    pub BrokerID: TThostFtdcBrokerIDType,
    #[doc = " 投资者代码"]
    pub InvestorID: TThostFtdcInvestorIDType,
    #[doc = " 交易日"]
    pub TradingDay: TThostFtdcDateType,
    #[doc = " 结算编号"]
    pub SettlementID: TThostFtdcSettlementIDType,
    #[doc = " 冻结的保证金"]
    pub FrozenMargin: TThostFtdcMoneyType,
    #[doc = " 多头冻结的保证金"]
    pub LongFrozenMargin: TThostFtdcMoneyType,
    #[doc = " 空头冻结的保证金"]
    pub ShortFrozenMargin: TThostFtdcMoneyType,
    #[doc = " 占用的保证金"]
    pub UseMargin: TThostFtdcMoneyType,
    #[doc = " 多头保证金"]
    pub LongUseMargin: TThostFtdcMoneyType,
    #[doc = " 空头保证金"]
    pub ShortUseMargin: TThostFtdcMoneyType,
    #[doc = " 交易所保证金"]
    pub ExchMargin: TThostFtdcMoneyType,
    #[doc = " 交易所多头保证金"]
    pub LongExchMargin: TThostFtdcMoneyType,
    #[doc = " 交易所空头保证金"]
    pub ShortExchMargin: TThostFtdcMoneyType,
    #[doc = " 平仓盈亏"]
    pub CloseProfit: TThostFtdcMoneyType,
    #[doc = " 冻结的手续费"]
    pub FrozenCommission: TThostFtdcMoneyType,
    #[doc = " 手续费"]
    pub Commission: TThostFtdcMoneyType,
    #[doc = " 冻结的资金"]
    pub FrozenCash: TThostFtdcMoneyType,
    #[doc = " 资金差额"]
    pub CashIn: TThostFtdcMoneyType,
    #[doc = " 持仓盈亏"]
    pub PositionProfit: TThostFtdcMoneyType,
    #[doc = " 折抵总金额"]
    pub OffsetAmount: TThostFtdcMoneyType,
    #[doc = " 多头折抵总金额"]
    pub LongOffsetAmount: TThostFtdcMoneyType,
    #[doc = " 空头折抵总金额"]
    pub ShortOffsetAmount: TThostFtdcMoneyType,
    #[doc = " 交易所折抵总金额"]
    pub ExchOffsetAmount: TThostFtdcMoneyType,
    #[doc = " 交易所多头折抵总金额"]
    pub LongExchOffsetAmount: TThostFtdcMoneyType,
    #[doc = " 交易所空头折抵总金额"]
    pub ShortExchOffsetAmount: TThostFtdcMoneyType,
    #[doc = " 投机套保标志"]
    pub HedgeFlag: TThostFtdcHedgeFlagType,
    #[doc = " 交易所代码"]
    pub ExchangeID: TThostFtdcExchangeIDType,
    #[doc = " 投资单元代码"]
    pub InvestUnitID: TThostFtdcInvestUnitIDType,
    #[doc = " 品种/跨品种标示"]
    pub ProductGroupID: TThostFtdcInstrumentIDType,
}
impl Default for CThostFtdcInvestorProductGroupMarginField {
    fn default() -> Self {
        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
        unsafe {
            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
            s.assume_init()
        }
    }
}
#[doc = " 查询监控中心用户令牌"]
#[repr(C)]
#[derive(Debug, Default, Copy, Clone)]
pub struct CThostFtdcQueryCFMMCTradingAccountTokenField {
    #[doc = " 经纪公司代码"]
    pub BrokerID: TThostFtdcBrokerIDType,
    #[doc = " 投资者代码"]
    pub InvestorID: TThostFtdcInvestorIDType,
    #[doc = " 投资单元代码"]
    pub InvestUnitID: TThostFtdcInvestUnitIDType,
}
#[doc = " 监控中心用户令牌"]
#[repr(C)]
#[derive(Debug, Default, Copy, Clone)]
pub struct CThostFtdcCFMMCTradingAccountTokenField {
    #[doc = " 经纪公司代码"]
    pub BrokerID: TThostFtdcBrokerIDType,
    #[doc = " 经纪公司统一编码"]
    pub ParticipantID: TThostFtdcParticipantIDType,
    #[doc = " 投资者帐号"]
    pub AccountID: TThostFtdcAccountIDType,
    #[doc = " 密钥编号"]
    pub KeyID: TThostFtdcSequenceNoType,
    #[doc = " 动态令牌"]
    pub Token: TThostFtdcCFMMCTokenType,
}
#[doc = " 查询产品组"]
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct CThostFtdcQryProductGroupField {
    #[doc = " 保留的无效字段"]
    pub reserve1: TThostFtdcOldInstrumentIDType,
    #[doc = " 交易所代码"]
    pub ExchangeID: TThostFtdcExchangeIDType,
    #[doc = " 产品代码"]
    pub ProductID: TThostFtdcInstrumentIDType,
}
impl Default for CThostFtdcQryProductGroupField {
    fn default() -> Self {
        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
        unsafe {
            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
            s.assume_init()
        }
    }
}
#[doc = " 投资者品种/跨品种保证金产品组"]
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct CThostFtdcProductGroupField {
    #[doc = " 保留的无效字段"]
    pub reserve1: TThostFtdcOldInstrumentIDType,
    #[doc = " 交易所代码"]
    pub ExchangeID: TThostFtdcExchangeIDType,
    #[doc = " 保留的无效字段"]
    pub reserve2: TThostFtdcOldInstrumentIDType,
    #[doc = " 产品代码"]
    pub ProductID: TThostFtdcInstrumentIDType,
    #[doc = " 产品组代码"]
    pub ProductGroupID: TThostFtdcInstrumentIDType,
}
impl Default for CThostFtdcProductGroupField {
    fn default() -> Self {
        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
        unsafe {
            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
            s.assume_init()
        }
    }
}
#[doc = " 交易所公告"]
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct CThostFtdcBulletinField {
    #[doc = " 交易所代码"]
    pub ExchangeID: TThostFtdcExchangeIDType,
    #[doc = " 交易日"]
    pub TradingDay: TThostFtdcDateType,
    #[doc = " 公告编号"]
    pub BulletinID: TThostFtdcBulletinIDType,
    #[doc = " 序列号"]
    pub SequenceNo: TThostFtdcSequenceNoType,
    #[doc = " 公告类型"]
    pub NewsType: TThostFtdcNewsTypeType,
    #[doc = " 紧急程度"]
    pub NewsUrgency: TThostFtdcNewsUrgencyType,
    #[doc = " 发送时间"]
    pub SendTime: TThostFtdcTimeType,
    #[doc = " 消息摘要"]
    pub Abstract: TThostFtdcAbstractType,
    #[doc = " 消息来源"]
    pub ComeFrom: TThostFtdcComeFromType,
    #[doc = " 消息正文"]
    pub Content: TThostFtdcContentType,
    #[doc = " WEB地址"]
    pub URLLink: TThostFtdcURLLinkType,
    #[doc = " 市场代码"]
    pub MarketID: TThostFtdcMarketIDType,
}
impl Default for CThostFtdcBulletinField {
    fn default() -> Self {
        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
        unsafe {
            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
            s.assume_init()
        }
    }
}
#[doc = " 查询交易所公告"]
#[repr(C)]
#[derive(Debug, Default, Copy, Clone)]
pub struct CThostFtdcQryBulletinField {
    #[doc = " 交易所代码"]
    pub ExchangeID: TThostFtdcExchangeIDType,
    #[doc = " 公告编号"]
    pub BulletinID: TThostFtdcBulletinIDType,
    #[doc = " 序列号"]
    pub SequenceNo: TThostFtdcSequenceNoType,
    #[doc = " 公告类型"]
    pub NewsType: TThostFtdcNewsTypeType,
    #[doc = " 紧急程度"]
    pub NewsUrgency: TThostFtdcNewsUrgencyType,
}
#[doc = " MulticastInstrument"]
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct CThostFtdcMulticastInstrumentField {
    #[doc = " 主题号"]
    pub TopicID: TThostFtdcInstallIDType,
    #[doc = " 保留的无效字段"]
    pub reserve1: TThostFtdcOldInstrumentIDType,
    #[doc = " 合约编号"]
    pub InstrumentNo: TThostFtdcInstallIDType,
    #[doc = " 基准价"]
    pub CodePrice: TThostFtdcPriceType,
    #[doc = " 合约数量乘数"]
    pub VolumeMultiple: TThostFtdcVolumeMultipleType,
    #[doc = " 最小变动价位"]
    pub PriceTick: TThostFtdcPriceType,
    #[doc = " 合约代码"]
    pub InstrumentID: TThostFtdcInstrumentIDType,
}
impl Default for CThostFtdcMulticastInstrumentField {
    fn default() -> Self {
        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
        unsafe {
            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
            s.assume_init()
        }
    }
}
#[doc = " QryMulticastInstrument"]
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct CThostFtdcQryMulticastInstrumentField {
    #[doc = " 主题号"]
    pub TopicID: TThostFtdcInstallIDType,
    #[doc = " 保留的无效字段"]
    pub reserve1: TThostFtdcOldInstrumentIDType,
    #[doc = " 合约代码"]
    pub InstrumentID: TThostFtdcInstrumentIDType,
}
impl Default for CThostFtdcQryMulticastInstrumentField {
    fn default() -> Self {
        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
        unsafe {
            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
            s.assume_init()
        }
    }
}
#[doc = " App客户端权限分配"]
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct CThostFtdcAppIDAuthAssignField {
    #[doc = " 经纪公司代码"]
    pub BrokerID: TThostFtdcBrokerIDType,
    #[doc = " App代码"]
    pub AppID: TThostFtdcAppIDType,
    #[doc = " 交易中心代码"]
    pub DRIdentityID: TThostFtdcDRIdentityIDType,
}
impl Default for CThostFtdcAppIDAuthAssignField {
    fn default() -> Self {
        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
        unsafe {
            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
            s.assume_init()
        }
    }
}
#[doc = " 转帐开户请求"]
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct CThostFtdcReqOpenAccountField {
    #[doc = " 业务功能码"]
    pub TradeCode: TThostFtdcTradeCodeType,
    #[doc = " 银行代码"]
    pub BankID: TThostFtdcBankIDType,
    #[doc = " 银行分支机构代码"]
    pub BankBranchID: TThostFtdcBankBrchIDType,
    #[doc = " 期商代码"]
    pub BrokerID: TThostFtdcBrokerIDType,
    #[doc = " 期商分支机构代码"]
    pub BrokerBranchID: TThostFtdcFutureBranchIDType,
    #[doc = " 交易日期"]
    pub TradeDate: TThostFtdcTradeDateType,
    #[doc = " 交易时间"]
    pub TradeTime: TThostFtdcTradeTimeType,
    #[doc = " 银行流水号"]
    pub BankSerial: TThostFtdcBankSerialType,
    #[doc = " 交易系统日期"]
    pub TradingDay: TThostFtdcTradeDateType,
    #[doc = " 银期平台消息流水号"]
    pub PlateSerial: TThostFtdcSerialType,
    #[doc = " 最后分片标志"]
    pub LastFragment: TThostFtdcLastFragmentType,
    #[doc = " 会话号"]
    pub SessionID: TThostFtdcSessionIDType,
    #[doc = " 客户姓名"]
    pub CustomerName: TThostFtdcIndividualNameType,
    #[doc = " 证件类型"]
    pub IdCardType: TThostFtdcIdCardTypeType,
    #[doc = " 证件号码"]
    pub IdentifiedCardNo: TThostFtdcIdentifiedCardNoType,
    #[doc = " 性别"]
    pub Gender: TThostFtdcGenderType,
    #[doc = " 国家代码"]
    pub CountryCode: TThostFtdcCountryCodeType,
    #[doc = " 客户类型"]
    pub CustType: TThostFtdcCustTypeType,
    #[doc = " 地址"]
    pub Address: TThostFtdcAddressType,
    #[doc = " 邮编"]
    pub ZipCode: TThostFtdcZipCodeType,
    #[doc = " 电话号码"]
    pub Telephone: TThostFtdcTelephoneType,
    #[doc = " 手机"]
    pub MobilePhone: TThostFtdcMobilePhoneType,
    #[doc = " 传真"]
    pub Fax: TThostFtdcFaxType,
    #[doc = " 电子邮件"]
    pub EMail: TThostFtdcEMailType,
    #[doc = " 资金账户状态"]
    pub MoneyAccountStatus: TThostFtdcMoneyAccountStatusType,
    #[doc = " 银行帐号"]
    pub BankAccount: TThostFtdcBankAccountType,
    #[doc = " 银行密码"]
    pub BankPassWord: TThostFtdcPasswordType,
    #[doc = " 投资者帐号"]
    pub AccountID: TThostFtdcAccountIDType,
    #[doc = " 期货密码"]
    pub Password: TThostFtdcPasswordType,
    #[doc = " 安装编号"]
    pub InstallID: TThostFtdcInstallIDType,
    #[doc = " 验证客户证件号码标志"]
    pub VerifyCertNoFlag: TThostFtdcYesNoIndicatorType,
    #[doc = " 币种代码"]
    pub CurrencyID: TThostFtdcCurrencyIDType,
    #[doc = " 汇钞标志"]
    pub CashExchangeCode: TThostFtdcCashExchangeCodeType,
    #[doc = " 摘要"]
    pub Digest: TThostFtdcDigestType,
    #[doc = " 银行帐号类型"]
    pub BankAccType: TThostFtdcBankAccTypeType,
    #[doc = " 渠道标志"]
    pub DeviceID: TThostFtdcDeviceIDType,
    #[doc = " 期货单位帐号类型"]
    pub BankSecuAccType: TThostFtdcBankAccTypeType,
    #[doc = " 期货公司银行编码"]
    pub BrokerIDByBank: TThostFtdcBankCodingForFutureType,
    #[doc = " 期货单位帐号"]
    pub BankSecuAcc: TThostFtdcBankAccountType,
    #[doc = " 银行密码标志"]
    pub BankPwdFlag: TThostFtdcPwdFlagType,
    #[doc = " 期货资金密码核对标志"]
    pub SecuPwdFlag: TThostFtdcPwdFlagType,
    #[doc = " 交易柜员"]
    pub OperNo: TThostFtdcOperNoType,
    #[doc = " 交易ID"]
    pub TID: TThostFtdcTIDType,
    #[doc = " 用户标识"]
    pub UserID: TThostFtdcUserIDType,
    #[doc = " 长客户姓名"]
    pub LongCustomerName: TThostFtdcLongIndividualNameType,
}
impl Default for CThostFtdcReqOpenAccountField {
    fn default() -> Self {
        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
        unsafe {
            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
            s.assume_init()
        }
    }
}
#[doc = " 转帐销户请求"]
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct CThostFtdcReqCancelAccountField {
    #[doc = " 业务功能码"]
    pub TradeCode: TThostFtdcTradeCodeType,
    #[doc = " 银行代码"]
    pub BankID: TThostFtdcBankIDType,
    #[doc = " 银行分支机构代码"]
    pub BankBranchID: TThostFtdcBankBrchIDType,
    #[doc = " 期商代码"]
    pub BrokerID: TThostFtdcBrokerIDType,
    #[doc = " 期商分支机构代码"]
    pub BrokerBranchID: TThostFtdcFutureBranchIDType,
    #[doc = " 交易日期"]
    pub TradeDate: TThostFtdcTradeDateType,
    #[doc = " 交易时间"]
    pub TradeTime: TThostFtdcTradeTimeType,
    #[doc = " 银行流水号"]
    pub BankSerial: TThostFtdcBankSerialType,
    #[doc = " 交易系统日期"]
    pub TradingDay: TThostFtdcTradeDateType,
    #[doc = " 银期平台消息流水号"]
    pub PlateSerial: TThostFtdcSerialType,
    #[doc = " 最后分片标志"]
    pub LastFragment: TThostFtdcLastFragmentType,
    #[doc = " 会话号"]
    pub SessionID: TThostFtdcSessionIDType,
    #[doc = " 客户姓名"]
    pub CustomerName: TThostFtdcIndividualNameType,
    #[doc = " 证件类型"]
    pub IdCardType: TThostFtdcIdCardTypeType,
    #[doc = " 证件号码"]
    pub IdentifiedCardNo: TThostFtdcIdentifiedCardNoType,
    #[doc = " 性别"]
    pub Gender: TThostFtdcGenderType,
    #[doc = " 国家代码"]
    pub CountryCode: TThostFtdcCountryCodeType,
    #[doc = " 客户类型"]
    pub CustType: TThostFtdcCustTypeType,
    #[doc = " 地址"]
    pub Address: TThostFtdcAddressType,
    #[doc = " 邮编"]
    pub ZipCode: TThostFtdcZipCodeType,
    #[doc = " 电话号码"]
    pub Telephone: TThostFtdcTelephoneType,
    #[doc = " 手机"]
    pub MobilePhone: TThostFtdcMobilePhoneType,
    #[doc = " 传真"]
    pub Fax: TThostFtdcFaxType,
    #[doc = " 电子邮件"]
    pub EMail: TThostFtdcEMailType,
    #[doc = " 资金账户状态"]
    pub MoneyAccountStatus: TThostFtdcMoneyAccountStatusType,
    #[doc = " 银行帐号"]
    pub BankAccount: TThostFtdcBankAccountType,
    #[doc = " 银行密码"]
    pub BankPassWord: TThostFtdcPasswordType,
    #[doc = " 投资者帐号"]
    pub AccountID: TThostFtdcAccountIDType,
    #[doc = " 期货密码"]
    pub Password: TThostFtdcPasswordType,
    #[doc = " 安装编号"]
    pub InstallID: TThostFtdcInstallIDType,
    #[doc = " 验证客户证件号码标志"]
    pub VerifyCertNoFlag: TThostFtdcYesNoIndicatorType,
    #[doc = " 币种代码"]
    pub CurrencyID: TThostFtdcCurrencyIDType,
    #[doc = " 汇钞标志"]
    pub CashExchangeCode: TThostFtdcCashExchangeCodeType,
    #[doc = " 摘要"]
    pub Digest: TThostFtdcDigestType,
    #[doc = " 银行帐号类型"]
    pub BankAccType: TThostFtdcBankAccTypeType,
    #[doc = " 渠道标志"]
    pub DeviceID: TThostFtdcDeviceIDType,
    #[doc = " 期货单位帐号类型"]
    pub BankSecuAccType: TThostFtdcBankAccTypeType,
    #[doc = " 期货公司银行编码"]
    pub BrokerIDByBank: TThostFtdcBankCodingForFutureType,
    #[doc = " 期货单位帐号"]
    pub BankSecuAcc: TThostFtdcBankAccountType,
    #[doc = " 银行密码标志"]
    pub BankPwdFlag: TThostFtdcPwdFlagType,
    #[doc = " 期货资金密码核对标志"]
    pub SecuPwdFlag: TThostFtdcPwdFlagType,
    #[doc = " 交易柜员"]
    pub OperNo: TThostFtdcOperNoType,
    #[doc = " 交易ID"]
    pub TID: TThostFtdcTIDType,
    #[doc = " 用户标识"]
    pub UserID: TThostFtdcUserIDType,
    #[doc = " 长客户姓名"]
    pub LongCustomerName: TThostFtdcLongIndividualNameType,
}
impl Default for CThostFtdcReqCancelAccountField {
    fn default() -> Self {
        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
        unsafe {
            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
            s.assume_init()
        }
    }
}
#[doc = " 变更银行账户请求"]
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct CThostFtdcReqChangeAccountField {
    #[doc = " 业务功能码"]
    pub TradeCode: TThostFtdcTradeCodeType,
    #[doc = " 银行代码"]
    pub BankID: TThostFtdcBankIDType,
    #[doc = " 银行分支机构代码"]
    pub BankBranchID: TThostFtdcBankBrchIDType,
    #[doc = " 期商代码"]
    pub BrokerID: TThostFtdcBrokerIDType,
    #[doc = " 期商分支机构代码"]
    pub BrokerBranchID: TThostFtdcFutureBranchIDType,
    #[doc = " 交易日期"]
    pub TradeDate: TThostFtdcTradeDateType,
    #[doc = " 交易时间"]
    pub TradeTime: TThostFtdcTradeTimeType,
    #[doc = " 银行流水号"]
    pub BankSerial: TThostFtdcBankSerialType,
    #[doc = " 交易系统日期"]
    pub TradingDay: TThostFtdcTradeDateType,
    #[doc = " 银期平台消息流水号"]
    pub PlateSerial: TThostFtdcSerialType,
    #[doc = " 最后分片标志"]
    pub LastFragment: TThostFtdcLastFragmentType,
    #[doc = " 会话号"]
    pub SessionID: TThostFtdcSessionIDType,
    #[doc = " 客户姓名"]
    pub CustomerName: TThostFtdcIndividualNameType,
    #[doc = " 证件类型"]
    pub IdCardType: TThostFtdcIdCardTypeType,
    #[doc = " 证件号码"]
    pub IdentifiedCardNo: TThostFtdcIdentifiedCardNoType,
    #[doc = " 性别"]
    pub Gender: TThostFtdcGenderType,
    #[doc = " 国家代码"]
    pub CountryCode: TThostFtdcCountryCodeType,
    #[doc = " 客户类型"]
    pub CustType: TThostFtdcCustTypeType,
    #[doc = " 地址"]
    pub Address: TThostFtdcAddressType,
    #[doc = " 邮编"]
    pub ZipCode: TThostFtdcZipCodeType,
    #[doc = " 电话号码"]
    pub Telephone: TThostFtdcTelephoneType,
    #[doc = " 手机"]
    pub MobilePhone: TThostFtdcMobilePhoneType,
    #[doc = " 传真"]
    pub Fax: TThostFtdcFaxType,
    #[doc = " 电子邮件"]
    pub EMail: TThostFtdcEMailType,
    #[doc = " 资金账户状态"]
    pub MoneyAccountStatus: TThostFtdcMoneyAccountStatusType,
    #[doc = " 银行帐号"]
    pub BankAccount: TThostFtdcBankAccountType,
    #[doc = " 银行密码"]
    pub BankPassWord: TThostFtdcPasswordType,
    #[doc = " 新银行帐号"]
    pub NewBankAccount: TThostFtdcBankAccountType,
    #[doc = " 新银行密码"]
    pub NewBankPassWord: TThostFtdcPasswordType,
    #[doc = " 投资者帐号"]
    pub AccountID: TThostFtdcAccountIDType,
    #[doc = " 期货密码"]
    pub Password: TThostFtdcPasswordType,
    #[doc = " 银行帐号类型"]
    pub BankAccType: TThostFtdcBankAccTypeType,
    #[doc = " 安装编号"]
    pub InstallID: TThostFtdcInstallIDType,
    #[doc = " 验证客户证件号码标志"]
    pub VerifyCertNoFlag: TThostFtdcYesNoIndicatorType,
    #[doc = " 币种代码"]
    pub CurrencyID: TThostFtdcCurrencyIDType,
    #[doc = " 期货公司银行编码"]
    pub BrokerIDByBank: TThostFtdcBankCodingForFutureType,
    #[doc = " 银行密码标志"]
    pub BankPwdFlag: TThostFtdcPwdFlagType,
    #[doc = " 期货资金密码核对标志"]
    pub SecuPwdFlag: TThostFtdcPwdFlagType,
    #[doc = " 交易ID"]
    pub TID: TThostFtdcTIDType,
    #[doc = " 摘要"]
    pub Digest: TThostFtdcDigestType,
    #[doc = " 长客户姓名"]
    pub LongCustomerName: TThostFtdcLongIndividualNameType,
}
impl Default for CThostFtdcReqChangeAccountField {
    fn default() -> Self {
        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
        unsafe {
            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
            s.assume_init()
        }
    }
}
#[doc = " 转账请求"]
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct CThostFtdcReqTransferField {
    #[doc = " 业务功能码"]
    pub TradeCode: TThostFtdcTradeCodeType,
    #[doc = " 银行代码"]
    pub BankID: TThostFtdcBankIDType,
    #[doc = " 银行分支机构代码"]
    pub BankBranchID: TThostFtdcBankBrchIDType,
    #[doc = " 期商代码"]
    pub BrokerID: TThostFtdcBrokerIDType,
    #[doc = " 期商分支机构代码"]
    pub BrokerBranchID: TThostFtdcFutureBranchIDType,
    #[doc = " 交易日期"]
    pub TradeDate: TThostFtdcTradeDateType,
    #[doc = " 交易时间"]
    pub TradeTime: TThostFtdcTradeTimeType,
    #[doc = " 银行流水号"]
    pub BankSerial: TThostFtdcBankSerialType,
    #[doc = " 交易系统日期"]
    pub TradingDay: TThostFtdcTradeDateType,
    #[doc = " 银期平台消息流水号"]
    pub PlateSerial: TThostFtdcSerialType,
    #[doc = " 最后分片标志"]
    pub LastFragment: TThostFtdcLastFragmentType,
    #[doc = " 会话号"]
    pub SessionID: TThostFtdcSessionIDType,
    #[doc = " 客户姓名"]
    pub CustomerName: TThostFtdcIndividualNameType,
    #[doc = " 证件类型"]
    pub IdCardType: TThostFtdcIdCardTypeType,
    #[doc = " 证件号码"]
    pub IdentifiedCardNo: TThostFtdcIdentifiedCardNoType,
    #[doc = " 客户类型"]
    pub CustType: TThostFtdcCustTypeType,
    #[doc = " 银行帐号"]
    pub BankAccount: TThostFtdcBankAccountType,
    #[doc = " 银行密码"]
    pub BankPassWord: TThostFtdcPasswordType,
    #[doc = " 投资者帐号"]
    pub AccountID: TThostFtdcAccountIDType,
    #[doc = " 期货密码"]
    pub Password: TThostFtdcPasswordType,
    #[doc = " 安装编号"]
    pub InstallID: TThostFtdcInstallIDType,
    #[doc = " 期货公司流水号"]
    pub FutureSerial: TThostFtdcFutureSerialType,
    #[doc = " 用户标识"]
    pub UserID: TThostFtdcUserIDType,
    #[doc = " 验证客户证件号码标志"]
    pub VerifyCertNoFlag: TThostFtdcYesNoIndicatorType,
    #[doc = " 币种代码"]
    pub CurrencyID: TThostFtdcCurrencyIDType,
    #[doc = " 转帐金额"]
    pub TradeAmount: TThostFtdcTradeAmountType,
    #[doc = " 期货可取金额"]
    pub FutureFetchAmount: TThostFtdcTradeAmountType,
    #[doc = " 费用支付标志"]
    pub FeePayFlag: TThostFtdcFeePayFlagType,
    #[doc = " 应收客户费用"]
    pub CustFee: TThostFtdcCustFeeType,
    #[doc = " 应收期货公司费用"]
    pub BrokerFee: TThostFtdcFutureFeeType,
    #[doc = " 发送方给接收方的消息"]
    pub Message: TThostFtdcAddInfoType,
    #[doc = " 摘要"]
    pub Digest: TThostFtdcDigestType,
    #[doc = " 银行帐号类型"]
    pub BankAccType: TThostFtdcBankAccTypeType,
    #[doc = " 渠道标志"]
    pub DeviceID: TThostFtdcDeviceIDType,
    #[doc = " 期货单位帐号类型"]
    pub BankSecuAccType: TThostFtdcBankAccTypeType,
    #[doc = " 期货公司银行编码"]
    pub BrokerIDByBank: TThostFtdcBankCodingForFutureType,
    #[doc = " 期货单位帐号"]
    pub BankSecuAcc: TThostFtdcBankAccountType,
    #[doc = " 银行密码标志"]
    pub BankPwdFlag: TThostFtdcPwdFlagType,
    #[doc = " 期货资金密码核对标志"]
    pub SecuPwdFlag: TThostFtdcPwdFlagType,
    #[doc = " 交易柜员"]
    pub OperNo: TThostFtdcOperNoType,
    #[doc = " 请求编号"]
    pub RequestID: TThostFtdcRequestIDType,
    #[doc = " 交易ID"]
    pub TID: TThostFtdcTIDType,
    #[doc = " 转账交易状态"]
    pub TransferStatus: TThostFtdcTransferStatusType,
    #[doc = " 长客户姓名"]
    pub LongCustomerName: TThostFtdcLongIndividualNameType,
}
impl Default for CThostFtdcReqTransferField {
    fn default() -> Self {
        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
        unsafe {
            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
            s.assume_init()
        }
    }
}
#[doc = " 银行发起银行资金转期货响应"]
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct CThostFtdcRspTransferField {
    #[doc = " 业务功能码"]
    pub TradeCode: TThostFtdcTradeCodeType,
    #[doc = " 银行代码"]
    pub BankID: TThostFtdcBankIDType,
    #[doc = " 银行分支机构代码"]
    pub BankBranchID: TThostFtdcBankBrchIDType,
    #[doc = " 期商代码"]
    pub BrokerID: TThostFtdcBrokerIDType,
    #[doc = " 期商分支机构代码"]
    pub BrokerBranchID: TThostFtdcFutureBranchIDType,
    #[doc = " 交易日期"]
    pub TradeDate: TThostFtdcTradeDateType,
    #[doc = " 交易时间"]
    pub TradeTime: TThostFtdcTradeTimeType,
    #[doc = " 银行流水号"]
    pub BankSerial: TThostFtdcBankSerialType,
    #[doc = " 交易系统日期"]
    pub TradingDay: TThostFtdcTradeDateType,
    #[doc = " 银期平台消息流水号"]
    pub PlateSerial: TThostFtdcSerialType,
    #[doc = " 最后分片标志"]
    pub LastFragment: TThostFtdcLastFragmentType,
    #[doc = " 会话号"]
    pub SessionID: TThostFtdcSessionIDType,
    #[doc = " 客户姓名"]
    pub CustomerName: TThostFtdcIndividualNameType,
    #[doc = " 证件类型"]
    pub IdCardType: TThostFtdcIdCardTypeType,
    #[doc = " 证件号码"]
    pub IdentifiedCardNo: TThostFtdcIdentifiedCardNoType,
    #[doc = " 客户类型"]
    pub CustType: TThostFtdcCustTypeType,
    #[doc = " 银行帐号"]
    pub BankAccount: TThostFtdcBankAccountType,
    #[doc = " 银行密码"]
    pub BankPassWord: TThostFtdcPasswordType,
    #[doc = " 投资者帐号"]
    pub AccountID: TThostFtdcAccountIDType,
    #[doc = " 期货密码"]
    pub Password: TThostFtdcPasswordType,
    #[doc = " 安装编号"]
    pub InstallID: TThostFtdcInstallIDType,
    #[doc = " 期货公司流水号"]
    pub FutureSerial: TThostFtdcFutureSerialType,
    #[doc = " 用户标识"]
    pub UserID: TThostFtdcUserIDType,
    #[doc = " 验证客户证件号码标志"]
    pub VerifyCertNoFlag: TThostFtdcYesNoIndicatorType,
    #[doc = " 币种代码"]
    pub CurrencyID: TThostFtdcCurrencyIDType,
    #[doc = " 转帐金额"]
    pub TradeAmount: TThostFtdcTradeAmountType,
    #[doc = " 期货可取金额"]
    pub FutureFetchAmount: TThostFtdcTradeAmountType,
    #[doc = " 费用支付标志"]
    pub FeePayFlag: TThostFtdcFeePayFlagType,
    #[doc = " 应收客户费用"]
    pub CustFee: TThostFtdcCustFeeType,
    #[doc = " 应收期货公司费用"]
    pub BrokerFee: TThostFtdcFutureFeeType,
    #[doc = " 发送方给接收方的消息"]
    pub Message: TThostFtdcAddInfoType,
    #[doc = " 摘要"]
    pub Digest: TThostFtdcDigestType,
    #[doc = " 银行帐号类型"]
    pub BankAccType: TThostFtdcBankAccTypeType,
    #[doc = " 渠道标志"]
    pub DeviceID: TThostFtdcDeviceIDType,
    #[doc = " 期货单位帐号类型"]
    pub BankSecuAccType: TThostFtdcBankAccTypeType,
    #[doc = " 期货公司银行编码"]
    pub BrokerIDByBank: TThostFtdcBankCodingForFutureType,
    #[doc = " 期货单位帐号"]
    pub BankSecuAcc: TThostFtdcBankAccountType,
    #[doc = " 银行密码标志"]
    pub BankPwdFlag: TThostFtdcPwdFlagType,
    #[doc = " 期货资金密码核对标志"]
    pub SecuPwdFlag: TThostFtdcPwdFlagType,
    #[doc = " 交易柜员"]
    pub OperNo: TThostFtdcOperNoType,
    #[doc = " 请求编号"]
    pub RequestID: TThostFtdcRequestIDType,
    #[doc = " 交易ID"]
    pub TID: TThostFtdcTIDType,
    #[doc = " 转账交易状态"]
    pub TransferStatus: TThostFtdcTransferStatusType,
    #[doc = " 错误代码"]
    pub ErrorID: TThostFtdcErrorIDType,
    #[doc = " 错误信息"]
    pub ErrorMsg: TThostFtdcErrorMsgType,
    #[doc = " 长客户姓名"]
    pub LongCustomerName: TThostFtdcLongIndividualNameType,
}
impl Default for CThostFtdcRspTransferField {
    fn default() -> Self {
        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
        unsafe {
            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
            s.assume_init()
        }
    }
}
#[doc = " 冲正请求"]
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct CThostFtdcReqRepealField {
    #[doc = " 冲正时间间隔"]
    pub RepealTimeInterval: TThostFtdcRepealTimeIntervalType,
    #[doc = " 已经冲正次数"]
    pub RepealedTimes: TThostFtdcRepealedTimesType,
    #[doc = " 银行冲正标志"]
    pub BankRepealFlag: TThostFtdcBankRepealFlagType,
    #[doc = " 期商冲正标志"]
    pub BrokerRepealFlag: TThostFtdcBrokerRepealFlagType,
    #[doc = " 被冲正平台流水号"]
    pub PlateRepealSerial: TThostFtdcPlateSerialType,
    #[doc = " 被冲正银行流水号"]
    pub BankRepealSerial: TThostFtdcBankSerialType,
    #[doc = " 被冲正期货流水号"]
    pub FutureRepealSerial: TThostFtdcFutureSerialType,
    #[doc = " 业务功能码"]
    pub TradeCode: TThostFtdcTradeCodeType,
    #[doc = " 银行代码"]
    pub BankID: TThostFtdcBankIDType,
    #[doc = " 银行分支机构代码"]
    pub BankBranchID: TThostFtdcBankBrchIDType,
    #[doc = " 期商代码"]
    pub BrokerID: TThostFtdcBrokerIDType,
    #[doc = " 期商分支机构代码"]
    pub BrokerBranchID: TThostFtdcFutureBranchIDType,
    #[doc = " 交易日期"]
    pub TradeDate: TThostFtdcTradeDateType,
    #[doc = " 交易时间"]
    pub TradeTime: TThostFtdcTradeTimeType,
    #[doc = " 银行流水号"]
    pub BankSerial: TThostFtdcBankSerialType,
    #[doc = " 交易系统日期"]
    pub TradingDay: TThostFtdcTradeDateType,
    #[doc = " 银期平台消息流水号"]
    pub PlateSerial: TThostFtdcSerialType,
    #[doc = " 最后分片标志"]
    pub LastFragment: TThostFtdcLastFragmentType,
    #[doc = " 会话号"]
    pub SessionID: TThostFtdcSessionIDType,
    #[doc = " 客户姓名"]
    pub CustomerName: TThostFtdcIndividualNameType,
    #[doc = " 证件类型"]
    pub IdCardType: TThostFtdcIdCardTypeType,
    #[doc = " 证件号码"]
    pub IdentifiedCardNo: TThostFtdcIdentifiedCardNoType,
    #[doc = " 客户类型"]
    pub CustType: TThostFtdcCustTypeType,
    #[doc = " 银行帐号"]
    pub BankAccount: TThostFtdcBankAccountType,
    #[doc = " 银行密码"]
    pub BankPassWord: TThostFtdcPasswordType,
    #[doc = " 投资者帐号"]
    pub AccountID: TThostFtdcAccountIDType,
    #[doc = " 期货密码"]
    pub Password: TThostFtdcPasswordType,
    #[doc = " 安装编号"]
    pub InstallID: TThostFtdcInstallIDType,
    #[doc = " 期货公司流水号"]
    pub FutureSerial: TThostFtdcFutureSerialType,
    #[doc = " 用户标识"]
    pub UserID: TThostFtdcUserIDType,
    #[doc = " 验证客户证件号码标志"]
    pub VerifyCertNoFlag: TThostFtdcYesNoIndicatorType,
    #[doc = " 币种代码"]
    pub CurrencyID: TThostFtdcCurrencyIDType,
    #[doc = " 转帐金额"]
    pub TradeAmount: TThostFtdcTradeAmountType,
    #[doc = " 期货可取金额"]
    pub FutureFetchAmount: TThostFtdcTradeAmountType,
    #[doc = " 费用支付标志"]
    pub FeePayFlag: TThostFtdcFeePayFlagType,
    #[doc = " 应收客户费用"]
    pub CustFee: TThostFtdcCustFeeType,
    #[doc = " 应收期货公司费用"]
    pub BrokerFee: TThostFtdcFutureFeeType,
    #[doc = " 发送方给接收方的消息"]
    pub Message: TThostFtdcAddInfoType,
    #[doc = " 摘要"]
    pub Digest: TThostFtdcDigestType,
    #[doc = " 银行帐号类型"]
    pub BankAccType: TThostFtdcBankAccTypeType,
    #[doc = " 渠道标志"]
    pub DeviceID: TThostFtdcDeviceIDType,
    #[doc = " 期货单位帐号类型"]
    pub BankSecuAccType: TThostFtdcBankAccTypeType,
    #[doc = " 期货公司银行编码"]
    pub BrokerIDByBank: TThostFtdcBankCodingForFutureType,
    #[doc = " 期货单位帐号"]
    pub BankSecuAcc: TThostFtdcBankAccountType,
    #[doc = " 银行密码标志"]
    pub BankPwdFlag: TThostFtdcPwdFlagType,
    #[doc = " 期货资金密码核对标志"]
    pub SecuPwdFlag: TThostFtdcPwdFlagType,
    #[doc = " 交易柜员"]
    pub OperNo: TThostFtdcOperNoType,
    #[doc = " 请求编号"]
    pub RequestID: TThostFtdcRequestIDType,
    #[doc = " 交易ID"]
    pub TID: TThostFtdcTIDType,
    #[doc = " 转账交易状态"]
    pub TransferStatus: TThostFtdcTransferStatusType,
    #[doc = " 长客户姓名"]
    pub LongCustomerName: TThostFtdcLongIndividualNameType,
}
impl Default for CThostFtdcReqRepealField {
    fn default() -> Self {
        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
        unsafe {
            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
            s.assume_init()
        }
    }
}
#[doc = " 冲正响应"]
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct CThostFtdcRspRepealField {
    #[doc = " 冲正时间间隔"]
    pub RepealTimeInterval: TThostFtdcRepealTimeIntervalType,
    #[doc = " 已经冲正次数"]
    pub RepealedTimes: TThostFtdcRepealedTimesType,
    #[doc = " 银行冲正标志"]
    pub BankRepealFlag: TThostFtdcBankRepealFlagType,
    #[doc = " 期商冲正标志"]
    pub BrokerRepealFlag: TThostFtdcBrokerRepealFlagType,
    #[doc = " 被冲正平台流水号"]
    pub PlateRepealSerial: TThostFtdcPlateSerialType,
    #[doc = " 被冲正银行流水号"]
    pub BankRepealSerial: TThostFtdcBankSerialType,
    #[doc = " 被冲正期货流水号"]
    pub FutureRepealSerial: TThostFtdcFutureSerialType,
    #[doc = " 业务功能码"]
    pub TradeCode: TThostFtdcTradeCodeType,
    #[doc = " 银行代码"]
    pub BankID: TThostFtdcBankIDType,
    #[doc = " 银行分支机构代码"]
    pub BankBranchID: TThostFtdcBankBrchIDType,
    #[doc = " 期商代码"]
    pub BrokerID: TThostFtdcBrokerIDType,
    #[doc = " 期商分支机构代码"]
    pub BrokerBranchID: TThostFtdcFutureBranchIDType,
    #[doc = " 交易日期"]
    pub TradeDate: TThostFtdcTradeDateType,
    #[doc = " 交易时间"]
    pub TradeTime: TThostFtdcTradeTimeType,
    #[doc = " 银行流水号"]
    pub BankSerial: TThostFtdcBankSerialType,
    #[doc = " 交易系统日期"]
    pub TradingDay: TThostFtdcTradeDateType,
    #[doc = " 银期平台消息流水号"]
    pub PlateSerial: TThostFtdcSerialType,
    #[doc = " 最后分片标志"]
    pub LastFragment: TThostFtdcLastFragmentType,
    #[doc = " 会话号"]
    pub SessionID: TThostFtdcSessionIDType,
    #[doc = " 客户姓名"]
    pub CustomerName: TThostFtdcIndividualNameType,
    #[doc = " 证件类型"]
    pub IdCardType: TThostFtdcIdCardTypeType,
    #[doc = " 证件号码"]
    pub IdentifiedCardNo: TThostFtdcIdentifiedCardNoType,
    #[doc = " 客户类型"]
    pub CustType: TThostFtdcCustTypeType,
    #[doc = " 银行帐号"]
    pub BankAccount: TThostFtdcBankAccountType,
    #[doc = " 银行密码"]
    pub BankPassWord: TThostFtdcPasswordType,
    #[doc = " 投资者帐号"]
    pub AccountID: TThostFtdcAccountIDType,
    #[doc = " 期货密码"]
    pub Password: TThostFtdcPasswordType,
    #[doc = " 安装编号"]
    pub InstallID: TThostFtdcInstallIDType,
    #[doc = " 期货公司流水号"]
    pub FutureSerial: TThostFtdcFutureSerialType,
    #[doc = " 用户标识"]
    pub UserID: TThostFtdcUserIDType,
    #[doc = " 验证客户证件号码标志"]
    pub VerifyCertNoFlag: TThostFtdcYesNoIndicatorType,
    #[doc = " 币种代码"]
    pub CurrencyID: TThostFtdcCurrencyIDType,
    #[doc = " 转帐金额"]
    pub TradeAmount: TThostFtdcTradeAmountType,
    #[doc = " 期货可取金额"]
    pub FutureFetchAmount: TThostFtdcTradeAmountType,
    #[doc = " 费用支付标志"]
    pub FeePayFlag: TThostFtdcFeePayFlagType,
    #[doc = " 应收客户费用"]
    pub CustFee: TThostFtdcCustFeeType,
    #[doc = " 应收期货公司费用"]
    pub BrokerFee: TThostFtdcFutureFeeType,
    #[doc = " 发送方给接收方的消息"]
    pub Message: TThostFtdcAddInfoType,
    #[doc = " 摘要"]
    pub Digest: TThostFtdcDigestType,
    #[doc = " 银行帐号类型"]
    pub BankAccType: TThostFtdcBankAccTypeType,
    #[doc = " 渠道标志"]
    pub DeviceID: TThostFtdcDeviceIDType,
    #[doc = " 期货单位帐号类型"]
    pub BankSecuAccType: TThostFtdcBankAccTypeType,
    #[doc = " 期货公司银行编码"]
    pub BrokerIDByBank: TThostFtdcBankCodingForFutureType,
    #[doc = " 期货单位帐号"]
    pub BankSecuAcc: TThostFtdcBankAccountType,
    #[doc = " 银行密码标志"]
    pub BankPwdFlag: TThostFtdcPwdFlagType,
    #[doc = " 期货资金密码核对标志"]
    pub SecuPwdFlag: TThostFtdcPwdFlagType,
    #[doc = " 交易柜员"]
    pub OperNo: TThostFtdcOperNoType,
    #[doc = " 请求编号"]
    pub RequestID: TThostFtdcRequestIDType,
    #[doc = " 交易ID"]
    pub TID: TThostFtdcTIDType,
    #[doc = " 转账交易状态"]
    pub TransferStatus: TThostFtdcTransferStatusType,
    #[doc = " 错误代码"]
    pub ErrorID: TThostFtdcErrorIDType,
    #[doc = " 错误信息"]
    pub ErrorMsg: TThostFtdcErrorMsgType,
    #[doc = " 长客户姓名"]
    pub LongCustomerName: TThostFtdcLongIndividualNameType,
}
impl Default for CThostFtdcRspRepealField {
    fn default() -> Self {
        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
        unsafe {
            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
            s.assume_init()
        }
    }
}
#[doc = " 查询账户信息请求"]
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct CThostFtdcReqQueryAccountField {
    #[doc = " 业务功能码"]
    pub TradeCode: TThostFtdcTradeCodeType,
    #[doc = " 银行代码"]
    pub BankID: TThostFtdcBankIDType,
    #[doc = " 银行分支机构代码"]
    pub BankBranchID: TThostFtdcBankBrchIDType,
    #[doc = " 期商代码"]
    pub BrokerID: TThostFtdcBrokerIDType,
    #[doc = " 期商分支机构代码"]
    pub BrokerBranchID: TThostFtdcFutureBranchIDType,
    #[doc = " 交易日期"]
    pub TradeDate: TThostFtdcTradeDateType,
    #[doc = " 交易时间"]
    pub TradeTime: TThostFtdcTradeTimeType,
    #[doc = " 银行流水号"]
    pub BankSerial: TThostFtdcBankSerialType,
    #[doc = " 交易系统日期"]
    pub TradingDay: TThostFtdcTradeDateType,
    #[doc = " 银期平台消息流水号"]
    pub PlateSerial: TThostFtdcSerialType,
    #[doc = " 最后分片标志"]
    pub LastFragment: TThostFtdcLastFragmentType,
    #[doc = " 会话号"]
    pub SessionID: TThostFtdcSessionIDType,
    #[doc = " 客户姓名"]
    pub CustomerName: TThostFtdcIndividualNameType,
    #[doc = " 证件类型"]
    pub IdCardType: TThostFtdcIdCardTypeType,
    #[doc = " 证件号码"]
    pub IdentifiedCardNo: TThostFtdcIdentifiedCardNoType,
    #[doc = " 客户类型"]
    pub CustType: TThostFtdcCustTypeType,
    #[doc = " 银行帐号"]
    pub BankAccount: TThostFtdcBankAccountType,
    #[doc = " 银行密码"]
    pub BankPassWord: TThostFtdcPasswordType,
    #[doc = " 投资者帐号"]
    pub AccountID: TThostFtdcAccountIDType,
    #[doc = " 期货密码"]
    pub Password: TThostFtdcPasswordType,
    #[doc = " 期货公司流水号"]
    pub FutureSerial: TThostFtdcFutureSerialType,
    #[doc = " 安装编号"]
    pub InstallID: TThostFtdcInstallIDType,
    #[doc = " 用户标识"]
    pub UserID: TThostFtdcUserIDType,
    #[doc = " 验证客户证件号码标志"]
    pub VerifyCertNoFlag: TThostFtdcYesNoIndicatorType,
    #[doc = " 币种代码"]
    pub CurrencyID: TThostFtdcCurrencyIDType,
    #[doc = " 摘要"]
    pub Digest: TThostFtdcDigestType,
    #[doc = " 银行帐号类型"]
    pub BankAccType: TThostFtdcBankAccTypeType,
    #[doc = " 渠道标志"]
    pub DeviceID: TThostFtdcDeviceIDType,
    #[doc = " 期货单位帐号类型"]
    pub BankSecuAccType: TThostFtdcBankAccTypeType,
    #[doc = " 期货公司银行编码"]
    pub BrokerIDByBank: TThostFtdcBankCodingForFutureType,
    #[doc = " 期货单位帐号"]
    pub BankSecuAcc: TThostFtdcBankAccountType,
    #[doc = " 银行密码标志"]
    pub BankPwdFlag: TThostFtdcPwdFlagType,
    #[doc = " 期货资金密码核对标志"]
    pub SecuPwdFlag: TThostFtdcPwdFlagType,
    #[doc = " 交易柜员"]
    pub OperNo: TThostFtdcOperNoType,
    #[doc = " 请求编号"]
    pub RequestID: TThostFtdcRequestIDType,
    #[doc = " 交易ID"]
    pub TID: TThostFtdcTIDType,
    #[doc = " 长客户姓名"]
    pub LongCustomerName: TThostFtdcLongIndividualNameType,
}
impl Default for CThostFtdcReqQueryAccountField {
    fn default() -> Self {
        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
        unsafe {
            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
            s.assume_init()
        }
    }
}
#[doc = " 查询账户信息响应"]
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct CThostFtdcRspQueryAccountField {
    #[doc = " 业务功能码"]
    pub TradeCode: TThostFtdcTradeCodeType,
    #[doc = " 银行代码"]
    pub BankID: TThostFtdcBankIDType,
    #[doc = " 银行分支机构代码"]
    pub BankBranchID: TThostFtdcBankBrchIDType,
    #[doc = " 期商代码"]
    pub BrokerID: TThostFtdcBrokerIDType,
    #[doc = " 期商分支机构代码"]
    pub BrokerBranchID: TThostFtdcFutureBranchIDType,
    #[doc = " 交易日期"]
    pub TradeDate: TThostFtdcTradeDateType,
    #[doc = " 交易时间"]
    pub TradeTime: TThostFtdcTradeTimeType,
    #[doc = " 银行流水号"]
    pub BankSerial: TThostFtdcBankSerialType,
    #[doc = " 交易系统日期"]
    pub TradingDay: TThostFtdcTradeDateType,
    #[doc = " 银期平台消息流水号"]
    pub PlateSerial: TThostFtdcSerialType,
    #[doc = " 最后分片标志"]
    pub LastFragment: TThostFtdcLastFragmentType,
    #[doc = " 会话号"]
    pub SessionID: TThostFtdcSessionIDType,
    #[doc = " 客户姓名"]
    pub CustomerName: TThostFtdcIndividualNameType,
    #[doc = " 证件类型"]
    pub IdCardType: TThostFtdcIdCardTypeType,
    #[doc = " 证件号码"]
    pub IdentifiedCardNo: TThostFtdcIdentifiedCardNoType,
    #[doc = " 客户类型"]
    pub CustType: TThostFtdcCustTypeType,
    #[doc = " 银行帐号"]
    pub BankAccount: TThostFtdcBankAccountType,
    #[doc = " 银行密码"]
    pub BankPassWord: TThostFtdcPasswordType,
    #[doc = " 投资者帐号"]
    pub AccountID: TThostFtdcAccountIDType,
    #[doc = " 期货密码"]
    pub Password: TThostFtdcPasswordType,
    #[doc = " 期货公司流水号"]
    pub FutureSerial: TThostFtdcFutureSerialType,
    #[doc = " 安装编号"]
    pub InstallID: TThostFtdcInstallIDType,
    #[doc = " 用户标识"]
    pub UserID: TThostFtdcUserIDType,
    #[doc = " 验证客户证件号码标志"]
    pub VerifyCertNoFlag: TThostFtdcYesNoIndicatorType,
    #[doc = " 币种代码"]
    pub CurrencyID: TThostFtdcCurrencyIDType,
    #[doc = " 摘要"]
    pub Digest: TThostFtdcDigestType,
    #[doc = " 银行帐号类型"]
    pub BankAccType: TThostFtdcBankAccTypeType,
    #[doc = " 渠道标志"]
    pub DeviceID: TThostFtdcDeviceIDType,
    #[doc = " 期货单位帐号类型"]
    pub BankSecuAccType: TThostFtdcBankAccTypeType,
    #[doc = " 期货公司银行编码"]
    pub BrokerIDByBank: TThostFtdcBankCodingForFutureType,
    #[doc = " 期货单位帐号"]
    pub BankSecuAcc: TThostFtdcBankAccountType,
    #[doc = " 银行密码标志"]
    pub BankPwdFlag: TThostFtdcPwdFlagType,
    #[doc = " 期货资金密码核对标志"]
    pub SecuPwdFlag: TThostFtdcPwdFlagType,
    #[doc = " 交易柜员"]
    pub OperNo: TThostFtdcOperNoType,
    #[doc = " 请求编号"]
    pub RequestID: TThostFtdcRequestIDType,
    #[doc = " 交易ID"]
    pub TID: TThostFtdcTIDType,
    #[doc = " 银行可用金额"]
    pub BankUseAmount: TThostFtdcTradeAmountType,
    #[doc = " 银行可取金额"]
    pub BankFetchAmount: TThostFtdcTradeAmountType,
    #[doc = " 长客户姓名"]
    pub LongCustomerName: TThostFtdcLongIndividualNameType,
}
impl Default for CThostFtdcRspQueryAccountField {
    fn default() -> Self {
        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
        unsafe {
            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
            s.assume_init()
        }
    }
}
#[doc = " 期商签到签退"]
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct CThostFtdcFutureSignIOField {
    #[doc = " 业务功能码"]
    pub TradeCode: TThostFtdcTradeCodeType,
    #[doc = " 银行代码"]
    pub BankID: TThostFtdcBankIDType,
    #[doc = " 银行分支机构代码"]
    pub BankBranchID: TThostFtdcBankBrchIDType,
    #[doc = " 期商代码"]
    pub BrokerID: TThostFtdcBrokerIDType,
    #[doc = " 期商分支机构代码"]
    pub BrokerBranchID: TThostFtdcFutureBranchIDType,
    #[doc = " 交易日期"]
    pub TradeDate: TThostFtdcTradeDateType,
    #[doc = " 交易时间"]
    pub TradeTime: TThostFtdcTradeTimeType,
    #[doc = " 银行流水号"]
    pub BankSerial: TThostFtdcBankSerialType,
    #[doc = " 交易系统日期"]
    pub TradingDay: TThostFtdcTradeDateType,
    #[doc = " 银期平台消息流水号"]
    pub PlateSerial: TThostFtdcSerialType,
    #[doc = " 最后分片标志"]
    pub LastFragment: TThostFtdcLastFragmentType,
    #[doc = " 会话号"]
    pub SessionID: TThostFtdcSessionIDType,
    #[doc = " 安装编号"]
    pub InstallID: TThostFtdcInstallIDType,
    #[doc = " 用户标识"]
    pub UserID: TThostFtdcUserIDType,
    #[doc = " 摘要"]
    pub Digest: TThostFtdcDigestType,
    #[doc = " 币种代码"]
    pub CurrencyID: TThostFtdcCurrencyIDType,
    #[doc = " 渠道标志"]
    pub DeviceID: TThostFtdcDeviceIDType,
    #[doc = " 期货公司银行编码"]
    pub BrokerIDByBank: TThostFtdcBankCodingForFutureType,
    #[doc = " 交易柜员"]
    pub OperNo: TThostFtdcOperNoType,
    #[doc = " 请求编号"]
    pub RequestID: TThostFtdcRequestIDType,
    #[doc = " 交易ID"]
    pub TID: TThostFtdcTIDType,
}
impl Default for CThostFtdcFutureSignIOField {
    fn default() -> Self {
        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
        unsafe {
            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
            s.assume_init()
        }
    }
}
#[doc = " 期商签到响应"]
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct CThostFtdcRspFutureSignInField {
    #[doc = " 业务功能码"]
    pub TradeCode: TThostFtdcTradeCodeType,
    #[doc = " 银行代码"]
    pub BankID: TThostFtdcBankIDType,
    #[doc = " 银行分支机构代码"]
    pub BankBranchID: TThostFtdcBankBrchIDType,
    #[doc = " 期商代码"]
    pub BrokerID: TThostFtdcBrokerIDType,
    #[doc = " 期商分支机构代码"]
    pub BrokerBranchID: TThostFtdcFutureBranchIDType,
    #[doc = " 交易日期"]
    pub TradeDate: TThostFtdcTradeDateType,
    #[doc = " 交易时间"]
    pub TradeTime: TThostFtdcTradeTimeType,
    #[doc = " 银行流水号"]
    pub BankSerial: TThostFtdcBankSerialType,
    #[doc = " 交易系统日期"]
    pub TradingDay: TThostFtdcTradeDateType,
    #[doc = " 银期平台消息流水号"]
    pub PlateSerial: TThostFtdcSerialType,
    #[doc = " 最后分片标志"]
    pub LastFragment: TThostFtdcLastFragmentType,
    #[doc = " 会话号"]
    pub SessionID: TThostFtdcSessionIDType,
    #[doc = " 安装编号"]
    pub InstallID: TThostFtdcInstallIDType,
    #[doc = " 用户标识"]
    pub UserID: TThostFtdcUserIDType,
    #[doc = " 摘要"]
    pub Digest: TThostFtdcDigestType,
    #[doc = " 币种代码"]
    pub CurrencyID: TThostFtdcCurrencyIDType,
    #[doc = " 渠道标志"]
    pub DeviceID: TThostFtdcDeviceIDType,
    #[doc = " 期货公司银行编码"]
    pub BrokerIDByBank: TThostFtdcBankCodingForFutureType,
    #[doc = " 交易柜员"]
    pub OperNo: TThostFtdcOperNoType,
    #[doc = " 请求编号"]
    pub RequestID: TThostFtdcRequestIDType,
    #[doc = " 交易ID"]
    pub TID: TThostFtdcTIDType,
    #[doc = " 错误代码"]
    pub ErrorID: TThostFtdcErrorIDType,
    #[doc = " 错误信息"]
    pub ErrorMsg: TThostFtdcErrorMsgType,
    #[doc = " PIN密钥"]
    pub PinKey: TThostFtdcPasswordKeyType,
    #[doc = " MAC密钥"]
    pub MacKey: TThostFtdcPasswordKeyType,
}
impl Default for CThostFtdcRspFutureSignInField {
    fn default() -> Self {
        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
        unsafe {
            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
            s.assume_init()
        }
    }
}
#[doc = " 期商签退请求"]
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct CThostFtdcReqFutureSignOutField {
    #[doc = " 业务功能码"]
    pub TradeCode: TThostFtdcTradeCodeType,
    #[doc = " 银行代码"]
    pub BankID: TThostFtdcBankIDType,
    #[doc = " 银行分支机构代码"]
    pub BankBranchID: TThostFtdcBankBrchIDType,
    #[doc = " 期商代码"]
    pub BrokerID: TThostFtdcBrokerIDType,
    #[doc = " 期商分支机构代码"]
    pub BrokerBranchID: TThostFtdcFutureBranchIDType,
    #[doc = " 交易日期"]
    pub TradeDate: TThostFtdcTradeDateType,
    #[doc = " 交易时间"]
    pub TradeTime: TThostFtdcTradeTimeType,
    #[doc = " 银行流水号"]
    pub BankSerial: TThostFtdcBankSerialType,
    #[doc = " 交易系统日期"]
    pub TradingDay: TThostFtdcTradeDateType,
    #[doc = " 银期平台消息流水号"]
    pub PlateSerial: TThostFtdcSerialType,
    #[doc = " 最后分片标志"]
    pub LastFragment: TThostFtdcLastFragmentType,
    #[doc = " 会话号"]
    pub SessionID: TThostFtdcSessionIDType,
    #[doc = " 安装编号"]
    pub InstallID: TThostFtdcInstallIDType,
    #[doc = " 用户标识"]
    pub UserID: TThostFtdcUserIDType,
    #[doc = " 摘要"]
    pub Digest: TThostFtdcDigestType,
    #[doc = " 币种代码"]
    pub CurrencyID: TThostFtdcCurrencyIDType,
    #[doc = " 渠道标志"]
    pub DeviceID: TThostFtdcDeviceIDType,
    #[doc = " 期货公司银行编码"]
    pub BrokerIDByBank: TThostFtdcBankCodingForFutureType,
    #[doc = " 交易柜员"]
    pub OperNo: TThostFtdcOperNoType,
    #[doc = " 请求编号"]
    pub RequestID: TThostFtdcRequestIDType,
    #[doc = " 交易ID"]
    pub TID: TThostFtdcTIDType,
}
impl Default for CThostFtdcReqFutureSignOutField {
    fn default() -> Self {
        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
        unsafe {
            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
            s.assume_init()
        }
    }
}
#[doc = " 期商签退响应"]
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct CThostFtdcRspFutureSignOutField {
    #[doc = " 业务功能码"]
    pub TradeCode: TThostFtdcTradeCodeType,
    #[doc = " 银行代码"]
    pub BankID: TThostFtdcBankIDType,
    #[doc = " 银行分支机构代码"]
    pub BankBranchID: TThostFtdcBankBrchIDType,
    #[doc = " 期商代码"]
    pub BrokerID: TThostFtdcBrokerIDType,
    #[doc = " 期商分支机构代码"]
    pub BrokerBranchID: TThostFtdcFutureBranchIDType,
    #[doc = " 交易日期"]
    pub TradeDate: TThostFtdcTradeDateType,
    #[doc = " 交易时间"]
    pub TradeTime: TThostFtdcTradeTimeType,
    #[doc = " 银行流水号"]
    pub BankSerial: TThostFtdcBankSerialType,
    #[doc = " 交易系统日期"]
    pub TradingDay: TThostFtdcTradeDateType,
    #[doc = " 银期平台消息流水号"]
    pub PlateSerial: TThostFtdcSerialType,
    #[doc = " 最后分片标志"]
    pub LastFragment: TThostFtdcLastFragmentType,
    #[doc = " 会话号"]
    pub SessionID: TThostFtdcSessionIDType,
    #[doc = " 安装编号"]
    pub InstallID: TThostFtdcInstallIDType,
    #[doc = " 用户标识"]
    pub UserID: TThostFtdcUserIDType,
    #[doc = " 摘要"]
    pub Digest: TThostFtdcDigestType,
    #[doc = " 币种代码"]
    pub CurrencyID: TThostFtdcCurrencyIDType,
    #[doc = " 渠道标志"]
    pub DeviceID: TThostFtdcDeviceIDType,
    #[doc = " 期货公司银行编码"]
    pub BrokerIDByBank: TThostFtdcBankCodingForFutureType,
    #[doc = " 交易柜员"]
    pub OperNo: TThostFtdcOperNoType,
    #[doc = " 请求编号"]
    pub RequestID: TThostFtdcRequestIDType,
    #[doc = " 交易ID"]
    pub TID: TThostFtdcTIDType,
    #[doc = " 错误代码"]
    pub ErrorID: TThostFtdcErrorIDType,
    #[doc = " 错误信息"]
    pub ErrorMsg: TThostFtdcErrorMsgType,
}
impl Default for CThostFtdcRspFutureSignOutField {
    fn default() -> Self {
        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
        unsafe {
            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
            s.assume_init()
        }
    }
}
#[doc = " 查询指定流水号的交易结果请求"]
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct CThostFtdcReqQueryTradeResultBySerialField {
    #[doc = " 业务功能码"]
    pub TradeCode: TThostFtdcTradeCodeType,
    #[doc = " 银行代码"]
    pub BankID: TThostFtdcBankIDType,
    #[doc = " 银行分支机构代码"]
    pub BankBranchID: TThostFtdcBankBrchIDType,
    #[doc = " 期商代码"]
    pub BrokerID: TThostFtdcBrokerIDType,
    #[doc = " 期商分支机构代码"]
    pub BrokerBranchID: TThostFtdcFutureBranchIDType,
    #[doc = " 交易日期"]
    pub TradeDate: TThostFtdcTradeDateType,
    #[doc = " 交易时间"]
    pub TradeTime: TThostFtdcTradeTimeType,
    #[doc = " 银行流水号"]
    pub BankSerial: TThostFtdcBankSerialType,
    #[doc = " 交易系统日期"]
    pub TradingDay: TThostFtdcTradeDateType,
    #[doc = " 银期平台消息流水号"]
    pub PlateSerial: TThostFtdcSerialType,
    #[doc = " 最后分片标志"]
    pub LastFragment: TThostFtdcLastFragmentType,
    #[doc = " 会话号"]
    pub SessionID: TThostFtdcSessionIDType,
    #[doc = " 流水号"]
    pub Reference: TThostFtdcSerialType,
    #[doc = " 本流水号发布者的机构类型"]
    pub RefrenceIssureType: TThostFtdcInstitutionTypeType,
    #[doc = " 本流水号发布者机构编码"]
    pub RefrenceIssure: TThostFtdcOrganCodeType,
    #[doc = " 客户姓名"]
    pub CustomerName: TThostFtdcIndividualNameType,
    #[doc = " 证件类型"]
    pub IdCardType: TThostFtdcIdCardTypeType,
    #[doc = " 证件号码"]
    pub IdentifiedCardNo: TThostFtdcIdentifiedCardNoType,
    #[doc = " 客户类型"]
    pub CustType: TThostFtdcCustTypeType,
    #[doc = " 银行帐号"]
    pub BankAccount: TThostFtdcBankAccountType,
    #[doc = " 银行密码"]
    pub BankPassWord: TThostFtdcPasswordType,
    #[doc = " 投资者帐号"]
    pub AccountID: TThostFtdcAccountIDType,
    #[doc = " 期货密码"]
    pub Password: TThostFtdcPasswordType,
    #[doc = " 币种代码"]
    pub CurrencyID: TThostFtdcCurrencyIDType,
    #[doc = " 转帐金额"]
    pub TradeAmount: TThostFtdcTradeAmountType,
    #[doc = " 摘要"]
    pub Digest: TThostFtdcDigestType,
    #[doc = " 长客户姓名"]
    pub LongCustomerName: TThostFtdcLongIndividualNameType,
}
impl Default for CThostFtdcReqQueryTradeResultBySerialField {
    fn default() -> Self {
        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
        unsafe {
            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
            s.assume_init()
        }
    }
}
#[doc = " 查询指定流水号的交易结果响应"]
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct CThostFtdcRspQueryTradeResultBySerialField {
    #[doc = " 业务功能码"]
    pub TradeCode: TThostFtdcTradeCodeType,
    #[doc = " 银行代码"]
    pub BankID: TThostFtdcBankIDType,
    #[doc = " 银行分支机构代码"]
    pub BankBranchID: TThostFtdcBankBrchIDType,
    #[doc = " 期商代码"]
    pub BrokerID: TThostFtdcBrokerIDType,
    #[doc = " 期商分支机构代码"]
    pub BrokerBranchID: TThostFtdcFutureBranchIDType,
    #[doc = " 交易日期"]
    pub TradeDate: TThostFtdcTradeDateType,
    #[doc = " 交易时间"]
    pub TradeTime: TThostFtdcTradeTimeType,
    #[doc = " 银行流水号"]
    pub BankSerial: TThostFtdcBankSerialType,
    #[doc = " 交易系统日期"]
    pub TradingDay: TThostFtdcTradeDateType,
    #[doc = " 银期平台消息流水号"]
    pub PlateSerial: TThostFtdcSerialType,
    #[doc = " 最后分片标志"]
    pub LastFragment: TThostFtdcLastFragmentType,
    #[doc = " 会话号"]
    pub SessionID: TThostFtdcSessionIDType,
    #[doc = " 错误代码"]
    pub ErrorID: TThostFtdcErrorIDType,
    #[doc = " 错误信息"]
    pub ErrorMsg: TThostFtdcErrorMsgType,
    #[doc = " 流水号"]
    pub Reference: TThostFtdcSerialType,
    #[doc = " 本流水号发布者的机构类型"]
    pub RefrenceIssureType: TThostFtdcInstitutionTypeType,
    #[doc = " 本流水号发布者机构编码"]
    pub RefrenceIssure: TThostFtdcOrganCodeType,
    #[doc = " 原始返回代码"]
    pub OriginReturnCode: TThostFtdcReturnCodeType,
    #[doc = " 原始返回码描述"]
    pub OriginDescrInfoForReturnCode: TThostFtdcDescrInfoForReturnCodeType,
    #[doc = " 银行帐号"]
    pub BankAccount: TThostFtdcBankAccountType,
    #[doc = " 银行密码"]
    pub BankPassWord: TThostFtdcPasswordType,
    #[doc = " 投资者帐号"]
    pub AccountID: TThostFtdcAccountIDType,
    #[doc = " 期货密码"]
    pub Password: TThostFtdcPasswordType,
    #[doc = " 币种代码"]
    pub CurrencyID: TThostFtdcCurrencyIDType,
    #[doc = " 转帐金额"]
    pub TradeAmount: TThostFtdcTradeAmountType,
    #[doc = " 摘要"]
    pub Digest: TThostFtdcDigestType,
}
impl Default for CThostFtdcRspQueryTradeResultBySerialField {
    fn default() -> Self {
        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
        unsafe {
            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
            s.assume_init()
        }
    }
}
#[doc = " 日终文件就绪请求"]
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct CThostFtdcReqDayEndFileReadyField {
    #[doc = " 业务功能码"]
    pub TradeCode: TThostFtdcTradeCodeType,
    #[doc = " 银行代码"]
    pub BankID: TThostFtdcBankIDType,
    #[doc = " 银行分支机构代码"]
    pub BankBranchID: TThostFtdcBankBrchIDType,
    #[doc = " 期商代码"]
    pub BrokerID: TThostFtdcBrokerIDType,
    #[doc = " 期商分支机构代码"]
    pub BrokerBranchID: TThostFtdcFutureBranchIDType,
    #[doc = " 交易日期"]
    pub TradeDate: TThostFtdcTradeDateType,
    #[doc = " 交易时间"]
    pub TradeTime: TThostFtdcTradeTimeType,
    #[doc = " 银行流水号"]
    pub BankSerial: TThostFtdcBankSerialType,
    #[doc = " 交易系统日期"]
    pub TradingDay: TThostFtdcTradeDateType,
    #[doc = " 银期平台消息流水号"]
    pub PlateSerial: TThostFtdcSerialType,
    #[doc = " 最后分片标志"]
    pub LastFragment: TThostFtdcLastFragmentType,
    #[doc = " 会话号"]
    pub SessionID: TThostFtdcSessionIDType,
    #[doc = " 文件业务功能"]
    pub FileBusinessCode: TThostFtdcFileBusinessCodeType,
    #[doc = " 摘要"]
    pub Digest: TThostFtdcDigestType,
}
impl Default for CThostFtdcReqDayEndFileReadyField {
    fn default() -> Self {
        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
        unsafe {
            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
            s.assume_init()
        }
    }
}
#[doc = " 返回结果"]
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct CThostFtdcReturnResultField {
    #[doc = " 返回代码"]
    pub ReturnCode: TThostFtdcReturnCodeType,
    #[doc = " 返回码描述"]
    pub DescrInfoForReturnCode: TThostFtdcDescrInfoForReturnCodeType,
}
impl Default for CThostFtdcReturnResultField {
    fn default() -> Self {
        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
        unsafe {
            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
            s.assume_init()
        }
    }
}
#[doc = " 验证期货资金密码"]
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct CThostFtdcVerifyFuturePasswordField {
    #[doc = " 业务功能码"]
    pub TradeCode: TThostFtdcTradeCodeType,
    #[doc = " 银行代码"]
    pub BankID: TThostFtdcBankIDType,
    #[doc = " 银行分支机构代码"]
    pub BankBranchID: TThostFtdcBankBrchIDType,
    #[doc = " 期商代码"]
    pub BrokerID: TThostFtdcBrokerIDType,
    #[doc = " 期商分支机构代码"]
    pub BrokerBranchID: TThostFtdcFutureBranchIDType,
    #[doc = " 交易日期"]
    pub TradeDate: TThostFtdcTradeDateType,
    #[doc = " 交易时间"]
    pub TradeTime: TThostFtdcTradeTimeType,
    #[doc = " 银行流水号"]
    pub BankSerial: TThostFtdcBankSerialType,
    #[doc = " 交易系统日期"]
    pub TradingDay: TThostFtdcTradeDateType,
    #[doc = " 银期平台消息流水号"]
    pub PlateSerial: TThostFtdcSerialType,
    #[doc = " 最后分片标志"]
    pub LastFragment: TThostFtdcLastFragmentType,
    #[doc = " 会话号"]
    pub SessionID: TThostFtdcSessionIDType,
    #[doc = " 投资者帐号"]
    pub AccountID: TThostFtdcAccountIDType,
    #[doc = " 期货密码"]
    pub Password: TThostFtdcPasswordType,
    #[doc = " 银行帐号"]
    pub BankAccount: TThostFtdcBankAccountType,
    #[doc = " 银行密码"]
    pub BankPassWord: TThostFtdcPasswordType,
    #[doc = " 安装编号"]
    pub InstallID: TThostFtdcInstallIDType,
    #[doc = " 交易ID"]
    pub TID: TThostFtdcTIDType,
    #[doc = " 币种代码"]
    pub CurrencyID: TThostFtdcCurrencyIDType,
}
impl Default for CThostFtdcVerifyFuturePasswordField {
    fn default() -> Self {
        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
        unsafe {
            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
            s.assume_init()
        }
    }
}
#[doc = " 验证客户信息"]
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct CThostFtdcVerifyCustInfoField {
    #[doc = " 客户姓名"]
    pub CustomerName: TThostFtdcIndividualNameType,
    #[doc = " 证件类型"]
    pub IdCardType: TThostFtdcIdCardTypeType,
    #[doc = " 证件号码"]
    pub IdentifiedCardNo: TThostFtdcIdentifiedCardNoType,
    #[doc = " 客户类型"]
    pub CustType: TThostFtdcCustTypeType,
    #[doc = " 长客户姓名"]
    pub LongCustomerName: TThostFtdcLongIndividualNameType,
}
impl Default for CThostFtdcVerifyCustInfoField {
    fn default() -> Self {
        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
        unsafe {
            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
            s.assume_init()
        }
    }
}
#[doc = " 验证期货资金密码和客户信息"]
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct CThostFtdcVerifyFuturePasswordAndCustInfoField {
    #[doc = " 客户姓名"]
    pub CustomerName: TThostFtdcIndividualNameType,
    #[doc = " 证件类型"]
    pub IdCardType: TThostFtdcIdCardTypeType,
    #[doc = " 证件号码"]
    pub IdentifiedCardNo: TThostFtdcIdentifiedCardNoType,
    #[doc = " 客户类型"]
    pub CustType: TThostFtdcCustTypeType,
    #[doc = " 投资者帐号"]
    pub AccountID: TThostFtdcAccountIDType,
    #[doc = " 期货密码"]
    pub Password: TThostFtdcPasswordType,
    #[doc = " 币种代码"]
    pub CurrencyID: TThostFtdcCurrencyIDType,
    #[doc = " 长客户姓名"]
    pub LongCustomerName: TThostFtdcLongIndividualNameType,
}
impl Default for CThostFtdcVerifyFuturePasswordAndCustInfoField {
    fn default() -> Self {
        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
        unsafe {
            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
            s.assume_init()
        }
    }
}
#[doc = " 验证期货资金密码和客户信息"]
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct CThostFtdcDepositResultInformField {
    #[doc = " 出入金流水号，该流水号为银期报盘返回的流水号"]
    pub DepositSeqNo: TThostFtdcDepositSeqNoType,
    #[doc = " 经纪公司代码"]
    pub BrokerID: TThostFtdcBrokerIDType,
    #[doc = " 投资者代码"]
    pub InvestorID: TThostFtdcInvestorIDType,
    #[doc = " 入金金额"]
    pub Deposit: TThostFtdcMoneyType,
    #[doc = " 请求编号"]
    pub RequestID: TThostFtdcRequestIDType,
    #[doc = " 返回代码"]
    pub ReturnCode: TThostFtdcReturnCodeType,
    #[doc = " 返回码描述"]
    pub DescrInfoForReturnCode: TThostFtdcDescrInfoForReturnCodeType,
}
impl Default for CThostFtdcDepositResultInformField {
    fn default() -> Self {
        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
        unsafe {
            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
            s.assume_init()
        }
    }
}
#[doc = " 交易核心向银期报盘发出密钥同步请求"]
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct CThostFtdcReqSyncKeyField {
    #[doc = " 业务功能码"]
    pub TradeCode: TThostFtdcTradeCodeType,
    #[doc = " 银行代码"]
    pub BankID: TThostFtdcBankIDType,
    #[doc = " 银行分支机构代码"]
    pub BankBranchID: TThostFtdcBankBrchIDType,
    #[doc = " 期商代码"]
    pub BrokerID: TThostFtdcBrokerIDType,
    #[doc = " 期商分支机构代码"]
    pub BrokerBranchID: TThostFtdcFutureBranchIDType,
    #[doc = " 交易日期"]
    pub TradeDate: TThostFtdcTradeDateType,
    #[doc = " 交易时间"]
    pub TradeTime: TThostFtdcTradeTimeType,
    #[doc = " 银行流水号"]
    pub BankSerial: TThostFtdcBankSerialType,
    #[doc = " 交易系统日期"]
    pub TradingDay: TThostFtdcTradeDateType,
    #[doc = " 银期平台消息流水号"]
    pub PlateSerial: TThostFtdcSerialType,
    #[doc = " 最后分片标志"]
    pub LastFragment: TThostFtdcLastFragmentType,
    #[doc = " 会话号"]
    pub SessionID: TThostFtdcSessionIDType,
    #[doc = " 安装编号"]
    pub InstallID: TThostFtdcInstallIDType,
    #[doc = " 用户标识"]
    pub UserID: TThostFtdcUserIDType,
    #[doc = " 交易核心给银期报盘的消息"]
    pub Message: TThostFtdcAddInfoType,
    #[doc = " 渠道标志"]
    pub DeviceID: TThostFtdcDeviceIDType,
    #[doc = " 期货公司银行编码"]
    pub BrokerIDByBank: TThostFtdcBankCodingForFutureType,
    #[doc = " 交易柜员"]
    pub OperNo: TThostFtdcOperNoType,
    #[doc = " 请求编号"]
    pub RequestID: TThostFtdcRequestIDType,
    #[doc = " 交易ID"]
    pub TID: TThostFtdcTIDType,
}
impl Default for CThostFtdcReqSyncKeyField {
    fn default() -> Self {
        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
        unsafe {
            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
            s.assume_init()
        }
    }
}
#[doc = " 交易核心向银期报盘发出密钥同步响应"]
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct CThostFtdcRspSyncKeyField {
    #[doc = " 业务功能码"]
    pub TradeCode: TThostFtdcTradeCodeType,
    #[doc = " 银行代码"]
    pub BankID: TThostFtdcBankIDType,
    #[doc = " 银行分支机构代码"]
    pub BankBranchID: TThostFtdcBankBrchIDType,
    #[doc = " 期商代码"]
    pub BrokerID: TThostFtdcBrokerIDType,
    #[doc = " 期商分支机构代码"]
    pub BrokerBranchID: TThostFtdcFutureBranchIDType,
    #[doc = " 交易日期"]
    pub TradeDate: TThostFtdcTradeDateType,
    #[doc = " 交易时间"]
    pub TradeTime: TThostFtdcTradeTimeType,
    #[doc = " 银行流水号"]
    pub BankSerial: TThostFtdcBankSerialType,
    #[doc = " 交易系统日期"]
    pub TradingDay: TThostFtdcTradeDateType,
    #[doc = " 银期平台消息流水号"]
    pub PlateSerial: TThostFtdcSerialType,
    #[doc = " 最后分片标志"]
    pub LastFragment: TThostFtdcLastFragmentType,
    #[doc = " 会话号"]
    pub SessionID: TThostFtdcSessionIDType,
    #[doc = " 安装编号"]
    pub InstallID: TThostFtdcInstallIDType,
    #[doc = " 用户标识"]
    pub UserID: TThostFtdcUserIDType,
    #[doc = " 交易核心给银期报盘的消息"]
    pub Message: TThostFtdcAddInfoType,
    #[doc = " 渠道标志"]
    pub DeviceID: TThostFtdcDeviceIDType,
    #[doc = " 期货公司银行编码"]
    pub BrokerIDByBank: TThostFtdcBankCodingForFutureType,
    #[doc = " 交易柜员"]
    pub OperNo: TThostFtdcOperNoType,
    #[doc = " 请求编号"]
    pub RequestID: TThostFtdcRequestIDType,
    #[doc = " 交易ID"]
    pub TID: TThostFtdcTIDType,
    #[doc = " 错误代码"]
    pub ErrorID: TThostFtdcErrorIDType,
    #[doc = " 错误信息"]
    pub ErrorMsg: TThostFtdcErrorMsgType,
}
impl Default for CThostFtdcRspSyncKeyField {
    fn default() -> Self {
        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
        unsafe {
            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
            s.assume_init()
        }
    }
}
#[doc = " 查询账户信息通知"]
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct CThostFtdcNotifyQueryAccountField {
    #[doc = " 业务功能码"]
    pub TradeCode: TThostFtdcTradeCodeType,
    #[doc = " 银行代码"]
    pub BankID: TThostFtdcBankIDType,
    #[doc = " 银行分支机构代码"]
    pub BankBranchID: TThostFtdcBankBrchIDType,
    #[doc = " 期商代码"]
    pub BrokerID: TThostFtdcBrokerIDType,
    #[doc = " 期商分支机构代码"]
    pub BrokerBranchID: TThostFtdcFutureBranchIDType,
    #[doc = " 交易日期"]
    pub TradeDate: TThostFtdcTradeDateType,
    #[doc = " 交易时间"]
    pub TradeTime: TThostFtdcTradeTimeType,
    #[doc = " 银行流水号"]
    pub BankSerial: TThostFtdcBankSerialType,
    #[doc = " 交易系统日期"]
    pub TradingDay: TThostFtdcTradeDateType,
    #[doc = " 银期平台消息流水号"]
    pub PlateSerial: TThostFtdcSerialType,
    #[doc = " 最后分片标志"]
    pub LastFragment: TThostFtdcLastFragmentType,
    #[doc = " 会话号"]
    pub SessionID: TThostFtdcSessionIDType,
    #[doc = " 客户姓名"]
    pub CustomerName: TThostFtdcIndividualNameType,
    #[doc = " 证件类型"]
    pub IdCardType: TThostFtdcIdCardTypeType,
    #[doc = " 证件号码"]
    pub IdentifiedCardNo: TThostFtdcIdentifiedCardNoType,
    #[doc = " 客户类型"]
    pub CustType: TThostFtdcCustTypeType,
    #[doc = " 银行帐号"]
    pub BankAccount: TThostFtdcBankAccountType,
    #[doc = " 银行密码"]
    pub BankPassWord: TThostFtdcPasswordType,
    #[doc = " 投资者帐号"]
    pub AccountID: TThostFtdcAccountIDType,
    #[doc = " 期货密码"]
    pub Password: TThostFtdcPasswordType,
    #[doc = " 期货公司流水号"]
    pub FutureSerial: TThostFtdcFutureSerialType,
    #[doc = " 安装编号"]
    pub InstallID: TThostFtdcInstallIDType,
    #[doc = " 用户标识"]
    pub UserID: TThostFtdcUserIDType,
    #[doc = " 验证客户证件号码标志"]
    pub VerifyCertNoFlag: TThostFtdcYesNoIndicatorType,
    #[doc = " 币种代码"]
    pub CurrencyID: TThostFtdcCurrencyIDType,
    #[doc = " 摘要"]
    pub Digest: TThostFtdcDigestType,
    #[doc = " 银行帐号类型"]
    pub BankAccType: TThostFtdcBankAccTypeType,
    #[doc = " 渠道标志"]
    pub DeviceID: TThostFtdcDeviceIDType,
    #[doc = " 期货单位帐号类型"]
    pub BankSecuAccType: TThostFtdcBankAccTypeType,
    #[doc = " 期货公司银行编码"]
    pub BrokerIDByBank: TThostFtdcBankCodingForFutureType,
    #[doc = " 期货单位帐号"]
    pub BankSecuAcc: TThostFtdcBankAccountType,
    #[doc = " 银行密码标志"]
    pub BankPwdFlag: TThostFtdcPwdFlagType,
    #[doc = " 期货资金密码核对标志"]
    pub SecuPwdFlag: TThostFtdcPwdFlagType,
    #[doc = " 交易柜员"]
    pub OperNo: TThostFtdcOperNoType,
    #[doc = " 请求编号"]
    pub RequestID: TThostFtdcRequestIDType,
    #[doc = " 交易ID"]
    pub TID: TThostFtdcTIDType,
    #[doc = " 银行可用金额"]
    pub BankUseAmount: TThostFtdcTradeAmountType,
    #[doc = " 银行可取金额"]
    pub BankFetchAmount: TThostFtdcTradeAmountType,
    #[doc = " 错误代码"]
    pub ErrorID: TThostFtdcErrorIDType,
    #[doc = " 错误信息"]
    pub ErrorMsg: TThostFtdcErrorMsgType,
    #[doc = " 长客户姓名"]
    pub LongCustomerName: TThostFtdcLongIndividualNameType,
}
impl Default for CThostFtdcNotifyQueryAccountField {
    fn default() -> Self {
        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
        unsafe {
            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
            s.assume_init()
        }
    }
}
#[doc = " 银期转账交易流水表"]
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct CThostFtdcTransferSerialField {
    #[doc = " 平台流水号"]
    pub PlateSerial: TThostFtdcPlateSerialType,
    #[doc = " 交易发起方日期"]
    pub TradeDate: TThostFtdcTradeDateType,
    #[doc = " 交易日期"]
    pub TradingDay: TThostFtdcDateType,
    #[doc = " 交易时间"]
    pub TradeTime: TThostFtdcTradeTimeType,
    #[doc = " 交易代码"]
    pub TradeCode: TThostFtdcTradeCodeType,
    #[doc = " 会话编号"]
    pub SessionID: TThostFtdcSessionIDType,
    #[doc = " 银行编码"]
    pub BankID: TThostFtdcBankIDType,
    #[doc = " 银行分支机构编码"]
    pub BankBranchID: TThostFtdcBankBrchIDType,
    #[doc = " 银行帐号类型"]
    pub BankAccType: TThostFtdcBankAccTypeType,
    #[doc = " 银行帐号"]
    pub BankAccount: TThostFtdcBankAccountType,
    #[doc = " 银行流水号"]
    pub BankSerial: TThostFtdcBankSerialType,
    #[doc = " 期货公司编码"]
    pub BrokerID: TThostFtdcBrokerIDType,
    #[doc = " 期商分支机构代码"]
    pub BrokerBranchID: TThostFtdcFutureBranchIDType,
    #[doc = " 期货公司帐号类型"]
    pub FutureAccType: TThostFtdcFutureAccTypeType,
    #[doc = " 投资者帐号"]
    pub AccountID: TThostFtdcAccountIDType,
    #[doc = " 投资者代码"]
    pub InvestorID: TThostFtdcInvestorIDType,
    #[doc = " 期货公司流水号"]
    pub FutureSerial: TThostFtdcFutureSerialType,
    #[doc = " 证件类型"]
    pub IdCardType: TThostFtdcIdCardTypeType,
    #[doc = " 证件号码"]
    pub IdentifiedCardNo: TThostFtdcIdentifiedCardNoType,
    #[doc = " 币种代码"]
    pub CurrencyID: TThostFtdcCurrencyIDType,
    #[doc = " 交易金额"]
    pub TradeAmount: TThostFtdcTradeAmountType,
    #[doc = " 应收客户费用"]
    pub CustFee: TThostFtdcCustFeeType,
    #[doc = " 应收期货公司费用"]
    pub BrokerFee: TThostFtdcFutureFeeType,
    #[doc = " 有效标志"]
    pub AvailabilityFlag: TThostFtdcAvailabilityFlagType,
    #[doc = " 操作员"]
    pub OperatorCode: TThostFtdcOperatorCodeType,
    #[doc = " 新银行帐号"]
    pub BankNewAccount: TThostFtdcBankAccountType,
    #[doc = " 错误代码"]
    pub ErrorID: TThostFtdcErrorIDType,
    #[doc = " 错误信息"]
    pub ErrorMsg: TThostFtdcErrorMsgType,
}
impl Default for CThostFtdcTransferSerialField {
    fn default() -> Self {
        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
        unsafe {
            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
            s.assume_init()
        }
    }
}
#[doc = " 请求查询转帐流水"]
#[repr(C)]
#[derive(Debug, Default, Copy, Clone)]
pub struct CThostFtdcQryTransferSerialField {
    #[doc = " 经纪公司代码"]
    pub BrokerID: TThostFtdcBrokerIDType,
    #[doc = " 投资者帐号"]
    pub AccountID: TThostFtdcAccountIDType,
    #[doc = " 银行编码"]
    pub BankID: TThostFtdcBankIDType,
    #[doc = " 币种代码"]
    pub CurrencyID: TThostFtdcCurrencyIDType,
}
#[doc = " 期商签到通知"]
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct CThostFtdcNotifyFutureSignInField {
    #[doc = " 业务功能码"]
    pub TradeCode: TThostFtdcTradeCodeType,
    #[doc = " 银行代码"]
    pub BankID: TThostFtdcBankIDType,
    #[doc = " 银行分支机构代码"]
    pub BankBranchID: TThostFtdcBankBrchIDType,
    #[doc = " 期商代码"]
    pub BrokerID: TThostFtdcBrokerIDType,
    #[doc = " 期商分支机构代码"]
    pub BrokerBranchID: TThostFtdcFutureBranchIDType,
    #[doc = " 交易日期"]
    pub TradeDate: TThostFtdcTradeDateType,
    #[doc = " 交易时间"]
    pub TradeTime: TThostFtdcTradeTimeType,
    #[doc = " 银行流水号"]
    pub BankSerial: TThostFtdcBankSerialType,
    #[doc = " 交易系统日期"]
    pub TradingDay: TThostFtdcTradeDateType,
    #[doc = " 银期平台消息流水号"]
    pub PlateSerial: TThostFtdcSerialType,
    #[doc = " 最后分片标志"]
    pub LastFragment: TThostFtdcLastFragmentType,
    #[doc = " 会话号"]
    pub SessionID: TThostFtdcSessionIDType,
    #[doc = " 安装编号"]
    pub InstallID: TThostFtdcInstallIDType,
    #[doc = " 用户标识"]
    pub UserID: TThostFtdcUserIDType,
    #[doc = " 摘要"]
    pub Digest: TThostFtdcDigestType,
    #[doc = " 币种代码"]
    pub CurrencyID: TThostFtdcCurrencyIDType,
    #[doc = " 渠道标志"]
    pub DeviceID: TThostFtdcDeviceIDType,
    #[doc = " 期货公司银行编码"]
    pub BrokerIDByBank: TThostFtdcBankCodingForFutureType,
    #[doc = " 交易柜员"]
    pub OperNo: TThostFtdcOperNoType,
    #[doc = " 请求编号"]
    pub RequestID: TThostFtdcRequestIDType,
    #[doc = " 交易ID"]
    pub TID: TThostFtdcTIDType,
    #[doc = " 错误代码"]
    pub ErrorID: TThostFtdcErrorIDType,
    #[doc = " 错误信息"]
    pub ErrorMsg: TThostFtdcErrorMsgType,
    #[doc = " PIN密钥"]
    pub PinKey: TThostFtdcPasswordKeyType,
    #[doc = " MAC密钥"]
    pub MacKey: TThostFtdcPasswordKeyType,
}
impl Default for CThostFtdcNotifyFutureSignInField {
    fn default() -> Self {
        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
        unsafe {
            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
            s.assume_init()
        }
    }
}
#[doc = " 期商签退通知"]
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct CThostFtdcNotifyFutureSignOutField {
    #[doc = " 业务功能码"]
    pub TradeCode: TThostFtdcTradeCodeType,
    #[doc = " 银行代码"]
    pub BankID: TThostFtdcBankIDType,
    #[doc = " 银行分支机构代码"]
    pub BankBranchID: TThostFtdcBankBrchIDType,
    #[doc = " 期商代码"]
    pub BrokerID: TThostFtdcBrokerIDType,
    #[doc = " 期商分支机构代码"]
    pub BrokerBranchID: TThostFtdcFutureBranchIDType,
    #[doc = " 交易日期"]
    pub TradeDate: TThostFtdcTradeDateType,
    #[doc = " 交易时间"]
    pub TradeTime: TThostFtdcTradeTimeType,
    #[doc = " 银行流水号"]
    pub BankSerial: TThostFtdcBankSerialType,
    #[doc = " 交易系统日期"]
    pub TradingDay: TThostFtdcTradeDateType,
    #[doc = " 银期平台消息流水号"]
    pub PlateSerial: TThostFtdcSerialType,
    #[doc = " 最后分片标志"]
    pub LastFragment: TThostFtdcLastFragmentType,
    #[doc = " 会话号"]
    pub SessionID: TThostFtdcSessionIDType,
    #[doc = " 安装编号"]
    pub InstallID: TThostFtdcInstallIDType,
    #[doc = " 用户标识"]
    pub UserID: TThostFtdcUserIDType,
    #[doc = " 摘要"]
    pub Digest: TThostFtdcDigestType,
    #[doc = " 币种代码"]
    pub CurrencyID: TThostFtdcCurrencyIDType,
    #[doc = " 渠道标志"]
    pub DeviceID: TThostFtdcDeviceIDType,
    #[doc = " 期货公司银行编码"]
    pub BrokerIDByBank: TThostFtdcBankCodingForFutureType,
    #[doc = " 交易柜员"]
    pub OperNo: TThostFtdcOperNoType,
    #[doc = " 请求编号"]
    pub RequestID: TThostFtdcRequestIDType,
    #[doc = " 交易ID"]
    pub TID: TThostFtdcTIDType,
    #[doc = " 错误代码"]
    pub ErrorID: TThostFtdcErrorIDType,
    #[doc = " 错误信息"]
    pub ErrorMsg: TThostFtdcErrorMsgType,
}
impl Default for CThostFtdcNotifyFutureSignOutField {
    fn default() -> Self {
        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
        unsafe {
            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
            s.assume_init()
        }
    }
}
#[doc = " 交易核心向银期报盘发出密钥同步处理结果的通知"]
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct CThostFtdcNotifySyncKeyField {
    #[doc = " 业务功能码"]
    pub TradeCode: TThostFtdcTradeCodeType,
    #[doc = " 银行代码"]
    pub BankID: TThostFtdcBankIDType,
    #[doc = " 银行分支机构代码"]
    pub BankBranchID: TThostFtdcBankBrchIDType,
    #[doc = " 期商代码"]
    pub BrokerID: TThostFtdcBrokerIDType,
    #[doc = " 期商分支机构代码"]
    pub BrokerBranchID: TThostFtdcFutureBranchIDType,
    #[doc = " 交易日期"]
    pub TradeDate: TThostFtdcTradeDateType,
    #[doc = " 交易时间"]
    pub TradeTime: TThostFtdcTradeTimeType,
    #[doc = " 银行流水号"]
    pub BankSerial: TThostFtdcBankSerialType,
    #[doc = " 交易系统日期"]
    pub TradingDay: TThostFtdcTradeDateType,
    #[doc = " 银期平台消息流水号"]
    pub PlateSerial: TThostFtdcSerialType,
    #[doc = " 最后分片标志"]
    pub LastFragment: TThostFtdcLastFragmentType,
    #[doc = " 会话号"]
    pub SessionID: TThostFtdcSessionIDType,
    #[doc = " 安装编号"]
    pub InstallID: TThostFtdcInstallIDType,
    #[doc = " 用户标识"]
    pub UserID: TThostFtdcUserIDType,
    #[doc = " 交易核心给银期报盘的消息"]
    pub Message: TThostFtdcAddInfoType,
    #[doc = " 渠道标志"]
    pub DeviceID: TThostFtdcDeviceIDType,
    #[doc = " 期货公司银行编码"]
    pub BrokerIDByBank: TThostFtdcBankCodingForFutureType,
    #[doc = " 交易柜员"]
    pub OperNo: TThostFtdcOperNoType,
    #[doc = " 请求编号"]
    pub RequestID: TThostFtdcRequestIDType,
    #[doc = " 交易ID"]
    pub TID: TThostFtdcTIDType,
    #[doc = " 错误代码"]
    pub ErrorID: TThostFtdcErrorIDType,
    #[doc = " 错误信息"]
    pub ErrorMsg: TThostFtdcErrorMsgType,
}
impl Default for CThostFtdcNotifySyncKeyField {
    fn default() -> Self {
        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
        unsafe {
            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
            s.assume_init()
        }
    }
}
#[doc = " 请求查询银期签约关系"]
#[repr(C)]
#[derive(Debug, Default, Copy, Clone)]
pub struct CThostFtdcQryAccountregisterField {
    #[doc = " 经纪公司代码"]
    pub BrokerID: TThostFtdcBrokerIDType,
    #[doc = " 投资者帐号"]
    pub AccountID: TThostFtdcAccountIDType,
    #[doc = " 银行编码"]
    pub BankID: TThostFtdcBankIDType,
    #[doc = " 银行分支机构编码"]
    pub BankBranchID: TThostFtdcBankBrchIDType,
    #[doc = " 币种代码"]
    pub CurrencyID: TThostFtdcCurrencyIDType,
}
#[doc = " 客户开销户信息表"]
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct CThostFtdcAccountregisterField {
    #[doc = " 交易日期"]
    pub TradeDay: TThostFtdcTradeDateType,
    #[doc = " 银行编码"]
    pub BankID: TThostFtdcBankIDType,
    #[doc = " 银行分支机构编码"]
    pub BankBranchID: TThostFtdcBankBrchIDType,
    #[doc = " 银行帐号"]
    pub BankAccount: TThostFtdcBankAccountType,
    #[doc = " 期货公司编码"]
    pub BrokerID: TThostFtdcBrokerIDType,
    #[doc = " 期货公司分支机构编码"]
    pub BrokerBranchID: TThostFtdcFutureBranchIDType,
    #[doc = " 投资者帐号"]
    pub AccountID: TThostFtdcAccountIDType,
    #[doc = " 证件类型"]
    pub IdCardType: TThostFtdcIdCardTypeType,
    #[doc = " 证件号码"]
    pub IdentifiedCardNo: TThostFtdcIdentifiedCardNoType,
    #[doc = " 客户姓名"]
    pub CustomerName: TThostFtdcIndividualNameType,
    #[doc = " 币种代码"]
    pub CurrencyID: TThostFtdcCurrencyIDType,
    #[doc = " 开销户类别"]
    pub OpenOrDestroy: TThostFtdcOpenOrDestroyType,
    #[doc = " 签约日期"]
    pub RegDate: TThostFtdcTradeDateType,
    #[doc = " 解约日期"]
    pub OutDate: TThostFtdcTradeDateType,
    #[doc = " 交易ID"]
    pub TID: TThostFtdcTIDType,
    #[doc = " 客户类型"]
    pub CustType: TThostFtdcCustTypeType,
    #[doc = " 银行帐号类型"]
    pub BankAccType: TThostFtdcBankAccTypeType,
    #[doc = " 长客户姓名"]
    pub LongCustomerName: TThostFtdcLongIndividualNameType,
}
impl Default for CThostFtdcAccountregisterField {
    fn default() -> Self {
        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
        unsafe {
            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
            s.assume_init()
        }
    }
}
#[doc = " 银期开户信息"]
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct CThostFtdcOpenAccountField {
    #[doc = " 业务功能码"]
    pub TradeCode: TThostFtdcTradeCodeType,
    #[doc = " 银行代码"]
    pub BankID: TThostFtdcBankIDType,
    #[doc = " 银行分支机构代码"]
    pub BankBranchID: TThostFtdcBankBrchIDType,
    #[doc = " 期商代码"]
    pub BrokerID: TThostFtdcBrokerIDType,
    #[doc = " 期商分支机构代码"]
    pub BrokerBranchID: TThostFtdcFutureBranchIDType,
    #[doc = " 交易日期"]
    pub TradeDate: TThostFtdcTradeDateType,
    #[doc = " 交易时间"]
    pub TradeTime: TThostFtdcTradeTimeType,
    #[doc = " 银行流水号"]
    pub BankSerial: TThostFtdcBankSerialType,
    #[doc = " 交易系统日期"]
    pub TradingDay: TThostFtdcTradeDateType,
    #[doc = " 银期平台消息流水号"]
    pub PlateSerial: TThostFtdcSerialType,
    #[doc = " 最后分片标志"]
    pub LastFragment: TThostFtdcLastFragmentType,
    #[doc = " 会话号"]
    pub SessionID: TThostFtdcSessionIDType,
    #[doc = " 客户姓名"]
    pub CustomerName: TThostFtdcIndividualNameType,
    #[doc = " 证件类型"]
    pub IdCardType: TThostFtdcIdCardTypeType,
    #[doc = " 证件号码"]
    pub IdentifiedCardNo: TThostFtdcIdentifiedCardNoType,
    #[doc = " 性别"]
    pub Gender: TThostFtdcGenderType,
    #[doc = " 国家代码"]
    pub CountryCode: TThostFtdcCountryCodeType,
    #[doc = " 客户类型"]
    pub CustType: TThostFtdcCustTypeType,
    #[doc = " 地址"]
    pub Address: TThostFtdcAddressType,
    #[doc = " 邮编"]
    pub ZipCode: TThostFtdcZipCodeType,
    #[doc = " 电话号码"]
    pub Telephone: TThostFtdcTelephoneType,
    #[doc = " 手机"]
    pub MobilePhone: TThostFtdcMobilePhoneType,
    #[doc = " 传真"]
    pub Fax: TThostFtdcFaxType,
    #[doc = " 电子邮件"]
    pub EMail: TThostFtdcEMailType,
    #[doc = " 资金账户状态"]
    pub MoneyAccountStatus: TThostFtdcMoneyAccountStatusType,
    #[doc = " 银行帐号"]
    pub BankAccount: TThostFtdcBankAccountType,
    #[doc = " 银行密码"]
    pub BankPassWord: TThostFtdcPasswordType,
    #[doc = " 投资者帐号"]
    pub AccountID: TThostFtdcAccountIDType,
    #[doc = " 期货密码"]
    pub Password: TThostFtdcPasswordType,
    #[doc = " 安装编号"]
    pub InstallID: TThostFtdcInstallIDType,
    #[doc = " 验证客户证件号码标志"]
    pub VerifyCertNoFlag: TThostFtdcYesNoIndicatorType,
    #[doc = " 币种代码"]
    pub CurrencyID: TThostFtdcCurrencyIDType,
    #[doc = " 汇钞标志"]
    pub CashExchangeCode: TThostFtdcCashExchangeCodeType,
    #[doc = " 摘要"]
    pub Digest: TThostFtdcDigestType,
    #[doc = " 银行帐号类型"]
    pub BankAccType: TThostFtdcBankAccTypeType,
    #[doc = " 渠道标志"]
    pub DeviceID: TThostFtdcDeviceIDType,
    #[doc = " 期货单位帐号类型"]
    pub BankSecuAccType: TThostFtdcBankAccTypeType,
    #[doc = " 期货公司银行编码"]
    pub BrokerIDByBank: TThostFtdcBankCodingForFutureType,
    #[doc = " 期货单位帐号"]
    pub BankSecuAcc: TThostFtdcBankAccountType,
    #[doc = " 银行密码标志"]
    pub BankPwdFlag: TThostFtdcPwdFlagType,
    #[doc = " 期货资金密码核对标志"]
    pub SecuPwdFlag: TThostFtdcPwdFlagType,
    #[doc = " 交易柜员"]
    pub OperNo: TThostFtdcOperNoType,
    #[doc = " 交易ID"]
    pub TID: TThostFtdcTIDType,
    #[doc = " 用户标识"]
    pub UserID: TThostFtdcUserIDType,
    #[doc = " 错误代码"]
    pub ErrorID: TThostFtdcErrorIDType,
    #[doc = " 错误信息"]
    pub ErrorMsg: TThostFtdcErrorMsgType,
    #[doc = " 长客户姓名"]
    pub LongCustomerName: TThostFtdcLongIndividualNameType,
}
impl Default for CThostFtdcOpenAccountField {
    fn default() -> Self {
        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
        unsafe {
            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
            s.assume_init()
        }
    }
}
#[doc = " 银期销户信息"]
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct CThostFtdcCancelAccountField {
    #[doc = " 业务功能码"]
    pub TradeCode: TThostFtdcTradeCodeType,
    #[doc = " 银行代码"]
    pub BankID: TThostFtdcBankIDType,
    #[doc = " 银行分支机构代码"]
    pub BankBranchID: TThostFtdcBankBrchIDType,
    #[doc = " 期商代码"]
    pub BrokerID: TThostFtdcBrokerIDType,
    #[doc = " 期商分支机构代码"]
    pub BrokerBranchID: TThostFtdcFutureBranchIDType,
    #[doc = " 交易日期"]
    pub TradeDate: TThostFtdcTradeDateType,
    #[doc = " 交易时间"]
    pub TradeTime: TThostFtdcTradeTimeType,
    #[doc = " 银行流水号"]
    pub BankSerial: TThostFtdcBankSerialType,
    #[doc = " 交易系统日期"]
    pub TradingDay: TThostFtdcTradeDateType,
    #[doc = " 银期平台消息流水号"]
    pub PlateSerial: TThostFtdcSerialType,
    #[doc = " 最后分片标志"]
    pub LastFragment: TThostFtdcLastFragmentType,
    #[doc = " 会话号"]
    pub SessionID: TThostFtdcSessionIDType,
    #[doc = " 客户姓名"]
    pub CustomerName: TThostFtdcIndividualNameType,
    #[doc = " 证件类型"]
    pub IdCardType: TThostFtdcIdCardTypeType,
    #[doc = " 证件号码"]
    pub IdentifiedCardNo: TThostFtdcIdentifiedCardNoType,
    #[doc = " 性别"]
    pub Gender: TThostFtdcGenderType,
    #[doc = " 国家代码"]
    pub CountryCode: TThostFtdcCountryCodeType,
    #[doc = " 客户类型"]
    pub CustType: TThostFtdcCustTypeType,
    #[doc = " 地址"]
    pub Address: TThostFtdcAddressType,
    #[doc = " 邮编"]
    pub ZipCode: TThostFtdcZipCodeType,
    #[doc = " 电话号码"]
    pub Telephone: TThostFtdcTelephoneType,
    #[doc = " 手机"]
    pub MobilePhone: TThostFtdcMobilePhoneType,
    #[doc = " 传真"]
    pub Fax: TThostFtdcFaxType,
    #[doc = " 电子邮件"]
    pub EMail: TThostFtdcEMailType,
    #[doc = " 资金账户状态"]
    pub MoneyAccountStatus: TThostFtdcMoneyAccountStatusType,
    #[doc = " 银行帐号"]
    pub BankAccount: TThostFtdcBankAccountType,
    #[doc = " 银行密码"]
    pub BankPassWord: TThostFtdcPasswordType,
    #[doc = " 投资者帐号"]
    pub AccountID: TThostFtdcAccountIDType,
    #[doc = " 期货密码"]
    pub Password: TThostFtdcPasswordType,
    #[doc = " 安装编号"]
    pub InstallID: TThostFtdcInstallIDType,
    #[doc = " 验证客户证件号码标志"]
    pub VerifyCertNoFlag: TThostFtdcYesNoIndicatorType,
    #[doc = " 币种代码"]
    pub CurrencyID: TThostFtdcCurrencyIDType,
    #[doc = " 汇钞标志"]
    pub CashExchangeCode: TThostFtdcCashExchangeCodeType,
    #[doc = " 摘要"]
    pub Digest: TThostFtdcDigestType,
    #[doc = " 银行帐号类型"]
    pub BankAccType: TThostFtdcBankAccTypeType,
    #[doc = " 渠道标志"]
    pub DeviceID: TThostFtdcDeviceIDType,
    #[doc = " 期货单位帐号类型"]
    pub BankSecuAccType: TThostFtdcBankAccTypeType,
    #[doc = " 期货公司银行编码"]
    pub BrokerIDByBank: TThostFtdcBankCodingForFutureType,
    #[doc = " 期货单位帐号"]
    pub BankSecuAcc: TThostFtdcBankAccountType,
    #[doc = " 银行密码标志"]
    pub BankPwdFlag: TThostFtdcPwdFlagType,
    #[doc = " 期货资金密码核对标志"]
    pub SecuPwdFlag: TThostFtdcPwdFlagType,
    #[doc = " 交易柜员"]
    pub OperNo: TThostFtdcOperNoType,
    #[doc = " 交易ID"]
    pub TID: TThostFtdcTIDType,
    #[doc = " 用户标识"]
    pub UserID: TThostFtdcUserIDType,
    #[doc = " 错误代码"]
    pub ErrorID: TThostFtdcErrorIDType,
    #[doc = " 错误信息"]
    pub ErrorMsg: TThostFtdcErrorMsgType,
    #[doc = " 长客户姓名"]
    pub LongCustomerName: TThostFtdcLongIndividualNameType,
}
impl Default for CThostFtdcCancelAccountField {
    fn default() -> Self {
        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
        unsafe {
            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
            s.assume_init()
        }
    }
}
#[doc = " 银期变更银行账号信息"]
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct CThostFtdcChangeAccountField {
    #[doc = " 业务功能码"]
    pub TradeCode: TThostFtdcTradeCodeType,
    #[doc = " 银行代码"]
    pub BankID: TThostFtdcBankIDType,
    #[doc = " 银行分支机构代码"]
    pub BankBranchID: TThostFtdcBankBrchIDType,
    #[doc = " 期商代码"]
    pub BrokerID: TThostFtdcBrokerIDType,
    #[doc = " 期商分支机构代码"]
    pub BrokerBranchID: TThostFtdcFutureBranchIDType,
    #[doc = " 交易日期"]
    pub TradeDate: TThostFtdcTradeDateType,
    #[doc = " 交易时间"]
    pub TradeTime: TThostFtdcTradeTimeType,
    #[doc = " 银行流水号"]
    pub BankSerial: TThostFtdcBankSerialType,
    #[doc = " 交易系统日期"]
    pub TradingDay: TThostFtdcTradeDateType,
    #[doc = " 银期平台消息流水号"]
    pub PlateSerial: TThostFtdcSerialType,
    #[doc = " 最后分片标志"]
    pub LastFragment: TThostFtdcLastFragmentType,
    #[doc = " 会话号"]
    pub SessionID: TThostFtdcSessionIDType,
    #[doc = " 客户姓名"]
    pub CustomerName: TThostFtdcIndividualNameType,
    #[doc = " 证件类型"]
    pub IdCardType: TThostFtdcIdCardTypeType,
    #[doc = " 证件号码"]
    pub IdentifiedCardNo: TThostFtdcIdentifiedCardNoType,
    #[doc = " 性别"]
    pub Gender: TThostFtdcGenderType,
    #[doc = " 国家代码"]
    pub CountryCode: TThostFtdcCountryCodeType,
    #[doc = " 客户类型"]
    pub CustType: TThostFtdcCustTypeType,
    #[doc = " 地址"]
    pub Address: TThostFtdcAddressType,
    #[doc = " 邮编"]
    pub ZipCode: TThostFtdcZipCodeType,
    #[doc = " 电话号码"]
    pub Telephone: TThostFtdcTelephoneType,
    #[doc = " 手机"]
    pub MobilePhone: TThostFtdcMobilePhoneType,
    #[doc = " 传真"]
    pub Fax: TThostFtdcFaxType,
    #[doc = " 电子邮件"]
    pub EMail: TThostFtdcEMailType,
    #[doc = " 资金账户状态"]
    pub MoneyAccountStatus: TThostFtdcMoneyAccountStatusType,
    #[doc = " 银行帐号"]
    pub BankAccount: TThostFtdcBankAccountType,
    #[doc = " 银行密码"]
    pub BankPassWord: TThostFtdcPasswordType,
    #[doc = " 新银行帐号"]
    pub NewBankAccount: TThostFtdcBankAccountType,
    #[doc = " 新银行密码"]
    pub NewBankPassWord: TThostFtdcPasswordType,
    #[doc = " 投资者帐号"]
    pub AccountID: TThostFtdcAccountIDType,
    #[doc = " 期货密码"]
    pub Password: TThostFtdcPasswordType,
    #[doc = " 银行帐号类型"]
    pub BankAccType: TThostFtdcBankAccTypeType,
    #[doc = " 安装编号"]
    pub InstallID: TThostFtdcInstallIDType,
    #[doc = " 验证客户证件号码标志"]
    pub VerifyCertNoFlag: TThostFtdcYesNoIndicatorType,
    #[doc = " 币种代码"]
    pub CurrencyID: TThostFtdcCurrencyIDType,
    #[doc = " 期货公司银行编码"]
    pub BrokerIDByBank: TThostFtdcBankCodingForFutureType,
    #[doc = " 银行密码标志"]
    pub BankPwdFlag: TThostFtdcPwdFlagType,
    #[doc = " 期货资金密码核对标志"]
    pub SecuPwdFlag: TThostFtdcPwdFlagType,
    #[doc = " 交易ID"]
    pub TID: TThostFtdcTIDType,
    #[doc = " 摘要"]
    pub Digest: TThostFtdcDigestType,
    #[doc = " 错误代码"]
    pub ErrorID: TThostFtdcErrorIDType,
    #[doc = " 错误信息"]
    pub ErrorMsg: TThostFtdcErrorMsgType,
    #[doc = " 长客户姓名"]
    pub LongCustomerName: TThostFtdcLongIndividualNameType,
}
impl Default for CThostFtdcChangeAccountField {
    fn default() -> Self {
        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
        unsafe {
            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
            s.assume_init()
        }
    }
}
#[doc = " 二级代理操作员银期权限"]
#[repr(C)]
#[derive(Debug, Default, Copy, Clone)]
pub struct CThostFtdcSecAgentACIDMapField {
    #[doc = " 经纪公司代码"]
    pub BrokerID: TThostFtdcBrokerIDType,
    #[doc = " 用户代码"]
    pub UserID: TThostFtdcUserIDType,
    #[doc = " 资金账户"]
    pub AccountID: TThostFtdcAccountIDType,
    #[doc = " 币种"]
    pub CurrencyID: TThostFtdcCurrencyIDType,
    #[doc = " 境外中介机构资金帐号"]
    pub BrokerSecAgentID: TThostFtdcAccountIDType,
}
#[doc = " 二级代理操作员银期权限查询"]
#[repr(C)]
#[derive(Debug, Default, Copy, Clone)]
pub struct CThostFtdcQrySecAgentACIDMapField {
    #[doc = " 经纪公司代码"]
    pub BrokerID: TThostFtdcBrokerIDType,
    #[doc = " 用户代码"]
    pub UserID: TThostFtdcUserIDType,
    #[doc = " 资金账户"]
    pub AccountID: TThostFtdcAccountIDType,
    #[doc = " 币种"]
    pub CurrencyID: TThostFtdcCurrencyIDType,
}
#[doc = " 灾备中心交易权限"]
#[repr(C)]
#[derive(Debug, Default, Copy, Clone)]
pub struct CThostFtdcUserRightsAssignField {
    #[doc = " 应用单元代码"]
    pub BrokerID: TThostFtdcBrokerIDType,
    #[doc = " 用户代码"]
    pub UserID: TThostFtdcUserIDType,
    #[doc = " 交易中心代码"]
    pub DRIdentityID: TThostFtdcDRIdentityIDType,
}
#[doc = " 经济公司是否有在本标示的交易权限"]
#[repr(C)]
#[derive(Debug, Default, Copy, Clone)]
pub struct CThostFtdcBrokerUserRightAssignField {
    #[doc = " 应用单元代码"]
    pub BrokerID: TThostFtdcBrokerIDType,
    #[doc = " 交易中心代码"]
    pub DRIdentityID: TThostFtdcDRIdentityIDType,
    #[doc = " 能否交易"]
    pub Tradeable: TThostFtdcBoolType,
}
#[doc = " 灾备交易转换报文"]
#[repr(C)]
#[derive(Debug, Default, Copy, Clone)]
pub struct CThostFtdcDRTransferField {
    #[doc = " 原交易中心代码"]
    pub OrigDRIdentityID: TThostFtdcDRIdentityIDType,
    #[doc = " 目标交易中心代码"]
    pub DestDRIdentityID: TThostFtdcDRIdentityIDType,
    #[doc = " 原应用单元代码"]
    pub OrigBrokerID: TThostFtdcBrokerIDType,
    #[doc = " 目标易用单元代码"]
    pub DestBrokerID: TThostFtdcBrokerIDType,
}
#[doc = " Fens用户信息"]
#[repr(C)]
#[derive(Debug, Default, Copy, Clone)]
pub struct CThostFtdcFensUserInfoField {
    #[doc = " 经纪公司代码"]
    pub BrokerID: TThostFtdcBrokerIDType,
    #[doc = " 用户代码"]
    pub UserID: TThostFtdcUserIDType,
    #[doc = " 登录模式"]
    pub LoginMode: TThostFtdcLoginModeType,
}
#[doc = " 当前银期所属交易中心"]
#[repr(C)]
#[derive(Debug, Default, Copy, Clone)]
pub struct CThostFtdcCurrTransferIdentityField {
    #[doc = " 交易中心代码"]
    pub IdentityID: TThostFtdcDRIdentityIDType,
}
#[doc = " 禁止登录用户"]
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct CThostFtdcLoginForbiddenUserField {
    #[doc = " 经纪公司代码"]
    pub BrokerID: TThostFtdcBrokerIDType,
    #[doc = " 用户代码"]
    pub UserID: TThostFtdcUserIDType,
    #[doc = " 保留的无效字段"]
    pub reserve1: TThostFtdcOldIPAddressType,
    #[doc = " IP地址"]
    pub IPAddress: TThostFtdcIPAddressType,
}
impl Default for CThostFtdcLoginForbiddenUserField {
    fn default() -> Self {
        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
        unsafe {
            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
            s.assume_init()
        }
    }
}
#[doc = " 查询禁止登录用户"]
#[repr(C)]
#[derive(Debug, Default, Copy, Clone)]
pub struct CThostFtdcQryLoginForbiddenUserField {
    #[doc = " 经纪公司代码"]
    pub BrokerID: TThostFtdcBrokerIDType,
    #[doc = " 用户代码"]
    pub UserID: TThostFtdcUserIDType,
}
#[doc = " 资金账户基本准备金"]
#[repr(C)]
#[derive(Debug, Default, Copy, Clone)]
pub struct CThostFtdcTradingAccountReserveField {
    #[doc = " 经纪公司代码"]
    pub BrokerID: TThostFtdcBrokerIDType,
    #[doc = " 投资者帐号"]
    pub AccountID: TThostFtdcAccountIDType,
    #[doc = " 基本准备金"]
    pub Reserve: TThostFtdcMoneyType,
    #[doc = " 币种代码"]
    pub CurrencyID: TThostFtdcCurrencyIDType,
}
#[doc = " 查询禁止登录IP"]
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct CThostFtdcQryLoginForbiddenIPField {
    #[doc = " 保留的无效字段"]
    pub reserve1: TThostFtdcOldIPAddressType,
    #[doc = " IP地址"]
    pub IPAddress: TThostFtdcIPAddressType,
}
impl Default for CThostFtdcQryLoginForbiddenIPField {
    fn default() -> Self {
        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
        unsafe {
            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
            s.assume_init()
        }
    }
}
#[doc = " 查询IP列表"]
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct CThostFtdcQryIPListField {
    #[doc = " 保留的无效字段"]
    pub reserve1: TThostFtdcOldIPAddressType,
    #[doc = " IP地址"]
    pub IPAddress: TThostFtdcIPAddressType,
}
impl Default for CThostFtdcQryIPListField {
    fn default() -> Self {
        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
        unsafe {
            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
            s.assume_init()
        }
    }
}
#[doc = " 查询用户下单权限分配表"]
#[repr(C)]
#[derive(Debug, Default, Copy, Clone)]
pub struct CThostFtdcQryUserRightsAssignField {
    #[doc = " 应用单元代码"]
    pub BrokerID: TThostFtdcBrokerIDType,
    #[doc = " 用户代码"]
    pub UserID: TThostFtdcUserIDType,
}
#[doc = " 银期预约开户确认请求"]
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct CThostFtdcReserveOpenAccountConfirmField {
    #[doc = " 业务功能码"]
    pub TradeCode: TThostFtdcTradeCodeType,
    #[doc = " 银行代码"]
    pub BankID: TThostFtdcBankIDType,
    #[doc = " 银行分支机构代码"]
    pub BankBranchID: TThostFtdcBankBrchIDType,
    #[doc = " 期商代码"]
    pub BrokerID: TThostFtdcBrokerIDType,
    #[doc = " 期商分支机构代码"]
    pub BrokerBranchID: TThostFtdcFutureBranchIDType,
    #[doc = " 交易日期"]
    pub TradeDate: TThostFtdcTradeDateType,
    #[doc = " 交易时间"]
    pub TradeTime: TThostFtdcTradeTimeType,
    #[doc = " 银行流水号"]
    pub BankSerial: TThostFtdcBankSerialType,
    #[doc = " 交易系统日期"]
    pub TradingDay: TThostFtdcTradeDateType,
    #[doc = " 银期平台消息流水号"]
    pub PlateSerial: TThostFtdcSerialType,
    #[doc = " 最后分片标志"]
    pub LastFragment: TThostFtdcLastFragmentType,
    #[doc = " 会话号"]
    pub SessionID: TThostFtdcSessionIDType,
    #[doc = " 客户姓名"]
    pub CustomerName: TThostFtdcLongIndividualNameType,
    #[doc = " 证件类型"]
    pub IdCardType: TThostFtdcIdCardTypeType,
    #[doc = " 证件号码"]
    pub IdentifiedCardNo: TThostFtdcIdentifiedCardNoType,
    #[doc = " 性别"]
    pub Gender: TThostFtdcGenderType,
    #[doc = " 国家代码"]
    pub CountryCode: TThostFtdcCountryCodeType,
    #[doc = " 客户类型"]
    pub CustType: TThostFtdcCustTypeType,
    #[doc = " 地址"]
    pub Address: TThostFtdcAddressType,
    #[doc = " 邮编"]
    pub ZipCode: TThostFtdcZipCodeType,
    #[doc = " 电话号码"]
    pub Telephone: TThostFtdcTelephoneType,
    #[doc = " 手机"]
    pub MobilePhone: TThostFtdcMobilePhoneType,
    #[doc = " 传真"]
    pub Fax: TThostFtdcFaxType,
    #[doc = " 电子邮件"]
    pub EMail: TThostFtdcEMailType,
    #[doc = " 资金账户状态"]
    pub MoneyAccountStatus: TThostFtdcMoneyAccountStatusType,
    #[doc = " 银行帐号"]
    pub BankAccount: TThostFtdcBankAccountType,
    #[doc = " 银行密码"]
    pub BankPassWord: TThostFtdcPasswordType,
    #[doc = " 安装编号"]
    pub InstallID: TThostFtdcInstallIDType,
    #[doc = " 验证客户证件号码标志"]
    pub VerifyCertNoFlag: TThostFtdcYesNoIndicatorType,
    #[doc = " 币种代码"]
    pub CurrencyID: TThostFtdcCurrencyIDType,
    #[doc = " 摘要"]
    pub Digest: TThostFtdcDigestType,
    #[doc = " 银行帐号类型"]
    pub BankAccType: TThostFtdcBankAccTypeType,
    #[doc = " 期货公司银行编码"]
    pub BrokerIDByBank: TThostFtdcBankCodingForFutureType,
    #[doc = " 交易ID"]
    pub TID: TThostFtdcTIDType,
    #[doc = " 投资者帐号"]
    pub AccountID: TThostFtdcAccountIDType,
    #[doc = " 期货密码"]
    pub Password: TThostFtdcPasswordType,
    #[doc = " 预约开户银行流水号"]
    pub BankReserveOpenSeq: TThostFtdcBankSerialType,
    #[doc = " 预约开户日期"]
    pub BookDate: TThostFtdcTradeDateType,
    #[doc = " 预约开户验证密码"]
    pub BookPsw: TThostFtdcPasswordType,
    #[doc = " 错误代码"]
    pub ErrorID: TThostFtdcErrorIDType,
    #[doc = " 错误信息"]
    pub ErrorMsg: TThostFtdcErrorMsgType,
}
impl Default for CThostFtdcReserveOpenAccountConfirmField {
    fn default() -> Self {
        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
        unsafe {
            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
            s.assume_init()
        }
    }
}
#[doc = " 银期预约开户"]
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct CThostFtdcReserveOpenAccountField {
    #[doc = " 业务功能码"]
    pub TradeCode: TThostFtdcTradeCodeType,
    #[doc = " 银行代码"]
    pub BankID: TThostFtdcBankIDType,
    #[doc = " 银行分支机构代码"]
    pub BankBranchID: TThostFtdcBankBrchIDType,
    #[doc = " 期商代码"]
    pub BrokerID: TThostFtdcBrokerIDType,
    #[doc = " 期商分支机构代码"]
    pub BrokerBranchID: TThostFtdcFutureBranchIDType,
    #[doc = " 交易日期"]
    pub TradeDate: TThostFtdcTradeDateType,
    #[doc = " 交易时间"]
    pub TradeTime: TThostFtdcTradeTimeType,
    #[doc = " 银行流水号"]
    pub BankSerial: TThostFtdcBankSerialType,
    #[doc = " 交易系统日期"]
    pub TradingDay: TThostFtdcTradeDateType,
    #[doc = " 银期平台消息流水号"]
    pub PlateSerial: TThostFtdcSerialType,
    #[doc = " 最后分片标志"]
    pub LastFragment: TThostFtdcLastFragmentType,
    #[doc = " 会话号"]
    pub SessionID: TThostFtdcSessionIDType,
    #[doc = " 客户姓名"]
    pub CustomerName: TThostFtdcLongIndividualNameType,
    #[doc = " 证件类型"]
    pub IdCardType: TThostFtdcIdCardTypeType,
    #[doc = " 证件号码"]
    pub IdentifiedCardNo: TThostFtdcIdentifiedCardNoType,
    #[doc = " 性别"]
    pub Gender: TThostFtdcGenderType,
    #[doc = " 国家代码"]
    pub CountryCode: TThostFtdcCountryCodeType,
    #[doc = " 客户类型"]
    pub CustType: TThostFtdcCustTypeType,
    #[doc = " 地址"]
    pub Address: TThostFtdcAddressType,
    #[doc = " 邮编"]
    pub ZipCode: TThostFtdcZipCodeType,
    #[doc = " 电话号码"]
    pub Telephone: TThostFtdcTelephoneType,
    #[doc = " 手机"]
    pub MobilePhone: TThostFtdcMobilePhoneType,
    #[doc = " 传真"]
    pub Fax: TThostFtdcFaxType,
    #[doc = " 电子邮件"]
    pub EMail: TThostFtdcEMailType,
    #[doc = " 资金账户状态"]
    pub MoneyAccountStatus: TThostFtdcMoneyAccountStatusType,
    #[doc = " 银行帐号"]
    pub BankAccount: TThostFtdcBankAccountType,
    #[doc = " 银行密码"]
    pub BankPassWord: TThostFtdcPasswordType,
    #[doc = " 安装编号"]
    pub InstallID: TThostFtdcInstallIDType,
    #[doc = " 验证客户证件号码标志"]
    pub VerifyCertNoFlag: TThostFtdcYesNoIndicatorType,
    #[doc = " 币种代码"]
    pub CurrencyID: TThostFtdcCurrencyIDType,
    #[doc = " 摘要"]
    pub Digest: TThostFtdcDigestType,
    #[doc = " 银行帐号类型"]
    pub BankAccType: TThostFtdcBankAccTypeType,
    #[doc = " 期货公司银行编码"]
    pub BrokerIDByBank: TThostFtdcBankCodingForFutureType,
    #[doc = " 交易ID"]
    pub TID: TThostFtdcTIDType,
    #[doc = " 预约开户状态"]
    pub ReserveOpenAccStas: TThostFtdcReserveOpenAccStasType,
    #[doc = " 错误代码"]
    pub ErrorID: TThostFtdcErrorIDType,
    #[doc = " 错误信息"]
    pub ErrorMsg: TThostFtdcErrorMsgType,
}
impl Default for CThostFtdcReserveOpenAccountField {
    fn default() -> Self {
        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
        unsafe {
            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
            s.assume_init()
        }
    }
}
#[doc = " 银行账户属性"]
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct CThostFtdcAccountPropertyField {
    #[doc = " 经纪公司代码"]
    pub BrokerID: TThostFtdcBrokerIDType,
    #[doc = " 投资者帐号"]
    pub AccountID: TThostFtdcAccountIDType,
    #[doc = " 银行统一标识类型"]
    pub BankID: TThostFtdcBankIDType,
    #[doc = " 银行账户"]
    pub BankAccount: TThostFtdcBankAccountType,
    #[doc = " 银行账户的开户人名称"]
    pub OpenName: TThostFtdcInvestorFullNameType,
    #[doc = " 银行账户的开户行"]
    pub OpenBank: TThostFtdcOpenBankType,
    #[doc = " 是否活跃"]
    pub IsActive: TThostFtdcBoolType,
    #[doc = " 账户来源"]
    pub AccountSourceType: TThostFtdcAccountSourceTypeType,
    #[doc = " 开户日期"]
    pub OpenDate: TThostFtdcDateType,
    #[doc = " 注销日期"]
    pub CancelDate: TThostFtdcDateType,
    #[doc = " 录入员代码"]
    pub OperatorID: TThostFtdcOperatorIDType,
    #[doc = " 录入日期"]
    pub OperateDate: TThostFtdcDateType,
    #[doc = " 录入时间"]
    pub OperateTime: TThostFtdcTimeType,
    #[doc = " 币种代码"]
    pub CurrencyID: TThostFtdcCurrencyIDType,
}
impl Default for CThostFtdcAccountPropertyField {
    fn default() -> Self {
        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
        unsafe {
            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
            s.assume_init()
        }
    }
}
#[doc = " 查询当前交易中心"]
#[repr(C)]
#[derive(Debug, Default, Copy, Clone)]
pub struct CThostFtdcQryCurrDRIdentityField {
    #[doc = " 交易中心代码"]
    pub DRIdentityID: TThostFtdcDRIdentityIDType,
}
#[doc = " 当前交易中心"]
#[repr(C)]
#[derive(Debug, Default, Copy, Clone)]
pub struct CThostFtdcCurrDRIdentityField {
    #[doc = " 交易中心代码"]
    pub DRIdentityID: TThostFtdcDRIdentityIDType,
}
#[doc = " 查询二级代理商资金校验模式"]
#[repr(C)]
#[derive(Debug, Default, Copy, Clone)]
pub struct CThostFtdcQrySecAgentCheckModeField {
    #[doc = " 经纪公司代码"]
    pub BrokerID: TThostFtdcBrokerIDType,
    #[doc = " 投资者代码"]
    pub InvestorID: TThostFtdcInvestorIDType,
}
#[doc = " 查询二级代理商信息"]
#[repr(C)]
#[derive(Debug, Default, Copy, Clone)]
pub struct CThostFtdcQrySecAgentTradeInfoField {
    #[doc = " 经纪公司代码"]
    pub BrokerID: TThostFtdcBrokerIDType,
    #[doc = " 境外中介机构资金帐号"]
    pub BrokerSecAgentID: TThostFtdcAccountIDType,
}
#[doc = " 用户发出获取安全安全登陆方法请求"]
#[repr(C)]
#[derive(Debug, Default, Copy, Clone)]
pub struct CThostFtdcReqUserAuthMethodField {
    #[doc = " 交易日"]
    pub TradingDay: TThostFtdcDateType,
    #[doc = " 经纪公司代码"]
    pub BrokerID: TThostFtdcBrokerIDType,
    #[doc = " 用户代码"]
    pub UserID: TThostFtdcUserIDType,
}
#[doc = " 用户发出获取安全安全登陆方法回复"]
#[repr(C)]
#[derive(Debug, Default, Copy, Clone)]
pub struct CThostFtdcRspUserAuthMethodField {
    #[doc = " 当前可以用的认证模式"]
    pub UsableAuthMethod: TThostFtdcCurrentAuthMethodType,
}
#[doc = " 用户发出获取安全安全登陆方法请求"]
#[repr(C)]
#[derive(Debug, Default, Copy, Clone)]
pub struct CThostFtdcReqGenUserCaptchaField {
    #[doc = " 交易日"]
    pub TradingDay: TThostFtdcDateType,
    #[doc = " 经纪公司代码"]
    pub BrokerID: TThostFtdcBrokerIDType,
    #[doc = " 用户代码"]
    pub UserID: TThostFtdcUserIDType,
}
#[doc = " 生成的图片验证码信息"]
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct CThostFtdcRspGenUserCaptchaField {
    #[doc = " 经纪公司代码"]
    pub BrokerID: TThostFtdcBrokerIDType,
    #[doc = " 用户代码"]
    pub UserID: TThostFtdcUserIDType,
    #[doc = " 图片信息长度"]
    pub CaptchaInfoLen: TThostFtdcCaptchaInfoLenType,
    #[doc = " 图片信息"]
    pub CaptchaInfo: TThostFtdcCaptchaInfoType,
}
impl Default for CThostFtdcRspGenUserCaptchaField {
    fn default() -> Self {
        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
        unsafe {
            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
            s.assume_init()
        }
    }
}
#[doc = " 用户发出获取安全安全登陆方法请求"]
#[repr(C)]
#[derive(Debug, Default, Copy, Clone)]
pub struct CThostFtdcReqGenUserTextField {
    #[doc = " 交易日"]
    pub TradingDay: TThostFtdcDateType,
    #[doc = " 经纪公司代码"]
    pub BrokerID: TThostFtdcBrokerIDType,
    #[doc = " 用户代码"]
    pub UserID: TThostFtdcUserIDType,
}
#[doc = " 短信验证码生成的回复"]
#[repr(C)]
#[derive(Debug, Default, Copy, Clone)]
pub struct CThostFtdcRspGenUserTextField {
    #[doc = " 短信验证码序号"]
    pub UserTextSeq: TThostFtdcUserTextSeqType,
}
#[doc = " 用户发出带图形验证码的登录请求请求"]
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct CThostFtdcReqUserLoginWithCaptchaField {
    #[doc = " 交易日"]
    pub TradingDay: TThostFtdcDateType,
    #[doc = " 经纪公司代码"]
    pub BrokerID: TThostFtdcBrokerIDType,
    #[doc = " 用户代码"]
    pub UserID: TThostFtdcUserIDType,
    #[doc = " 密码"]
    pub Password: TThostFtdcPasswordType,
    #[doc = " 用户端产品信息"]
    pub UserProductInfo: TThostFtdcProductInfoType,
    #[doc = " 接口端产品信息"]
    pub InterfaceProductInfo: TThostFtdcProductInfoType,
    #[doc = " 协议信息"]
    pub ProtocolInfo: TThostFtdcProtocolInfoType,
    #[doc = " Mac地址"]
    pub MacAddress: TThostFtdcMacAddressType,
    #[doc = " 保留的无效字段"]
    pub reserve1: TThostFtdcOldIPAddressType,
    #[doc = " 登录备注"]
    pub LoginRemark: TThostFtdcLoginRemarkType,
    #[doc = " 图形验证码的文字内容"]
    pub Captcha: TThostFtdcPasswordType,
    #[doc = " 终端IP端口"]
    pub ClientIPPort: TThostFtdcIPPortType,
    #[doc = " 终端IP地址"]
    pub ClientIPAddress: TThostFtdcIPAddressType,
}
impl Default for CThostFtdcReqUserLoginWithCaptchaField {
    fn default() -> Self {
        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
        unsafe {
            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
            s.assume_init()
        }
    }
}
#[doc = " 用户发出带短信验证码的登录请求请求"]
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct CThostFtdcReqUserLoginWithTextField {
    #[doc = " 交易日"]
    pub TradingDay: TThostFtdcDateType,
    #[doc = " 经纪公司代码"]
    pub BrokerID: TThostFtdcBrokerIDType,
    #[doc = " 用户代码"]
    pub UserID: TThostFtdcUserIDType,
    #[doc = " 密码"]
    pub Password: TThostFtdcPasswordType,
    #[doc = " 用户端产品信息"]
    pub UserProductInfo: TThostFtdcProductInfoType,
    #[doc = " 接口端产品信息"]
    pub InterfaceProductInfo: TThostFtdcProductInfoType,
    #[doc = " 协议信息"]
    pub ProtocolInfo: TThostFtdcProtocolInfoType,
    #[doc = " Mac地址"]
    pub MacAddress: TThostFtdcMacAddressType,
    #[doc = " 保留的无效字段"]
    pub reserve1: TThostFtdcOldIPAddressType,
    #[doc = " 登录备注"]
    pub LoginRemark: TThostFtdcLoginRemarkType,
    #[doc = " 短信验证码文字内容"]
    pub Text: TThostFtdcPasswordType,
    #[doc = " 终端IP端口"]
    pub ClientIPPort: TThostFtdcIPPortType,
    #[doc = " 终端IP地址"]
    pub ClientIPAddress: TThostFtdcIPAddressType,
}
impl Default for CThostFtdcReqUserLoginWithTextField {
    fn default() -> Self {
        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
        unsafe {
            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
            s.assume_init()
        }
    }
}
#[doc = " 用户发出带动态验证码的登录请求请求"]
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct CThostFtdcReqUserLoginWithOTPField {
    #[doc = " 交易日"]
    pub TradingDay: TThostFtdcDateType,
    #[doc = " 经纪公司代码"]
    pub BrokerID: TThostFtdcBrokerIDType,
    #[doc = " 用户代码"]
    pub UserID: TThostFtdcUserIDType,
    #[doc = " 密码"]
    pub Password: TThostFtdcPasswordType,
    #[doc = " 用户端产品信息"]
    pub UserProductInfo: TThostFtdcProductInfoType,
    #[doc = " 接口端产品信息"]
    pub InterfaceProductInfo: TThostFtdcProductInfoType,
    #[doc = " 协议信息"]
    pub ProtocolInfo: TThostFtdcProtocolInfoType,
    #[doc = " Mac地址"]
    pub MacAddress: TThostFtdcMacAddressType,
    #[doc = " 保留的无效字段"]
    pub reserve1: TThostFtdcOldIPAddressType,
    #[doc = " 登录备注"]
    pub LoginRemark: TThostFtdcLoginRemarkType,
    #[doc = " OTP密码"]
    pub OTPPassword: TThostFtdcPasswordType,
    #[doc = " 终端IP端口"]
    pub ClientIPPort: TThostFtdcIPPortType,
    #[doc = " 终端IP地址"]
    pub ClientIPAddress: TThostFtdcIPAddressType,
}
impl Default for CThostFtdcReqUserLoginWithOTPField {
    fn default() -> Self {
        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
        unsafe {
            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
            s.assume_init()
        }
    }
}
#[doc = " api握手请求"]
#[repr(C)]
#[derive(Debug, Default, Copy, Clone)]
pub struct CThostFtdcReqApiHandshakeField {
    #[doc = " api与front通信密钥版本号"]
    pub CryptoKeyVersion: TThostFtdcCryptoKeyVersionType,
}
#[doc = " front发给api的握手回复"]
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct CThostFtdcRspApiHandshakeField {
    #[doc = " 握手回复数据长度"]
    pub FrontHandshakeDataLen: TThostFtdcHandshakeDataLenType,
    #[doc = " 握手回复数据"]
    pub FrontHandshakeData: TThostFtdcHandshakeDataType,
    #[doc = " API认证是否开启"]
    pub IsApiAuthEnabled: TThostFtdcBoolType,
}
impl Default for CThostFtdcRspApiHandshakeField {
    fn default() -> Self {
        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
        unsafe {
            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
            s.assume_init()
        }
    }
}
#[doc = " api给front的验证key的请求"]
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct CThostFtdcReqVerifyApiKeyField {
    #[doc = " 握手回复数据长度"]
    pub ApiHandshakeDataLen: TThostFtdcHandshakeDataLenType,
    #[doc = " 握手回复数据"]
    pub ApiHandshakeData: TThostFtdcHandshakeDataType,
}
impl Default for CThostFtdcReqVerifyApiKeyField {
    fn default() -> Self {
        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
        unsafe {
            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
            s.assume_init()
        }
    }
}
#[doc = " 操作员组织架构关系"]
#[repr(C)]
#[derive(Debug, Default, Copy, Clone)]
pub struct CThostFtdcDepartmentUserField {
    #[doc = " 经纪公司代码"]
    pub BrokerID: TThostFtdcBrokerIDType,
    #[doc = " 用户代码"]
    pub UserID: TThostFtdcUserIDType,
    #[doc = " 投资者范围"]
    pub InvestorRange: TThostFtdcDepartmentRangeType,
    #[doc = " 投资者代码"]
    pub InvestorID: TThostFtdcInvestorIDType,
}
#[doc = " 查询频率，每秒查询比数"]
#[repr(C)]
#[derive(Debug, Default, Copy, Clone)]
pub struct CThostFtdcQueryFreqField {
    #[doc = " 查询频率"]
    pub QueryFreq: TThostFtdcQueryFreqType,
}
#[doc = " 禁止认证IP"]
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct CThostFtdcAuthForbiddenIPField {
    #[doc = " IP地址"]
    pub IPAddress: TThostFtdcIPAddressType,
}
impl Default for CThostFtdcAuthForbiddenIPField {
    fn default() -> Self {
        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
        unsafe {
            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
            s.assume_init()
        }
    }
}
#[doc = " 查询禁止认证IP"]
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct CThostFtdcQryAuthForbiddenIPField {
    #[doc = " IP地址"]
    pub IPAddress: TThostFtdcIPAddressType,
}
impl Default for CThostFtdcQryAuthForbiddenIPField {
    fn default() -> Self {
        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
        unsafe {
            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
            s.assume_init()
        }
    }
}
#[doc = " 换汇可提冻结"]
#[repr(C)]
#[derive(Debug, Default, Copy, Clone)]
pub struct CThostFtdcSyncDelaySwapFrozenField {
    #[doc = " 换汇流水号"]
    pub DelaySwapSeqNo: TThostFtdcDepositSeqNoType,
    #[doc = " 经纪公司代码"]
    pub BrokerID: TThostFtdcBrokerIDType,
    #[doc = " 投资者代码"]
    pub InvestorID: TThostFtdcInvestorIDType,
    #[doc = " 源币种"]
    pub FromCurrencyID: TThostFtdcCurrencyIDType,
    #[doc = " 源剩余换汇额度(可提冻结)"]
    pub FromRemainSwap: TThostFtdcMoneyType,
    #[doc = " 是否手工换汇"]
    pub IsManualSwap: TThostFtdcBoolType,
}
#[doc = " 用户系统信息"]
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct CThostFtdcUserSystemInfoField {
    #[doc = " 经纪公司代码"]
    pub BrokerID: TThostFtdcBrokerIDType,
    #[doc = " 用户代码"]
    pub UserID: TThostFtdcUserIDType,
    #[doc = " 用户端系统内部信息长度"]
    pub ClientSystemInfoLen: TThostFtdcSystemInfoLenType,
    #[doc = " 用户端系统内部信息"]
    pub ClientSystemInfo: TThostFtdcClientSystemInfoType,
    #[doc = " 保留的无效字段"]
    pub reserve1: TThostFtdcOldIPAddressType,
    #[doc = " 终端IP端口"]
    pub ClientIPPort: TThostFtdcIPPortType,
    #[doc = " 登录成功时间"]
    pub ClientLoginTime: TThostFtdcTimeType,
    #[doc = " App代码"]
    pub ClientAppID: TThostFtdcAppIDType,
    #[doc = " 用户公网IP"]
    pub ClientPublicIP: TThostFtdcIPAddressType,
    #[doc = " 客户登录备注2"]
    pub ClientLoginRemark: TThostFtdcClientLoginRemarkType,
}
impl Default for CThostFtdcUserSystemInfoField {
    fn default() -> Self {
        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
        unsafe {
            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
            s.assume_init()
        }
    }
}
#[doc = " 终端用户绑定信息"]
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct CThostFtdcAuthUserIDField {
    #[doc = " 经纪公司代码"]
    pub BrokerID: TThostFtdcBrokerIDType,
    #[doc = " App代码"]
    pub AppID: TThostFtdcAppIDType,
    #[doc = " 用户代码"]
    pub UserID: TThostFtdcUserIDType,
    #[doc = " 校验类型"]
    pub AuthType: TThostFtdcAuthTypeType,
}
impl Default for CThostFtdcAuthUserIDField {
    fn default() -> Self {
        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
        unsafe {
            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
            s.assume_init()
        }
    }
}
#[doc = " 用户IP绑定信息"]
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct CThostFtdcAuthIPField {
    #[doc = " 经纪公司代码"]
    pub BrokerID: TThostFtdcBrokerIDType,
    #[doc = " App代码"]
    pub AppID: TThostFtdcAppIDType,
    #[doc = " 用户代码"]
    pub IPAddress: TThostFtdcIPAddressType,
}
impl Default for CThostFtdcAuthIPField {
    fn default() -> Self {
        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
        unsafe {
            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
            s.assume_init()
        }
    }
}
#[doc = " 查询分类合约"]
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct CThostFtdcQryClassifiedInstrumentField {
    #[doc = " 合约代码"]
    pub InstrumentID: TThostFtdcInstrumentIDType,
    #[doc = " 交易所代码"]
    pub ExchangeID: TThostFtdcExchangeIDType,
    #[doc = " 合约在交易所的代码"]
    pub ExchangeInstID: TThostFtdcExchangeInstIDType,
    #[doc = " 产品代码"]
    pub ProductID: TThostFtdcInstrumentIDType,
    #[doc = " 合约交易状态"]
    pub TradingType: TThostFtdcTradingTypeType,
    #[doc = " 合约分类类型"]
    pub ClassType: TThostFtdcClassTypeType,
}
impl Default for CThostFtdcQryClassifiedInstrumentField {
    fn default() -> Self {
        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
        unsafe {
            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
            s.assume_init()
        }
    }
}
#[doc = " 查询组合优惠比例"]
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct CThostFtdcQryCombPromotionParamField {
    #[doc = " 交易所代码"]
    pub ExchangeID: TThostFtdcExchangeIDType,
    #[doc = " 合约代码"]
    pub InstrumentID: TThostFtdcInstrumentIDType,
}
impl Default for CThostFtdcQryCombPromotionParamField {
    fn default() -> Self {
        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
        unsafe {
            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
            s.assume_init()
        }
    }
}
#[doc = " 组合优惠比例"]
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct CThostFtdcCombPromotionParamField {
    #[doc = " 交易所代码"]
    pub ExchangeID: TThostFtdcExchangeIDType,
    #[doc = " 合约代码"]
    pub InstrumentID: TThostFtdcInstrumentIDType,
    #[doc = " 投机套保标志"]
    pub CombHedgeFlag: TThostFtdcCombHedgeFlagType,
    #[doc = " 期权组合保证金比例"]
    pub Xparameter: TThostFtdcDiscountRatioType,
}
impl Default for CThostFtdcCombPromotionParamField {
    fn default() -> Self {
        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
        unsafe {
            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
            s.assume_init()
        }
    }
}
#[doc = " 国密用户登录请求"]
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct CThostFtdcReqUserLoginSCField {
    #[doc = " 交易日"]
    pub TradingDay: TThostFtdcDateType,
    #[doc = " 经纪公司代码"]
    pub BrokerID: TThostFtdcBrokerIDType,
    #[doc = " 用户代码"]
    pub UserID: TThostFtdcUserIDType,
    #[doc = " 密码"]
    pub Password: TThostFtdcPasswordType,
    #[doc = " 用户端产品信息"]
    pub UserProductInfo: TThostFtdcProductInfoType,
    #[doc = " 接口端产品信息"]
    pub InterfaceProductInfo: TThostFtdcProductInfoType,
    #[doc = " 协议信息"]
    pub ProtocolInfo: TThostFtdcProtocolInfoType,
    #[doc = " Mac地址"]
    pub MacAddress: TThostFtdcMacAddressType,
    #[doc = " 动态密码"]
    pub OneTimePassword: TThostFtdcPasswordType,
    #[doc = " 终端IP地址"]
    pub ClientIPAddress: TThostFtdcIPAddressType,
    #[doc = " 登录备注"]
    pub LoginRemark: TThostFtdcLoginRemarkType,
    #[doc = " 终端IP端口"]
    pub ClientIPPort: TThostFtdcIPPortType,
    #[doc = " 认证码"]
    pub AuthCode: TThostFtdcAuthCodeType,
    #[doc = " App代码"]
    pub AppID: TThostFtdcAppIDType,
}
impl Default for CThostFtdcReqUserLoginSCField {
    fn default() -> Self {
        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
        unsafe {
            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
            s.assume_init()
        }
    }
}
#[doc = " 投资者风险结算持仓查询"]
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct CThostFtdcQryRiskSettleInvstPositionField {
    #[doc = " 经纪公司代码"]
    pub BrokerID: TThostFtdcBrokerIDType,
    #[doc = " 投资者代码"]
    pub InvestorID: TThostFtdcInvestorIDType,
    #[doc = " 合约代码"]
    pub InstrumentID: TThostFtdcInstrumentIDType,
}
impl Default for CThostFtdcQryRiskSettleInvstPositionField {
    fn default() -> Self {
        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
        unsafe {
            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
            s.assume_init()
        }
    }
}
#[doc = " 风险结算产品查询"]
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct CThostFtdcQryRiskSettleProductStatusField {
    #[doc = " 产品代码"]
    pub ProductID: TThostFtdcInstrumentIDType,
}
impl Default for CThostFtdcQryRiskSettleProductStatusField {
    fn default() -> Self {
        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
        unsafe {
            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
            s.assume_init()
        }
    }
}
#[doc = " 投资者风险结算持仓"]
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct CThostFtdcRiskSettleInvstPositionField {
    #[doc = " 合约代码"]
    pub InstrumentID: TThostFtdcInstrumentIDType,
    #[doc = " 经纪公司代码"]
    pub BrokerID: TThostFtdcBrokerIDType,
    #[doc = " 投资者代码"]
    pub InvestorID: TThostFtdcInvestorIDType,
    #[doc = " 持仓多空方向"]
    pub PosiDirection: TThostFtdcPosiDirectionType,
    #[doc = " 投机套保标志"]
    pub HedgeFlag: TThostFtdcHedgeFlagType,
    #[doc = " 持仓日期"]
    pub PositionDate: TThostFtdcPositionDateType,
    #[doc = " 上日持仓"]
    pub YdPosition: TThostFtdcVolumeType,
    #[doc = " 今日持仓"]
    pub Position: TThostFtdcVolumeType,
    #[doc = " 多头冻结"]
    pub LongFrozen: TThostFtdcVolumeType,
    #[doc = " 空头冻结"]
    pub ShortFrozen: TThostFtdcVolumeType,
    #[doc = " 开仓冻结金额"]
    pub LongFrozenAmount: TThostFtdcMoneyType,
    #[doc = " 开仓冻结金额"]
    pub ShortFrozenAmount: TThostFtdcMoneyType,
    #[doc = " 开仓量"]
    pub OpenVolume: TThostFtdcVolumeType,
    #[doc = " 平仓量"]
    pub CloseVolume: TThostFtdcVolumeType,
    #[doc = " 开仓金额"]
    pub OpenAmount: TThostFtdcMoneyType,
    #[doc = " 平仓金额"]
    pub CloseAmount: TThostFtdcMoneyType,
    #[doc = " 持仓成本"]
    pub PositionCost: TThostFtdcMoneyType,
    #[doc = " 上次占用的保证金"]
    pub PreMargin: TThostFtdcMoneyType,
    #[doc = " 占用的保证金"]
    pub UseMargin: TThostFtdcMoneyType,
    #[doc = " 冻结的保证金"]
    pub FrozenMargin: TThostFtdcMoneyType,
    #[doc = " 冻结的资金"]
    pub FrozenCash: TThostFtdcMoneyType,
    #[doc = " 冻结的手续费"]
    pub FrozenCommission: TThostFtdcMoneyType,
    #[doc = " 资金差额"]
    pub CashIn: TThostFtdcMoneyType,
    #[doc = " 手续费"]
    pub Commission: TThostFtdcMoneyType,
    #[doc = " 平仓盈亏"]
    pub CloseProfit: TThostFtdcMoneyType,
    #[doc = " 持仓盈亏"]
    pub PositionProfit: TThostFtdcMoneyType,
    #[doc = " 上次结算价"]
    pub PreSettlementPrice: TThostFtdcPriceType,
    #[doc = " 本次结算价"]
    pub SettlementPrice: TThostFtdcPriceType,
    #[doc = " 交易日"]
    pub TradingDay: TThostFtdcDateType,
    #[doc = " 结算编号"]
    pub SettlementID: TThostFtdcSettlementIDType,
    #[doc = " 开仓成本"]
    pub OpenCost: TThostFtdcMoneyType,
    #[doc = " 交易所保证金"]
    pub ExchangeMargin: TThostFtdcMoneyType,
    #[doc = " 组合成交形成的持仓"]
    pub CombPosition: TThostFtdcVolumeType,
    #[doc = " 组合多头冻结"]
    pub CombLongFrozen: TThostFtdcVolumeType,
    #[doc = " 组合空头冻结"]
    pub CombShortFrozen: TThostFtdcVolumeType,
    #[doc = " 逐日盯市平仓盈亏"]
    pub CloseProfitByDate: TThostFtdcMoneyType,
    #[doc = " 逐笔对冲平仓盈亏"]
    pub CloseProfitByTrade: TThostFtdcMoneyType,
    #[doc = " 今日持仓"]
    pub TodayPosition: TThostFtdcVolumeType,
    #[doc = " 保证金率"]
    pub MarginRateByMoney: TThostFtdcRatioType,
    #[doc = " 保证金率(按手数)"]
    pub MarginRateByVolume: TThostFtdcRatioType,
    #[doc = " 执行冻结"]
    pub StrikeFrozen: TThostFtdcVolumeType,
    #[doc = " 执行冻结金额"]
    pub StrikeFrozenAmount: TThostFtdcMoneyType,
    #[doc = " 放弃执行冻结"]
    pub AbandonFrozen: TThostFtdcVolumeType,
    #[doc = " 交易所代码"]
    pub ExchangeID: TThostFtdcExchangeIDType,
    #[doc = " 执行冻结的昨仓"]
    pub YdStrikeFrozen: TThostFtdcVolumeType,
    #[doc = " 投资单元代码"]
    pub InvestUnitID: TThostFtdcInvestUnitIDType,
    #[doc = " 持仓成本差值"]
    pub PositionCostOffset: TThostFtdcMoneyType,
    #[doc = " tas持仓手数"]
    pub TasPosition: TThostFtdcVolumeType,
    #[doc = " tas持仓成本"]
    pub TasPositionCost: TThostFtdcMoneyType,
}
impl Default for CThostFtdcRiskSettleInvstPositionField {
    fn default() -> Self {
        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
        unsafe {
            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
            s.assume_init()
        }
    }
}
#[doc = " 风险品种"]
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct CThostFtdcRiskSettleProductStatusField {
    #[doc = " 交易所代码"]
    pub ExchangeID: TThostFtdcExchangeIDType,
    #[doc = " 产品编号"]
    pub ProductID: TThostFtdcInstrumentIDType,
    #[doc = " 产品结算状态"]
    pub ProductStatus: TThostFtdcProductStatusType,
}
impl Default for CThostFtdcRiskSettleProductStatusField {
    fn default() -> Self {
        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
        unsafe {
            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
            s.assume_init()
        }
    }
}
#[doc = " 风险结算追平信息"]
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct CThostFtdcSyncDeltaInfoField {
    #[doc = " 追平序号"]
    pub SyncDeltaSequenceNo: TThostFtdcSequenceNoType,
    #[doc = " 追平状态"]
    pub SyncDeltaStatus: TThostFtdcSyncDeltaStatusType,
    #[doc = " 追平描述"]
    pub SyncDescription: TThostFtdcSyncDescriptionType,
    #[doc = " 是否只有资金追平"]
    pub IsOnlyTrdDelta: TThostFtdcBoolType,
}
impl Default for CThostFtdcSyncDeltaInfoField {
    fn default() -> Self {
        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
        unsafe {
            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
            s.assume_init()
        }
    }
}
#[doc = " 风险结算追平产品信息"]
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct CThostFtdcSyncDeltaProductStatusField {
    #[doc = " 追平序号"]
    pub SyncDeltaSequenceNo: TThostFtdcSequenceNoType,
    #[doc = " 交易所代码"]
    pub ExchangeID: TThostFtdcExchangeIDType,
    #[doc = " 产品代码"]
    pub ProductID: TThostFtdcInstrumentIDType,
    #[doc = " 是否允许交易"]
    pub ProductStatus: TThostFtdcProductStatusType,
}
impl Default for CThostFtdcSyncDeltaProductStatusField {
    fn default() -> Self {
        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
        unsafe {
            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
            s.assume_init()
        }
    }
}
#[doc = " 风险结算追平持仓明细"]
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct CThostFtdcSyncDeltaInvstPosDtlField {
    #[doc = " 合约代码"]
    pub InstrumentID: TThostFtdcInstrumentIDType,
    #[doc = " 经纪公司代码"]
    pub BrokerID: TThostFtdcBrokerIDType,
    #[doc = " 投资者代码"]
    pub InvestorID: TThostFtdcInvestorIDType,
    #[doc = " 投机套保标志"]
    pub HedgeFlag: TThostFtdcHedgeFlagType,
    #[doc = " 买卖"]
    pub Direction: TThostFtdcDirectionType,
    #[doc = " 开仓日期"]
    pub OpenDate: TThostFtdcDateType,
    #[doc = " 成交编号"]
    pub TradeID: TThostFtdcTradeIDType,
    #[doc = " 数量"]
    pub Volume: TThostFtdcVolumeType,
    #[doc = " 开仓价"]
    pub OpenPrice: TThostFtdcPriceType,
    #[doc = " 交易日"]
    pub TradingDay: TThostFtdcDateType,
    #[doc = " 结算编号"]
    pub SettlementID: TThostFtdcSettlementIDType,
    #[doc = " 成交类型"]
    pub TradeType: TThostFtdcTradeTypeType,
    #[doc = " 组合合约代码"]
    pub CombInstrumentID: TThostFtdcInstrumentIDType,
    #[doc = " 交易所代码"]
    pub ExchangeID: TThostFtdcExchangeIDType,
    #[doc = " 逐日盯市平仓盈亏"]
    pub CloseProfitByDate: TThostFtdcMoneyType,
    #[doc = " 逐笔对冲平仓盈亏"]
    pub CloseProfitByTrade: TThostFtdcMoneyType,
    #[doc = " 逐日盯市持仓盈亏"]
    pub PositionProfitByDate: TThostFtdcMoneyType,
    #[doc = " 逐笔对冲持仓盈亏"]
    pub PositionProfitByTrade: TThostFtdcMoneyType,
    #[doc = " 投资者保证金"]
    pub Margin: TThostFtdcMoneyType,
    #[doc = " 交易所保证金"]
    pub ExchMargin: TThostFtdcMoneyType,
    #[doc = " 保证金率"]
    pub MarginRateByMoney: TThostFtdcRatioType,
    #[doc = " 保证金率(按手数)"]
    pub MarginRateByVolume: TThostFtdcRatioType,
    #[doc = " 昨结算价"]
    pub LastSettlementPrice: TThostFtdcPriceType,
    #[doc = " 结算价"]
    pub SettlementPrice: TThostFtdcPriceType,
    #[doc = " 平仓量"]
    pub CloseVolume: TThostFtdcVolumeType,
    #[doc = " 平仓金额"]
    pub CloseAmount: TThostFtdcMoneyType,
    #[doc = " 先开先平剩余数量"]
    pub TimeFirstVolume: TThostFtdcVolumeType,
    #[doc = " 特殊持仓标志"]
    pub SpecPosiType: TThostFtdcSpecPosiTypeType,
    #[doc = " 操作标志"]
    pub ActionDirection: TThostFtdcActionDirectionType,
    #[doc = " 追平序号"]
    pub SyncDeltaSequenceNo: TThostFtdcSequenceNoType,
}
impl Default for CThostFtdcSyncDeltaInvstPosDtlField {
    fn default() -> Self {
        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
        unsafe {
            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
            s.assume_init()
        }
    }
}
#[doc = " 风险结算追平组合持仓明细"]
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct CThostFtdcSyncDeltaInvstPosCombDtlField {
    #[doc = " 交易日"]
    pub TradingDay: TThostFtdcDateType,
    #[doc = " 开仓日期"]
    pub OpenDate: TThostFtdcDateType,
    #[doc = " 交易所代码"]
    pub ExchangeID: TThostFtdcExchangeIDType,
    #[doc = " 结算编号"]
    pub SettlementID: TThostFtdcSettlementIDType,
    #[doc = " 经纪公司代码"]
    pub BrokerID: TThostFtdcBrokerIDType,
    #[doc = " 投资者代码"]
    pub InvestorID: TThostFtdcInvestorIDType,
    #[doc = " 组合编号"]
    pub ComTradeID: TThostFtdcTradeIDType,
    #[doc = " 撮合编号"]
    pub TradeID: TThostFtdcTradeIDType,
    #[doc = " 合约代码"]
    pub InstrumentID: TThostFtdcInstrumentIDType,
    #[doc = " 投机套保标志"]
    pub HedgeFlag: TThostFtdcHedgeFlagType,
    #[doc = " 买卖"]
    pub Direction: TThostFtdcDirectionType,
    #[doc = " 持仓量"]
    pub TotalAmt: TThostFtdcVolumeType,
    #[doc = " 投资者保证金"]
    pub Margin: TThostFtdcMoneyType,
    #[doc = " 交易所保证金"]
    pub ExchMargin: TThostFtdcMoneyType,
    #[doc = " 保证金率"]
    pub MarginRateByMoney: TThostFtdcRatioType,
    #[doc = " 保证金率(按手数)"]
    pub MarginRateByVolume: TThostFtdcRatioType,
    #[doc = " 单腿编号"]
    pub LegID: TThostFtdcLegIDType,
    #[doc = " 单腿乘数"]
    pub LegMultiple: TThostFtdcLegMultipleType,
    #[doc = " 成交组号"]
    pub TradeGroupID: TThostFtdcTradeGroupIDType,
    #[doc = " 操作标志"]
    pub ActionDirection: TThostFtdcActionDirectionType,
    #[doc = " 追平序号"]
    pub SyncDeltaSequenceNo: TThostFtdcSequenceNoType,
}
impl Default for CThostFtdcSyncDeltaInvstPosCombDtlField {
    fn default() -> Self {
        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
        unsafe {
            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
            s.assume_init()
        }
    }
}
#[doc = " 风险结算追平资金"]
#[repr(C)]
#[derive(Debug, Default, Copy, Clone)]
pub struct CThostFtdcSyncDeltaTradingAccountField {
    #[doc = " 经纪公司代码"]
    pub BrokerID: TThostFtdcBrokerIDType,
    #[doc = " 投资者帐号"]
    pub AccountID: TThostFtdcAccountIDType,
    #[doc = " 上次质押金额"]
    pub PreMortgage: TThostFtdcMoneyType,
    #[doc = " 上次信用额度"]
    pub PreCredit: TThostFtdcMoneyType,
    #[doc = " 上次存款额"]
    pub PreDeposit: TThostFtdcMoneyType,
    #[doc = " 上次结算准备金"]
    pub PreBalance: TThostFtdcMoneyType,
    #[doc = " 上次占用的保证金"]
    pub PreMargin: TThostFtdcMoneyType,
    #[doc = " 利息基数"]
    pub InterestBase: TThostFtdcMoneyType,
    #[doc = " 利息收入"]
    pub Interest: TThostFtdcMoneyType,
    #[doc = " 入金金额"]
    pub Deposit: TThostFtdcMoneyType,
    #[doc = " 出金金额"]
    pub Withdraw: TThostFtdcMoneyType,
    #[doc = " 冻结的保证金"]
    pub FrozenMargin: TThostFtdcMoneyType,
    #[doc = " 冻结的资金"]
    pub FrozenCash: TThostFtdcMoneyType,
    #[doc = " 冻结的手续费"]
    pub FrozenCommission: TThostFtdcMoneyType,
    #[doc = " 当前保证金总额"]
    pub CurrMargin: TThostFtdcMoneyType,
    #[doc = " 资金差额"]
    pub CashIn: TThostFtdcMoneyType,
    #[doc = " 手续费"]
    pub Commission: TThostFtdcMoneyType,
    #[doc = " 平仓盈亏"]
    pub CloseProfit: TThostFtdcMoneyType,
    #[doc = " 持仓盈亏"]
    pub PositionProfit: TThostFtdcMoneyType,
    #[doc = " 期货结算准备金"]
    pub Balance: TThostFtdcMoneyType,
    #[doc = " 可用资金"]
    pub Available: TThostFtdcMoneyType,
    #[doc = " 可取资金"]
    pub WithdrawQuota: TThostFtdcMoneyType,
    #[doc = " 基本准备金"]
    pub Reserve: TThostFtdcMoneyType,
    #[doc = " 交易日"]
    pub TradingDay: TThostFtdcDateType,
    #[doc = " 结算编号"]
    pub SettlementID: TThostFtdcSettlementIDType,
    #[doc = " 信用额度"]
    pub Credit: TThostFtdcMoneyType,
    #[doc = " 质押金额"]
    pub Mortgage: TThostFtdcMoneyType,
    #[doc = " 交易所保证金"]
    pub ExchangeMargin: TThostFtdcMoneyType,
    #[doc = " 投资者交割保证金"]
    pub DeliveryMargin: TThostFtdcMoneyType,
    #[doc = " 交易所交割保证金"]
    pub ExchangeDeliveryMargin: TThostFtdcMoneyType,
    #[doc = " 保底期货结算准备金"]
    pub ReserveBalance: TThostFtdcMoneyType,
    #[doc = " 币种代码"]
    pub CurrencyID: TThostFtdcCurrencyIDType,
    #[doc = " 上次货币质入金额"]
    pub PreFundMortgageIn: TThostFtdcMoneyType,
    #[doc = " 上次货币质出金额"]
    pub PreFundMortgageOut: TThostFtdcMoneyType,
    #[doc = " 货币质入金额"]
    pub FundMortgageIn: TThostFtdcMoneyType,
    #[doc = " 货币质出金额"]
    pub FundMortgageOut: TThostFtdcMoneyType,
    #[doc = " 货币质押余额"]
    pub FundMortgageAvailable: TThostFtdcMoneyType,
    #[doc = " 可质押货币金额"]
    pub MortgageableFund: TThostFtdcMoneyType,
    #[doc = " 特殊产品占用保证金"]
    pub SpecProductMargin: TThostFtdcMoneyType,
    #[doc = " 特殊产品冻结保证金"]
    pub SpecProductFrozenMargin: TThostFtdcMoneyType,
    #[doc = " 特殊产品手续费"]
    pub SpecProductCommission: TThostFtdcMoneyType,
    #[doc = " 特殊产品冻结手续费"]
    pub SpecProductFrozenCommission: TThostFtdcMoneyType,
    #[doc = " 特殊产品持仓盈亏"]
    pub SpecProductPositionProfit: TThostFtdcMoneyType,
    #[doc = " 特殊产品平仓盈亏"]
    pub SpecProductCloseProfit: TThostFtdcMoneyType,
    #[doc = " 根据持仓盈亏算法计算的特殊产品持仓盈亏"]
    pub SpecProductPositionProfitByAlg: TThostFtdcMoneyType,
    #[doc = " 特殊产品交易所保证金"]
    pub SpecProductExchangeMargin: TThostFtdcMoneyType,
    #[doc = " 延时换汇冻结金额"]
    pub FrozenSwap: TThostFtdcMoneyType,
    #[doc = " 剩余换汇额度"]
    pub RemainSwap: TThostFtdcMoneyType,
    #[doc = " 追平序号"]
    pub SyncDeltaSequenceNo: TThostFtdcSequenceNoType,
}
#[doc = " 投资者风险结算总保证金"]
#[repr(C)]
#[derive(Debug, Default, Copy, Clone)]
pub struct CThostFtdcSyncDeltaInitInvstMarginField {
    #[doc = " 经纪公司代码"]
    pub BrokerID: TThostFtdcBrokerIDType,
    #[doc = " 投资者代码"]
    pub InvestorID: TThostFtdcInvestorIDType,
    #[doc = " 追平前总风险保证金"]
    pub LastRiskTotalInvstMargin: TThostFtdcMoneyType,
    #[doc = " 追平前交易所总风险保证金"]
    pub LastRiskTotalExchMargin: TThostFtdcMoneyType,
    #[doc = " 本次追平品种总保证金"]
    pub ThisSyncInvstMargin: TThostFtdcMoneyType,
    #[doc = " 本次追平品种交易所总保证金"]
    pub ThisSyncExchMargin: TThostFtdcMoneyType,
    #[doc = " 本次未追平品种总保证金"]
    pub RemainRiskInvstMargin: TThostFtdcMoneyType,
    #[doc = " 本次未追平品种交易所总保证金"]
    pub RemainRiskExchMargin: TThostFtdcMoneyType,
    #[doc = " 追平前总特殊产品风险保证金"]
    pub LastRiskSpecTotalInvstMargin: TThostFtdcMoneyType,
    #[doc = " 追平前总特殊产品交易所风险保证金"]
    pub LastRiskSpecTotalExchMargin: TThostFtdcMoneyType,
    #[doc = " 本次追平品种特殊产品总保证金"]
    pub ThisSyncSpecInvstMargin: TThostFtdcMoneyType,
    #[doc = " 本次追平品种特殊产品交易所总保证金"]
    pub ThisSyncSpecExchMargin: TThostFtdcMoneyType,
    #[doc = " 本次未追平品种特殊产品总保证金"]
    pub RemainRiskSpecInvstMargin: TThostFtdcMoneyType,
    #[doc = " 本次未追平品种特殊产品交易所总保证金"]
    pub RemainRiskSpecExchMargin: TThostFtdcMoneyType,
    #[doc = " 追平序号"]
    pub SyncDeltaSequenceNo: TThostFtdcSequenceNoType,
}
#[doc = " 风险结算追平组合优先级"]
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct CThostFtdcSyncDeltaDceCombInstrumentField {
    #[doc = " 合约代码"]
    pub CombInstrumentID: TThostFtdcInstrumentIDType,
    #[doc = " 交易所代码"]
    pub ExchangeID: TThostFtdcExchangeIDType,
    #[doc = " 合约在交易所的代码"]
    pub ExchangeInstID: TThostFtdcExchangeInstIDType,
    #[doc = " 成交组号"]
    pub TradeGroupID: TThostFtdcTradeGroupIDType,
    #[doc = " 投机套保标志"]
    pub CombHedgeFlag: TThostFtdcHedgeFlagType,
    #[doc = " 组合类型"]
    pub CombinationType: TThostFtdcDceCombinationTypeType,
    #[doc = " 买卖"]
    pub Direction: TThostFtdcDirectionType,
    #[doc = " 产品代码"]
    pub ProductID: TThostFtdcInstrumentIDType,
    #[doc = " 期权组合保证金比例"]
    pub Xparameter: TThostFtdcDiscountRatioType,
    #[doc = " 操作标志"]
    pub ActionDirection: TThostFtdcActionDirectionType,
    #[doc = " 追平序号"]
    pub SyncDeltaSequenceNo: TThostFtdcSequenceNoType,
}
impl Default for CThostFtdcSyncDeltaDceCombInstrumentField {
    fn default() -> Self {
        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
        unsafe {
            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
            s.assume_init()
        }
    }
}
#[doc = " 风险结算追平投资者期货保证金率"]
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct CThostFtdcSyncDeltaInvstMarginRateField {
    #[doc = " 合约代码"]
    pub InstrumentID: TThostFtdcInstrumentIDType,
    #[doc = " 投资者范围"]
    pub InvestorRange: TThostFtdcInvestorRangeType,
    #[doc = " 经纪公司代码"]
    pub BrokerID: TThostFtdcBrokerIDType,
    #[doc = " 投资者代码"]
    pub InvestorID: TThostFtdcInvestorIDType,
    #[doc = " 投机套保标志"]
    pub HedgeFlag: TThostFtdcHedgeFlagType,
    #[doc = " 多头保证金率"]
    pub LongMarginRatioByMoney: TThostFtdcRatioType,
    #[doc = " 多头保证金费"]
    pub LongMarginRatioByVolume: TThostFtdcMoneyType,
    #[doc = " 空头保证金率"]
    pub ShortMarginRatioByMoney: TThostFtdcRatioType,
    #[doc = " 空头保证金费"]
    pub ShortMarginRatioByVolume: TThostFtdcMoneyType,
    #[doc = " 是否相对交易所收取"]
    pub IsRelative: TThostFtdcBoolType,
    #[doc = " 操作标志"]
    pub ActionDirection: TThostFtdcActionDirectionType,
    #[doc = " 追平序号"]
    pub SyncDeltaSequenceNo: TThostFtdcSequenceNoType,
}
impl Default for CThostFtdcSyncDeltaInvstMarginRateField {
    fn default() -> Self {
        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
        unsafe {
            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
            s.assume_init()
        }
    }
}
#[doc = " 风险结算追平交易所期货保证金率"]
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct CThostFtdcSyncDeltaExchMarginRateField {
    #[doc = " 经纪公司代码"]
    pub BrokerID: TThostFtdcBrokerIDType,
    #[doc = " 合约代码"]
    pub InstrumentID: TThostFtdcInstrumentIDType,
    #[doc = " 投机套保标志"]
    pub HedgeFlag: TThostFtdcHedgeFlagType,
    #[doc = " 多头保证金率"]
    pub LongMarginRatioByMoney: TThostFtdcRatioType,
    #[doc = " 多头保证金费"]
    pub LongMarginRatioByVolume: TThostFtdcMoneyType,
    #[doc = " 空头保证金率"]
    pub ShortMarginRatioByMoney: TThostFtdcRatioType,
    #[doc = " 空头保证金费"]
    pub ShortMarginRatioByVolume: TThostFtdcMoneyType,
    #[doc = " 操作标志"]
    pub ActionDirection: TThostFtdcActionDirectionType,
    #[doc = " 追平序号"]
    pub SyncDeltaSequenceNo: TThostFtdcSequenceNoType,
}
impl Default for CThostFtdcSyncDeltaExchMarginRateField {
    fn default() -> Self {
        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
        unsafe {
            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
            s.assume_init()
        }
    }
}
#[doc = " 风险结算追平中金现货期权交易所保证金率"]
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct CThostFtdcSyncDeltaOptExchMarginField {
    #[doc = " 经纪公司代码"]
    pub BrokerID: TThostFtdcBrokerIDType,
    #[doc = " 合约代码"]
    pub InstrumentID: TThostFtdcInstrumentIDType,
    #[doc = " 投机空头保证金调整系数"]
    pub SShortMarginRatioByMoney: TThostFtdcRatioType,
    #[doc = " 投机空头保证金调整系数"]
    pub SShortMarginRatioByVolume: TThostFtdcMoneyType,
    #[doc = " 保值空头保证金调整系数"]
    pub HShortMarginRatioByMoney: TThostFtdcRatioType,
    #[doc = " 保值空头保证金调整系数"]
    pub HShortMarginRatioByVolume: TThostFtdcMoneyType,
    #[doc = " 套利空头保证金调整系数"]
    pub AShortMarginRatioByMoney: TThostFtdcRatioType,
    #[doc = " 套利空头保证金调整系数"]
    pub AShortMarginRatioByVolume: TThostFtdcMoneyType,
    #[doc = " 做市商空头保证金调整系数"]
    pub MShortMarginRatioByMoney: TThostFtdcRatioType,
    #[doc = " 做市商空头保证金调整系数"]
    pub MShortMarginRatioByVolume: TThostFtdcMoneyType,
    #[doc = " 操作标志"]
    pub ActionDirection: TThostFtdcActionDirectionType,
    #[doc = " 追平序号"]
    pub SyncDeltaSequenceNo: TThostFtdcSequenceNoType,
}
impl Default for CThostFtdcSyncDeltaOptExchMarginField {
    fn default() -> Self {
        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
        unsafe {
            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
            s.assume_init()
        }
    }
}
#[doc = " 风险结算追平中金现货期权投资者保证金率"]
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct CThostFtdcSyncDeltaOptInvstMarginField {
    #[doc = " 合约代码"]
    pub InstrumentID: TThostFtdcInstrumentIDType,
    #[doc = " 投资者范围"]
    pub InvestorRange: TThostFtdcInvestorRangeType,
    #[doc = " 经纪公司代码"]
    pub BrokerID: TThostFtdcBrokerIDType,
    #[doc = " 投资者代码"]
    pub InvestorID: TThostFtdcInvestorIDType,
    #[doc = " 投机空头保证金调整系数"]
    pub SShortMarginRatioByMoney: TThostFtdcRatioType,
    #[doc = " 投机空头保证金调整系数"]
    pub SShortMarginRatioByVolume: TThostFtdcMoneyType,
    #[doc = " 保值空头保证金调整系数"]
    pub HShortMarginRatioByMoney: TThostFtdcRatioType,
    #[doc = " 保值空头保证金调整系数"]
    pub HShortMarginRatioByVolume: TThostFtdcMoneyType,
    #[doc = " 套利空头保证金调整系数"]
    pub AShortMarginRatioByMoney: TThostFtdcRatioType,
    #[doc = " 套利空头保证金调整系数"]
    pub AShortMarginRatioByVolume: TThostFtdcMoneyType,
    #[doc = " 是否跟随交易所收取"]
    pub IsRelative: TThostFtdcBoolType,
    #[doc = " 做市商空头保证金调整系数"]
    pub MShortMarginRatioByMoney: TThostFtdcRatioType,
    #[doc = " 做市商空头保证金调整系数"]
    pub MShortMarginRatioByVolume: TThostFtdcMoneyType,
    #[doc = " 操作标志"]
    pub ActionDirection: TThostFtdcActionDirectionType,
    #[doc = " 追平序号"]
    pub SyncDeltaSequenceNo: TThostFtdcSequenceNoType,
}
impl Default for CThostFtdcSyncDeltaOptInvstMarginField {
    fn default() -> Self {
        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
        unsafe {
            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
            s.assume_init()
        }
    }
}
#[doc = " 风险结算追平期权标的调整保证金率"]
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct CThostFtdcSyncDeltaInvstMarginRateULField {
    #[doc = " 合约代码"]
    pub InstrumentID: TThostFtdcInstrumentIDType,
    #[doc = " 投资者范围"]
    pub InvestorRange: TThostFtdcInvestorRangeType,
    #[doc = " 经纪公司代码"]
    pub BrokerID: TThostFtdcBrokerIDType,
    #[doc = " 投资者代码"]
    pub InvestorID: TThostFtdcInvestorIDType,
    #[doc = " 投机套保标志"]
    pub HedgeFlag: TThostFtdcHedgeFlagType,
    #[doc = " 多头保证金率"]
    pub LongMarginRatioByMoney: TThostFtdcRatioType,
    #[doc = " 多头保证金费"]
    pub LongMarginRatioByVolume: TThostFtdcMoneyType,
    #[doc = " 空头保证金率"]
    pub ShortMarginRatioByMoney: TThostFtdcRatioType,
    #[doc = " 空头保证金费"]
    pub ShortMarginRatioByVolume: TThostFtdcMoneyType,
    #[doc = " 操作标志"]
    pub ActionDirection: TThostFtdcActionDirectionType,
    #[doc = " 追平序号"]
    pub SyncDeltaSequenceNo: TThostFtdcSequenceNoType,
}
impl Default for CThostFtdcSyncDeltaInvstMarginRateULField {
    fn default() -> Self {
        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
        unsafe {
            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
            s.assume_init()
        }
    }
}
#[doc = " 风险结算追平期权手续费率"]
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct CThostFtdcSyncDeltaOptInvstCommRateField {
    #[doc = " 合约代码"]
    pub InstrumentID: TThostFtdcInstrumentIDType,
    #[doc = " 投资者范围"]
    pub InvestorRange: TThostFtdcInvestorRangeType,
    #[doc = " 经纪公司代码"]
    pub BrokerID: TThostFtdcBrokerIDType,
    #[doc = " 投资者代码"]
    pub InvestorID: TThostFtdcInvestorIDType,
    #[doc = " 开仓手续费率"]
    pub OpenRatioByMoney: TThostFtdcRatioType,
    #[doc = " 开仓手续费"]
    pub OpenRatioByVolume: TThostFtdcRatioType,
    #[doc = " 平仓手续费率"]
    pub CloseRatioByMoney: TThostFtdcRatioType,
    #[doc = " 平仓手续费"]
    pub CloseRatioByVolume: TThostFtdcRatioType,
    #[doc = " 平今手续费率"]
    pub CloseTodayRatioByMoney: TThostFtdcRatioType,
    #[doc = " 平今手续费"]
    pub CloseTodayRatioByVolume: TThostFtdcRatioType,
    #[doc = " 执行手续费率"]
    pub StrikeRatioByMoney: TThostFtdcRatioType,
    #[doc = " 执行手续费"]
    pub StrikeRatioByVolume: TThostFtdcRatioType,
    #[doc = " 操作标志"]
    pub ActionDirection: TThostFtdcActionDirectionType,
    #[doc = " 追平序号"]
    pub SyncDeltaSequenceNo: TThostFtdcSequenceNoType,
}
impl Default for CThostFtdcSyncDeltaOptInvstCommRateField {
    fn default() -> Self {
        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
        unsafe {
            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
            s.assume_init()
        }
    }
}
#[doc = " 风险结算追平期货手续费率"]
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct CThostFtdcSyncDeltaInvstCommRateField {
    #[doc = " 合约代码"]
    pub InstrumentID: TThostFtdcInstrumentIDType,
    #[doc = " 投资者范围"]
    pub InvestorRange: TThostFtdcInvestorRangeType,
    #[doc = " 经纪公司代码"]
    pub BrokerID: TThostFtdcBrokerIDType,
    #[doc = " 投资者代码"]
    pub InvestorID: TThostFtdcInvestorIDType,
    #[doc = " 开仓手续费率"]
    pub OpenRatioByMoney: TThostFtdcRatioType,
    #[doc = " 开仓手续费"]
    pub OpenRatioByVolume: TThostFtdcRatioType,
    #[doc = " 平仓手续费率"]
    pub CloseRatioByMoney: TThostFtdcRatioType,
    #[doc = " 平仓手续费"]
    pub CloseRatioByVolume: TThostFtdcRatioType,
    #[doc = " 平今手续费率"]
    pub CloseTodayRatioByMoney: TThostFtdcRatioType,
    #[doc = " 平今手续费"]
    pub CloseTodayRatioByVolume: TThostFtdcRatioType,
    #[doc = " 操作标志"]
    pub ActionDirection: TThostFtdcActionDirectionType,
    #[doc = " 追平序号"]
    pub SyncDeltaSequenceNo: TThostFtdcSequenceNoType,
}
impl Default for CThostFtdcSyncDeltaInvstCommRateField {
    fn default() -> Self {
        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
        unsafe {
            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
            s.assume_init()
        }
    }
}
#[doc = " 风险结算追平交叉汇率"]
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct CThostFtdcSyncDeltaProductExchRateField {
    #[doc = " 产品代码"]
    pub ProductID: TThostFtdcInstrumentIDType,
    #[doc = " 报价币种类型"]
    pub QuoteCurrencyID: TThostFtdcCurrencyIDType,
    #[doc = " 汇率"]
    pub ExchangeRate: TThostFtdcExchangeRateType,
    #[doc = " 操作标志"]
    pub ActionDirection: TThostFtdcActionDirectionType,
    #[doc = " 追平序号"]
    pub SyncDeltaSequenceNo: TThostFtdcSequenceNoType,
}
impl Default for CThostFtdcSyncDeltaProductExchRateField {
    fn default() -> Self {
        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
        unsafe {
            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
            s.assume_init()
        }
    }
}
#[doc = " 风险结算追平行情"]
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct CThostFtdcSyncDeltaDepthMarketDataField {
    #[doc = " 交易日"]
    pub TradingDay: TThostFtdcDateType,
    #[doc = " 合约代码"]
    pub InstrumentID: TThostFtdcInstrumentIDType,
    #[doc = " 交易所代码"]
    pub ExchangeID: TThostFtdcExchangeIDType,
    #[doc = " 合约在交易所的代码"]
    pub ExchangeInstID: TThostFtdcExchangeInstIDType,
    #[doc = " 最新价"]
    pub LastPrice: TThostFtdcPriceType,
    #[doc = " 上次结算价"]
    pub PreSettlementPrice: TThostFtdcPriceType,
    #[doc = " 昨收盘"]
    pub PreClosePrice: TThostFtdcPriceType,
    #[doc = " 昨持仓量"]
    pub PreOpenInterest: TThostFtdcLargeVolumeType,
    #[doc = " 今开盘"]
    pub OpenPrice: TThostFtdcPriceType,
    #[doc = " 最高价"]
    pub HighestPrice: TThostFtdcPriceType,
    #[doc = " 最低价"]
    pub LowestPrice: TThostFtdcPriceType,
    #[doc = " 数量"]
    pub Volume: TThostFtdcVolumeType,
    #[doc = " 成交金额"]
    pub Turnover: TThostFtdcMoneyType,
    #[doc = " 持仓量"]
    pub OpenInterest: TThostFtdcLargeVolumeType,
    #[doc = " 今收盘"]
    pub ClosePrice: TThostFtdcPriceType,
    #[doc = " 本次结算价"]
    pub SettlementPrice: TThostFtdcPriceType,
    #[doc = " 涨停板价"]
    pub UpperLimitPrice: TThostFtdcPriceType,
    #[doc = " 跌停板价"]
    pub LowerLimitPrice: TThostFtdcPriceType,
    #[doc = " 昨虚实度"]
    pub PreDelta: TThostFtdcRatioType,
    #[doc = " 今虚实度"]
    pub CurrDelta: TThostFtdcRatioType,
    #[doc = " 最后修改时间"]
    pub UpdateTime: TThostFtdcTimeType,
    #[doc = " 最后修改毫秒"]
    pub UpdateMillisec: TThostFtdcMillisecType,
    #[doc = " 申买价一"]
    pub BidPrice1: TThostFtdcPriceType,
    #[doc = " 申买量一"]
    pub BidVolume1: TThostFtdcVolumeType,
    #[doc = " 申卖价一"]
    pub AskPrice1: TThostFtdcPriceType,
    #[doc = " 申卖量一"]
    pub AskVolume1: TThostFtdcVolumeType,
    #[doc = " 申买价二"]
    pub BidPrice2: TThostFtdcPriceType,
    #[doc = " 申买量二"]
    pub BidVolume2: TThostFtdcVolumeType,
    #[doc = " 申卖价二"]
    pub AskPrice2: TThostFtdcPriceType,
    #[doc = " 申卖量二"]
    pub AskVolume2: TThostFtdcVolumeType,
    #[doc = " 申买价三"]
    pub BidPrice3: TThostFtdcPriceType,
    #[doc = " 申买量三"]
    pub BidVolume3: TThostFtdcVolumeType,
    #[doc = " 申卖价三"]
    pub AskPrice3: TThostFtdcPriceType,
    #[doc = " 申卖量三"]
    pub AskVolume3: TThostFtdcVolumeType,
    #[doc = " 申买价四"]
    pub BidPrice4: TThostFtdcPriceType,
    #[doc = " 申买量四"]
    pub BidVolume4: TThostFtdcVolumeType,
    #[doc = " 申卖价四"]
    pub AskPrice4: TThostFtdcPriceType,
    #[doc = " 申卖量四"]
    pub AskVolume4: TThostFtdcVolumeType,
    #[doc = " 申买价五"]
    pub BidPrice5: TThostFtdcPriceType,
    #[doc = " 申买量五"]
    pub BidVolume5: TThostFtdcVolumeType,
    #[doc = " 申卖价五"]
    pub AskPrice5: TThostFtdcPriceType,
    #[doc = " 申卖量五"]
    pub AskVolume5: TThostFtdcVolumeType,
    #[doc = " 当日均价"]
    pub AveragePrice: TThostFtdcPriceType,
    #[doc = " 业务日期"]
    pub ActionDay: TThostFtdcDateType,
    #[doc = " 上带价"]
    pub BandingUpperPrice: TThostFtdcPriceType,
    #[doc = " 下带价"]
    pub BandingLowerPrice: TThostFtdcPriceType,
    #[doc = " 操作标志"]
    pub ActionDirection: TThostFtdcActionDirectionType,
    #[doc = " 追平序号"]
    pub SyncDeltaSequenceNo: TThostFtdcSequenceNoType,
}
impl Default for CThostFtdcSyncDeltaDepthMarketDataField {
    fn default() -> Self {
        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
        unsafe {
            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
            s.assume_init()
        }
    }
}
#[doc = " 风险结算追平现货指数"]
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct CThostFtdcSyncDeltaIndexPriceField {
    #[doc = " 经纪公司代码"]
    pub BrokerID: TThostFtdcBrokerIDType,
    #[doc = " 合约代码"]
    pub InstrumentID: TThostFtdcInstrumentIDType,
    #[doc = " 指数现货收盘价"]
    pub ClosePrice: TThostFtdcPriceType,
    #[doc = " 操作标志"]
    pub ActionDirection: TThostFtdcActionDirectionType,
    #[doc = " 追平序号"]
    pub SyncDeltaSequenceNo: TThostFtdcSequenceNoType,
}
impl Default for CThostFtdcSyncDeltaIndexPriceField {
    fn default() -> Self {
        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
        unsafe {
            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
            s.assume_init()
        }
    }
}
#[doc = " 风险结算追平仓单折抵"]
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct CThostFtdcSyncDeltaEWarrantOffsetField {
    #[doc = " 交易日期"]
    pub TradingDay: TThostFtdcTradeDateType,
    #[doc = " 经纪公司代码"]
    pub BrokerID: TThostFtdcBrokerIDType,
    #[doc = " 投资者代码"]
    pub InvestorID: TThostFtdcInvestorIDType,
    #[doc = " 交易所代码"]
    pub ExchangeID: TThostFtdcExchangeIDType,
    #[doc = " 合约代码"]
    pub InstrumentID: TThostFtdcInstrumentIDType,
    #[doc = " 买卖方向"]
    pub Direction: TThostFtdcDirectionType,
    #[doc = " 投机套保标志"]
    pub HedgeFlag: TThostFtdcHedgeFlagType,
    #[doc = " 数量"]
    pub Volume: TThostFtdcVolumeType,
    #[doc = " 操作标志"]
    pub ActionDirection: TThostFtdcActionDirectionType,
    #[doc = " 追平序号"]
    pub SyncDeltaSequenceNo: TThostFtdcSequenceNoType,
}
impl Default for CThostFtdcSyncDeltaEWarrantOffsetField {
    fn default() -> Self {
        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
        unsafe {
            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
            s.assume_init()
        }
    }
}
#[doc = " SPBM期货合约保证金参数"]
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct CThostFtdcSPBMFutureParameterField {
    #[doc = " 交易日"]
    pub TradingDay: TThostFtdcDateType,
    #[doc = " 交易所代码"]
    pub ExchangeID: TThostFtdcExchangeIDType,
    #[doc = " 合约代码"]
    pub InstrumentID: TThostFtdcInstrumentIDType,
    #[doc = " 品种代码"]
    pub ProdFamilyCode: TThostFtdcInstrumentIDType,
    #[doc = " 期货合约因子"]
    pub Cvf: TThostFtdcVolumeMultipleType,
    #[doc = " 阶段标识"]
    pub TimeRange: TThostFtdcTimeRangeType,
    #[doc = " 品种保证金标准"]
    pub MarginRate: TThostFtdcRatioType,
    #[doc = " 期货合约内部对锁仓费率折扣比例"]
    pub LockRateX: TThostFtdcRatioType,
    #[doc = " 提高保证金标准"]
    pub AddOnRate: TThostFtdcRatioType,
    #[doc = " 昨结算价"]
    pub PreSettlementPrice: TThostFtdcPriceType,
    #[doc = " 期货合约内部对锁仓附加费率折扣比例"]
    pub AddOnLockRateX2: TThostFtdcRatioType,
}
impl Default for CThostFtdcSPBMFutureParameterField {
    fn default() -> Self {
        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
        unsafe {
            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
            s.assume_init()
        }
    }
}
#[doc = " SPBM期权合约保证金参数"]
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct CThostFtdcSPBMOptionParameterField {
    #[doc = " 交易日"]
    pub TradingDay: TThostFtdcDateType,
    #[doc = " 交易所代码"]
    pub ExchangeID: TThostFtdcExchangeIDType,
    #[doc = " 合约代码"]
    pub InstrumentID: TThostFtdcInstrumentIDType,
    #[doc = " 品种代码"]
    pub ProdFamilyCode: TThostFtdcInstrumentIDType,
    #[doc = " 期权合约因子"]
    pub Cvf: TThostFtdcVolumeMultipleType,
    #[doc = " 期权冲抵价格"]
    pub DownPrice: TThostFtdcPriceType,
    #[doc = " Delta值"]
    pub Delta: TThostFtdcDeltaType,
    #[doc = " 卖方期权风险转换最低值"]
    pub SlimiDelta: TThostFtdcDeltaType,
    #[doc = " 昨结算价"]
    pub PreSettlementPrice: TThostFtdcPriceType,
}
impl Default for CThostFtdcSPBMOptionParameterField {
    fn default() -> Self {
        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
        unsafe {
            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
            s.assume_init()
        }
    }
}
#[doc = " SPBM品种内对锁仓折扣参数"]
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct CThostFtdcSPBMIntraParameterField {
    #[doc = " 交易日"]
    pub TradingDay: TThostFtdcDateType,
    #[doc = " 交易所代码"]
    pub ExchangeID: TThostFtdcExchangeIDType,
    #[doc = " 品种代码"]
    pub ProdFamilyCode: TThostFtdcInstrumentIDType,
    #[doc = " 品种内合约间对锁仓费率折扣比例"]
    pub IntraRateY: TThostFtdcRatioType,
    #[doc = " 品种内合约间对锁仓附加费率折扣比例"]
    pub AddOnIntraRateY2: TThostFtdcRatioType,
}
impl Default for CThostFtdcSPBMIntraParameterField {
    fn default() -> Self {
        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
        unsafe {
            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
            s.assume_init()
        }
    }
}
#[doc = " SPBM跨品种抵扣参数"]
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct CThostFtdcSPBMInterParameterField {
    #[doc = " 交易日"]
    pub TradingDay: TThostFtdcDateType,
    #[doc = " 交易所代码"]
    pub ExchangeID: TThostFtdcExchangeIDType,
    #[doc = " 优先级"]
    pub SpreadId: TThostFtdcSpreadIdType,
    #[doc = " 品种间对锁仓费率折扣比例"]
    pub InterRateZ: TThostFtdcRatioType,
    #[doc = " 第一腿构成品种"]
    pub Leg1ProdFamilyCode: TThostFtdcInstrumentIDType,
    #[doc = " 第二腿构成品种"]
    pub Leg2ProdFamilyCode: TThostFtdcInstrumentIDType,
}
impl Default for CThostFtdcSPBMInterParameterField {
    fn default() -> Self {
        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
        unsafe {
            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
            s.assume_init()
        }
    }
}
#[doc = " 同步SPBM参数结束"]
#[repr(C)]
#[derive(Debug, Default, Copy, Clone)]
pub struct CThostFtdcSyncSPBMParameterEndField {
    #[doc = " 交易日"]
    pub TradingDay: TThostFtdcDateType,
}
#[doc = " SPBM期货合约保证金参数查询"]
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct CThostFtdcQrySPBMFutureParameterField {
    #[doc = " 交易所代码"]
    pub ExchangeID: TThostFtdcExchangeIDType,
    #[doc = " 合约代码"]
    pub InstrumentID: TThostFtdcInstrumentIDType,
    #[doc = " 品种代码"]
    pub ProdFamilyCode: TThostFtdcInstrumentIDType,
}
impl Default for CThostFtdcQrySPBMFutureParameterField {
    fn default() -> Self {
        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
        unsafe {
            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
            s.assume_init()
        }
    }
}
#[doc = " SPBM期权合约保证金参数查询"]
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct CThostFtdcQrySPBMOptionParameterField {
    #[doc = " 交易所代码"]
    pub ExchangeID: TThostFtdcExchangeIDType,
    #[doc = " 合约代码"]
    pub InstrumentID: TThostFtdcInstrumentIDType,
    #[doc = " 品种代码"]
    pub ProdFamilyCode: TThostFtdcInstrumentIDType,
}
impl Default for CThostFtdcQrySPBMOptionParameterField {
    fn default() -> Self {
        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
        unsafe {
            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
            s.assume_init()
        }
    }
}
#[doc = " SPBM品种内对锁仓折扣参数查询"]
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct CThostFtdcQrySPBMIntraParameterField {
    #[doc = " 交易所代码"]
    pub ExchangeID: TThostFtdcExchangeIDType,
    #[doc = " 品种代码"]
    pub ProdFamilyCode: TThostFtdcInstrumentIDType,
}
impl Default for CThostFtdcQrySPBMIntraParameterField {
    fn default() -> Self {
        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
        unsafe {
            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
            s.assume_init()
        }
    }
}
#[doc = " SPBM跨品种抵扣参数查询"]
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct CThostFtdcQrySPBMInterParameterField {
    #[doc = " 交易所代码"]
    pub ExchangeID: TThostFtdcExchangeIDType,
    #[doc = " 第一腿构成品种"]
    pub Leg1ProdFamilyCode: TThostFtdcInstrumentIDType,
    #[doc = " 第二腿构成品种"]
    pub Leg2ProdFamilyCode: TThostFtdcInstrumentIDType,
}
impl Default for CThostFtdcQrySPBMInterParameterField {
    fn default() -> Self {
        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
        unsafe {
            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
            s.assume_init()
        }
    }
}
#[doc = " 组合保证金套餐"]
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct CThostFtdcSPBMPortfDefinitionField {
    #[doc = " 交易所代码"]
    pub ExchangeID: TThostFtdcExchangeIDType,
    #[doc = " 组合保证金套餐代码"]
    pub PortfolioDefID: TThostFtdcPortfolioDefIDType,
    #[doc = " 品种代码"]
    pub ProdFamilyCode: TThostFtdcInstrumentIDType,
    #[doc = " 是否启用SPBM"]
    pub IsSPBM: TThostFtdcBoolType,
}
impl Default for CThostFtdcSPBMPortfDefinitionField {
    fn default() -> Self {
        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
        unsafe {
            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
            s.assume_init()
        }
    }
}
#[doc = " 投资者套餐选择"]
#[repr(C)]
#[derive(Debug, Default, Copy, Clone)]
pub struct CThostFtdcSPBMInvestorPortfDefField {
    #[doc = " 交易所代码"]
    pub ExchangeID: TThostFtdcExchangeIDType,
    #[doc = " 经纪公司代码"]
    pub BrokerID: TThostFtdcBrokerIDType,
    #[doc = " 投资者代码"]
    pub InvestorID: TThostFtdcInvestorIDType,
    #[doc = " 组合保证金套餐代码"]
    pub PortfolioDefID: TThostFtdcPortfolioDefIDType,
}
#[doc = " 投资者新型组合保证金系数"]
#[repr(C)]
#[derive(Debug, Default, Copy, Clone)]
pub struct CThostFtdcInvestorPortfMarginRatioField {
    #[doc = " 投资者范围"]
    pub InvestorRange: TThostFtdcInvestorRangeType,
    #[doc = " 经纪公司代码"]
    pub BrokerID: TThostFtdcBrokerIDType,
    #[doc = " 投资者代码"]
    pub InvestorID: TThostFtdcInvestorIDType,
    #[doc = " 交易所代码"]
    pub ExchangeID: TThostFtdcExchangeIDType,
    #[doc = " 会员对投资者收取的保证金和交易所对投资者收取的保证金的比例"]
    pub MarginRatio: TThostFtdcRatioType,
}
#[doc = " 组合保证金套餐查询"]
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct CThostFtdcQrySPBMPortfDefinitionField {
    #[doc = " 交易所代码"]
    pub ExchangeID: TThostFtdcExchangeIDType,
    #[doc = " 组合保证金套餐代码"]
    pub PortfolioDefID: TThostFtdcPortfolioDefIDType,
    #[doc = " 品种代码"]
    pub ProdFamilyCode: TThostFtdcInstrumentIDType,
}
impl Default for CThostFtdcQrySPBMPortfDefinitionField {
    fn default() -> Self {
        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
        unsafe {
            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
            s.assume_init()
        }
    }
}
#[doc = " 投资者套餐选择查询"]
#[repr(C)]
#[derive(Debug, Default, Copy, Clone)]
pub struct CThostFtdcQrySPBMInvestorPortfDefField {
    #[doc = " 交易所代码"]
    pub ExchangeID: TThostFtdcExchangeIDType,
    #[doc = " 经纪公司代码"]
    pub BrokerID: TThostFtdcBrokerIDType,
    #[doc = " 投资者代码"]
    pub InvestorID: TThostFtdcInvestorIDType,
}
#[doc = " 投资者新型组合保证金系数查询"]
#[repr(C)]
#[derive(Debug, Default, Copy, Clone)]
pub struct CThostFtdcQryInvestorPortfMarginRatioField {
    #[doc = " 经纪公司代码"]
    pub BrokerID: TThostFtdcBrokerIDType,
    #[doc = " 投资者代码"]
    pub InvestorID: TThostFtdcInvestorIDType,
    #[doc = " 交易所代码"]
    pub ExchangeID: TThostFtdcExchangeIDType,
}
#[doc = " 投资者产品SPBM明细"]
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct CThostFtdcInvestorProdSPBMDetailField {
    #[doc = " 交易所代码"]
    pub ExchangeID: TThostFtdcExchangeIDType,
    #[doc = " 经纪公司代码"]
    pub BrokerID: TThostFtdcBrokerIDType,
    #[doc = " 投资者代码"]
    pub InvestorID: TThostFtdcInvestorIDType,
    #[doc = " 品种代码"]
    pub ProdFamilyCode: TThostFtdcInstrumentIDType,
    #[doc = " 合约内对锁保证金"]
    pub IntraInstrMargin: TThostFtdcMoneyType,
    #[doc = " 买归集保证金"]
    pub BCollectingMargin: TThostFtdcMoneyType,
    #[doc = " 卖归集保证金"]
    pub SCollectingMargin: TThostFtdcMoneyType,
    #[doc = " 品种内合约间对锁保证金"]
    pub IntraProdMargin: TThostFtdcMoneyType,
    #[doc = " 净保证金"]
    pub NetMargin: TThostFtdcMoneyType,
    #[doc = " 产品间对锁保证金"]
    pub InterProdMargin: TThostFtdcMoneyType,
    #[doc = " 裸保证金"]
    pub SingleMargin: TThostFtdcMoneyType,
    #[doc = " 附加保证金"]
    pub AddOnMargin: TThostFtdcMoneyType,
    #[doc = " 交割月保证金"]
    pub DeliveryMargin: TThostFtdcMoneyType,
    #[doc = " 看涨期权最低风险"]
    pub CallOptionMinRisk: TThostFtdcMoneyType,
    #[doc = " 看跌期权最低风险"]
    pub PutOptionMinRisk: TThostFtdcMoneyType,
    #[doc = " 卖方期权最低风险"]
    pub OptionMinRisk: TThostFtdcMoneyType,
    #[doc = " 买方期权冲抵价值"]
    pub OptionValueOffset: TThostFtdcMoneyType,
    #[doc = " 卖方期权权利金"]
    pub OptionRoyalty: TThostFtdcMoneyType,
    #[doc = " 价值冲抵"]
    pub RealOptionValueOffset: TThostFtdcMoneyType,
    #[doc = " 保证金"]
    pub Margin: TThostFtdcMoneyType,
    #[doc = " 交易所保证金"]
    pub ExchMargin: TThostFtdcMoneyType,
}
impl Default for CThostFtdcInvestorProdSPBMDetailField {
    fn default() -> Self {
        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
        unsafe {
            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
            s.assume_init()
        }
    }
}
#[doc = " 投资者产品SPBM明细查询"]
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct CThostFtdcQryInvestorProdSPBMDetailField {
    #[doc = " 交易所代码"]
    pub ExchangeID: TThostFtdcExchangeIDType,
    #[doc = " 经纪公司代码"]
    pub BrokerID: TThostFtdcBrokerIDType,
    #[doc = " 投资者代码"]
    pub InvestorID: TThostFtdcInvestorIDType,
    #[doc = " 品种代码"]
    pub ProdFamilyCode: TThostFtdcInstrumentIDType,
}
impl Default for CThostFtdcQryInvestorProdSPBMDetailField {
    fn default() -> Self {
        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
        unsafe {
            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
            s.assume_init()
        }
    }
}
#[doc = " 组保交易参数设置"]
#[repr(C)]
#[derive(Debug, Default, Copy, Clone)]
pub struct CThostFtdcPortfTradeParamSettingField {
    #[doc = " 交易所代码"]
    pub ExchangeID: TThostFtdcExchangeIDType,
    #[doc = " 经纪公司代码"]
    pub BrokerID: TThostFtdcBrokerIDType,
    #[doc = " 投资者代码"]
    pub InvestorID: TThostFtdcInvestorIDType,
    #[doc = " 新型组保算法"]
    pub Portfolio: TThostFtdcPortfolioType,
    #[doc = " 撤单是否验资"]
    pub IsActionVerify: TThostFtdcBoolType,
    #[doc = " 平仓是否验资"]
    pub IsCloseVerify: TThostFtdcBoolType,
}
#[doc = " 投资者交易权限设置"]
#[repr(C)]
#[derive(Debug, Default, Copy, Clone)]
pub struct CThostFtdcInvestorTradingRightField {
    #[doc = " 经纪公司代码"]
    pub BrokerID: TThostFtdcBrokerIDType,
    #[doc = " 投资者代码"]
    pub InvestorID: TThostFtdcInvestorIDType,
    #[doc = " 交易权限"]
    pub InvstTradingRight: TThostFtdcInvstTradingRightType,
}
#[doc = " 质押配比参数"]
#[repr(C)]
#[derive(Debug, Default, Copy, Clone)]
pub struct CThostFtdcMortgageParamField {
    #[doc = " 经纪公司代码"]
    pub BrokerID: TThostFtdcBrokerIDType,
    #[doc = " 投资者帐号"]
    pub AccountID: TThostFtdcAccountIDType,
    #[doc = " 质押配比系数"]
    pub MortgageBalance: TThostFtdcRatioType,
    #[doc = " 开仓是否验证质押配比"]
    pub CheckMortgageRatio: TThostFtdcBoolType,
}
#[doc = " 可提控制参数"]
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct CThostFtdcWithDrawParamField {
    #[doc = " 经纪公司代码"]
    pub BrokerID: TThostFtdcBrokerIDType,
    #[doc = " 投资者帐号"]
    pub AccountID: TThostFtdcAccountIDType,
    #[doc = " 参数代码"]
    pub WithDrawParamID: TThostFtdcWithDrawParamIDType,
    #[doc = " 参数代码值"]
    pub WithDrawParamValue: TThostFtdcWithDrawParamValueType,
}
impl Default for CThostFtdcWithDrawParamField {
    fn default() -> Self {
        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
        unsafe {
            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
            s.assume_init()
        }
    }
}
#[doc = " Thost终端用户功能权限"]
#[repr(C)]
#[derive(Debug, Default, Copy, Clone)]
pub struct CThostFtdcThostUserFunctionField {
    #[doc = " 经纪公司代码"]
    pub BrokerID: TThostFtdcBrokerIDType,
    #[doc = " 用户代码"]
    pub UserID: TThostFtdcUserIDType,
    #[doc = " Thost终端功能代码"]
    pub ThostFunctionCode: TThostFtdcThostFunctionCodeType,
}
#[doc = " Thost终端用户功能权限查询"]
#[repr(C)]
#[derive(Debug, Default, Copy, Clone)]
pub struct CThostFtdcQryThostUserFunctionField {
    #[doc = " 经纪公司代码"]
    pub BrokerID: TThostFtdcBrokerIDType,
    #[doc = " 用户代码"]
    pub UserID: TThostFtdcUserIDType,
}
#[doc = " SPBM附加跨品种抵扣参数"]
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct CThostFtdcSPBMAddOnInterParameterField {
    #[doc = " 交易日"]
    pub TradingDay: TThostFtdcDateType,
    #[doc = " 交易所代码"]
    pub ExchangeID: TThostFtdcExchangeIDType,
    #[doc = " 优先级"]
    pub SpreadId: TThostFtdcSpreadIdType,
    #[doc = " 品种间对锁仓附加费率折扣比例"]
    pub AddOnInterRateZ2: TThostFtdcRatioType,
    #[doc = " 第一腿构成品种"]
    pub Leg1ProdFamilyCode: TThostFtdcInstrumentIDType,
    #[doc = " 第二腿构成品种"]
    pub Leg2ProdFamilyCode: TThostFtdcInstrumentIDType,
}
impl Default for CThostFtdcSPBMAddOnInterParameterField {
    fn default() -> Self {
        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
        unsafe {
            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
            s.assume_init()
        }
    }
}
#[doc = " SPBM附加跨品种抵扣参数查询"]
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct CThostFtdcQrySPBMAddOnInterParameterField {
    #[doc = " 交易所代码"]
    pub ExchangeID: TThostFtdcExchangeIDType,
    #[doc = " 第一腿构成品种"]
    pub Leg1ProdFamilyCode: TThostFtdcInstrumentIDType,
    #[doc = " 第二腿构成品种"]
    pub Leg2ProdFamilyCode: TThostFtdcInstrumentIDType,
}
impl Default for CThostFtdcQrySPBMAddOnInterParameterField {
    fn default() -> Self {
        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
        unsafe {
            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
            s.assume_init()
        }
    }
}
#[doc = " 投资者商品组SPMM记录查询"]
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct CThostFtdcQryInvestorCommoditySPMMMarginField {
    #[doc = " 经纪公司代码"]
    pub BrokerID: TThostFtdcBrokerIDType,
    #[doc = " 投资者代码"]
    pub InvestorID: TThostFtdcInvestorIDType,
    #[doc = " 商品组代码"]
    pub CommodityID: TThostFtdcSPMMProductIDType,
}
impl Default for CThostFtdcQryInvestorCommoditySPMMMarginField {
    fn default() -> Self {
        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
        unsafe {
            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
            s.assume_init()
        }
    }
}
#[doc = " 投资者商品群SPMM记录查询"]
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct CThostFtdcQryInvestorCommodityGroupSPMMMarginField {
    #[doc = " 经纪公司代码"]
    pub BrokerID: TThostFtdcBrokerIDType,
    #[doc = " 投资者代码"]
    pub InvestorID: TThostFtdcInvestorIDType,
    #[doc = " 商品群代码"]
    pub CommodityGroupID: TThostFtdcSPMMProductIDType,
}
impl Default for CThostFtdcQryInvestorCommodityGroupSPMMMarginField {
    fn default() -> Self {
        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
        unsafe {
            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
            s.assume_init()
        }
    }
}
#[doc = " SPMM合约参数查询"]
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct CThostFtdcQrySPMMInstParamField {
    #[doc = " 合约代码"]
    pub InstrumentID: TThostFtdcInstrumentIDType,
}
impl Default for CThostFtdcQrySPMMInstParamField {
    fn default() -> Self {
        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
        unsafe {
            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
            s.assume_init()
        }
    }
}
#[doc = " SPMM产品参数查询"]
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct CThostFtdcQrySPMMProductParamField {
    #[doc = " 产品代码"]
    pub ProductID: TThostFtdcSPMMProductIDType,
}
impl Default for CThostFtdcQrySPMMProductParamField {
    fn default() -> Self {
        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
        unsafe {
            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
            s.assume_init()
        }
    }
}
#[doc = " 投资者商品组SPMM记录"]
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct CThostFtdcInvestorCommoditySPMMMarginField {
    #[doc = " 交易所代码"]
    pub ExchangeID: TThostFtdcExchangeIDType,
    #[doc = " 经纪公司代码"]
    pub BrokerID: TThostFtdcBrokerIDType,
    #[doc = " 投资者代码"]
    pub InvestorID: TThostFtdcInvestorIDType,
    #[doc = " 商品组代码"]
    pub CommodityID: TThostFtdcSPMMProductIDType,
    #[doc = " 优惠仓位应收保证金"]
    pub MarginBeforeDiscount: TThostFtdcMoneyType,
    #[doc = " 不优惠仓位应收保证金"]
    pub MarginNoDiscount: TThostFtdcMoneyType,
    #[doc = " 多头实仓风险"]
    pub LongPosRisk: TThostFtdcMoneyType,
    #[doc = " 多头开仓冻结风险"]
    pub LongOpenFrozenRisk: TThostFtdcMoneyType,
    #[doc = " 多头被平冻结风险"]
    pub LongCloseFrozenRisk: TThostFtdcMoneyType,
    #[doc = " 空头实仓风险"]
    pub ShortPosRisk: TThostFtdcMoneyType,
    #[doc = " 空头开仓冻结风险"]
    pub ShortOpenFrozenRisk: TThostFtdcMoneyType,
    #[doc = " 空头被平冻结风险"]
    pub ShortCloseFrozenRisk: TThostFtdcMoneyType,
    #[doc = " SPMM品种内跨期优惠系数"]
    pub IntraCommodityRate: TThostFtdcSPMMDiscountRatioType,
    #[doc = " SPMM期权优惠系数"]
    pub OptionDiscountRate: TThostFtdcSPMMDiscountRatioType,
    #[doc = " 实仓对冲优惠金额"]
    pub PosDiscount: TThostFtdcMoneyType,
    #[doc = " 开仓报单对冲优惠金额"]
    pub OpenFrozenDiscount: TThostFtdcMoneyType,
    #[doc = " 品种风险净头"]
    pub NetRisk: TThostFtdcMoneyType,
    #[doc = " 平仓冻结保证金"]
    pub CloseFrozenMargin: TThostFtdcMoneyType,
    #[doc = " 冻结的手续费"]
    pub FrozenCommission: TThostFtdcMoneyType,
    #[doc = " 手续费"]
    pub Commission: TThostFtdcMoneyType,
    #[doc = " 冻结的资金"]
    pub FrozenCash: TThostFtdcMoneyType,
    #[doc = " 资金差额"]
    pub CashIn: TThostFtdcMoneyType,
    #[doc = " 行权冻结资金"]
    pub StrikeFrozenMargin: TThostFtdcMoneyType,
}
impl Default for CThostFtdcInvestorCommoditySPMMMarginField {
    fn default() -> Self {
        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
        unsafe {
            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
            s.assume_init()
        }
    }
}
#[doc = " 投资者商品群SPMM记录"]
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct CThostFtdcInvestorCommodityGroupSPMMMarginField {
    #[doc = " 交易所代码"]
    pub ExchangeID: TThostFtdcExchangeIDType,
    #[doc = " 经纪公司代码"]
    pub BrokerID: TThostFtdcBrokerIDType,
    #[doc = " 投资者代码"]
    pub InvestorID: TThostFtdcInvestorIDType,
    #[doc = " 商品群代码"]
    pub CommodityGroupID: TThostFtdcSPMMProductIDType,
    #[doc = " 优惠仓位应收保证金"]
    pub MarginBeforeDiscount: TThostFtdcMoneyType,
    #[doc = " 不优惠仓位应收保证金"]
    pub MarginNoDiscount: TThostFtdcMoneyType,
    #[doc = " 多头风险"]
    pub LongRisk: TThostFtdcMoneyType,
    #[doc = " 空头风险"]
    pub ShortRisk: TThostFtdcMoneyType,
    #[doc = " 商品群平仓冻结保证金"]
    pub CloseFrozenMargin: TThostFtdcMoneyType,
    #[doc = " SPMM跨品种优惠系数"]
    pub InterCommodityRate: TThostFtdcSPMMDiscountRatioType,
    #[doc = " 商品群最小保证金比例"]
    pub MiniMarginRatio: TThostFtdcSPMMDiscountRatioType,
    #[doc = " 投资者保证金和交易所保证金的比例"]
    pub AdjustRatio: TThostFtdcRatioType,
    #[doc = " SPMM品种内优惠汇总"]
    pub IntraCommodityDiscount: TThostFtdcMoneyType,
    #[doc = " SPMM跨品种优惠"]
    pub InterCommodityDiscount: TThostFtdcMoneyType,
    #[doc = " 交易所保证金"]
    pub ExchMargin: TThostFtdcMoneyType,
    #[doc = " 投资者保证金"]
    pub InvestorMargin: TThostFtdcMoneyType,
    #[doc = " 冻结的手续费"]
    pub FrozenCommission: TThostFtdcMoneyType,
    #[doc = " 手续费"]
    pub Commission: TThostFtdcMoneyType,
    #[doc = " 冻结的资金"]
    pub FrozenCash: TThostFtdcMoneyType,
    #[doc = " 资金差额"]
    pub CashIn: TThostFtdcMoneyType,
    #[doc = " 行权冻结资金"]
    pub StrikeFrozenMargin: TThostFtdcMoneyType,
}
impl Default for CThostFtdcInvestorCommodityGroupSPMMMarginField {
    fn default() -> Self {
        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
        unsafe {
            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
            s.assume_init()
        }
    }
}
#[doc = " SPMM合约参数"]
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct CThostFtdcSPMMInstParamField {
    #[doc = " 交易所代码"]
    pub ExchangeID: TThostFtdcExchangeIDType,
    #[doc = " 合约代码"]
    pub InstrumentID: TThostFtdcInstrumentIDType,
    #[doc = " SPMM合约保证金算法"]
    pub InstMarginCalID: TThostFtdcInstMarginCalIDType,
    #[doc = " 商品组代码"]
    pub CommodityID: TThostFtdcSPMMProductIDType,
    #[doc = " 商品群代码"]
    pub CommodityGroupID: TThostFtdcSPMMProductIDType,
}
impl Default for CThostFtdcSPMMInstParamField {
    fn default() -> Self {
        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
        unsafe {
            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
            s.assume_init()
        }
    }
}
#[doc = " SPMM产品参数"]
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct CThostFtdcSPMMProductParamField {
    #[doc = " 交易所代码"]
    pub ExchangeID: TThostFtdcExchangeIDType,
    #[doc = " 产品代码"]
    pub ProductID: TThostFtdcSPMMProductIDType,
    #[doc = " 商品组代码"]
    pub CommodityID: TThostFtdcSPMMProductIDType,
    #[doc = " 商品群代码"]
    pub CommodityGroupID: TThostFtdcSPMMProductIDType,
}
impl Default for CThostFtdcSPMMProductParamField {
    fn default() -> Self {
        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
        unsafe {
            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
            s.assume_init()
        }
    }
}
#[doc = " 席位与交易中心对应关系维护查询"]
#[repr(C)]
#[derive(Debug, Default, Copy, Clone)]
pub struct CThostFtdcQryTraderAssignField {
    #[doc = " 交易员代码"]
    pub TraderID: TThostFtdcTraderIDType,
}
#[doc = " 席位与交易中心对应关系"]
#[repr(C)]
#[derive(Debug, Default, Copy, Clone)]
pub struct CThostFtdcTraderAssignField {
    #[doc = " 应用单元代码"]
    pub BrokerID: TThostFtdcBrokerIDType,
    #[doc = " 交易所代码"]
    pub ExchangeID: TThostFtdcExchangeIDType,
    #[doc = " 交易所交易员代码"]
    pub TraderID: TThostFtdcTraderIDType,
    #[doc = " 会员代码"]
    pub ParticipantID: TThostFtdcParticipantIDType,
    #[doc = " 交易中心代码"]
    pub DRIdentityID: TThostFtdcDRIdentityIDType,
}
#[doc = " 投资者申报费阶梯收取设置"]
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct CThostFtdcInvestorInfoCntSettingField {
    #[doc = " 交易所代码"]
    pub ExchangeID: TThostFtdcExchangeIDType,
    #[doc = " 经纪公司代码"]
    pub BrokerID: TThostFtdcBrokerIDType,
    #[doc = " 投资者代码"]
    pub InvestorID: TThostFtdcInvestorIDType,
    #[doc = " 商品代码"]
    pub ProductID: TThostFtdcProductIDType,
    #[doc = " 是否收取申报费"]
    pub IsCalInfoComm: TThostFtdcBoolType,
    #[doc = " 是否限制信息量"]
    pub IsLimitInfoMax: TThostFtdcBoolType,
    #[doc = " 信息量限制笔数"]
    pub InfoMaxLimit: TThostFtdcVolumeType,
}
impl Default for CThostFtdcInvestorInfoCntSettingField {
    fn default() -> Self {
        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
        unsafe {
            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
            s.assume_init()
        }
    }
}
#[doc = " RCAMS产品组合信息"]
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct CThostFtdcRCAMSCombProductInfoField {
    #[doc = " 交易日"]
    pub TradingDay: TThostFtdcDateType,
    #[doc = " 交易所代码"]
    pub ExchangeID: TThostFtdcExchangeIDType,
    #[doc = " 产品代码"]
    pub ProductID: TThostFtdcProductIDType,
    #[doc = " 商品组代码"]
    pub CombProductID: TThostFtdcProductIDType,
    #[doc = " 商品群代码"]
    pub ProductGroupID: TThostFtdcProductIDType,
}
impl Default for CThostFtdcRCAMSCombProductInfoField {
    fn default() -> Self {
        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
        unsafe {
            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
            s.assume_init()
        }
    }
}
#[doc = " RCAMS同合约风险对冲参数"]
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct CThostFtdcRCAMSInstrParameterField {
    #[doc = " 交易日"]
    pub TradingDay: TThostFtdcDateType,
    #[doc = " 交易所代码"]
    pub ExchangeID: TThostFtdcExchangeIDType,
    #[doc = " 产品代码"]
    pub ProductID: TThostFtdcProductIDType,
    #[doc = " 同合约风险对冲比率"]
    pub HedgeRate: TThostFtdcHedgeRateType,
}
impl Default for CThostFtdcRCAMSInstrParameterField {
    fn default() -> Self {
        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
        unsafe {
            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
            s.assume_init()
        }
    }
}
#[doc = " RCAMS品种内风险对冲参数"]
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct CThostFtdcRCAMSIntraParameterField {
    #[doc = " 交易日"]
    pub TradingDay: TThostFtdcDateType,
    #[doc = " 交易所代码"]
    pub ExchangeID: TThostFtdcExchangeIDType,
    #[doc = " 产品组合代码"]
    pub CombProductID: TThostFtdcProductIDType,
    #[doc = " 品种内对冲比率"]
    pub HedgeRate: TThostFtdcHedgeRateType,
}
impl Default for CThostFtdcRCAMSIntraParameterField {
    fn default() -> Self {
        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
        unsafe {
            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
            s.assume_init()
        }
    }
}
#[doc = " RCAMS跨品种风险折抵参数"]
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct CThostFtdcRCAMSInterParameterField {
    #[doc = " 交易日"]
    pub TradingDay: TThostFtdcDateType,
    #[doc = " 交易所代码"]
    pub ExchangeID: TThostFtdcExchangeIDType,
    #[doc = " 商品群代码"]
    pub ProductGroupID: TThostFtdcProductIDType,
    #[doc = " 优先级"]
    pub Priority: TThostFtdcRCAMSPriorityType,
    #[doc = " 折抵率"]
    pub CreditRate: TThostFtdcHedgeRateType,
    #[doc = " 产品组合代码1"]
    pub CombProduct1: TThostFtdcProductIDType,
    #[doc = " 产品组合代码2"]
    pub CombProduct2: TThostFtdcProductIDType,
}
impl Default for CThostFtdcRCAMSInterParameterField {
    fn default() -> Self {
        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
        unsafe {
            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
            s.assume_init()
        }
    }
}
#[doc = " RCAMS空头期权风险调整参数"]
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct CThostFtdcRCAMSShortOptAdjustParamField {
    #[doc = " 交易日"]
    pub TradingDay: TThostFtdcDateType,
    #[doc = " 交易所代码"]
    pub ExchangeID: TThostFtdcExchangeIDType,
    #[doc = " 产品组合代码"]
    pub CombProductID: TThostFtdcProductIDType,
    #[doc = " 投套标志"]
    pub HedgeFlag: TThostFtdcHedgeFlagType,
    #[doc = " 空头期权风险调整标准"]
    pub AdjustValue: TThostFtdcAdjustValueType,
}
impl Default for CThostFtdcRCAMSShortOptAdjustParamField {
    fn default() -> Self {
        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
        unsafe {
            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
            s.assume_init()
        }
    }
}
#[doc = " RCAMS策略组合持仓"]
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct CThostFtdcRCAMSInvestorCombPositionField {
    #[doc = " 交易所代码"]
    pub ExchangeID: TThostFtdcExchangeIDType,
    #[doc = " 经纪公司代码"]
    pub BrokerID: TThostFtdcBrokerIDType,
    #[doc = " 投资者代码"]
    pub InvestorID: TThostFtdcInvestorIDType,
    #[doc = " 合约代码"]
    pub InstrumentID: TThostFtdcInstrumentIDType,
    #[doc = " 投套标志"]
    pub HedgeFlag: TThostFtdcHedgeFlagType,
    #[doc = " 持仓多空方向"]
    pub PosiDirection: TThostFtdcPosiDirectionType,
    #[doc = " 组合合约代码"]
    pub CombInstrumentID: TThostFtdcInstrumentIDType,
    #[doc = " 单腿编号"]
    pub LegID: TThostFtdcLegIDType,
    #[doc = " 交易所组合合约代码"]
    pub ExchangeInstID: TThostFtdcExchangeInstIDType,
    #[doc = " 持仓量"]
    pub TotalAmt: TThostFtdcVolumeType,
    #[doc = " 交易所保证金"]
    pub ExchMargin: TThostFtdcMoneyType,
    #[doc = " 投资者保证金"]
    pub Margin: TThostFtdcMoneyType,
}
impl Default for CThostFtdcRCAMSInvestorCombPositionField {
    fn default() -> Self {
        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
        unsafe {
            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
            s.assume_init()
        }
    }
}
#[doc = " 投资者品种RCAMS保证金"]
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct CThostFtdcInvestorProdRCAMSMarginField {
    #[doc = " 交易所代码"]
    pub ExchangeID: TThostFtdcExchangeIDType,
    #[doc = " 经纪公司代码"]
    pub BrokerID: TThostFtdcBrokerIDType,
    #[doc = " 投资者代码"]
    pub InvestorID: TThostFtdcInvestorIDType,
    #[doc = " 产品组合代码"]
    pub CombProductID: TThostFtdcProductIDType,
    #[doc = " 投套标志"]
    pub HedgeFlag: TThostFtdcHedgeFlagType,
    #[doc = " 商品群代码"]
    pub ProductGroupID: TThostFtdcProductIDType,
    #[doc = " 品种组合前风险"]
    pub RiskBeforeDiscount: TThostFtdcMoneyType,
    #[doc = " 同合约对冲风险"]
    pub IntraInstrRisk: TThostFtdcMoneyType,
    #[doc = " 品种买持仓风险"]
    pub BPosRisk: TThostFtdcMoneyType,
    #[doc = " 品种卖持仓风险"]
    pub SPosRisk: TThostFtdcMoneyType,
    #[doc = " 品种内对冲风险"]
    pub IntraProdRisk: TThostFtdcMoneyType,
    #[doc = " 品种净持仓风险"]
    pub NetRisk: TThostFtdcMoneyType,
    #[doc = " 品种间对冲风险"]
    pub InterProdRisk: TThostFtdcMoneyType,
    #[doc = " 空头期权风险调整"]
    pub ShortOptRiskAdj: TThostFtdcMoneyType,
    #[doc = " 空头期权权利金"]
    pub OptionRoyalty: TThostFtdcMoneyType,
    #[doc = " 大边组合平仓冻结保证金"]
    pub MMSACloseFrozenMargin: TThostFtdcMoneyType,
    #[doc = " 平策略组合冻结保证金"]
    pub CloseCombFrozenMargin: TThostFtdcMoneyType,
    #[doc = " 平仓冻结保证金"]
    pub CloseFrozenMargin: TThostFtdcMoneyType,
    #[doc = " 大边组合开仓冻结保证金"]
    pub MMSAOpenFrozenMargin: TThostFtdcMoneyType,
    #[doc = " 交割月期货开仓冻结保证金"]
    pub DeliveryOpenFrozenMargin: TThostFtdcMoneyType,
    #[doc = " 开仓冻结保证金"]
    pub OpenFrozenMargin: TThostFtdcMoneyType,
    #[doc = " 投资者冻结保证金"]
    pub UseFrozenMargin: TThostFtdcMoneyType,
    #[doc = " 大边组合交易所持仓保证金"]
    pub MMSAExchMargin: TThostFtdcMoneyType,
    #[doc = " 交割月期货交易所持仓保证金"]
    pub DeliveryExchMargin: TThostFtdcMoneyType,
    #[doc = " 策略组合交易所保证金"]
    pub CombExchMargin: TThostFtdcMoneyType,
    #[doc = " 交易所持仓保证金"]
    pub ExchMargin: TThostFtdcMoneyType,
    #[doc = " 投资者持仓保证金"]
    pub UseMargin: TThostFtdcMoneyType,
}
impl Default for CThostFtdcInvestorProdRCAMSMarginField {
    fn default() -> Self {
        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
        unsafe {
            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
            s.assume_init()
        }
    }
}
#[doc = " RCAMS产品组合信息查询"]
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct CThostFtdcQryRCAMSCombProductInfoField {
    #[doc = " 产品代码"]
    pub ProductID: TThostFtdcProductIDType,
    #[doc = " 商品组代码"]
    pub CombProductID: TThostFtdcProductIDType,
    #[doc = " 商品群代码"]
    pub ProductGroupID: TThostFtdcProductIDType,
}
impl Default for CThostFtdcQryRCAMSCombProductInfoField {
    fn default() -> Self {
        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
        unsafe {
            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
            s.assume_init()
        }
    }
}
#[doc = " RCAMS同合约风险对冲参数查询"]
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct CThostFtdcQryRCAMSInstrParameterField {
    #[doc = " 产品代码"]
    pub ProductID: TThostFtdcProductIDType,
}
impl Default for CThostFtdcQryRCAMSInstrParameterField {
    fn default() -> Self {
        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
        unsafe {
            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
            s.assume_init()
        }
    }
}
#[doc = " RCAMS品种内风险对冲参数查询"]
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct CThostFtdcQryRCAMSIntraParameterField {
    #[doc = " 产品组合代码"]
    pub CombProductID: TThostFtdcProductIDType,
}
impl Default for CThostFtdcQryRCAMSIntraParameterField {
    fn default() -> Self {
        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
        unsafe {
            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
            s.assume_init()
        }
    }
}
#[doc = " RCAMS跨品种风险折抵参数查询"]
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct CThostFtdcQryRCAMSInterParameterField {
    #[doc = " 商品群代码"]
    pub ProductGroupID: TThostFtdcProductIDType,
    #[doc = " 产品组合代码1"]
    pub CombProduct1: TThostFtdcProductIDType,
    #[doc = " 产品组合代码2"]
    pub CombProduct2: TThostFtdcProductIDType,
}
impl Default for CThostFtdcQryRCAMSInterParameterField {
    fn default() -> Self {
        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
        unsafe {
            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
            s.assume_init()
        }
    }
}
#[doc = " RCAMS空头期权风险调整参数查询"]
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct CThostFtdcQryRCAMSShortOptAdjustParamField {
    #[doc = " 产品组合代码"]
    pub CombProductID: TThostFtdcProductIDType,
}
impl Default for CThostFtdcQryRCAMSShortOptAdjustParamField {
    fn default() -> Self {
        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
        unsafe {
            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
            s.assume_init()
        }
    }
}
#[doc = " RCAMS策略组合持仓查询"]
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct CThostFtdcQryRCAMSInvestorCombPositionField {
    #[doc = " 经纪公司代码"]
    pub BrokerID: TThostFtdcBrokerIDType,
    #[doc = " 投资者代码"]
    pub InvestorID: TThostFtdcInvestorIDType,
    #[doc = " 合约代码"]
    pub InstrumentID: TThostFtdcInstrumentIDType,
    #[doc = " 组合合约代码"]
    pub CombInstrumentID: TThostFtdcInstrumentIDType,
}
impl Default for CThostFtdcQryRCAMSInvestorCombPositionField {
    fn default() -> Self {
        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
        unsafe {
            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
            s.assume_init()
        }
    }
}
#[doc = " 投资者品种RCAMS保证金查询"]
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct CThostFtdcQryInvestorProdRCAMSMarginField {
    #[doc = " 经纪公司代码"]
    pub BrokerID: TThostFtdcBrokerIDType,
    #[doc = " 投资者代码"]
    pub InvestorID: TThostFtdcInvestorIDType,
    #[doc = " 产品组合代码"]
    pub CombProductID: TThostFtdcProductIDType,
    #[doc = " 商品群代码"]
    pub ProductGroupID: TThostFtdcProductIDType,
}
impl Default for CThostFtdcQryInvestorProdRCAMSMarginField {
    fn default() -> Self {
        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
        unsafe {
            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
            s.assume_init()
        }
    }
}
#[doc = " RULE合约保证金参数"]
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct CThostFtdcRULEInstrParameterField {
    #[doc = " 交易日"]
    pub TradingDay: TThostFtdcDateType,
    #[doc = " 交易所代码"]
    pub ExchangeID: TThostFtdcExchangeIDType,
    #[doc = " 合约代码"]
    pub InstrumentID: TThostFtdcInstrumentIDType,
    #[doc = " 合约类型"]
    pub InstrumentClass: TThostFtdcInstrumentClassType,
    #[doc = " 标准合约"]
    pub StdInstrumentID: TThostFtdcInstrumentIDType,
    #[doc = " 投机买折算系数"]
    pub BSpecRatio: TThostFtdcRatioType,
    #[doc = " 投机卖折算系数"]
    pub SSpecRatio: TThostFtdcRatioType,
    #[doc = " 套保买折算系数"]
    pub BHedgeRatio: TThostFtdcRatioType,
    #[doc = " 套保卖折算系数"]
    pub SHedgeRatio: TThostFtdcRatioType,
    #[doc = " 买附加风险保证金"]
    pub BAddOnMargin: TThostFtdcMoneyType,
    #[doc = " 卖附加风险保证金"]
    pub SAddOnMargin: TThostFtdcMoneyType,
    #[doc = " 商品群号"]
    pub CommodityGroupID: TThostFtdcCommodityGroupIDType,
}
impl Default for CThostFtdcRULEInstrParameterField {
    fn default() -> Self {
        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
        unsafe {
            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
            s.assume_init()
        }
    }
}
#[doc = " RULE品种内对锁仓折扣参数"]
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct CThostFtdcRULEIntraParameterField {
    #[doc = " 交易日"]
    pub TradingDay: TThostFtdcDateType,
    #[doc = " 交易所代码"]
    pub ExchangeID: TThostFtdcExchangeIDType,
    #[doc = " 品种代码"]
    pub ProdFamilyCode: TThostFtdcInstrumentIDType,
    #[doc = " 标准合约"]
    pub StdInstrumentID: TThostFtdcInstrumentIDType,
    #[doc = " 标准合约保证金"]
    pub StdInstrMargin: TThostFtdcMoneyType,
    #[doc = " 一般月份合约组合保证金系数"]
    pub UsualIntraRate: TThostFtdcRatioType,
    #[doc = " 临近交割合约组合保证金系数"]
    pub DeliveryIntraRate: TThostFtdcRatioType,
}
impl Default for CThostFtdcRULEIntraParameterField {
    fn default() -> Self {
        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
        unsafe {
            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
            s.assume_init()
        }
    }
}
#[doc = " RULE跨品种抵扣参数"]
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct CThostFtdcRULEInterParameterField {
    #[doc = " 交易日"]
    pub TradingDay: TThostFtdcDateType,
    #[doc = " 交易所代码"]
    pub ExchangeID: TThostFtdcExchangeIDType,
    #[doc = " 优先级"]
    pub SpreadId: TThostFtdcSpreadIdType,
    #[doc = " 品种间对锁仓费率折扣比例"]
    pub InterRate: TThostFtdcRatioType,
    #[doc = " 第一腿构成品种"]
    pub Leg1ProdFamilyCode: TThostFtdcInstrumentIDType,
    #[doc = " 第二腿构成品种"]
    pub Leg2ProdFamilyCode: TThostFtdcInstrumentIDType,
    #[doc = " 腿1比例系数"]
    pub Leg1PropFactor: TThostFtdcCommonIntType,
    #[doc = " 腿2比例系数"]
    pub Leg2PropFactor: TThostFtdcCommonIntType,
    #[doc = " 商品群号"]
    pub CommodityGroupID: TThostFtdcCommodityGroupIDType,
    #[doc = " 商品群名称"]
    pub CommodityGroupName: TThostFtdcInstrumentNameType,
}
impl Default for CThostFtdcRULEInterParameterField {
    fn default() -> Self {
        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
        unsafe {
            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
            s.assume_init()
        }
    }
}
#[doc = " RULE合约保证金参数查询"]
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct CThostFtdcQryRULEInstrParameterField {
    #[doc = " 交易所代码"]
    pub ExchangeID: TThostFtdcExchangeIDType,
    #[doc = " 合约代码"]
    pub InstrumentID: TThostFtdcInstrumentIDType,
}
impl Default for CThostFtdcQryRULEInstrParameterField {
    fn default() -> Self {
        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
        unsafe {
            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
            s.assume_init()
        }
    }
}
#[doc = " RULE品种内对锁仓折扣参数查询"]
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct CThostFtdcQryRULEIntraParameterField {
    #[doc = " 交易所代码"]
    pub ExchangeID: TThostFtdcExchangeIDType,
    #[doc = " 品种代码"]
    pub ProdFamilyCode: TThostFtdcInstrumentIDType,
}
impl Default for CThostFtdcQryRULEIntraParameterField {
    fn default() -> Self {
        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
        unsafe {
            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
            s.assume_init()
        }
    }
}
#[doc = " RULE跨品种抵扣参数查询"]
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct CThostFtdcQryRULEInterParameterField {
    #[doc = " 交易所代码"]
    pub ExchangeID: TThostFtdcExchangeIDType,
    #[doc = " 第一腿构成品种"]
    pub Leg1ProdFamilyCode: TThostFtdcInstrumentIDType,
    #[doc = " 第二腿构成品种"]
    pub Leg2ProdFamilyCode: TThostFtdcInstrumentIDType,
    #[doc = " 商品群号"]
    pub CommodityGroupID: TThostFtdcCommodityGroupIDType,
}
impl Default for CThostFtdcQryRULEInterParameterField {
    fn default() -> Self {
        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
        unsafe {
            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
            s.assume_init()
        }
    }
}
#[doc = " 投资者产品RULE保证金"]
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct CThostFtdcInvestorProdRULEMarginField {
    #[doc = " 交易所代码"]
    pub ExchangeID: TThostFtdcExchangeIDType,
    #[doc = " 经纪公司代码"]
    pub BrokerID: TThostFtdcBrokerIDType,
    #[doc = " 投资者代码"]
    pub InvestorID: TThostFtdcInvestorIDType,
    #[doc = " 品种代码"]
    pub ProdFamilyCode: TThostFtdcInstrumentIDType,
    #[doc = " 合约类型"]
    pub InstrumentClass: TThostFtdcInstrumentClassType,
    #[doc = " 商品群号"]
    pub CommodityGroupID: TThostFtdcCommodityGroupIDType,
    #[doc = " 买标准持仓"]
    pub BStdPosition: TThostFtdcStdPositionType,
    #[doc = " 卖标准持仓"]
    pub SStdPosition: TThostFtdcStdPositionType,
    #[doc = " 买标准开仓冻结"]
    pub BStdOpenFrozen: TThostFtdcStdPositionType,
    #[doc = " 卖标准开仓冻结"]
    pub SStdOpenFrozen: TThostFtdcStdPositionType,
    #[doc = " 买标准平仓冻结"]
    pub BStdCloseFrozen: TThostFtdcStdPositionType,
    #[doc = " 卖标准平仓冻结"]
    pub SStdCloseFrozen: TThostFtdcStdPositionType,
    #[doc = " 品种内对冲标准持仓"]
    pub IntraProdStdPosition: TThostFtdcStdPositionType,
    #[doc = " 品种内单腿标准持仓"]
    pub NetStdPosition: TThostFtdcStdPositionType,
    #[doc = " 品种间对冲标准持仓"]
    pub InterProdStdPosition: TThostFtdcStdPositionType,
    #[doc = " 单腿标准持仓"]
    pub SingleStdPosition: TThostFtdcStdPositionType,
    #[doc = " 品种内对锁保证金"]
    pub IntraProdMargin: TThostFtdcMoneyType,
    #[doc = " 品种间对锁保证金"]
    pub InterProdMargin: TThostFtdcMoneyType,
    #[doc = " 跨品种单腿保证金"]
    pub SingleMargin: TThostFtdcMoneyType,
    #[doc = " 非组合合约保证金"]
    pub NonCombMargin: TThostFtdcMoneyType,
    #[doc = " 附加保证金"]
    pub AddOnMargin: TThostFtdcMoneyType,
    #[doc = " 交易所保证金"]
    pub ExchMargin: TThostFtdcMoneyType,
    #[doc = " 附加冻结保证金"]
    pub AddOnFrozenMargin: TThostFtdcMoneyType,
    #[doc = " 开仓冻结保证金"]
    pub OpenFrozenMargin: TThostFtdcMoneyType,
    #[doc = " 平仓冻结保证金"]
    pub CloseFrozenMargin: TThostFtdcMoneyType,
    #[doc = " 品种保证金"]
    pub Margin: TThostFtdcMoneyType,
    #[doc = " 冻结保证金"]
    pub FrozenMargin: TThostFtdcMoneyType,
}
impl Default for CThostFtdcInvestorProdRULEMarginField {
    fn default() -> Self {
        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
        unsafe {
            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
            s.assume_init()
        }
    }
}
#[doc = " 投资者产品RULE保证金查询"]
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct CThostFtdcQryInvestorProdRULEMarginField {
    #[doc = " 交易所代码"]
    pub ExchangeID: TThostFtdcExchangeIDType,
    #[doc = " 经纪公司代码"]
    pub BrokerID: TThostFtdcBrokerIDType,
    #[doc = " 投资者代码"]
    pub InvestorID: TThostFtdcInvestorIDType,
    #[doc = " 品种代码"]
    pub ProdFamilyCode: TThostFtdcInstrumentIDType,
    #[doc = " 商品群号"]
    pub CommodityGroupID: TThostFtdcCommodityGroupIDType,
}
impl Default for CThostFtdcQryInvestorProdRULEMarginField {
    fn default() -> Self {
        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
        unsafe {
            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
            s.assume_init()
        }
    }
}
#[doc = " 风险结算追平SPBM组合保证金套餐"]
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct CThostFtdcSyncDeltaSPBMPortfDefinitionField {
    #[doc = " 交易所代码"]
    pub ExchangeID: TThostFtdcExchangeIDType,
    #[doc = " 组合保证金套餐代码"]
    pub PortfolioDefID: TThostFtdcPortfolioDefIDType,
    #[doc = " 品种代码"]
    pub ProdFamilyCode: TThostFtdcInstrumentIDType,
    #[doc = " 是否启用SPBM"]
    pub IsSPBM: TThostFtdcBoolType,
    #[doc = " 操作标志"]
    pub ActionDirection: TThostFtdcActionDirectionType,
    #[doc = " 追平序号"]
    pub SyncDeltaSequenceNo: TThostFtdcSequenceNoType,
}
impl Default for CThostFtdcSyncDeltaSPBMPortfDefinitionField {
    fn default() -> Self {
        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
        unsafe {
            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
            s.assume_init()
        }
    }
}
#[doc = " 风险结算追平投资者SPBM套餐选择"]
#[repr(C)]
#[derive(Debug, Default, Copy, Clone)]
pub struct CThostFtdcSyncDeltaSPBMInvstPortfDefField {
    #[doc = " 交易所代码"]
    pub ExchangeID: TThostFtdcExchangeIDType,
    #[doc = " 经纪公司代码"]
    pub BrokerID: TThostFtdcBrokerIDType,
    #[doc = " 投资者代码"]
    pub InvestorID: TThostFtdcInvestorIDType,
    #[doc = " 组合保证金套餐代码"]
    pub PortfolioDefID: TThostFtdcPortfolioDefIDType,
    #[doc = " 操作标志"]
    pub ActionDirection: TThostFtdcActionDirectionType,
    #[doc = " 追平序号"]
    pub SyncDeltaSequenceNo: TThostFtdcSequenceNoType,
}
#[doc = " 风险结算追平SPBM期货合约保证金参数"]
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct CThostFtdcSyncDeltaSPBMFutureParameterField {
    #[doc = " 交易日"]
    pub TradingDay: TThostFtdcDateType,
    #[doc = " 交易所代码"]
    pub ExchangeID: TThostFtdcExchangeIDType,
    #[doc = " 合约代码"]
    pub InstrumentID: TThostFtdcInstrumentIDType,
    #[doc = " 品种代码"]
    pub ProdFamilyCode: TThostFtdcInstrumentIDType,
    #[doc = " 期货合约因子"]
    pub Cvf: TThostFtdcVolumeMultipleType,
    #[doc = " 阶段标识"]
    pub TimeRange: TThostFtdcTimeRangeType,
    #[doc = " 品种保证金标准"]
    pub MarginRate: TThostFtdcRatioType,
    #[doc = " 期货合约内部对锁仓费率折扣比例"]
    pub LockRateX: TThostFtdcRatioType,
    #[doc = " 提高保证金标准"]
    pub AddOnRate: TThostFtdcRatioType,
    #[doc = " 昨结算价"]
    pub PreSettlementPrice: TThostFtdcPriceType,
    #[doc = " 期货合约内部对锁仓附加费率折扣比例"]
    pub AddOnLockRateX2: TThostFtdcRatioType,
    #[doc = " 操作标志"]
    pub ActionDirection: TThostFtdcActionDirectionType,
    #[doc = " 追平序号"]
    pub SyncDeltaSequenceNo: TThostFtdcSequenceNoType,
}
impl Default for CThostFtdcSyncDeltaSPBMFutureParameterField {
    fn default() -> Self {
        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
        unsafe {
            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
            s.assume_init()
        }
    }
}
#[doc = " 风险结算追平SPBM期权合约保证金参数"]
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct CThostFtdcSyncDeltaSPBMOptionParameterField {
    #[doc = " 交易日"]
    pub TradingDay: TThostFtdcDateType,
    #[doc = " 交易所代码"]
    pub ExchangeID: TThostFtdcExchangeIDType,
    #[doc = " 合约代码"]
    pub InstrumentID: TThostFtdcInstrumentIDType,
    #[doc = " 品种代码"]
    pub ProdFamilyCode: TThostFtdcInstrumentIDType,
    #[doc = " 期权合约因子"]
    pub Cvf: TThostFtdcVolumeMultipleType,
    #[doc = " 期权冲抵价格"]
    pub DownPrice: TThostFtdcPriceType,
    #[doc = " Delta值"]
    pub Delta: TThostFtdcDeltaType,
    #[doc = " 卖方期权风险转换最低值"]
    pub SlimiDelta: TThostFtdcDeltaType,
    #[doc = " 昨结算价"]
    pub PreSettlementPrice: TThostFtdcPriceType,
    #[doc = " 操作标志"]
    pub ActionDirection: TThostFtdcActionDirectionType,
    #[doc = " 追平序号"]
    pub SyncDeltaSequenceNo: TThostFtdcSequenceNoType,
}
impl Default for CThostFtdcSyncDeltaSPBMOptionParameterField {
    fn default() -> Self {
        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
        unsafe {
            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
            s.assume_init()
        }
    }
}
#[doc = " 风险结算追平SPBM品种内对锁仓折扣参数"]
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct CThostFtdcSyncDeltaSPBMIntraParameterField {
    #[doc = " 交易日"]
    pub TradingDay: TThostFtdcDateType,
    #[doc = " 交易所代码"]
    pub ExchangeID: TThostFtdcExchangeIDType,
    #[doc = " 品种代码"]
    pub ProdFamilyCode: TThostFtdcInstrumentIDType,
    #[doc = " 品种内合约间对锁仓费率折扣比例"]
    pub IntraRateY: TThostFtdcRatioType,
    #[doc = " 品种内合约间对锁仓附加费率折扣比例"]
    pub AddOnIntraRateY2: TThostFtdcRatioType,
    #[doc = " 操作标志"]
    pub ActionDirection: TThostFtdcActionDirectionType,
    #[doc = " 追平序号"]
    pub SyncDeltaSequenceNo: TThostFtdcSequenceNoType,
}
impl Default for CThostFtdcSyncDeltaSPBMIntraParameterField {
    fn default() -> Self {
        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
        unsafe {
            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
            s.assume_init()
        }
    }
}
#[doc = " 风险结算追平SPBM跨品种抵扣参数"]
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct CThostFtdcSyncDeltaSPBMInterParameterField {
    #[doc = " 交易日"]
    pub TradingDay: TThostFtdcDateType,
    #[doc = " 交易所代码"]
    pub ExchangeID: TThostFtdcExchangeIDType,
    #[doc = " 优先级"]
    pub SpreadId: TThostFtdcSpreadIdType,
    #[doc = " 品种间对锁仓费率折扣比例"]
    pub InterRateZ: TThostFtdcRatioType,
    #[doc = " 第一腿构成品种"]
    pub Leg1ProdFamilyCode: TThostFtdcInstrumentIDType,
    #[doc = " 第二腿构成品种"]
    pub Leg2ProdFamilyCode: TThostFtdcInstrumentIDType,
    #[doc = " 操作标志"]
    pub ActionDirection: TThostFtdcActionDirectionType,
    #[doc = " 追平序号"]
    pub SyncDeltaSequenceNo: TThostFtdcSequenceNoType,
}
impl Default for CThostFtdcSyncDeltaSPBMInterParameterField {
    fn default() -> Self {
        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
        unsafe {
            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
            s.assume_init()
        }
    }
}
#[doc = " 风险结算追平SPBM附加跨品种抵扣参数"]
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct CThostFtdcSyncDeltaSPBMAddOnInterParamField {
    #[doc = " 交易日"]
    pub TradingDay: TThostFtdcDateType,
    #[doc = " 交易所代码"]
    pub ExchangeID: TThostFtdcExchangeIDType,
    #[doc = " 优先级"]
    pub SpreadId: TThostFtdcSpreadIdType,
    #[doc = " 品种间对锁仓附加费率折扣比例"]
    pub AddOnInterRateZ2: TThostFtdcRatioType,
    #[doc = " 第一腿构成品种"]
    pub Leg1ProdFamilyCode: TThostFtdcInstrumentIDType,
    #[doc = " 第二腿构成品种"]
    pub Leg2ProdFamilyCode: TThostFtdcInstrumentIDType,
    #[doc = " 操作标志"]
    pub ActionDirection: TThostFtdcActionDirectionType,
    #[doc = " 追平序号"]
    pub SyncDeltaSequenceNo: TThostFtdcSequenceNoType,
}
impl Default for CThostFtdcSyncDeltaSPBMAddOnInterParamField {
    fn default() -> Self {
        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
        unsafe {
            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
            s.assume_init()
        }
    }
}
#[doc = " 风险结算追平SPMM合约参数"]
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct CThostFtdcSyncDeltaSPMMInstParamField {
    #[doc = " 交易所代码"]
    pub ExchangeID: TThostFtdcExchangeIDType,
    #[doc = " 合约代码"]
    pub InstrumentID: TThostFtdcInstrumentIDType,
    #[doc = " SPMM合约保证金算法"]
    pub InstMarginCalID: TThostFtdcInstMarginCalIDType,
    #[doc = " 商品组代码"]
    pub CommodityID: TThostFtdcSPMMProductIDType,
    #[doc = " 商品群代码"]
    pub CommodityGroupID: TThostFtdcSPMMProductIDType,
    #[doc = " 操作标志"]
    pub ActionDirection: TThostFtdcActionDirectionType,
    #[doc = " 追平序号"]
    pub SyncDeltaSequenceNo: TThostFtdcSequenceNoType,
}
impl Default for CThostFtdcSyncDeltaSPMMInstParamField {
    fn default() -> Self {
        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
        unsafe {
            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
            s.assume_init()
        }
    }
}
#[doc = " 风险结算追平SPMM产品相关参数"]
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct CThostFtdcSyncDeltaSPMMProductParamField {
    #[doc = " 交易所代码"]
    pub ExchangeID: TThostFtdcExchangeIDType,
    #[doc = " 产品代码"]
    pub ProductID: TThostFtdcSPMMProductIDType,
    #[doc = " 商品组代码"]
    pub CommodityID: TThostFtdcSPMMProductIDType,
    #[doc = " 商品群代码"]
    pub CommodityGroupID: TThostFtdcSPMMProductIDType,
    #[doc = " 操作标志"]
    pub ActionDirection: TThostFtdcActionDirectionType,
    #[doc = " 追平序号"]
    pub SyncDeltaSequenceNo: TThostFtdcSequenceNoType,
}
impl Default for CThostFtdcSyncDeltaSPMMProductParamField {
    fn default() -> Self {
        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
        unsafe {
            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
            s.assume_init()
        }
    }
}
#[doc = " 风险结算追平投资者SPMM模板选择"]
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct CThostFtdcSyncDeltaInvestorSPMMModelField {
    #[doc = " 交易所代码"]
    pub ExchangeID: TThostFtdcExchangeIDType,
    #[doc = " 经纪公司代码"]
    pub BrokerID: TThostFtdcBrokerIDType,
    #[doc = " 投资者代码"]
    pub InvestorID: TThostFtdcInvestorIDType,
    #[doc = " SPMM模板ID"]
    pub SPMMModelID: TThostFtdcSPMMModelIDType,
    #[doc = " 操作标志"]
    pub ActionDirection: TThostFtdcActionDirectionType,
    #[doc = " 追平序号"]
    pub SyncDeltaSequenceNo: TThostFtdcSequenceNoType,
}
impl Default for CThostFtdcSyncDeltaInvestorSPMMModelField {
    fn default() -> Self {
        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
        unsafe {
            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
            s.assume_init()
        }
    }
}
#[doc = " 风险结算追平SPMM模板参数设置"]
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct CThostFtdcSyncDeltaSPMMModelParamField {
    #[doc = " 交易所代码"]
    pub ExchangeID: TThostFtdcExchangeIDType,
    #[doc = " SPMM模板ID"]
    pub SPMMModelID: TThostFtdcSPMMModelIDType,
    #[doc = " 商品群代码"]
    pub CommodityGroupID: TThostFtdcSPMMProductIDType,
    #[doc = " SPMM品种内跨期优惠系数"]
    pub IntraCommodityRate: TThostFtdcSPMMDiscountRatioType,
    #[doc = " SPMM品种间优惠系数"]
    pub InterCommodityRate: TThostFtdcSPMMDiscountRatioType,
    #[doc = " SPMM期权优惠系数"]
    pub OptionDiscountRate: TThostFtdcSPMMDiscountRatioType,
    #[doc = " 商品群最小保证金比例"]
    pub MiniMarginRatio: TThostFtdcSPMMDiscountRatioType,
    #[doc = " 操作标志"]
    pub ActionDirection: TThostFtdcActionDirectionType,
    #[doc = " 追平序号"]
    pub SyncDeltaSequenceNo: TThostFtdcSequenceNoType,
}
impl Default for CThostFtdcSyncDeltaSPMMModelParamField {
    fn default() -> Self {
        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
        unsafe {
            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
            s.assume_init()
        }
    }
}
#[doc = " 风险结算追平RCAMS产品组合信息"]
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct CThostFtdcSyncDeltaRCAMSCombProdInfoField {
    #[doc = " 交易日"]
    pub TradingDay: TThostFtdcDateType,
    #[doc = " 交易所代码"]
    pub ExchangeID: TThostFtdcExchangeIDType,
    #[doc = " 产品代码"]
    pub ProductID: TThostFtdcProductIDType,
    #[doc = " 商品组代码"]
    pub CombProductID: TThostFtdcProductIDType,
    #[doc = " 商品群代码"]
    pub ProductGroupID: TThostFtdcProductIDType,
    #[doc = " 操作标志"]
    pub ActionDirection: TThostFtdcActionDirectionType,
    #[doc = " 追平序号"]
    pub SyncDeltaSequenceNo: TThostFtdcSequenceNoType,
}
impl Default for CThostFtdcSyncDeltaRCAMSCombProdInfoField {
    fn default() -> Self {
        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
        unsafe {
            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
            s.assume_init()
        }
    }
}
#[doc = " 风险结算追平RCAMS同合约风险对冲参数"]
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct CThostFtdcSyncDeltaRCAMSInstrParameterField {
    #[doc = " 交易日"]
    pub TradingDay: TThostFtdcDateType,
    #[doc = " 交易所代码"]
    pub ExchangeID: TThostFtdcExchangeIDType,
    #[doc = " 产品代码"]
    pub ProductID: TThostFtdcProductIDType,
    #[doc = " 同合约风险对冲比率"]
    pub HedgeRate: TThostFtdcHedgeRateType,
    #[doc = " 操作标志"]
    pub ActionDirection: TThostFtdcActionDirectionType,
    #[doc = " 追平序号"]
    pub SyncDeltaSequenceNo: TThostFtdcSequenceNoType,
}
impl Default for CThostFtdcSyncDeltaRCAMSInstrParameterField {
    fn default() -> Self {
        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
        unsafe {
            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
            s.assume_init()
        }
    }
}
#[doc = " 风险结算追平RCAMS品种内风险对冲参数"]
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct CThostFtdcSyncDeltaRCAMSIntraParameterField {
    #[doc = " 交易日"]
    pub TradingDay: TThostFtdcDateType,
    #[doc = " 交易所代码"]
    pub ExchangeID: TThostFtdcExchangeIDType,
    #[doc = " 产品组合代码"]
    pub CombProductID: TThostFtdcProductIDType,
    #[doc = " 品种内对冲比率"]
    pub HedgeRate: TThostFtdcHedgeRateType,
    #[doc = " 操作标志"]
    pub ActionDirection: TThostFtdcActionDirectionType,
    #[doc = " 追平序号"]
    pub SyncDeltaSequenceNo: TThostFtdcSequenceNoType,
}
impl Default for CThostFtdcSyncDeltaRCAMSIntraParameterField {
    fn default() -> Self {
        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
        unsafe {
            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
            s.assume_init()
        }
    }
}
#[doc = " 风险结算追平RCAMS跨品种风险折抵参数"]
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct CThostFtdcSyncDeltaRCAMSInterParameterField {
    #[doc = " 交易日"]
    pub TradingDay: TThostFtdcDateType,
    #[doc = " 交易所代码"]
    pub ExchangeID: TThostFtdcExchangeIDType,
    #[doc = " 商品群代码"]
    pub ProductGroupID: TThostFtdcProductIDType,
    #[doc = " 优先级"]
    pub Priority: TThostFtdcRCAMSPriorityType,
    #[doc = " 折抵率"]
    pub CreditRate: TThostFtdcHedgeRateType,
    #[doc = " 产品组合代码1"]
    pub CombProduct1: TThostFtdcProductIDType,
    #[doc = " 产品组合代码2"]
    pub CombProduct2: TThostFtdcProductIDType,
    #[doc = " 操作标志"]
    pub ActionDirection: TThostFtdcActionDirectionType,
    #[doc = " 追平序号"]
    pub SyncDeltaSequenceNo: TThostFtdcSequenceNoType,
}
impl Default for CThostFtdcSyncDeltaRCAMSInterParameterField {
    fn default() -> Self {
        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
        unsafe {
            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
            s.assume_init()
        }
    }
}
#[doc = " 风险结算追平RCAMS空头期权风险调整参数"]
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct CThostFtdcSyncDeltaRCAMSSOptAdjParamField {
    #[doc = " 交易日"]
    pub TradingDay: TThostFtdcDateType,
    #[doc = " 交易所代码"]
    pub ExchangeID: TThostFtdcExchangeIDType,
    #[doc = " 产品组合代码"]
    pub CombProductID: TThostFtdcProductIDType,
    #[doc = " 投套标志"]
    pub HedgeFlag: TThostFtdcHedgeFlagType,
    #[doc = " 空头期权风险调整标准"]
    pub AdjustValue: TThostFtdcAdjustValueType,
    #[doc = " 操作标志"]
    pub ActionDirection: TThostFtdcActionDirectionType,
    #[doc = " 追平序号"]
    pub SyncDeltaSequenceNo: TThostFtdcSequenceNoType,
}
impl Default for CThostFtdcSyncDeltaRCAMSSOptAdjParamField {
    fn default() -> Self {
        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
        unsafe {
            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
            s.assume_init()
        }
    }
}
#[doc = " 风险结算追平RCAMS策略组合规则明细"]
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct CThostFtdcSyncDeltaRCAMSCombRuleDtlField {
    #[doc = " 交易日"]
    pub TradingDay: TThostFtdcDateType,
    #[doc = " 交易所代码"]
    pub ExchangeID: TThostFtdcExchangeIDType,
    #[doc = " 策略产品"]
    pub ProdGroup: TThostFtdcProductIDType,
    #[doc = " 策略id"]
    pub RuleId: TThostFtdcRuleIdType,
    #[doc = " 优先级"]
    pub Priority: TThostFtdcRCAMSPriorityType,
    #[doc = " 投套标志"]
    pub HedgeFlag: TThostFtdcHedgeFlagType,
    #[doc = " 组合保证金标准"]
    pub CombMargin: TThostFtdcMoneyType,
    #[doc = " 交易所组合合约代码"]
    pub ExchangeInstID: TThostFtdcExchangeInstIDType,
    #[doc = " 单腿编号"]
    pub LegID: TThostFtdcLegIDType,
    #[doc = " 单腿合约代码"]
    pub LegInstrumentID: TThostFtdcInstrumentIDType,
    #[doc = " 买卖方向"]
    pub Direction: TThostFtdcDirectionType,
    #[doc = " 单腿乘数"]
    pub LegMultiple: TThostFtdcLegMultipleType,
    #[doc = " 操作标志"]
    pub ActionDirection: TThostFtdcActionDirectionType,
    #[doc = " 追平序号"]
    pub SyncDeltaSequenceNo: TThostFtdcSequenceNoType,
}
impl Default for CThostFtdcSyncDeltaRCAMSCombRuleDtlField {
    fn default() -> Self {
        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
        unsafe {
            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
            s.assume_init()
        }
    }
}
#[doc = " 风险结算追平RCAMS策略组合持仓"]
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct CThostFtdcSyncDeltaRCAMSInvstCombPosField {
    #[doc = " 交易所代码"]
    pub ExchangeID: TThostFtdcExchangeIDType,
    #[doc = " 经纪公司代码"]
    pub BrokerID: TThostFtdcBrokerIDType,
    #[doc = " 投资者代码"]
    pub InvestorID: TThostFtdcInvestorIDType,
    #[doc = " 合约代码"]
    pub InstrumentID: TThostFtdcInstrumentIDType,
    #[doc = " 投套标志"]
    pub HedgeFlag: TThostFtdcHedgeFlagType,
    #[doc = " 持仓多空方向"]
    pub PosiDirection: TThostFtdcPosiDirectionType,
    #[doc = " 组合合约代码"]
    pub CombInstrumentID: TThostFtdcInstrumentIDType,
    #[doc = " 单腿编号"]
    pub LegID: TThostFtdcLegIDType,
    #[doc = " 交易所组合合约代码"]
    pub ExchangeInstID: TThostFtdcExchangeInstIDType,
    #[doc = " 持仓量"]
    pub TotalAmt: TThostFtdcVolumeType,
    #[doc = " 交易所保证金"]
    pub ExchMargin: TThostFtdcMoneyType,
    #[doc = " 投资者保证金"]
    pub Margin: TThostFtdcMoneyType,
    #[doc = " 操作标志"]
    pub ActionDirection: TThostFtdcActionDirectionType,
    #[doc = " 追平序号"]
    pub SyncDeltaSequenceNo: TThostFtdcSequenceNoType,
}
impl Default for CThostFtdcSyncDeltaRCAMSInvstCombPosField {
    fn default() -> Self {
        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
        unsafe {
            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
            s.assume_init()
        }
    }
}
#[doc = " 风险结算追平RULE合约保证金参数"]
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct CThostFtdcSyncDeltaRULEInstrParameterField {
    #[doc = " 交易日"]
    pub TradingDay: TThostFtdcDateType,
    #[doc = " 交易所代码"]
    pub ExchangeID: TThostFtdcExchangeIDType,
    #[doc = " 合约代码"]
    pub InstrumentID: TThostFtdcInstrumentIDType,
    #[doc = " 合约类型"]
    pub InstrumentClass: TThostFtdcInstrumentClassType,
    #[doc = " 标准合约"]
    pub StdInstrumentID: TThostFtdcInstrumentIDType,
    #[doc = " 投机买折算系数"]
    pub BSpecRatio: TThostFtdcRatioType,
    #[doc = " 投机卖折算系数"]
    pub SSpecRatio: TThostFtdcRatioType,
    #[doc = " 套保买折算系数"]
    pub BHedgeRatio: TThostFtdcRatioType,
    #[doc = " 套保卖折算系数"]
    pub SHedgeRatio: TThostFtdcRatioType,
    #[doc = " 买附加风险保证金"]
    pub BAddOnMargin: TThostFtdcMoneyType,
    #[doc = " 卖附加风险保证金"]
    pub SAddOnMargin: TThostFtdcMoneyType,
    #[doc = " 商品群号"]
    pub CommodityGroupID: TThostFtdcCommodityGroupIDType,
    #[doc = " 操作标志"]
    pub ActionDirection: TThostFtdcActionDirectionType,
    #[doc = " 追平序号"]
    pub SyncDeltaSequenceNo: TThostFtdcSequenceNoType,
}
impl Default for CThostFtdcSyncDeltaRULEInstrParameterField {
    fn default() -> Self {
        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
        unsafe {
            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
            s.assume_init()
        }
    }
}
#[doc = " 风险结算追平RULE品种内对锁仓折扣参数"]
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct CThostFtdcSyncDeltaRULEIntraParameterField {
    #[doc = " 交易日"]
    pub TradingDay: TThostFtdcDateType,
    #[doc = " 交易所代码"]
    pub ExchangeID: TThostFtdcExchangeIDType,
    #[doc = " 品种代码"]
    pub ProdFamilyCode: TThostFtdcInstrumentIDType,
    #[doc = " 标准合约"]
    pub StdInstrumentID: TThostFtdcInstrumentIDType,
    #[doc = " 标准合约保证金"]
    pub StdInstrMargin: TThostFtdcMoneyType,
    #[doc = " 一般月份合约组合保证金系数"]
    pub UsualIntraRate: TThostFtdcRatioType,
    #[doc = " 临近交割合约组合保证金系数"]
    pub DeliveryIntraRate: TThostFtdcRatioType,
    #[doc = " 操作标志"]
    pub ActionDirection: TThostFtdcActionDirectionType,
    #[doc = " 追平序号"]
    pub SyncDeltaSequenceNo: TThostFtdcSequenceNoType,
}
impl Default for CThostFtdcSyncDeltaRULEIntraParameterField {
    fn default() -> Self {
        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
        unsafe {
            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
            s.assume_init()
        }
    }
}
#[doc = " 风险结算追平RULE跨品种抵扣参数"]
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct CThostFtdcSyncDeltaRULEInterParameterField {
    #[doc = " 交易日"]
    pub TradingDay: TThostFtdcDateType,
    #[doc = " 交易所代码"]
    pub ExchangeID: TThostFtdcExchangeIDType,
    #[doc = " 优先级"]
    pub SpreadId: TThostFtdcSpreadIdType,
    #[doc = " 品种间对锁仓费率折扣比例"]
    pub InterRate: TThostFtdcRatioType,
    #[doc = " 第一腿构成品种"]
    pub Leg1ProdFamilyCode: TThostFtdcInstrumentIDType,
    #[doc = " 第二腿构成品种"]
    pub Leg2ProdFamilyCode: TThostFtdcInstrumentIDType,
    #[doc = " 腿1比例系数"]
    pub Leg1PropFactor: TThostFtdcCommonIntType,
    #[doc = " 腿2比例系数"]
    pub Leg2PropFactor: TThostFtdcCommonIntType,
    #[doc = " 商品群号"]
    pub CommodityGroupID: TThostFtdcCommodityGroupIDType,
    #[doc = " 商品群名称"]
    pub CommodityGroupName: TThostFtdcInstrumentNameType,
    #[doc = " 操作标志"]
    pub ActionDirection: TThostFtdcActionDirectionType,
    #[doc = " 追平序号"]
    pub SyncDeltaSequenceNo: TThostFtdcSequenceNoType,
}
impl Default for CThostFtdcSyncDeltaRULEInterParameterField {
    fn default() -> Self {
        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
        unsafe {
            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
            s.assume_init()
        }
    }
}
#[repr(C)]
pub struct CThostFtdcMdSpi__bindgen_vtable {}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct CThostFtdcMdSpi {
    pub vtable_: *const CThostFtdcMdSpi__bindgen_vtable,
}
impl Default for CThostFtdcMdSpi {
    fn default() -> Self {
        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
        unsafe {
            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
            s.assume_init()
        }
    }
}
#[repr(C)]
pub struct CThostFtdcMdApi__bindgen_vtable {
    pub CThostFtdcMdApi_Release: unsafe extern "C" fn(this: *mut CThostFtdcMdApi),
    pub CThostFtdcMdApi_Init: unsafe extern "C" fn(this: *mut CThostFtdcMdApi),
    pub CThostFtdcMdApi_Join:
        unsafe extern "C" fn(this: *mut CThostFtdcMdApi) -> ::std::os::raw::c_int,
    pub CThostFtdcMdApi_GetTradingDay:
        unsafe extern "C" fn(this: *mut CThostFtdcMdApi) -> *const ::std::os::raw::c_char,
    pub CThostFtdcMdApi_RegisterFront: unsafe extern "C" fn(
        this: *mut CThostFtdcMdApi,
        pszFrontAddress: *mut ::std::os::raw::c_char,
    ),
    pub CThostFtdcMdApi_RegisterNameServer:
        unsafe extern "C" fn(this: *mut CThostFtdcMdApi, pszNsAddress: *mut ::std::os::raw::c_char),
    pub CThostFtdcMdApi_RegisterFensUserInfo: unsafe extern "C" fn(
        this: *mut CThostFtdcMdApi,
        pFensUserInfo: *mut CThostFtdcFensUserInfoField,
    ),
    pub CThostFtdcMdApi_RegisterSpi:
        unsafe extern "C" fn(this: *mut CThostFtdcMdApi, pSpi: *mut CThostFtdcMdSpi),
    pub CThostFtdcMdApi_SubscribeMarketData: unsafe extern "C" fn(
        this: *mut CThostFtdcMdApi,
        ppInstrumentID: *mut *mut ::std::os::raw::c_char,
        nCount: ::std::os::raw::c_int,
    ) -> ::std::os::raw::c_int,
    pub CThostFtdcMdApi_UnSubscribeMarketData: unsafe extern "C" fn(
        this: *mut CThostFtdcMdApi,
        ppInstrumentID: *mut *mut ::std::os::raw::c_char,
        nCount: ::std::os::raw::c_int,
    ) -> ::std::os::raw::c_int,
    pub CThostFtdcMdApi_SubscribeForQuoteRsp: unsafe extern "C" fn(
        this: *mut CThostFtdcMdApi,
        ppInstrumentID: *mut *mut ::std::os::raw::c_char,
        nCount: ::std::os::raw::c_int,
    ) -> ::std::os::raw::c_int,
    pub CThostFtdcMdApi_UnSubscribeForQuoteRsp: unsafe extern "C" fn(
        this: *mut CThostFtdcMdApi,
        ppInstrumentID: *mut *mut ::std::os::raw::c_char,
        nCount: ::std::os::raw::c_int,
    ) -> ::std::os::raw::c_int,
    pub CThostFtdcMdApi_ReqUserLogin: unsafe extern "C" fn(
        this: *mut CThostFtdcMdApi,
        pReqUserLoginField: *mut CThostFtdcReqUserLoginField,
        nRequestID: ::std::os::raw::c_int,
    ) -> ::std::os::raw::c_int,
    pub CThostFtdcMdApi_ReqUserLogout: unsafe extern "C" fn(
        this: *mut CThostFtdcMdApi,
        pUserLogout: *mut CThostFtdcUserLogoutField,
        nRequestID: ::std::os::raw::c_int,
    ) -> ::std::os::raw::c_int,
    pub CThostFtdcMdApi_ReqQryMulticastInstrument: unsafe extern "C" fn(
        this: *mut CThostFtdcMdApi,
        pQryMulticastInstrument: *mut CThostFtdcQryMulticastInstrumentField,
        nRequestID: ::std::os::raw::c_int,
    )
        -> ::std::os::raw::c_int,
}
#[repr(C)]
#[derive(Debug)]
pub struct CThostFtdcMdApi {
    pub vtable_: *const CThostFtdcMdApi__bindgen_vtable,
}
impl Default for CThostFtdcMdApi {
    fn default() -> Self {
        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
        unsafe {
            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
            s.assume_init()
        }
    }
}
#[repr(C)]
pub struct CThostFtdcTraderSpi__bindgen_vtable {}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct CThostFtdcTraderSpi {
    pub vtable_: *const CThostFtdcTraderSpi__bindgen_vtable,
}
impl Default for CThostFtdcTraderSpi {
    fn default() -> Self {
        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
        unsafe {
            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
            s.assume_init()
        }
    }
}
#[repr(C)]
pub struct CThostFtdcTraderApi__bindgen_vtable { pub CThostFtdcTraderApi_Release : unsafe extern "C" fn (this : * mut CThostFtdcTraderApi) , pub CThostFtdcTraderApi_Init : unsafe extern "C" fn (this : * mut CThostFtdcTraderApi) , pub CThostFtdcTraderApi_Join : unsafe extern "C" fn (this : * mut CThostFtdcTraderApi) -> :: std :: os :: raw :: c_int , pub CThostFtdcTraderApi_GetTradingDay : unsafe extern "C" fn (this : * mut CThostFtdcTraderApi) -> * const :: std :: os :: raw :: c_char , pub CThostFtdcTraderApi_RegisterFront : unsafe extern "C" fn (this : * mut CThostFtdcTraderApi , pszFrontAddress : * mut :: std :: os :: raw :: c_char) , pub CThostFtdcTraderApi_RegisterNameServer : unsafe extern "C" fn (this : * mut CThostFtdcTraderApi , pszNsAddress : * mut :: std :: os :: raw :: c_char) , pub CThostFtdcTraderApi_RegisterFensUserInfo : unsafe extern "C" fn (this : * mut CThostFtdcTraderApi , pFensUserInfo : * mut CThostFtdcFensUserInfoField) , pub CThostFtdcTraderApi_RegisterSpi : unsafe extern "C" fn (this : * mut CThostFtdcTraderApi , pSpi : * mut CThostFtdcTraderSpi) , pub CThostFtdcTraderApi_SubscribePrivateTopic : unsafe extern "C" fn (this : * mut CThostFtdcTraderApi , nResumeType : THOST_TE_RESUME_TYPE) , pub CThostFtdcTraderApi_SubscribePublicTopic : unsafe extern "C" fn (this : * mut CThostFtdcTraderApi , nResumeType : THOST_TE_RESUME_TYPE) , pub CThostFtdcTraderApi_ReqAuthenticate : unsafe extern "C" fn (this : * mut CThostFtdcTraderApi , pReqAuthenticateField : * mut CThostFtdcReqAuthenticateField , nRequestID : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int , pub CThostFtdcTraderApi_RegisterUserSystemInfo : unsafe extern "C" fn (this : * mut CThostFtdcTraderApi , pUserSystemInfo : * mut CThostFtdcUserSystemInfoField) -> :: std :: os :: raw :: c_int , pub CThostFtdcTraderApi_SubmitUserSystemInfo : unsafe extern "C" fn (this : * mut CThostFtdcTraderApi , pUserSystemInfo : * mut CThostFtdcUserSystemInfoField) -> :: std :: os :: raw :: c_int , pub CThostFtdcTraderApi_ReqUserLogin : unsafe extern "C" fn (this : * mut CThostFtdcTraderApi , pReqUserLoginField : * mut CThostFtdcReqUserLoginField , nRequestID : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int , pub CThostFtdcTraderApi_ReqUserLogout : unsafe extern "C" fn (this : * mut CThostFtdcTraderApi , pUserLogout : * mut CThostFtdcUserLogoutField , nRequestID : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int , pub CThostFtdcTraderApi_ReqUserPasswordUpdate : unsafe extern "C" fn (this : * mut CThostFtdcTraderApi , pUserPasswordUpdate : * mut CThostFtdcUserPasswordUpdateField , nRequestID : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int , pub CThostFtdcTraderApi_ReqTradingAccountPasswordUpdate : unsafe extern "C" fn (this : * mut CThostFtdcTraderApi , pTradingAccountPasswordUpdate : * mut CThostFtdcTradingAccountPasswordUpdateField , nRequestID : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int , pub CThostFtdcTraderApi_ReqUserAuthMethod : unsafe extern "C" fn (this : * mut CThostFtdcTraderApi , pReqUserAuthMethod : * mut CThostFtdcReqUserAuthMethodField , nRequestID : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int , pub CThostFtdcTraderApi_ReqGenUserCaptcha : unsafe extern "C" fn (this : * mut CThostFtdcTraderApi , pReqGenUserCaptcha : * mut CThostFtdcReqGenUserCaptchaField , nRequestID : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int , pub CThostFtdcTraderApi_ReqGenUserText : unsafe extern "C" fn (this : * mut CThostFtdcTraderApi , pReqGenUserText : * mut CThostFtdcReqGenUserTextField , nRequestID : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int , pub CThostFtdcTraderApi_ReqUserLoginWithCaptcha : unsafe extern "C" fn (this : * mut CThostFtdcTraderApi , pReqUserLoginWithCaptcha : * mut CThostFtdcReqUserLoginWithCaptchaField , nRequestID : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int , pub CThostFtdcTraderApi_ReqUserLoginWithText : unsafe extern "C" fn (this : * mut CThostFtdcTraderApi , pReqUserLoginWithText : * mut CThostFtdcReqUserLoginWithTextField , nRequestID : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int , pub CThostFtdcTraderApi_ReqUserLoginWithOTP : unsafe extern "C" fn (this : * mut CThostFtdcTraderApi , pReqUserLoginWithOTP : * mut CThostFtdcReqUserLoginWithOTPField , nRequestID : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int , pub CThostFtdcTraderApi_ReqOrderInsert : unsafe extern "C" fn (this : * mut CThostFtdcTraderApi , pInputOrder : * mut CThostFtdcInputOrderField , nRequestID : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int , pub CThostFtdcTraderApi_ReqParkedOrderInsert : unsafe extern "C" fn (this : * mut CThostFtdcTraderApi , pParkedOrder : * mut CThostFtdcParkedOrderField , nRequestID : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int , pub CThostFtdcTraderApi_ReqParkedOrderAction : unsafe extern "C" fn (this : * mut CThostFtdcTraderApi , pParkedOrderAction : * mut CThostFtdcParkedOrderActionField , nRequestID : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int , pub CThostFtdcTraderApi_ReqOrderAction : unsafe extern "C" fn (this : * mut CThostFtdcTraderApi , pInputOrderAction : * mut CThostFtdcInputOrderActionField , nRequestID : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int , pub CThostFtdcTraderApi_ReqQryMaxOrderVolume : unsafe extern "C" fn (this : * mut CThostFtdcTraderApi , pQryMaxOrderVolume : * mut CThostFtdcQryMaxOrderVolumeField , nRequestID : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int , pub CThostFtdcTraderApi_ReqSettlementInfoConfirm : unsafe extern "C" fn (this : * mut CThostFtdcTraderApi , pSettlementInfoConfirm : * mut CThostFtdcSettlementInfoConfirmField , nRequestID : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int , pub CThostFtdcTraderApi_ReqRemoveParkedOrder : unsafe extern "C" fn (this : * mut CThostFtdcTraderApi , pRemoveParkedOrder : * mut CThostFtdcRemoveParkedOrderField , nRequestID : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int , pub CThostFtdcTraderApi_ReqRemoveParkedOrderAction : unsafe extern "C" fn (this : * mut CThostFtdcTraderApi , pRemoveParkedOrderAction : * mut CThostFtdcRemoveParkedOrderActionField , nRequestID : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int , pub CThostFtdcTraderApi_ReqExecOrderInsert : unsafe extern "C" fn (this : * mut CThostFtdcTraderApi , pInputExecOrder : * mut CThostFtdcInputExecOrderField , nRequestID : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int , pub CThostFtdcTraderApi_ReqExecOrderAction : unsafe extern "C" fn (this : * mut CThostFtdcTraderApi , pInputExecOrderAction : * mut CThostFtdcInputExecOrderActionField , nRequestID : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int , pub CThostFtdcTraderApi_ReqForQuoteInsert : unsafe extern "C" fn (this : * mut CThostFtdcTraderApi , pInputForQuote : * mut CThostFtdcInputForQuoteField , nRequestID : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int , pub CThostFtdcTraderApi_ReqQuoteInsert : unsafe extern "C" fn (this : * mut CThostFtdcTraderApi , pInputQuote : * mut CThostFtdcInputQuoteField , nRequestID : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int , pub CThostFtdcTraderApi_ReqQuoteAction : unsafe extern "C" fn (this : * mut CThostFtdcTraderApi , pInputQuoteAction : * mut CThostFtdcInputQuoteActionField , nRequestID : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int , pub CThostFtdcTraderApi_ReqBatchOrderAction : unsafe extern "C" fn (this : * mut CThostFtdcTraderApi , pInputBatchOrderAction : * mut CThostFtdcInputBatchOrderActionField , nRequestID : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int , pub CThostFtdcTraderApi_ReqOptionSelfCloseInsert : unsafe extern "C" fn (this : * mut CThostFtdcTraderApi , pInputOptionSelfClose : * mut CThostFtdcInputOptionSelfCloseField , nRequestID : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int , pub CThostFtdcTraderApi_ReqOptionSelfCloseAction : unsafe extern "C" fn (this : * mut CThostFtdcTraderApi , pInputOptionSelfCloseAction : * mut CThostFtdcInputOptionSelfCloseActionField , nRequestID : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int , pub CThostFtdcTraderApi_ReqCombActionInsert : unsafe extern "C" fn (this : * mut CThostFtdcTraderApi , pInputCombAction : * mut CThostFtdcInputCombActionField , nRequestID : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int , pub CThostFtdcTraderApi_ReqQryOrder : unsafe extern "C" fn (this : * mut CThostFtdcTraderApi , pQryOrder : * mut CThostFtdcQryOrderField , nRequestID : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int , pub CThostFtdcTraderApi_ReqQryTrade : unsafe extern "C" fn (this : * mut CThostFtdcTraderApi , pQryTrade : * mut CThostFtdcQryTradeField , nRequestID : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int , pub CThostFtdcTraderApi_ReqQryInvestorPosition : unsafe extern "C" fn (this : * mut CThostFtdcTraderApi , pQryInvestorPosition : * mut CThostFtdcQryInvestorPositionField , nRequestID : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int , pub CThostFtdcTraderApi_ReqQryTradingAccount : unsafe extern "C" fn (this : * mut CThostFtdcTraderApi , pQryTradingAccount : * mut CThostFtdcQryTradingAccountField , nRequestID : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int , pub CThostFtdcTraderApi_ReqQryInvestor : unsafe extern "C" fn (this : * mut CThostFtdcTraderApi , pQryInvestor : * mut CThostFtdcQryInvestorField , nRequestID : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int , pub CThostFtdcTraderApi_ReqQryTradingCode : unsafe extern "C" fn (this : * mut CThostFtdcTraderApi , pQryTradingCode : * mut CThostFtdcQryTradingCodeField , nRequestID : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int , pub CThostFtdcTraderApi_ReqQryInstrumentMarginRate : unsafe extern "C" fn (this : * mut CThostFtdcTraderApi , pQryInstrumentMarginRate : * mut CThostFtdcQryInstrumentMarginRateField , nRequestID : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int , pub CThostFtdcTraderApi_ReqQryInstrumentCommissionRate : unsafe extern "C" fn (this : * mut CThostFtdcTraderApi , pQryInstrumentCommissionRate : * mut CThostFtdcQryInstrumentCommissionRateField , nRequestID : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int , pub CThostFtdcTraderApi_ReqQryExchange : unsafe extern "C" fn (this : * mut CThostFtdcTraderApi , pQryExchange : * mut CThostFtdcQryExchangeField , nRequestID : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int , pub CThostFtdcTraderApi_ReqQryProduct : unsafe extern "C" fn (this : * mut CThostFtdcTraderApi , pQryProduct : * mut CThostFtdcQryProductField , nRequestID : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int , pub CThostFtdcTraderApi_ReqQryInstrument : unsafe extern "C" fn (this : * mut CThostFtdcTraderApi , pQryInstrument : * mut CThostFtdcQryInstrumentField , nRequestID : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int , pub CThostFtdcTraderApi_ReqQryDepthMarketData : unsafe extern "C" fn (this : * mut CThostFtdcTraderApi , pQryDepthMarketData : * mut CThostFtdcQryDepthMarketDataField , nRequestID : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int , pub CThostFtdcTraderApi_ReqQryTraderOffer : unsafe extern "C" fn (this : * mut CThostFtdcTraderApi , pQryTraderOffer : * mut CThostFtdcQryTraderOfferField , nRequestID : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int , pub CThostFtdcTraderApi_ReqQrySettlementInfo : unsafe extern "C" fn (this : * mut CThostFtdcTraderApi , pQrySettlementInfo : * mut CThostFtdcQrySettlementInfoField , nRequestID : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int , pub CThostFtdcTraderApi_ReqQryTransferBank : unsafe extern "C" fn (this : * mut CThostFtdcTraderApi , pQryTransferBank : * mut CThostFtdcQryTransferBankField , nRequestID : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int , pub CThostFtdcTraderApi_ReqQryInvestorPositionDetail : unsafe extern "C" fn (this : * mut CThostFtdcTraderApi , pQryInvestorPositionDetail : * mut CThostFtdcQryInvestorPositionDetailField , nRequestID : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int , pub CThostFtdcTraderApi_ReqQryNotice : unsafe extern "C" fn (this : * mut CThostFtdcTraderApi , pQryNotice : * mut CThostFtdcQryNoticeField , nRequestID : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int , pub CThostFtdcTraderApi_ReqQrySettlementInfoConfirm : unsafe extern "C" fn (this : * mut CThostFtdcTraderApi , pQrySettlementInfoConfirm : * mut CThostFtdcQrySettlementInfoConfirmField , nRequestID : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int , pub CThostFtdcTraderApi_ReqQryInvestorPositionCombineDetail : unsafe extern "C" fn (this : * mut CThostFtdcTraderApi , pQryInvestorPositionCombineDetail : * mut CThostFtdcQryInvestorPositionCombineDetailField , nRequestID : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int , pub CThostFtdcTraderApi_ReqQryCFMMCTradingAccountKey : unsafe extern "C" fn (this : * mut CThostFtdcTraderApi , pQryCFMMCTradingAccountKey : * mut CThostFtdcQryCFMMCTradingAccountKeyField , nRequestID : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int , pub CThostFtdcTraderApi_ReqQryEWarrantOffset : unsafe extern "C" fn (this : * mut CThostFtdcTraderApi , pQryEWarrantOffset : * mut CThostFtdcQryEWarrantOffsetField , nRequestID : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int , pub CThostFtdcTraderApi_ReqQryInvestorProductGroupMargin : unsafe extern "C" fn (this : * mut CThostFtdcTraderApi , pQryInvestorProductGroupMargin : * mut CThostFtdcQryInvestorProductGroupMarginField , nRequestID : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int , pub CThostFtdcTraderApi_ReqQryExchangeMarginRate : unsafe extern "C" fn (this : * mut CThostFtdcTraderApi , pQryExchangeMarginRate : * mut CThostFtdcQryExchangeMarginRateField , nRequestID : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int , pub CThostFtdcTraderApi_ReqQryExchangeMarginRateAdjust : unsafe extern "C" fn (this : * mut CThostFtdcTraderApi , pQryExchangeMarginRateAdjust : * mut CThostFtdcQryExchangeMarginRateAdjustField , nRequestID : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int , pub CThostFtdcTraderApi_ReqQryExchangeRate : unsafe extern "C" fn (this : * mut CThostFtdcTraderApi , pQryExchangeRate : * mut CThostFtdcQryExchangeRateField , nRequestID : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int , pub CThostFtdcTraderApi_ReqQrySecAgentACIDMap : unsafe extern "C" fn (this : * mut CThostFtdcTraderApi , pQrySecAgentACIDMap : * mut CThostFtdcQrySecAgentACIDMapField , nRequestID : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int , pub CThostFtdcTraderApi_ReqQryProductExchRate : unsafe extern "C" fn (this : * mut CThostFtdcTraderApi , pQryProductExchRate : * mut CThostFtdcQryProductExchRateField , nRequestID : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int , pub CThostFtdcTraderApi_ReqQryProductGroup : unsafe extern "C" fn (this : * mut CThostFtdcTraderApi , pQryProductGroup : * mut CThostFtdcQryProductGroupField , nRequestID : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int , pub CThostFtdcTraderApi_ReqQryMMInstrumentCommissionRate : unsafe extern "C" fn (this : * mut CThostFtdcTraderApi , pQryMMInstrumentCommissionRate : * mut CThostFtdcQryMMInstrumentCommissionRateField , nRequestID : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int , pub CThostFtdcTraderApi_ReqQryMMOptionInstrCommRate : unsafe extern "C" fn (this : * mut CThostFtdcTraderApi , pQryMMOptionInstrCommRate : * mut CThostFtdcQryMMOptionInstrCommRateField , nRequestID : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int , pub CThostFtdcTraderApi_ReqQryInstrumentOrderCommRate : unsafe extern "C" fn (this : * mut CThostFtdcTraderApi , pQryInstrumentOrderCommRate : * mut CThostFtdcQryInstrumentOrderCommRateField , nRequestID : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int , pub CThostFtdcTraderApi_ReqQrySecAgentTradingAccount : unsafe extern "C" fn (this : * mut CThostFtdcTraderApi , pQryTradingAccount : * mut CThostFtdcQryTradingAccountField , nRequestID : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int , pub CThostFtdcTraderApi_ReqQrySecAgentCheckMode : unsafe extern "C" fn (this : * mut CThostFtdcTraderApi , pQrySecAgentCheckMode : * mut CThostFtdcQrySecAgentCheckModeField , nRequestID : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int , pub CThostFtdcTraderApi_ReqQrySecAgentTradeInfo : unsafe extern "C" fn (this : * mut CThostFtdcTraderApi , pQrySecAgentTradeInfo : * mut CThostFtdcQrySecAgentTradeInfoField , nRequestID : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int , pub CThostFtdcTraderApi_ReqQryOptionInstrTradeCost : unsafe extern "C" fn (this : * mut CThostFtdcTraderApi , pQryOptionInstrTradeCost : * mut CThostFtdcQryOptionInstrTradeCostField , nRequestID : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int , pub CThostFtdcTraderApi_ReqQryOptionInstrCommRate : unsafe extern "C" fn (this : * mut CThostFtdcTraderApi , pQryOptionInstrCommRate : * mut CThostFtdcQryOptionInstrCommRateField , nRequestID : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int , pub CThostFtdcTraderApi_ReqQryExecOrder : unsafe extern "C" fn (this : * mut CThostFtdcTraderApi , pQryExecOrder : * mut CThostFtdcQryExecOrderField , nRequestID : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int , pub CThostFtdcTraderApi_ReqQryForQuote : unsafe extern "C" fn (this : * mut CThostFtdcTraderApi , pQryForQuote : * mut CThostFtdcQryForQuoteField , nRequestID : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int , pub CThostFtdcTraderApi_ReqQryQuote : unsafe extern "C" fn (this : * mut CThostFtdcTraderApi , pQryQuote : * mut CThostFtdcQryQuoteField , nRequestID : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int , pub CThostFtdcTraderApi_ReqQryOptionSelfClose : unsafe extern "C" fn (this : * mut CThostFtdcTraderApi , pQryOptionSelfClose : * mut CThostFtdcQryOptionSelfCloseField , nRequestID : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int , pub CThostFtdcTraderApi_ReqQryInvestUnit : unsafe extern "C" fn (this : * mut CThostFtdcTraderApi , pQryInvestUnit : * mut CThostFtdcQryInvestUnitField , nRequestID : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int , pub CThostFtdcTraderApi_ReqQryCombInstrumentGuard : unsafe extern "C" fn (this : * mut CThostFtdcTraderApi , pQryCombInstrumentGuard : * mut CThostFtdcQryCombInstrumentGuardField , nRequestID : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int , pub CThostFtdcTraderApi_ReqQryCombAction : unsafe extern "C" fn (this : * mut CThostFtdcTraderApi , pQryCombAction : * mut CThostFtdcQryCombActionField , nRequestID : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int , pub CThostFtdcTraderApi_ReqQryTransferSerial : unsafe extern "C" fn (this : * mut CThostFtdcTraderApi , pQryTransferSerial : * mut CThostFtdcQryTransferSerialField , nRequestID : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int , pub CThostFtdcTraderApi_ReqQryAccountregister : unsafe extern "C" fn (this : * mut CThostFtdcTraderApi , pQryAccountregister : * mut CThostFtdcQryAccountregisterField , nRequestID : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int , pub CThostFtdcTraderApi_ReqQryContractBank : unsafe extern "C" fn (this : * mut CThostFtdcTraderApi , pQryContractBank : * mut CThostFtdcQryContractBankField , nRequestID : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int , pub CThostFtdcTraderApi_ReqQryParkedOrder : unsafe extern "C" fn (this : * mut CThostFtdcTraderApi , pQryParkedOrder : * mut CThostFtdcQryParkedOrderField , nRequestID : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int , pub CThostFtdcTraderApi_ReqQryParkedOrderAction : unsafe extern "C" fn (this : * mut CThostFtdcTraderApi , pQryParkedOrderAction : * mut CThostFtdcQryParkedOrderActionField , nRequestID : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int , pub CThostFtdcTraderApi_ReqQryTradingNotice : unsafe extern "C" fn (this : * mut CThostFtdcTraderApi , pQryTradingNotice : * mut CThostFtdcQryTradingNoticeField , nRequestID : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int , pub CThostFtdcTraderApi_ReqQryBrokerTradingParams : unsafe extern "C" fn (this : * mut CThostFtdcTraderApi , pQryBrokerTradingParams : * mut CThostFtdcQryBrokerTradingParamsField , nRequestID : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int , pub CThostFtdcTraderApi_ReqQryBrokerTradingAlgos : unsafe extern "C" fn (this : * mut CThostFtdcTraderApi , pQryBrokerTradingAlgos : * mut CThostFtdcQryBrokerTradingAlgosField , nRequestID : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int , pub CThostFtdcTraderApi_ReqQueryCFMMCTradingAccountToken : unsafe extern "C" fn (this : * mut CThostFtdcTraderApi , pQueryCFMMCTradingAccountToken : * mut CThostFtdcQueryCFMMCTradingAccountTokenField , nRequestID : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int , pub CThostFtdcTraderApi_ReqFromBankToFutureByFuture : unsafe extern "C" fn (this : * mut CThostFtdcTraderApi , pReqTransfer : * mut CThostFtdcReqTransferField , nRequestID : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int , pub CThostFtdcTraderApi_ReqFromFutureToBankByFuture : unsafe extern "C" fn (this : * mut CThostFtdcTraderApi , pReqTransfer : * mut CThostFtdcReqTransferField , nRequestID : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int , pub CThostFtdcTraderApi_ReqQueryBankAccountMoneyByFuture : unsafe extern "C" fn (this : * mut CThostFtdcTraderApi , pReqQueryAccount : * mut CThostFtdcReqQueryAccountField , nRequestID : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int , pub CThostFtdcTraderApi_ReqQryClassifiedInstrument : unsafe extern "C" fn (this : * mut CThostFtdcTraderApi , pQryClassifiedInstrument : * mut CThostFtdcQryClassifiedInstrumentField , nRequestID : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int , pub CThostFtdcTraderApi_ReqQryCombPromotionParam : unsafe extern "C" fn (this : * mut CThostFtdcTraderApi , pQryCombPromotionParam : * mut CThostFtdcQryCombPromotionParamField , nRequestID : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int , pub CThostFtdcTraderApi_ReqQryRiskSettleInvstPosition : unsafe extern "C" fn (this : * mut CThostFtdcTraderApi , pQryRiskSettleInvstPosition : * mut CThostFtdcQryRiskSettleInvstPositionField , nRequestID : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int , pub CThostFtdcTraderApi_ReqQryRiskSettleProductStatus : unsafe extern "C" fn (this : * mut CThostFtdcTraderApi , pQryRiskSettleProductStatus : * mut CThostFtdcQryRiskSettleProductStatusField , nRequestID : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int , pub CThostFtdcTraderApi_ReqQrySPBMFutureParameter : unsafe extern "C" fn (this : * mut CThostFtdcTraderApi , pQrySPBMFutureParameter : * mut CThostFtdcQrySPBMFutureParameterField , nRequestID : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int , pub CThostFtdcTraderApi_ReqQrySPBMOptionParameter : unsafe extern "C" fn (this : * mut CThostFtdcTraderApi , pQrySPBMOptionParameter : * mut CThostFtdcQrySPBMOptionParameterField , nRequestID : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int , pub CThostFtdcTraderApi_ReqQrySPBMIntraParameter : unsafe extern "C" fn (this : * mut CThostFtdcTraderApi , pQrySPBMIntraParameter : * mut CThostFtdcQrySPBMIntraParameterField , nRequestID : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int , pub CThostFtdcTraderApi_ReqQrySPBMInterParameter : unsafe extern "C" fn (this : * mut CThostFtdcTraderApi , pQrySPBMInterParameter : * mut CThostFtdcQrySPBMInterParameterField , nRequestID : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int , pub CThostFtdcTraderApi_ReqQrySPBMPortfDefinition : unsafe extern "C" fn (this : * mut CThostFtdcTraderApi , pQrySPBMPortfDefinition : * mut CThostFtdcQrySPBMPortfDefinitionField , nRequestID : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int , pub CThostFtdcTraderApi_ReqQrySPBMInvestorPortfDef : unsafe extern "C" fn (this : * mut CThostFtdcTraderApi , pQrySPBMInvestorPortfDef : * mut CThostFtdcQrySPBMInvestorPortfDefField , nRequestID : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int , pub CThostFtdcTraderApi_ReqQryInvestorPortfMarginRatio : unsafe extern "C" fn (this : * mut CThostFtdcTraderApi , pQryInvestorPortfMarginRatio : * mut CThostFtdcQryInvestorPortfMarginRatioField , nRequestID : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int , pub CThostFtdcTraderApi_ReqQryInvestorProdSPBMDetail : unsafe extern "C" fn (this : * mut CThostFtdcTraderApi , pQryInvestorProdSPBMDetail : * mut CThostFtdcQryInvestorProdSPBMDetailField , nRequestID : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int , pub CThostFtdcTraderApi_ReqQryInvestorCommoditySPMMMargin : unsafe extern "C" fn (this : * mut CThostFtdcTraderApi , pQryInvestorCommoditySPMMMargin : * mut CThostFtdcQryInvestorCommoditySPMMMarginField , nRequestID : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int , pub CThostFtdcTraderApi_ReqQryInvestorCommodityGroupSPMMMargin : unsafe extern "C" fn (this : * mut CThostFtdcTraderApi , pQryInvestorCommodityGroupSPMMMargin : * mut CThostFtdcQryInvestorCommodityGroupSPMMMarginField , nRequestID : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int , pub CThostFtdcTraderApi_ReqQrySPMMInstParam : unsafe extern "C" fn (this : * mut CThostFtdcTraderApi , pQrySPMMInstParam : * mut CThostFtdcQrySPMMInstParamField , nRequestID : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int , pub CThostFtdcTraderApi_ReqQrySPMMProductParam : unsafe extern "C" fn (this : * mut CThostFtdcTraderApi , pQrySPMMProductParam : * mut CThostFtdcQrySPMMProductParamField , nRequestID : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int , pub CThostFtdcTraderApi_ReqQrySPBMAddOnInterParameter : unsafe extern "C" fn (this : * mut CThostFtdcTraderApi , pQrySPBMAddOnInterParameter : * mut CThostFtdcQrySPBMAddOnInterParameterField , nRequestID : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int , pub CThostFtdcTraderApi_ReqQryRCAMSCombProductInfo : unsafe extern "C" fn (this : * mut CThostFtdcTraderApi , pQryRCAMSCombProductInfo : * mut CThostFtdcQryRCAMSCombProductInfoField , nRequestID : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int , pub CThostFtdcTraderApi_ReqQryRCAMSInstrParameter : unsafe extern "C" fn (this : * mut CThostFtdcTraderApi , pQryRCAMSInstrParameter : * mut CThostFtdcQryRCAMSInstrParameterField , nRequestID : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int , pub CThostFtdcTraderApi_ReqQryRCAMSIntraParameter : unsafe extern "C" fn (this : * mut CThostFtdcTraderApi , pQryRCAMSIntraParameter : * mut CThostFtdcQryRCAMSIntraParameterField , nRequestID : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int , pub CThostFtdcTraderApi_ReqQryRCAMSInterParameter : unsafe extern "C" fn (this : * mut CThostFtdcTraderApi , pQryRCAMSInterParameter : * mut CThostFtdcQryRCAMSInterParameterField , nRequestID : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int , pub CThostFtdcTraderApi_ReqQryRCAMSShortOptAdjustParam : unsafe extern "C" fn (this : * mut CThostFtdcTraderApi , pQryRCAMSShortOptAdjustParam : * mut CThostFtdcQryRCAMSShortOptAdjustParamField , nRequestID : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int , pub CThostFtdcTraderApi_ReqQryRCAMSInvestorCombPosition : unsafe extern "C" fn (this : * mut CThostFtdcTraderApi , pQryRCAMSInvestorCombPosition : * mut CThostFtdcQryRCAMSInvestorCombPositionField , nRequestID : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int , pub CThostFtdcTraderApi_ReqQryInvestorProdRCAMSMargin : unsafe extern "C" fn (this : * mut CThostFtdcTraderApi , pQryInvestorProdRCAMSMargin : * mut CThostFtdcQryInvestorProdRCAMSMarginField , nRequestID : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int , pub CThostFtdcTraderApi_ReqQryRULEInstrParameter : unsafe extern "C" fn (this : * mut CThostFtdcTraderApi , pQryRULEInstrParameter : * mut CThostFtdcQryRULEInstrParameterField , nRequestID : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int , pub CThostFtdcTraderApi_ReqQryRULEIntraParameter : unsafe extern "C" fn (this : * mut CThostFtdcTraderApi , pQryRULEIntraParameter : * mut CThostFtdcQryRULEIntraParameterField , nRequestID : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int , pub CThostFtdcTraderApi_ReqQryRULEInterParameter : unsafe extern "C" fn (this : * mut CThostFtdcTraderApi , pQryRULEInterParameter : * mut CThostFtdcQryRULEInterParameterField , nRequestID : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int , pub CThostFtdcTraderApi_ReqQryInvestorProdRULEMargin : unsafe extern "C" fn (this : * mut CThostFtdcTraderApi , pQryInvestorProdRULEMargin : * mut CThostFtdcQryInvestorProdRULEMarginField , nRequestID : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int }
#[repr(C)]
#[derive(Debug)]
pub struct CThostFtdcTraderApi {
    pub vtable_: *const CThostFtdcTraderApi__bindgen_vtable,
}
impl Default for CThostFtdcTraderApi {
    fn default() -> Self {
        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
        unsafe {
            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
            s.assume_init()
        }
    }
}
